diff --git a/404.html b/404.html index 4dd0390..66e920d 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file +404: This page could not be found

404

This page could not be found.

\ No newline at end of file diff --git a/_next/static/chunks/nextra-data-en-US.json b/_next/static/chunks/nextra-data-en-US.json index b849fc8..13d90db 100644 --- a/_next/static/chunks/nextra-data-en-US.json +++ b/_next/static/chunks/nextra-data-en-US.json @@ -1 +1 @@ -{"/contributors":{"title":"Contributing to Qbox","data":{"":"Thank you for taking the time to contribute!These guidelines will help you help us in the best way possible regardless of your skill level. We ask that you try to read everything related to the way you'd like to contribute and try and use your best judgement for anything not covered.Make sure to also read our Contributor Code of Conduct.If you still have further questions after reading be sure to join the Qbox Discord server.","issues#Issues":"Open a new issue to report a bug or request a new feature or improvement.If you want to ask a question, issues are not the place to do so. Please join our Discord server and ask over there instead.Before opening a new issue:\nSearch for existing issues; maybe someone else already experienced the same problem that you're having! Duplicate issues will be closed.\nDownload the latest release of the resource you are opening the issue for to make sure that it wasn't already fixed. Issues that are already fixed are considered invalid and will be closed.\nWhen opening a new issue, make sure to pick the right type of form and fill it out. The more information you provide, the easier it will be for us to work on your new issue. Issues that are invalid or do not follow the correct form may be ignored or even closed.","pull-requests#Pull Requests":"Open a new pull request to contribute code.You can use your own editor of choice, but we recommend using VSCode with these extensions:\nGitLens\nLua Language Server\nEditorConfig\nCfxLua IntelliSense\nIf you are new to contributing code, you can check out and try to fix issues marked with good first issue.If you want to contribute code but don't know what to do, please check out issues marked with help wanted as those are issues that we actually need help with.If you want to contribute code unrelated to an existing issue, you should open an issue yourself or ask over on the Discord server to discuss it with our team and ask whether your change is wanted, especially if you are planning on adding new features or large designs.Before opening a pull request:\nMake sure that your contribution fits our code conventions described below. After opening a pull request your code will be checked according to them.\nMake sure that your pull request is small and focused. Break it into multiple smaller pull requests if not (see Small Pull Request Manifesto).\nIt is recommended to test your changes to make sure they work and don't break existing functionality.\nWhen opening a pull request, make sure to follow the template and explain your changes. If you are trying to contribute something related to a GitHub issue, make sure to mention it as well.","code-conventions#Code Conventions":"Below are conventions that you must follow when contributing code.","commit-message-conventions#Commit Message Conventions":"The first line of a commit message must be 72 characters at most.\nCommit messages and pull request titles must follow Conventional Commits.\nUse fix: when patching a bug.\nUse feat: when introducing a new feature.\nUse refactor: when altering code without changing functionality.\nUse chore: when your changes don't alter production code.\nAppend a ! after the type/scope of the feature when you change code and introduce a breaking API change. Optionally add a footer to the bottom of your commit message separated by 2 newlines, starting with BREAKING CHANGE:, and explaining the breaking change.","lua-conventions#Lua Conventions":"","general-style#General Style":"Use 4 space indentation.\nPrefer creating local variables over global ones.\nDon't repeat yourself. If you're using the same operations in multiple different places convert them into a flexible function.\nExported functions must be properly annotated (see LuaLS Annotations).\nUtilize ox_lib to make your life easier. Prefer lib calls over native ones.\nMake use of config options where it makes sense to make features optional and/or customizable. Configs should not be modified by other code.","optimization--security#Optimization & Security":"Consider this Lua Performance guide.\nDon't create unnecessary threads. Always try to find a better method of triggering events.\nSet longer Wait calls in distance checking loops when the player is out of range.\nDon't waste cycles; job specific loops should only run for players with that job.\nWhen possible don't trust the client, especially with transactions.\nBalance security and optimizations.\nUse #(vector3 - vector3) instead of GetDistanceBetweenCoords().\nUse myTable[#myTable + 1] = 'value' instead of table.insert(myTable, 'value').\nUse myTable['key'] = 'value' instead of table.insert(myTable, 'key', 'value').","naming#Naming":"Use camelCase for local variables and functions.\nUse PascalCase for global variables and functions.\nAvoid acronyms as they can be confusing and context dependant.\nBe descriptive; make it easy for the reader.\nBooleans may be prefixed with is, has, are, etc.\nArrays should have plural names.","javascripttypescript-conventions#JavaScript/TypeScript Conventions":"Consider following the Google JavaScript Style Guide and the Google TypeScript Style Guide."}},"/converting":{"title":"Converting from QBCore","data":{"":"Check your job grades in qbx_core/shared/jobs.lua.\nIn Qbox, job grades are numbers without quotations, whereas in QBCore they are strings.\nConfigure ox_inventory and convert your database.\nBack it up first! (see ox_inventory documentation)\nQbox has multicharacter built into qbx_core.\nIf you want to keep using your own multicharacter resource, configure qbx_core accordingly.\nOtherwise you can disable or delete your old multicharacter resource.\nQbox has a queue system built into qbx_core.\nIf you want to keep using your own queue system, specify set qbx:enablequeue \"true\" inside your cfg file.\nOtherwise you can disable or delete your old queue system.\nQbox maintains a qb-core compatibility layer so all existing qb-core resources should expect compatibility most times.\nYou can continue using exports['qb-core'], however, this means you won't get access to all the new Qbox features and functions, so consider switching off of exports['qb-core'] when you can.\nDo note that undocumented and invalid usages of qb-core are not supported and may not be in the future.\nSee the FAQ for more details.","migrating-a-resource-from-qbcore-to-qbox#Migrating a resource from QBCore to Qbox":"Within Qbox, the core object no longer exists.\nInstead, the data can be accessed via a combination of export functions and imported modules.\nImport the needed modules from qbx_core to supply replacement functions for ones from QBCore;\nReplace calls to QBCore one by one with calls to the imported modules and exported functions. Both can be used at the same time, so conversion can be done partially, or over time.","common-replacements#Common replacements":"QBCore.Functions. -> exports.qbx_core:\nQBCore.Functions.GetPlayerData() -> QBX.PlayerData -- requires importing the playerdata module\nQBCore.Functions.GetPlate(vehicle) -> qbx.getVehiclePlate(vehicle) -- requires importing the lib module\nQBCore.Shared.Jobs -> exports.qbx_core:GetJobs()\nQBCore.Shared.Gangs -> exports.qbx_core:GetGangs()\nQBCore.Shared.Vehicles -> exports.qbx_core:GetVehiclesByName()\nQBCore.Shared.Weapons -> exports.qbx_core:GetWeapons()\nQBCore.Shared.Locations -> exports.qbx_core:GetLocations()\nQBCore.Shared.Items -> exports.ox_inventory:Items()\nexports['qb-core']:KeyPressed() -> lib.hideTextUI()\nexports['qb-core']:HideText() -> lib.hideTextUI()\nexports['qb-core']:DrawText(text, position) -> lib.showTextUI(text, { position = position })\nexports['qb-core']:ChangeText(text, position) -> lib.hideTextUI() lib.showTextUI(text, { position = position })"}},"/developers":{"title":"Developer's Guide","data":{"":"This guide is intended for those creating scripts using qbx_core.\nFollowing these principles will make it less likely for your script to break in future updates.","do-not-access-database-tables-owned-by-core#Do not access database tables owned by core":"Doing this will break your script if the database schema changes in the future.\nIf the data you need can't be read or written using a core function,\ncreate a GitHub issue so we can rectify the problem for everyone.","do-not-modify-core-code#Do not modify core code":"Doing this will make it difficult for you to update in the future, and create confusion when debugging issues that may or may not be due to your custom changes.We've attempted to design things with flexibility in mind. \nHowever, if you really feel you need to modify core, file a GitHub issue first.\nWe'll see if we can trigger an event for you, surface a config value, or re-design something for the flexibility you need.","do-not-use-deprecated-functionsevents#Do not use deprecated functions/events":"These are likely to be removed in future updates."}},"/faq":{"title":"Frequently Asked Questions","data":{"what-are-the-differences-between-qbcore-and-qbox#What are the differences between QBCore and Qbox?":"While originally forked from QBCore, many Qbox resources have been refactored to improve code quality, enhance security, lower performance overhead, and integrate with overextended resources.\nWhere appropriate Qbox also integrates directly with other open source projects, rather than maintaining subpar resources in-house.Qbox maintains high quality standards, with a strong community of regular contributors.\nAs time goes on, expect greater differences in player facing features.","will-my-qbcore-scripts-work-with-qbox#Will my QBCore scripts work with Qbox?":"TL;DR: Yes (in most cases).We've created a bridge layer for backwards compatibility with the documented and proper ways of using qb-core,\nand you can continue to use most QBCore scripts without any modifications.An exception to this is resources that use qb-core in undocumented, unsupported, invalid, and/or improper ways, such as:\nDirect access to database tables;\nDirect access to qb-core files that aren't meant to be used by other resources;\nInvalid usages of existing functions;\nAnd other unexpected ways not mentioned here.","who-should-use-qbox#Who should use Qbox?":"Servers currently using QBCore and servers interested in running QBCore in the future.","is-qbox-ready-to-use#Is Qbox ready to use?":"Since qbx_core is backwards compatible with qb-core resources, we recommend using only the released Qbox resources for a stable experience.","which-resources-are-ready-to-use#Which resources are ready to use?":"qbx_core\nqbx_divegear\nqbx_diving\nqbx_binoculars\nqbx_management","common-problems#Common Problems":"","no-such-export-getcoreobject-in-resource-qbx_core#No such export GetCoreObject in resource qbx_core":"Qbox does not have the core object. However, you can continue to use exports['qb-core']:GetCoreObject() to get a core object from Qbox's QB bridge layer."}},"/":{"title":"Introduction","data":{"":"Qbox is a FiveM roleplay framework created on September 27, 2022.Starting as a QBCore fork, its goal was improving upon QBCore while maintaining backwards compatibility. \nToday this framework strives to be much greater, and utilizes overextended's resources to achieve its goals.","support--questions#Support & Questions":"Support for Qbox is provided by the community in the support channels of the Qbox Discord.Luckily, Qbox benefits from a great community with varied experience.\nWe encourage everyone to help each other in a friendly and respectable manner.","converting-from-qbcore#Converting from QBCore":"Already have a server that uses QBCore? No worries!\nQbox has backwards-compatibility for almost all QBCore scripts, with a few exceptions (learn more in the FAQ).Planning on converting to Qbox anyway to be able to utilize its new and modern functions and features?\nLearn how to convert your resources to Qbox in Converting from QBCore.","note-for-developers#Note for Developers":"Planning on utilizing qbx_core in your next resource?\nMake sure to read the Developer's Guide to learn about principles that make you avoid bad practices and help you in having a better developer expetience.","contributing-to-qbox#Contributing to Qbox":"Contributions are always welcome, but we prefer quality over quantity!\nPlease read our contributing guidelines to learn how best to contribute.","frequently-asked-questions#Frequently Asked Questions":"Check out the FAQ to learn more about Qbox."}},"/release":{"title":"Release Readiness","data":{"":"Guidelines for indicating that a resource is stable and ready for release.","code-quality#Code Quality":"No lint errors are present.\nAll print statements are replaced with lib.print.\nox_lib is used to replace natives where possible.\nCode uses best practices and follows the contribution guidelines.\nCode is readable and well organized.\nNo deprecated functions are being invoked.","database-practices#Database Practices":"Does not read directly from tables it does not own, and uses exports and functions from the owning resources to get the data instead.\nHas direct database calls to tables it does own in a designated storage layer of the resource (see server/storage.lua in qbx_core).","config-practices#Config Practices":"Config is located inside of a config folder and is split between client.lua, shared.lua, server.lua, and optionally more. Each of these are a module (i.e. returns a table).","core-practices#Core Practices":"Client PlayerData is accessed using playerdata module, instead of a qbx_core export.\nLib module is used to replace duplicate code like DrawText.","resource-quality#Resource Quality":"Resource features provide a good experience for players/devs/owners/admins.\nResource is scoped appropriately (i.e. it shouldn't be split, or combined with another resource).\nREADME is not outdated.\nNo known bugs.","stability#Stability":"No breaking changes are planned in the near future.\nResource has been tested or unchanged for long enough to give confidence that major bugs are not present.","dependencies#Dependencies":"Dependencies are declared and enforced using lib.checkDependency. fxmanifest dependencies should be used intentionally; understanding the behavior of restarting a resource.\nDependencies are stable.","release-automation--documentation#Release Automation & Documentation":"The first line of code executed by the server is lib.versionCheck.\nThe resource has a .github folder with bug/suggestion templates, automated version updater & release script.\nThe resource has a README which contains marketing material about the resource and it's features. Note that this is not technical documentation.\nThe resource's public API (events & exports) are documented on the technical docs (here)."}},"/resources/qbx_binoculars":{"title":"qbx_binoculars","data":{}},"/resources/qbx_core":{"title":"qbx_core","data":{}},"/resources/qbx_core/events/client":{"title":"Client Events","data":{"":"These events MUST NOT be triggered by any other scripts.\nSome of these events use custom types.\nYou can learn more about those in the Types section of this resource.","non-networked-events#Non-Networked Events":"","qbcoreclientonplayerloaded#QBCore:Client:OnPlayerLoaded":"Triggered when the player finishes spawning.\nAddEventHandler('QBCore:Client:OnPlayerLoaded', function() end)","networked-events#Networked Events":"","qbcoreclientsetduty#QBCore:Client:SetDuty":"Triggered when the player's job duty is updated.\nRegisterNetEvent('QBCore:Client:SetDuty', function(onDuty) end)\nonDuty: boolean","qbcoreclientonpermissionupdate#QBCore:Client:OnPermissionUpdate":"Triggered when the player's permissions are updated. \nOnly works for permissions set via Qbox.\nRegisterNetEvent('QBCore:Client:OnPermissionUpdate', function() end)","qbx_coreclientplayerloggedout#qbx_core:client:playerLoggedOut":"Triggered when the player logs out and no longer exists in qbx_core's memory.\nRegisterNetEvent('qbx_core:client:playerLoggedOut', function() end)","qbcoreclientonjobupdate#QBCore:Client:OnJobUpdate":"Triggered when the player's job is updated.\nRegisterNetEvent('QBCore:Client:OnJobUpdate', function(job) end)\njob: Job","qbcoreclientongangupdate#QBCore:Client:OnGangUpdate":"Triggered when the player's gang is updated.\nRegisterNetEvent('QBCore:Client:OnGangUpdate', function(gang) end)\ngang: Gang","qbcoreclientonmoneychange#QBCore:Client:OnMoneyChange":"Triggered when the player's cash/bank balance is updated.\nRegisterNetEvent('QBCore:Client:OnMoneyChange', function(moneytype, amount, operation, reason) end)\nmoneyType: 'cash' | 'bank' | 'crypto'\namount: number\noperation: 'add' | 'remove' | 'set'\nreason: string","qbx_coreclientonsetmetadata#qbx_core:client:onSetMetaData":"Triggered when player.Functions.setMetaData() is used.\nRegisterNetEvent('qbx_core:client:onSetMetaData', function(key, oldValue, newValue) end)\nkey: string\noldValue: any\nnewValue: any"}},"/resources/qbx_core/events/server":{"title":"Server Events","data":{"":"These events MUST NOT be triggered by any other scripts.\nSome of these events use custom types.\nYou can learn more about those in the Types section of this resource.","non-networked-events#Non-Networked Events":"","qbcoreserveronplayerunload#QBCore:Server:OnPlayerUnload":"Triggered when aplayer begins the process of logging out. \nThere is no guarantee that the player still exists in qbx_core's memory at the time this event is triggered.\nAddEventHandler('QBCore:Server:OnPlayerUnload', function(src) end)\nsrc: integer","qbcoreserveronpermissionupdate#QBCore:Server:OnPermissionUpdate":"Triggered when the player's permissions are updated. \nOnly applies to permissions created through QB permission functions.\nAddEventHandler('QBCore:Server:OnPermissionUpdate', function(src) end)\nsrc: integer","qbcoreserveronjobupdate#QBCore:Server:OnJobUpdate":"Triggered when a player's job updates.\nAddEventHandler('QBCore:Server:OnJobUpdate', function(src, job) end)\nsrc: integer\njob: Job","qbcoreserverongangupdate#QBCore:Server:OnGangUpdate":"Triggered when a player's gang updates.\nAddEventHandler('QBCore:Server:OnGangUpdate', function(src, gang) end)\nsrc: integer\ngang: Gang","qbcoreserversetduty#QBCore:Server:SetDuty":"Triggered when a player's job duty updates.\nAddEventHandler('QBCore:Server:SetDuty', function(src, onDuty) end)\nsrc: integer\nonDuty: boolean","qbcoreserveronmoneychange#QBCore:Server:OnMoneyChange":"Triggered when a player's cash/bank balance updates.\nAddEventHandler('QBCore:Server:OnMoneyChange', function(src, moneyType, amount, operation, reason) end)\nsrc: integer\nmoneyType: 'cash' | 'bank' | 'crypto'\namount: number\noperation: 'add' | 'remove' | 'set'\nreason: string","networked-events#Networked Events":"","qbcoreserveronplayerloaded#QBCore:Server:OnPlayerLoaded":"Triggered when a player has finished loading.\nRegisterNetEvent('QBCore:Client:OnPlayerLoaded', function() end)","qbx_coreserveronsetmetadata#qbx_core:server:onSetMetaData":"Triggered when player.Functions.setMetaData() is used.\nRegisterNetEvent('qbx_core:server:onSetMetaData', function(key, oldValue, newValue, source) end)\nkey: string\noldValue: any\nnewValue: any\nsource: number"}},"/resources/qbx_core/exports/client":{"title":"Client Exports","data":{"notify#Notify":"See lib.notify for more details.\nText box popup which disappears after a given amount of time.\nexports.qbx_core:Notify(text, notifyType, duration, subTitle, notifyPosition, notifyStyle, notifyIcon, notifyIconColor)\ntext: table | string\nThe text of the notification.\nCan be a string, or a table containing:\ntext?: string\ncaption?: string\nnotifyType?: 'inform' | 'error' | 'success' | 'warning'\nDefault: 'inform'\nduration?: integer\nThe duration in milliseconds for which the notification will remain on screen.\nDefault: 5000\nsubTitle?: string\nAdditional text under the title.\nnotifyPosition?: 'top' | 'top-right' | 'top-left' | 'bottom' | 'bottom-right' | 'bottom-left' | 'center-right' | 'center-left'\nDefault: top-right (changable in config)\nnotifyStyle?: table\nCustom styling. Refer to lib.notify.\nnotifyIcon?: string\nFont Awesome 6 icon name.\nnotifyIconColor?: string\nCustom color for notifyIcon."}},"/resources/qbx_core/exports/shared":{"title":"Shared Exports","data":{"":"Some of these exports use custom types.\nYou can learn more about those in the Types section of this resource.","getjobs#GetJobs":"Returns the jobs table.\nexports.qbx_core:GetJobs()\nReturns: table","getgangs#GetGangs":"Returns the gangs table.\nexports.qbx_core:GetGangs()\nReturns: table","getvehiclesbyname#GetVehiclesByName":"Returns a table mapping vehicle name to vehicle.\nexports.qbx_core:GetVehiclesByName()\nReturns: table","getvehiclesbyhash#GetVehiclesByHash":"Returns a table mapping vehicle hash to vehicle.\nexports.qbx_core:GetVehiclesByHash()\nReturns: table","getvehiclesbycategory#GetVehiclesByCategory":"Returns a table mapping vehicle category to vehicles.\nexports.qbx_core:GetVehiclesByCategory()\nReturns: table","getweapons#GetWeapons":"Returns the weapons table.\nexports.qbx_core:GetWeapons()\nReturns: table","getlocations#GetLocations":"Returns the locations table.\nexports.qbx_core:GetLocations()\nReturns: table"}},"/resources/qbx_core/modules/lib":{"title":"lib","data":{"":"Adds global utility functions.","installation#Installation":"Add @qbx_core/modules/lib.lua to shared_scripts in your fxmanifest."}},"/resources/qbx_core/modules/lib/client":{"title":"Client Lib","data":{"drawtext2d#drawText2d":"Draws text onto the screen in 2D space for a single frame.\nqbx.drawText2d(params)\nparams: table\ntext: string\ncoords: vector2\nOn-screen coordinates.\nscale?: integer\nDefault: 0.35\nfont?: integer\nDefault: 4\ncolor?: vector4\nAn RGBA value; white by default.\nwidth?: number\nDefault: 1.0\nheight?: number\nDefault: 1.0","drawtext3d#drawText3d":"Draws text onto the screen in 3D space for a single frame.\nqbx.drawText3d(params)\nparams: table\ntext: string\ncoords: vector3\nIn-world coordinates.\nscale?: integer\nDefault: 0.35\nfont?: integer\nDefault: 4\ncolor?: vector4\nAn RGBA value; white by default.\ndisableDrawRect?: boolean\nDisables drawing a rectangle background for the text.","getentityandnetidfrombagname#getEntityAndNetIdFromBagName":"Gets and returns an entity handle and network id from a state bag name. \nWill return 0 for both if an invalid entity was received.\nqbx.getEntityAndNetIdFromBagName(bagName)\nbagName: string\nReturns:\nentity: integer\nnetId: integer","entitystatehandler#entityStateHandler":"Returns a state bag handler made for entities.\nqbx.entityStateHandler(keyFilter, cb)\nkeyFilter: string\ncb: fun(entity: number, netId: number, value: any, bagName: string)\nReturns: number","deletevehicle#deleteVehicle":"Deletes the specified vehicle and returns whether it was successful.\nqbx.deleteVehicle(vehicle)\nvehicle: integer\nReturns: boolean","getvehicledisplayname#getVehicleDisplayName":"Returns the model name of the given vehicle.\nqbx.getVehicleDisplayName(vehicle)\nvehicle: integer\nReturns: string","getvehiclemakename#getVehicleMakeName":"Returns the brand name of the given vehicle.\nqbx.getVehicleMakeName(vehicle)\nvehicle: integer\nReturns: string","getstreetname#getStreetName":"Returns the street name and cross section name at the given coords.\nqbx.getStreetName(coords)\ncoords: vector3\nReturns:\nstreetName: table\nmain: string\ncross: string","getzonename#getZoneName":"Returns the name of the zone at the given coords.\nqbx.getZoneName(coords)\ncoords: vector3\nReturns: string","setvehicleextra#setVehicleExtra":"Set an extra on the given vehicle.\nqbx.setVehicleExtra(vehicle, extra, enable)\nvehicle: integer\nextra: integer\nenable: boolean\nWhether to enable the extra.","resetvehicleextras#resetVehicleExtras":"Enables all the extras of the given vehicle.\nqbx.resetVehicleExtras(vehicle)\nvehicle: integer","setvehicleextras#setVehicleExtras":"Sets all the extras of the given vehicle.\nqbx.setVehicleExtra(vehicle, extras)\nvehicle: integer\nextras: table","iswearinggloves#isWearingGloves":"Returns if the local ped is wearing gloves.\nqbx.isWearingGloves()\nReturns: boolean","loadaudiobank#loadAudioBank":"Attempts to load an audio bank and returns whether it was successful. \nRemember to use ReleaseScriptAudioBank since you can only load up to 10 banks.\nqbx.loadAudioBank(audioBank, timeout)\naudioBank: string\ntimeout?: number\nReturns: boolean","playaudio#playAudio":"Plays a sound with the provided audio name and audio ref. \nIf returnSoundId is false or not specified the soundId is released, \notherwise the function returns the soundId without releasing it.\nqbx.playAudio(params)\nparams: table\naudioName: string\naudioRef: string\nreturnSoundId?: boolean\naudioSource?: number | vector3\nEntity handle or vector3 coords.\nrange?: number\nOnly used if audioSource is a vector3 coordinate.\nReturns: number?"}},"/resources/qbx_core/modules/lib/server":{"title":"Server Lib","data":{"spawnvehicle#spawnVehicle":"Creates a vehicle on the server-side and returns its net ID.\nqbx.spawnVehicle(params)\nparams: table\nmodel: integer\nA vehicle modle hash.\nspawnSource: integer | vector3 | vector4\nThe handle of an entity or coords to spawn the vehicle at.\nwarp?: boolean | integer\nAn optional ped ID to warp into the vehicle after it spawns.\nIf spawnSource is a ped ID, you can pass true to warp the ped specified there instead.\nprops?: table\nRefer to ox_lib's Vehicle Properties.\nReturns: integer\n-- spawns the vehicle at `myVectorCoords` and warps `myPed` inside\nqbx.spawnVehicle({\n model = `asbo`,\n spawnSource = myVectorCoords,\n warp = myPed,\n})\n-- spawns the vehicle at `myPed` and warps the same ped inside\nqbx.spawnVehicle({\n model = `asbo`,\n spawnSource = myPed,\n warp = true, -- causes `myPed` to be warped into the vehicle\n})"}},"/resources/qbx_core/modules/lib/shared":{"title":"Shared Lib","data":{"armswithoutglovesmale#armsWithoutGloves.male":"A set of male torso drawable variations that don't have gloves. \nUsed for qbx.isWearingGloves and backwards compatibility.\nqbx.armsWithoutGloves.male\nType: table","armswithoutglovesfemale#armsWithoutGloves.female":"A set of female torso drawable variations that don't have gloves. \nUsed for qbx.isWearingGloves and backwards compatibility.\nqbx.armsWithoutGloves.female\nType: table","stringtrim#string.trim":"Returns the given string with its trailing whitespaces removed.\nqbx.string.trim(str)\nstr: string\nReturns: string","stringcapitalize#string.capitalize":"Returns the given string with its first character capitalized.\nqbx.string.capitalize(str)\nstr: string\nReturns: string","mathround#math.round":"Rounds and returns the given number.\nqbx.math.round(num, decimalPlaces)\nnum: number\ndecimalPlaces?: integer\nReturns: number","tablemapbysubfield#table.mapBySubfield":"Maps and returns the values of the given table by the given subfield.\nqbx.table.mapBySubfield(tble, subfield)\ntble: table\nsubfield: any\nReturns: table\nlocal tble = {\n {\n myCategory = 'first',\n someValue = 1,\n },\n {\n myCategory = 'second',\n someValue = 2,\n },\n}\nlocal mapped = qbx.table.mapBySubfield(tble, 'myCategory')\nprint(json.encode(mapped))\n-- Output: { \"first\": [{ myCategory: \"first\", someValue: 1 }], \"second\": [{ myCategory: \"second\", someValue: 2 }] }","getvehicleplate#getVehiclePlate":"Returns the number plate of the given vehicle, or nil if the vehicle or plate does not exist.\nqbx.getVehiclePlate(vehicle)\nvehicle: integer\nReturns: string?","generaterandomplate#generateRandomPlate":"Generates and returns a random number plate with the given pattern. \nNote that the generated plate may or may not be already used by an existing vehicle.\nFor more info about the pattern see lib.string.random from ox_lib.\nqbx.generateRandomPlate(pattern)\npattern?: string\nReturns: string","getcardinaldirection#getCardinalDirection":"Returns the cardinal direction that the given entity is staring towards.\n North\n 45° 0° 315°\n \\ .- - - - - - -. /\n X X\n .' \\ / '.\n | \\ / |\nWest | X | East\n | / \\ |\n '. / \\ .'\n X X\n / '- - - - - - -' \\\n 135° 225°\n South\n(art inspired by SET_PED_TURNING_THRESHOLDS)\nqbx.getCardinalDirection(entity)\nentity: integer\nReturns: 'North' | 'South' | 'East' | 'West'"}},"/resources/qbx_core/modules/logger":{"title":"logger","data":{"":"See the ox_lib Logger for further details.\nAdds a logger that logs to Discord if a webhook is given, and with ox_lib otherwise.\nlocal logger = require '@qbx_core.modules.logger'\nlogger.log(log)\nlog: table\nsource: string\nThe source of the log; usually a player ID or the name of a resource.\nevent: string\nThe action or event being logged; usually a verb describing what the name is doing.\nExample: 'SpawnVehicle'\nmessage: string\nA message attached to the log.\nwebhook?: string\nDiscord logs only.\nThe URL of the webhook that this should log to.\ncolor?: string\nDiscord logs only.\nThe color the message should be.\ntags?: string[]\nDiscord logs only.\nTags to be added to the Discord message.\nExample: { '<@&roleid>', '<@userid>', '@everyone' }","example-usage#Example Usage":"local logger = require '@qbx_core.modules.logger'\nlogger.log({\n source = 'my source',\n event = 'my event',\n message = 'my message',\n tags = { '@everyone' },\n})"}},"/resources/qbx_core/modules/playerdata":{"title":"playerdata","data":{"":"Adds a QBX.PlayerData global and keeps it updated.","installation#Installation":"Add @qbx_core/modules/playerdata.lua to client_scripts in your fxmanifest."}},"/resources/qbx_core/types/gang":{"title":"Gang","data":{"fields#Fields":"label: string\ngrades: table"}},"/resources/qbx_core/types/job":{"title":"Job","data":{"fields#Fields":"label: string\ntype?: string\ndefaultDuty: boolean\noffDutyPay: boolean\ngrades: table"}},"/resources/qbx_core/types/player":{"title":"Player","data":{"fields#Fields":"Functions: table\nPlayerData: PlayerData\nOffline: boolean","functions#Functions":"","setjob#SetJob":"Attempts to set the player's job with the given grade, and returns whether it was successful.\nPlayer.Functions.SetJob(jobName, grade)\njobName: string\ngrade: integer\nReturns: boolean","setgang#SetGang":"Attempts to set the player's gang with the given grade, and returns whether it was successful.\nPlayer.Functions.SetGang(gangName, grade)\ngangName: string\ngrade: integer\nReturns: boolean","setjobduty#SetJobDuty":"Sets the player's duty.\nPlayer.Functions.SetJobDuty(onDuty)\nonDuty: boolean","setplayerdata#SetPlayerData":"Overwrites the given top level key of the PlayerData with the given value.\nPlayer.Functions.SetPlayerData(key, val)\nkey: string\nval: any","setmetadata#SetMetaData":"Stores the given key value pair in the player's metadata.\nPlayer.Functions.SetMetaData(meta, val)\nmeta: string\nval: any","getmetadata#GetMetaData":"Returns the value pair of the given key in the player's metadata.\nPlayer.Functions.GetMetaData(meta)\nmeta: string\nReturns: any","addjobreputation#AddJobReputation":"Adds the given amount to the player's job reputation.\nPlayer.Functions.AddJobReputation(amount)\namount: number","addmoney#AddMoney":"Attempts to add the given amount of money as the given type, and returns whether it was successful.\nPlayer.Functions.AddMoney(moneytype, amount, reason)\nmoneytype: 'cash' | 'bank' | 'crypto'\namount: number\nreason?: string\nReturns: boolean","removemoney#RemoveMoney":"Attempts to subtract the given amount of money as the given type, and returns whether it was successful.\nPlayer.Functions.RemoveMoney(moneytype, amount, reason)\nmoneytype: 'cash' | 'bank' | 'crypto'\namount: number\nreason?: string\nReturns: boolean","setmoney#SetMoney":"Attempts to set the given amount of money as the given type, and returns whether it was successful.\nPlayer.Functions.SetMoney(moneytype, amount, reason)\nmoneytype: 'cash' | 'bank' | 'crypto'\namount: number\nreason?: string\nReturns: boolean","getmoney#GetMoney":"Returns the amount of money of the given type, or false if the type doesn't exist.\nPlayer.Functions.GetMoney(moneytype)\nmoneytype: 'cash' | 'bank' | 'crypto'\nReturns: number | false","setcreditcard#SetCreditCard":"Sets the player's owned credit card number. \nDoes not give the player's character any items.\nPlayer.Functions.SetCreditCard(cardNumber)\ncardNumber: number","save#Save":"Saves the player's current character info to the database.\nPlayer.Functions.Save()"}},"/resources/qbx_core/types/player_data":{"title":"PlayerData","data":{"":"Extends: PlayerEntity","fields#Fields":"source?: integer\nPresent if the player is online.\noptin?: boolean\nPresent if the player is online."}},"/resources/qbx_core/types/player_entity":{"title":"PlayerEntity","data":{"fields#Fields":"citizenid: string\nlicense: string\nname: string\nmoney: table\ncash: number\nbank: number\ncrypto: number\ncharinfo: table\nfirstname: string\nlastname: string\nbirthdate: string\nnationality: string\ncid: integer\ngender: integer\nbackstory: string\nphone: string\naccount: string\ncard: number\njob: table\nname: string\nlabel: string\npayment: number\ntype: string\nonduty: boolean\nisboss: boolean\ngrade: table\nname: string\nlevel: number\ngang: table\nname: string\nlabel: string\nisboss: boolean\ngrade: table\nname: string\nlevel: number\nposition: vector4\nmetadata: table\nhealth: number\narmor: number\nhunger: number\nthirst: number\nstress: number\nisdead: boolean\ninlaststand: boolean\nishandcuffed: boolean\ntracker: boolean\ninjail: number\njailitems: table\nstatus: table\nphone: table\nbackground: any\nprofilepicture: any\nbloodtype: string\ndealerrep: number\ncraftingrep: number\nattachmentcraftingrep: number\ncurrentapartment?: integer\njobrep: table\ntow: number\ntrucker: number\ntaxi: number\nhotdog: number\ncallsign: string\nfingerprint: string\nwalletid: string\ncriminalrecord: table\nhasRecord: number\ndate?: table\nlicences: table\nid: boolean\ndriver: boolean\nweapon: boolean\ninside: table\nhouse?: any\napartment: table\napartmentType?: any\napartmentId?: integer\nphonedata: table\nSerialNumber: string\nInstalledApps: table\ncid: integer\nitems: table\nDeprecated."}},"/resources/qbx_core/types/vehicle":{"title":"Vehicle","data":{"fields#Fields":"name: string\nbrand: string\nmodel: string\nprice: number\ncategory: string\nhash: integer"}},"/resources/qbx_core/types/weapon":{"title":"Weapon","data":{"fields#Fields":"name: string\nlabel: string\nweapontype: string\nammotype?: string\ndamagereason: string"}},"/resources/qbx_divegear":{"title":"qbx_divegear","data":{}},"/resources/qbx_diving":{"title":"qbx_diving","data":{}},"/resources/qbx_diving/events/server":{"title":"Server Events","data":{"":"These events MUST NOT be triggered by any other scripts.","non-networked-events#Non-Networked Events":"","qbx_divingservercoraltaken#qbx_diving:server:coralTaken":"Triggered when a player has collected coral from the sea bed.\nAddEventHandler('qbx_diving:server:coralTaken', function(coords) end)\ncoords: vector3","networked-events#Networked Events":"","qbx_divingserversellcoral#qbx_diving:server:sellCoral":"Triggered when a player attempts to sell coral. \nDoes not guarantee that the player has any coral in their inventory.\nRegisterNetEvent('qbx_diving:server:sellCoral', function() end)"}},"/resources/qbx_management":{"title":"qbx_manangement","data":{}},"/installation":{"title":"Installation","data":{"":"We highly recommend using txAdmin to install your FiveM server. \nFor detailed instructions, refer to Setting up a server using txAdmin.","download-the-server#Download the server":"Download the latest FiveM artifacts and extract the files.","start-the-server-installation#Start the server installation":"Run FXServer.exe to begin the installation and follow all the steps.","deploy-the-recipe#Deploy the recipe":"When prompted, select Remote URL Template:Use the raw recipe link shown below.\nhttps://raw.githubusercontent.com/Qbox-project/txAdminRecipe/main/qbox.yaml\nhttps://raw.githubusercontent.com/Qbox-project/txAdminRecipe/main/qbox-lean.yaml","run-the-server#Run the server":"Once you have completed all of the installation steps, run the server."}},"/resources/qbx_core/exports/server":{"title":"Server Exports","data":{"":"Some of these exports use custom types.\nYou can learn more about those in the Types section of this resource.","createjobs#CreateJobs":"Adds or overwrites the given jobs.\nThis is a runtime-only change. This won't persist across restarts and won't modify files.\nexports.qbx_core:CreateJobs(jobs)\njobs: table","removejob#RemoveJob":"Removes the given job.\nThis is a runtime-only change. This won't persist across restarts and won't modify files.\nexports.qbx_core:RemoveJob(jobName)\njobName: string\nReturns:\nsuccess: boolean\nmessage: 'success' | 'invalid_job_name' | 'job_not_exists'","creategangs#CreateGangs":"Adds or overwrites the given gangs.\nThis is a runtime-only change. This won't persist across restarts and won't modify files.\nexports.qbx_core:CreateGangs(gangs)\ngangs: table","removegang#RemoveGang":"Removes the given gang.\nThis is a runtime-only change. This won't persist across restarts and won't modify files.\nexports.qbx_core:RemoveGang(gangName)\ngangName: string\nReturns:\nsuccess: boolean\nmessage: 'success' | 'invalid_gang_name' | 'gang_not_exists'","getcoreversion#GetCoreVersion":"Returns the current version of qbx_core set in its fxmanifest.\nexports.qbx_core:GetCoreVersion(InvokingResource)\nInvokingResource: string\nReturns: string","exploitban#ExploitBan":"Bans the given player for the given reason.\nexports.qbx_core:ExploitBan(playerId, origin)\nplayerId: integer\norigin: string","getsource#GetSource":"Returns the ID of the player that has the given identifier, or 0 if the player is not in the server.\nexports.qbx_core:GetSource(identifier)\nidentifier: string\nReturns: integer","getplayer#GetPlayer":"Returns the Player object for the given player ID or identifier.\nexports.qbx_core:GetPlayer(source)\nsource: integer\nReturns: Player?","getplayerbycitizenid#GetPlayerByCitizenId":"Returns the Player object for the given citizenid.\nexports.qbx_core:GetPlayerByCitizenId(citizenid)\ncitizenid: string\nReturns: Player?","getplayerbyphone#GetPlayerByPhone":"Returns the Player object for the given phone number.\nexports.qbx_core:GetPlayerByPhone(number)\nnumber: string\nReturns: Player?","getqbplayers#GetQBPlayers":"Returns the player ID to Player object map of logged-in players.\nexports.qbx_core:GetQBPlayers()\nReturns: table","getdutycountjob#GetDutyCountJob":"Returns the amount of players that are on-duty in the given job, and a list of their IDs.\nexports.qbx_core:GetDutyCountJob(job)\njob: string\nReturns:\ncount: integer\nplayers: integer[]","getdutycounttype#GetDutyCountType":"Returns the amount of players that are on-duty in the given job type, and a list of their IDs.\nexports.qbx_core:GetDutyCountType(jobType)\njobType: string\nReturns:\ncount: integer\nplayers: integer[]","getbucketobjects#GetBucketObjects":"Returns the player to bucket and entity to bucket maps.\nexports.qbx_core:GetBucketObjects()\nReturns:\nplayerBuckets: table\nentityBuckets: table","setplayerbucket#SetPlayerBucket":"Sets the given player to the given bucket. \nReturns false if one of the parameters is nil, and true otherwise.\nexports.qbx_core:SetPlayerBucket(source, bucket)\nsource: integer\nbucket: integer\nReturns: boolean","setentitybucket#SetEntityBucket":"Sets the given entity (e.g. ped, vehicle, prop, etc.) to the given bucket. \nReturns false if one of the parameters is nil, and true otherwise.\nexports.qbx_core:SetEntityBucket(entity, bucket)\nentity: integer\nbucket: integer\nReturns: boolean","getplayersinbucket#GetPlayersInBucket":"Returns a list of all the players in the given bucket, or false if there are no known player buckets.\nexports.qbx_core:GetPlayersInBucket(bucket)\nbucket: integer\nReturns: integer[] | false","getentitiesinbucket#GetEntitiesInBucket":"Returns a list of all the entities in the given bucket, or false if there are no known entity buckets.\nexports.qbx_core:GetPlayersInBucket(bucket)\nbucket: integer\nReturns: integer[] | false","createuseableitem#CreateUseableItem":"Registers the given function to run when the given item is used.\nexports.qbx_core:CreateUseableItem(item, data)\nitem: string\ndata: fun(source: integer, item: unknown)","canuseitem#CanUseItem":"Returns the data set to run when the given item is used, or nil if none exists.\nexports.qbx_core:CanUseItem(item)\nitem: string\nReturns: unknown","iswhitelisted#IsWhitelisted":"Returns whether the given player is whitelisted.\nexports.qbx_core:IsWhitelisted(source)\nsource: integer\nReturns: boolean","addpermission#AddPermission":"Adds the given permission to the given player.\nexports.qbx_core:AddPermission(source, permission)\nsource: integer\npermission: string","removepermission#RemovePermission":"Removes the given permission from the given player.\nexports.qbx_core:RemovePermission(source, permission)\nsource: integer\npermission: string","haspermission#HasPermission":"Returns whether the given player has the given permission.\nexports.qbx_core:HasPermission(source, permission)\nsource: integer\npermission: string\nReturns: boolean","getpermission#GetPermission":"Gets the given player's permissions.\nexports.qbx_core:GetPermission(source)\nsource: integer\nReturns: table","isoptin#IsOptin":"Returns whether the given player is optin to admin reports.\nexports.qbx_core:IsOptin(source)\nsource: integer\nReturns: boolean","toggleoptin#ToggleOptin":"Opts the given player in and out of admin reports.\nexports.qbx_core:ToggleOptin(source)\nsource: integer","isplayerbanned#IsPlayerBanned":"Returns whether the given player is banned, and a message to be shown to the player.\nexports.qbx_core:IsPlayerBanned(source)\nsource: integer\nReturns:\nbanned: boolean\nplayerMessage: string\nA message written to be shown to the player.","notify#Notify":"See lib.notify for more details.\nText box popup for the given player which disappears after a given amount of time.\nexports.qbx_core:Notify(source, text, notifyType, duration, subTitle, notifyPosition, notifyStyle, notifyIcon, notifyIconColor)\nsource: integer\ntext: table | string\nThe text of the notification.\nCan be a string, or a table containing:\ntext?: string\ncaption?: string\nnotifyType?: 'inform' | 'error' | 'success' | 'warning'\nDefault: 'inform'\nduration?: integer\nThe duration in milliseconds for which the notification will remain on screen.\nDefault: 5000\nsubTitle?: string\nAdditional text under the title.\nnotifyPosition?: 'top' | 'top-right' | 'top-left' | 'bottom' | 'bottom-right' | 'bottom-left' | 'center-right' | 'center-left'\nDefault: top-right (changable in config)\nnotifyStyle?: table\nCustom styling. Refer to lib.notify.\nnotifyIcon?: string\nFont Awesome 6 icon name.\nnotifyIconColor?: string\nCustom color for notifyIcon.","login#Login":"Logs into an existing character or creates a new one, and returns whether it was successful. \nThis is the preferred function for creating characters if the owning player is online.\nexports.qbx_core:Login(source, citizenid, newData)\nsource: integer\ncitizenid?: string\nnewData?: PlayerEntity\nReturns: boolean","getofflineplayer#GetOfflinePlayer":"Gets a Player object using the given citizenid and returns it, or nil if nothing was found.\nexports.qbx_core:GetOfflinePlayer(citizenid)\ncitizenid: string\nReturns: Player?","logout#Logout":"Logs the given player out of their current character.\nexports.qbx_core:Logout(source)\nsource: integer","createplayer#CreatePlayer":"Creates a new character and saves it to the database.\nexports.qbx_core:CreatePlayer(playerData, offline)\nplayerData: PlayerData\noffline: boolean\nReturns: Player","save#Save":"Save the given player's info to the database.\nexports.qbx_core:Save(source)\nsource: integer","saveoffline#SaveOffline":"Saves the given PlayerData to the database.\nexports.qbx_core:SaveOffline(playerData)\nplayerData: PlayerEntity","deletecharacter#DeleteCharacter":"Delete a character permanently by the given citizenid.\nThis action cannot be undone.\nexports.qbx_core:DeleteCharacter(citizenid)\ncitizenid: string","generateuniqueidentifier#GenerateUniqueIdentifier":"Returns unique values for player identifiers.\nexports.qbx_core:GenerateUniqueIdentifier(type)\ntype: 'citizenid' | 'AccountNumber' | 'PhoneNumber' | 'FingerId' | 'WalletId' | 'SerialNumber'\nReturns: string | number"}},"/resources/qbx_management/exports/server":{"title":"Server Exports","data":{"registerbossmenu#RegisterBossMenu":"Creates a boss menu.\nThis is a runtime-only change.\nThis won't persist across restarts and won't modify files.\nexports.qbx_management:RegisterBossMenu(menuInfo)\nmenuInfo: table\ngroupName: string\ntype: 'gang' | 'job'\ncoords: vector3\nsize?: vector3\nDefault: vec3(1.5, 1.5, 1.5)\nrotation?: number\nDefault: 0.0"}}} \ No newline at end of file +{"/contributors":{"title":"Contributing to Qbox","data":{"":"Thank you for taking the time to contribute!These guidelines will help you help us in the best way possible regardless of your skill level. We ask that you try to read everything related to the way you'd like to contribute and try and use your best judgement for anything not covered.Make sure to also read our Contributor Code of Conduct.If you still have further questions after reading be sure to join the Qbox Discord server.","issues#Issues":"Open a new issue to report a bug or request a new feature or improvement.If you want to ask a question, issues are not the place to do so. Please join our Discord server and ask over there instead.Before opening a new issue:\nSearch for existing issues; maybe someone else already experienced the same problem that you're having! Duplicate issues will be closed.\nDownload the latest release of the resource you are opening the issue for to make sure that it wasn't already fixed. Issues that are already fixed are considered invalid and will be closed.\nWhen opening a new issue, make sure to pick the right type of form and fill it out. The more information you provide, the easier it will be for us to work on your new issue. Issues that are invalid or do not follow the correct form may be ignored or even closed.","pull-requests#Pull Requests":"Open a new pull request to contribute code.You can use your own editor of choice, but we recommend using VSCode with these extensions:\nGitLens\nLua Language Server\nEditorConfig\nCfxLua IntelliSense\nIf you are new to contributing code, you can check out and try to fix issues marked with good first issue.If you want to contribute code but don't know what to do, please check out issues marked with help wanted as those are issues that we actually need help with.If you want to contribute code unrelated to an existing issue, you should open an issue yourself or ask over on the Discord server to discuss it with our team and ask whether your change is wanted, especially if you are planning on adding new features or large designs.Before opening a pull request:\nMake sure that your contribution fits our code conventions described below. After opening a pull request your code will be checked according to them.\nMake sure that your pull request is small and focused. Break it into multiple smaller pull requests if not (see Small Pull Request Manifesto).\nIt is recommended to test your changes to make sure they work and don't break existing functionality.\nWhen opening a pull request, make sure to follow the template and explain your changes. If you are trying to contribute something related to a GitHub issue, make sure to mention it as well.","code-conventions#Code Conventions":"Below are conventions that you must follow when contributing code.","commit-message-conventions#Commit Message Conventions":"The first line of a commit message must be 72 characters at most.\nCommit messages and pull request titles must follow Conventional Commits.\nUse fix: when patching a bug.\nUse feat: when introducing a new feature.\nUse refactor: when altering code without changing functionality.\nUse chore: when your changes don't alter production code.\nAppend a ! after the type/scope of the feature when you change code and introduce a breaking API change. Optionally add a footer to the bottom of your commit message separated by 2 newlines, starting with BREAKING CHANGE:, and explaining the breaking change.","lua-conventions#Lua Conventions":"","general-style#General Style":"Use 4 space indentation.\nPrefer creating local variables over global ones.\nDon't repeat yourself. If you're using the same operations in multiple different places convert them into a flexible function.\nExported functions must be properly annotated (see LuaLS Annotations).\nUtilize ox_lib to make your life easier. Prefer lib calls over native ones.\nMake use of config options where it makes sense to make features optional and/or customizable. Configs should not be modified by other code.","optimization--security#Optimization & Security":"Consider this Lua Performance guide.\nDon't create unnecessary threads. Always try to find a better method of triggering events.\nSet longer Wait calls in distance checking loops when the player is out of range.\nDon't waste cycles; job specific loops should only run for players with that job.\nWhen possible don't trust the client, especially with transactions.\nBalance security and optimizations.\nUse #(vector3 - vector3) instead of GetDistanceBetweenCoords().\nUse myTable[#myTable + 1] = 'value' instead of table.insert(myTable, 'value').\nUse myTable['key'] = 'value' instead of table.insert(myTable, 'key', 'value').","naming#Naming":"Use camelCase for local variables and functions.\nUse PascalCase for global variables and functions.\nAvoid acronyms as they can be confusing and context dependant.\nBe descriptive; make it easy for the reader.\nBooleans may be prefixed with is, has, are, etc.\nArrays should have plural names.","javascripttypescript-conventions#JavaScript/TypeScript Conventions":"Consider following the Google JavaScript Style Guide and the Google TypeScript Style Guide."}},"/converting":{"title":"Converting from QBCore","data":{"":"Check your job grades in qbx_core/shared/jobs.lua.\nIn Qbox, job grades are numbers without quotations, whereas in QBCore they are strings.\nConfigure ox_inventory and convert your database.\nBack it up first! (see ox_inventory documentation)\nQbox has multicharacter built into qbx_core.\nIf you want to keep using your own multicharacter resource, configure qbx_core accordingly.\nOtherwise you can disable or delete your old multicharacter resource.\nQbox has a queue system built into qbx_core.\nIf you want to keep using your own queue system, specify set qbx:enablequeue \"true\" inside your cfg file.\nOtherwise you can disable or delete your old queue system.\nQbox maintains a qb-core compatibility layer so all existing qb-core resources should expect compatibility most times.\nYou can continue using exports['qb-core'], however, this means you won't get access to all the new Qbox features and functions, so consider switching off of exports['qb-core'] when you can.\nDo note that undocumented and invalid usages of qb-core are not supported and may not be in the future.\nSee the FAQ for more details.","migrating-a-resource-from-qbcore-to-qbox#Migrating a resource from QBCore to Qbox":"Within Qbox, the core object no longer exists.\nInstead, the data can be accessed via a combination of export functions and imported modules.\nImport the needed modules from qbx_core to supply replacement functions for ones from QBCore;\nReplace calls to QBCore one by one with calls to the imported modules and exported functions. Both can be used at the same time, so conversion can be done partially, or over time.","common-replacements#Common replacements":"QBCore.Functions. -> exports.qbx_core:\nQBCore.Functions.GetPlayerData() -> QBX.PlayerData -- requires importing the playerdata module\nQBCore.Functions.GetPlate(vehicle) -> qbx.getVehiclePlate(vehicle) -- requires importing the lib module\nQBCore.Shared.Jobs -> exports.qbx_core:GetJobs()\nQBCore.Shared.Gangs -> exports.qbx_core:GetGangs()\nQBCore.Shared.Vehicles -> exports.qbx_core:GetVehiclesByName()\nQBCore.Shared.Weapons -> exports.qbx_core:GetWeapons()\nQBCore.Shared.Locations -> exports.qbx_core:GetLocations()\nQBCore.Shared.Items -> exports.ox_inventory:Items()\nexports['qb-core']:KeyPressed() -> lib.hideTextUI()\nexports['qb-core']:HideText() -> lib.hideTextUI()\nexports['qb-core']:DrawText(text, position) -> lib.showTextUI(text, { position = position })\nexports['qb-core']:ChangeText(text, position) -> lib.hideTextUI() lib.showTextUI(text, { position = position })"}},"/developers":{"title":"Developer's Guide","data":{"":"This guide is intended for those creating scripts using qbx_core.\nFollowing these principles will make it less likely for your script to break in future updates.","do-not-access-database-tables-owned-by-core#Do not access database tables owned by core":"Doing this will break your script if the database schema changes in the future.\nIf the data you need can't be read or written using a core function,\ncreate a GitHub issue so we can rectify the problem for everyone.","do-not-modify-core-code#Do not modify core code":"Doing this will make it difficult for you to update in the future, and create confusion when debugging issues that may or may not be due to your custom changes.We've attempted to design things with flexibility in mind. \nHowever, if you really feel you need to modify core, file a GitHub issue first.\nWe'll see if we can trigger an event for you, surface a config value, or re-design something for the flexibility you need.","do-not-use-deprecated-functionsevents#Do not use deprecated functions/events":"These are likely to be removed in future updates."}},"/faq":{"title":"Frequently Asked Questions","data":{"what-are-the-differences-between-qbcore-and-qbox#What are the differences between QBCore and Qbox?":"While originally forked from QBCore, many Qbox resources have been refactored to improve code quality, enhance security, lower performance overhead, and integrate with overextended resources.\nWhere appropriate Qbox also integrates directly with other open source projects, rather than maintaining subpar resources in-house.Qbox maintains high quality standards, with a strong community of regular contributors.\nAs time goes on, expect greater differences in player facing features.","will-my-qbcore-scripts-work-with-qbox#Will my QBCore scripts work with Qbox?":"TL;DR: Yes (in most cases).We've created a bridge layer for backwards compatibility with the documented and proper ways of using qb-core,\nand you can continue to use most QBCore scripts without any modifications.An exception to this is resources that use qb-core in undocumented, unsupported, invalid, and/or improper ways, such as:\nDirect access to database tables;\nDirect access to qb-core files that aren't meant to be used by other resources;\nInvalid usages of existing functions;\nAnd other unexpected ways not mentioned here.","who-should-use-qbox#Who should use Qbox?":"Servers currently using QBCore and servers interested in running QBCore in the future.","is-qbox-ready-to-use#Is Qbox ready to use?":"Since qbx_core is backwards compatible with qb-core resources, we recommend using only the released Qbox resources for a stable experience.","which-resources-are-ready-to-use#Which resources are ready to use?":"qbx_core\nqbx_divegear\nqbx_diving\nqbx_binoculars\nqbx_management\nqbx_radio","common-problems#Common Problems":"","no-such-export-getcoreobject-in-resource-qbx_core#No such export GetCoreObject in resource qbx_core":"Qbox does not have the core object. However, you can continue to use exports['qb-core']:GetCoreObject() to get a core object from Qbox's QB bridge layer."}},"/":{"title":"Introduction","data":{"":"Qbox is a FiveM roleplay framework created on September 27, 2022.Starting as a QBCore fork, its goal was improving upon QBCore while maintaining backwards compatibility. \nToday this framework strives to be much greater, and utilizes overextended's resources to achieve its goals.","support--questions#Support & Questions":"Support for Qbox is provided by the community in the support channels of the Qbox Discord.Luckily, Qbox benefits from a great community with varied experience.\nWe encourage everyone to help each other in a friendly and respectable manner.","converting-from-qbcore#Converting from QBCore":"Already have a server that uses QBCore? No worries!\nQbox has backwards-compatibility for almost all QBCore scripts, with a few exceptions (learn more in the FAQ).Planning on converting to Qbox anyway to be able to utilize its new and modern functions and features?\nLearn how to convert your resources to Qbox in Converting from QBCore.","note-for-developers#Note for Developers":"Planning on utilizing qbx_core in your next resource?\nMake sure to read the Developer's Guide to learn about principles that make you avoid bad practices and help you in having a better developer expetience.","contributing-to-qbox#Contributing to Qbox":"Contributions are always welcome, but we prefer quality over quantity!\nPlease read our contributing guidelines to learn how best to contribute.","frequently-asked-questions#Frequently Asked Questions":"Check out the FAQ to learn more about Qbox."}},"/release":{"title":"Release Readiness","data":{"":"Guidelines for indicating that a resource is stable and ready for release.","code-quality#Code Quality":"No lint errors are present.\nAll print statements are replaced with lib.print.\nox_lib is used to replace natives where possible.\nCode uses best practices and follows the contribution guidelines.\nCode is readable and well organized.\nNo deprecated functions are being invoked.","database-practices#Database Practices":"Does not read directly from tables it does not own, and uses exports and functions from the owning resources to get the data instead.\nHas direct database calls to tables it does own in a designated storage layer of the resource (see server/storage.lua in qbx_core).","config-practices#Config Practices":"Config is located inside of a config folder and is split between client.lua, shared.lua, server.lua, and optionally more. Each of these are a module (i.e. returns a table).","core-practices#Core Practices":"Client PlayerData is accessed using playerdata module, instead of a qbx_core export.\nLib module is used to replace duplicate code like DrawText.","resource-quality#Resource Quality":"Resource features provide a good experience for players/devs/owners/admins.\nResource is scoped appropriately (i.e. it shouldn't be split, or combined with another resource).\nREADME is not outdated.\nNo known bugs.","stability#Stability":"No breaking changes are planned in the near future.\nResource has been tested or unchanged for long enough to give confidence that major bugs are not present.","dependencies#Dependencies":"Dependencies are declared and enforced using lib.checkDependency. fxmanifest dependencies should be used intentionally; understanding the behavior of restarting a resource.\nDependencies are stable.","release-automation--documentation#Release Automation & Documentation":"The first line of code executed by the server is lib.versionCheck.\nThe resource has a .github folder with bug/suggestion templates, automated version updater & release script.\nThe resource has a README which contains marketing material about the resource and it's features. Note that this is not technical documentation.\nThe resource's public API (events & exports) are documented on the technical docs (here)."}},"/resources/qbx_binoculars":{"title":"qbx_binoculars","data":{}},"/resources/qbx_core":{"title":"qbx_core","data":{}},"/resources/qbx_core/events/client":{"title":"Client Events","data":{"":"These events MUST NOT be triggered by any other scripts.\nSome of these events use custom types.\nYou can learn more about those in the Types section of this resource.","non-networked-events#Non-Networked Events":"","qbcoreclientonplayerloaded#QBCore:Client:OnPlayerLoaded":"Triggered when the player finishes spawning.\nAddEventHandler('QBCore:Client:OnPlayerLoaded', function() end)","networked-events#Networked Events":"","qbcoreclientsetduty#QBCore:Client:SetDuty":"Triggered when the player's job duty is updated.\nRegisterNetEvent('QBCore:Client:SetDuty', function(onDuty) end)\nonDuty: boolean","qbcoreclientonpermissionupdate#QBCore:Client:OnPermissionUpdate":"Triggered when the player's permissions are updated. \nOnly works for permissions set via Qbox.\nRegisterNetEvent('QBCore:Client:OnPermissionUpdate', function() end)","qbx_coreclientplayerloggedout#qbx_core:client:playerLoggedOut":"Triggered when the player logs out and no longer exists in qbx_core's memory.\nRegisterNetEvent('qbx_core:client:playerLoggedOut', function() end)","qbcoreclientonjobupdate#QBCore:Client:OnJobUpdate":"Triggered when the player's job is updated.\nRegisterNetEvent('QBCore:Client:OnJobUpdate', function(job) end)\njob: Job","qbcoreclientongangupdate#QBCore:Client:OnGangUpdate":"Triggered when the player's gang is updated.\nRegisterNetEvent('QBCore:Client:OnGangUpdate', function(gang) end)\ngang: Gang","qbcoreclientonmoneychange#QBCore:Client:OnMoneyChange":"Triggered when the player's cash/bank balance is updated.\nRegisterNetEvent('QBCore:Client:OnMoneyChange', function(moneytype, amount, operation, reason) end)\nmoneyType: 'cash' | 'bank' | 'crypto'\namount: number\noperation: 'add' | 'remove' | 'set'\nreason: string","qbx_coreclientonsetmetadata#qbx_core:client:onSetMetaData":"Triggered when player.Functions.setMetaData() is used.\nRegisterNetEvent('qbx_core:client:onSetMetaData', function(key, oldValue, newValue) end)\nkey: string\noldValue: any\nnewValue: any"}},"/resources/qbx_core/events/server":{"title":"Server Events","data":{"":"These events MUST NOT be triggered by any other scripts.\nSome of these events use custom types.\nYou can learn more about those in the Types section of this resource.","non-networked-events#Non-Networked Events":"","qbcoreserveronplayerunload#QBCore:Server:OnPlayerUnload":"Triggered when aplayer begins the process of logging out. \nThere is no guarantee that the player still exists in qbx_core's memory at the time this event is triggered.\nAddEventHandler('QBCore:Server:OnPlayerUnload', function(src) end)\nsrc: integer","qbcoreserveronpermissionupdate#QBCore:Server:OnPermissionUpdate":"Triggered when the player's permissions are updated. \nOnly applies to permissions created through QB permission functions.\nAddEventHandler('QBCore:Server:OnPermissionUpdate', function(src) end)\nsrc: integer","qbcoreserveronjobupdate#QBCore:Server:OnJobUpdate":"Triggered when a player's job updates.\nAddEventHandler('QBCore:Server:OnJobUpdate', function(src, job) end)\nsrc: integer\njob: Job","qbcoreserverongangupdate#QBCore:Server:OnGangUpdate":"Triggered when a player's gang updates.\nAddEventHandler('QBCore:Server:OnGangUpdate', function(src, gang) end)\nsrc: integer\ngang: Gang","qbcoreserversetduty#QBCore:Server:SetDuty":"Triggered when a player's job duty updates.\nAddEventHandler('QBCore:Server:SetDuty', function(src, onDuty) end)\nsrc: integer\nonDuty: boolean","qbcoreserveronmoneychange#QBCore:Server:OnMoneyChange":"Triggered when a player's cash/bank balance updates.\nAddEventHandler('QBCore:Server:OnMoneyChange', function(src, moneyType, amount, operation, reason) end)\nsrc: integer\nmoneyType: 'cash' | 'bank' | 'crypto'\namount: number\noperation: 'add' | 'remove' | 'set'\nreason: string","networked-events#Networked Events":"","qbcoreserveronplayerloaded#QBCore:Server:OnPlayerLoaded":"Triggered when a player has finished loading.\nRegisterNetEvent('QBCore:Client:OnPlayerLoaded', function() end)","qbx_coreserveronsetmetadata#qbx_core:server:onSetMetaData":"Triggered when player.Functions.setMetaData() is used.\nRegisterNetEvent('qbx_core:server:onSetMetaData', function(key, oldValue, newValue, source) end)\nkey: string\noldValue: any\nnewValue: any\nsource: number"}},"/resources/qbx_core/exports/client":{"title":"Client Exports","data":{"notify#Notify":"See lib.notify for more details.\nText box popup which disappears after a given amount of time.\nexports.qbx_core:Notify(text, notifyType, duration, subTitle, notifyPosition, notifyStyle, notifyIcon, notifyIconColor)\ntext: table | string\nThe text of the notification.\nCan be a string, or a table containing:\ntext?: string\ncaption?: string\nnotifyType?: 'inform' | 'error' | 'success' | 'warning'\nDefault: 'inform'\nduration?: integer\nThe duration in milliseconds for which the notification will remain on screen.\nDefault: 5000\nsubTitle?: string\nAdditional text under the title.\nnotifyPosition?: 'top' | 'top-right' | 'top-left' | 'bottom' | 'bottom-right' | 'bottom-left' | 'center-right' | 'center-left'\nDefault: top-right (changable in config)\nnotifyStyle?: table\nCustom styling. Refer to lib.notify.\nnotifyIcon?: string\nFont Awesome 6 icon name.\nnotifyIconColor?: string\nCustom color for notifyIcon."}},"/resources/qbx_core/exports/shared":{"title":"Shared Exports","data":{"":"Some of these exports use custom types.\nYou can learn more about those in the Types section of this resource.","getjobs#GetJobs":"Returns the jobs table.\nexports.qbx_core:GetJobs()\nReturns: table","getgangs#GetGangs":"Returns the gangs table.\nexports.qbx_core:GetGangs()\nReturns: table","getvehiclesbyname#GetVehiclesByName":"Returns a table mapping vehicle name to vehicle.\nexports.qbx_core:GetVehiclesByName()\nReturns: table","getvehiclesbyhash#GetVehiclesByHash":"Returns a table mapping vehicle hash to vehicle.\nexports.qbx_core:GetVehiclesByHash()\nReturns: table","getvehiclesbycategory#GetVehiclesByCategory":"Returns a table mapping vehicle category to vehicles.\nexports.qbx_core:GetVehiclesByCategory()\nReturns: table","getweapons#GetWeapons":"Returns the weapons table.\nexports.qbx_core:GetWeapons()\nReturns: table","getlocations#GetLocations":"Returns the locations table.\nexports.qbx_core:GetLocations()\nReturns: table"}},"/resources/qbx_core/modules/lib":{"title":"lib","data":{"":"Adds global utility functions.","installation#Installation":"Add @qbx_core/modules/lib.lua to shared_scripts in your fxmanifest."}},"/resources/qbx_core/modules/lib/client":{"title":"Client Lib","data":{"drawtext2d#drawText2d":"Draws text onto the screen in 2D space for a single frame.\nqbx.drawText2d(params)\nparams: table\ntext: string\ncoords: vector2\nOn-screen coordinates.\nscale?: integer\nDefault: 0.35\nfont?: integer\nDefault: 4\ncolor?: vector4\nAn RGBA value; white by default.\nwidth?: number\nDefault: 1.0\nheight?: number\nDefault: 1.0","drawtext3d#drawText3d":"Draws text onto the screen in 3D space for a single frame.\nqbx.drawText3d(params)\nparams: table\ntext: string\ncoords: vector3\nIn-world coordinates.\nscale?: integer\nDefault: 0.35\nfont?: integer\nDefault: 4\ncolor?: vector4\nAn RGBA value; white by default.\ndisableDrawRect?: boolean\nDisables drawing a rectangle background for the text.","getentityandnetidfrombagname#getEntityAndNetIdFromBagName":"Gets and returns an entity handle and network id from a state bag name. \nWill return 0 for both if an invalid entity was received.\nqbx.getEntityAndNetIdFromBagName(bagName)\nbagName: string\nReturns:\nentity: integer\nnetId: integer","entitystatehandler#entityStateHandler":"Returns a state bag handler made for entities.\nqbx.entityStateHandler(keyFilter, cb)\nkeyFilter: string\ncb: fun(entity: number, netId: number, value: any, bagName: string)\nReturns: number","deletevehicle#deleteVehicle":"Deletes the specified vehicle and returns whether it was successful.\nqbx.deleteVehicle(vehicle)\nvehicle: integer\nReturns: boolean","getvehicledisplayname#getVehicleDisplayName":"Returns the model name of the given vehicle.\nqbx.getVehicleDisplayName(vehicle)\nvehicle: integer\nReturns: string","getvehiclemakename#getVehicleMakeName":"Returns the brand name of the given vehicle.\nqbx.getVehicleMakeName(vehicle)\nvehicle: integer\nReturns: string","getstreetname#getStreetName":"Returns the street name and cross section name at the given coords.\nqbx.getStreetName(coords)\ncoords: vector3\nReturns:\nstreetName: table\nmain: string\ncross: string","getzonename#getZoneName":"Returns the name of the zone at the given coords.\nqbx.getZoneName(coords)\ncoords: vector3\nReturns: string","setvehicleextra#setVehicleExtra":"Set an extra on the given vehicle.\nqbx.setVehicleExtra(vehicle, extra, enable)\nvehicle: integer\nextra: integer\nenable: boolean\nWhether to enable the extra.","resetvehicleextras#resetVehicleExtras":"Enables all the extras of the given vehicle.\nqbx.resetVehicleExtras(vehicle)\nvehicle: integer","setvehicleextras#setVehicleExtras":"Sets all the extras of the given vehicle.\nqbx.setVehicleExtra(vehicle, extras)\nvehicle: integer\nextras: table","iswearinggloves#isWearingGloves":"Returns if the local ped is wearing gloves.\nqbx.isWearingGloves()\nReturns: boolean","loadaudiobank#loadAudioBank":"Attempts to load an audio bank and returns whether it was successful. \nRemember to use ReleaseScriptAudioBank since you can only load up to 10 banks.\nqbx.loadAudioBank(audioBank, timeout)\naudioBank: string\ntimeout?: number\nReturns: boolean","playaudio#playAudio":"Plays a sound with the provided audio name and audio ref. \nIf returnSoundId is false or not specified the soundId is released, \notherwise the function returns the soundId without releasing it.\nqbx.playAudio(params)\nparams: table\naudioName: string\naudioRef: string\nreturnSoundId?: boolean\naudioSource?: number | vector3\nEntity handle or vector3 coords.\nrange?: number\nOnly used if audioSource is a vector3 coordinate.\nReturns: number?"}},"/resources/qbx_core/modules/lib/server":{"title":"Server Lib","data":{"spawnvehicle#spawnVehicle":"Creates a vehicle on the server-side and returns its net ID.\nqbx.spawnVehicle(params)\nparams: table\nmodel: integer\nA vehicle modle hash.\nspawnSource: integer | vector3 | vector4\nThe handle of an entity or coords to spawn the vehicle at.\nwarp?: boolean | integer\nAn optional ped ID to warp into the vehicle after it spawns.\nIf spawnSource is a ped ID, you can pass true to warp the ped specified there instead.\nprops?: table\nRefer to ox_lib's Vehicle Properties.\nReturns: integer\n-- spawns the vehicle at `myVectorCoords` and warps `myPed` inside\nqbx.spawnVehicle({\n model = `asbo`,\n spawnSource = myVectorCoords,\n warp = myPed,\n})\n-- spawns the vehicle at `myPed` and warps the same ped inside\nqbx.spawnVehicle({\n model = `asbo`,\n spawnSource = myPed,\n warp = true, -- causes `myPed` to be warped into the vehicle\n})"}},"/resources/qbx_core/modules/lib/shared":{"title":"Shared Lib","data":{"armswithoutglovesmale#armsWithoutGloves.male":"A set of male torso drawable variations that don't have gloves. \nUsed for qbx.isWearingGloves and backwards compatibility.\nqbx.armsWithoutGloves.male\nType: table","armswithoutglovesfemale#armsWithoutGloves.female":"A set of female torso drawable variations that don't have gloves. \nUsed for qbx.isWearingGloves and backwards compatibility.\nqbx.armsWithoutGloves.female\nType: table","stringtrim#string.trim":"Returns the given string with its trailing whitespaces removed.\nqbx.string.trim(str)\nstr: string\nReturns: string","stringcapitalize#string.capitalize":"Returns the given string with its first character capitalized.\nqbx.string.capitalize(str)\nstr: string\nReturns: string","mathround#math.round":"Rounds and returns the given number.\nqbx.math.round(num, decimalPlaces)\nnum: number\ndecimalPlaces?: integer\nReturns: number","tablemapbysubfield#table.mapBySubfield":"Maps and returns the values of the given table by the given subfield.\nqbx.table.mapBySubfield(tble, subfield)\ntble: table\nsubfield: any\nReturns: table\nlocal tble = {\n {\n myCategory = 'first',\n someValue = 1,\n },\n {\n myCategory = 'second',\n someValue = 2,\n },\n}\nlocal mapped = qbx.table.mapBySubfield(tble, 'myCategory')\nprint(json.encode(mapped))\n-- Output: { \"first\": [{ myCategory: \"first\", someValue: 1 }], \"second\": [{ myCategory: \"second\", someValue: 2 }] }","getvehicleplate#getVehiclePlate":"Returns the number plate of the given vehicle, or nil if the vehicle or plate does not exist.\nqbx.getVehiclePlate(vehicle)\nvehicle: integer\nReturns: string?","generaterandomplate#generateRandomPlate":"Generates and returns a random number plate with the given pattern. \nNote that the generated plate may or may not be already used by an existing vehicle.\nFor more info about the pattern see lib.string.random from ox_lib.\nqbx.generateRandomPlate(pattern)\npattern?: string\nReturns: string","getcardinaldirection#getCardinalDirection":"Returns the cardinal direction that the given entity is staring towards.\n North\n 45° 0° 315°\n \\ .- - - - - - -. /\n X X\n .' \\ / '.\n | \\ / |\nWest | X | East\n | / \\ |\n '. / \\ .'\n X X\n / '- - - - - - -' \\\n 135° 225°\n South\n(art inspired by SET_PED_TURNING_THRESHOLDS)\nqbx.getCardinalDirection(entity)\nentity: integer\nReturns: 'North' | 'South' | 'East' | 'West'"}},"/resources/qbx_core/modules/logger":{"title":"logger","data":{"":"See the ox_lib Logger for further details.\nAdds a logger that logs to Discord if a webhook is given, and with ox_lib otherwise.\nlocal logger = require '@qbx_core.modules.logger'\nlogger.log(log)\nlog: table\nsource: string\nThe source of the log; usually a player ID or the name of a resource.\nevent: string\nThe action or event being logged; usually a verb describing what the name is doing.\nExample: 'SpawnVehicle'\nmessage: string\nA message attached to the log.\nwebhook?: string\nDiscord logs only.\nThe URL of the webhook that this should log to.\ncolor?: string\nDiscord logs only.\nThe color the message should be.\ntags?: string[]\nDiscord logs only.\nTags to be added to the Discord message.\nExample: { '<@&roleid>', '<@userid>', '@everyone' }","example-usage#Example Usage":"local logger = require '@qbx_core.modules.logger'\nlogger.log({\n source = 'my source',\n event = 'my event',\n message = 'my message',\n tags = { '@everyone' },\n})"}},"/resources/qbx_core/modules/playerdata":{"title":"playerdata","data":{"":"Adds a QBX.PlayerData global and keeps it updated.","installation#Installation":"Add @qbx_core/modules/playerdata.lua to client_scripts in your fxmanifest."}},"/resources/qbx_core/types/gang":{"title":"Gang","data":{"fields#Fields":"label: string\ngrades: table"}},"/resources/qbx_core/types/job":{"title":"Job","data":{"fields#Fields":"label: string\ntype?: string\ndefaultDuty: boolean\noffDutyPay: boolean\ngrades: table"}},"/resources/qbx_core/types/player":{"title":"Player","data":{"fields#Fields":"Functions: table\nPlayerData: PlayerData\nOffline: boolean","functions#Functions":"","setjob#SetJob":"Attempts to set the player's job with the given grade, and returns whether it was successful.\nPlayer.Functions.SetJob(jobName, grade)\njobName: string\ngrade: integer\nReturns: boolean","setgang#SetGang":"Attempts to set the player's gang with the given grade, and returns whether it was successful.\nPlayer.Functions.SetGang(gangName, grade)\ngangName: string\ngrade: integer\nReturns: boolean","setjobduty#SetJobDuty":"Sets the player's duty.\nPlayer.Functions.SetJobDuty(onDuty)\nonDuty: boolean","setplayerdata#SetPlayerData":"Overwrites the given top level key of the PlayerData with the given value.\nPlayer.Functions.SetPlayerData(key, val)\nkey: string\nval: any","setmetadata#SetMetaData":"Stores the given key value pair in the player's metadata.\nPlayer.Functions.SetMetaData(meta, val)\nmeta: string\nval: any","getmetadata#GetMetaData":"Returns the value pair of the given key in the player's metadata.\nPlayer.Functions.GetMetaData(meta)\nmeta: string\nReturns: any","addjobreputation#AddJobReputation":"Adds the given amount to the player's job reputation.\nPlayer.Functions.AddJobReputation(amount)\namount: number","addmoney#AddMoney":"Attempts to add the given amount of money as the given type, and returns whether it was successful.\nPlayer.Functions.AddMoney(moneytype, amount, reason)\nmoneytype: 'cash' | 'bank' | 'crypto'\namount: number\nreason?: string\nReturns: boolean","removemoney#RemoveMoney":"Attempts to subtract the given amount of money as the given type, and returns whether it was successful.\nPlayer.Functions.RemoveMoney(moneytype, amount, reason)\nmoneytype: 'cash' | 'bank' | 'crypto'\namount: number\nreason?: string\nReturns: boolean","setmoney#SetMoney":"Attempts to set the given amount of money as the given type, and returns whether it was successful.\nPlayer.Functions.SetMoney(moneytype, amount, reason)\nmoneytype: 'cash' | 'bank' | 'crypto'\namount: number\nreason?: string\nReturns: boolean","getmoney#GetMoney":"Returns the amount of money of the given type, or false if the type doesn't exist.\nPlayer.Functions.GetMoney(moneytype)\nmoneytype: 'cash' | 'bank' | 'crypto'\nReturns: number | false","setcreditcard#SetCreditCard":"Sets the player's owned credit card number. \nDoes not give the player's character any items.\nPlayer.Functions.SetCreditCard(cardNumber)\ncardNumber: number","save#Save":"Saves the player's current character info to the database.\nPlayer.Functions.Save()"}},"/resources/qbx_core/types/player_data":{"title":"PlayerData","data":{"":"Extends: PlayerEntity","fields#Fields":"source?: integer\nPresent if the player is online.\noptin?: boolean\nPresent if the player is online."}},"/resources/qbx_core/types/player_entity":{"title":"PlayerEntity","data":{"fields#Fields":"citizenid: string\nlicense: string\nname: string\nmoney: table\ncash: number\nbank: number\ncrypto: number\ncharinfo: table\nfirstname: string\nlastname: string\nbirthdate: string\nnationality: string\ncid: integer\ngender: integer\nbackstory: string\nphone: string\naccount: string\ncard: number\njob: table\nname: string\nlabel: string\npayment: number\ntype: string\nonduty: boolean\nisboss: boolean\ngrade: table\nname: string\nlevel: number\ngang: table\nname: string\nlabel: string\nisboss: boolean\ngrade: table\nname: string\nlevel: number\nposition: vector4\nmetadata: table\nhealth: number\narmor: number\nhunger: number\nthirst: number\nstress: number\nisdead: boolean\ninlaststand: boolean\nishandcuffed: boolean\ntracker: boolean\ninjail: number\njailitems: table\nstatus: table\nphone: table\nbackground: any\nprofilepicture: any\nbloodtype: string\ndealerrep: number\ncraftingrep: number\nattachmentcraftingrep: number\ncurrentapartment?: integer\njobrep: table\ntow: number\ntrucker: number\ntaxi: number\nhotdog: number\ncallsign: string\nfingerprint: string\nwalletid: string\ncriminalrecord: table\nhasRecord: number\ndate?: table\nlicences: table\nid: boolean\ndriver: boolean\nweapon: boolean\ninside: table\nhouse?: any\napartment: table\napartmentType?: any\napartmentId?: integer\nphonedata: table\nSerialNumber: string\nInstalledApps: table\ncid: integer\nitems: table\nDeprecated."}},"/resources/qbx_core/types/vehicle":{"title":"Vehicle","data":{"fields#Fields":"name: string\nbrand: string\nmodel: string\nprice: number\ncategory: string\nhash: integer"}},"/resources/qbx_core/types/weapon":{"title":"Weapon","data":{"fields#Fields":"name: string\nlabel: string\nweapontype: string\nammotype?: string\ndamagereason: string"}},"/resources/qbx_divegear":{"title":"qbx_divegear","data":{}},"/resources/qbx_diving":{"title":"qbx_diving","data":{}},"/resources/qbx_diving/events/server":{"title":"Server Events","data":{"":"These events MUST NOT be triggered by any other scripts.","non-networked-events#Non-Networked Events":"","qbx_divingservercoraltaken#qbx_diving:server:coralTaken":"Triggered when a player has collected coral from the sea bed.\nAddEventHandler('qbx_diving:server:coralTaken', function(coords) end)\ncoords: vector3","networked-events#Networked Events":"","qbx_divingserversellcoral#qbx_diving:server:sellCoral":"Triggered when a player attempts to sell coral. \nDoes not guarantee that the player has any coral in their inventory.\nRegisterNetEvent('qbx_diving:server:sellCoral', function() end)"}},"/resources/qbx_management":{"title":"qbx_manangement","data":{}},"/resources/qbx_radio":{"title":"qbx_radio","data":{}},"/installation":{"title":"Installation","data":{"":"We highly recommend using txAdmin to install your FiveM server. \nFor detailed instructions, refer to Setting up a server using txAdmin.","download-the-server#Download the server":"Download the latest FiveM artifacts and extract the files.","start-the-server-installation#Start the server installation":"Run FXServer.exe to begin the installation and follow all the steps.","deploy-the-recipe#Deploy the recipe":"When prompted, select Remote URL Template:Use the raw recipe link shown below.\nhttps://raw.githubusercontent.com/Qbox-project/txAdminRecipe/main/qbox.yaml\nhttps://raw.githubusercontent.com/Qbox-project/txAdminRecipe/main/qbox-lean.yaml","run-the-server#Run the server":"Once you have completed all of the installation steps, run the server."}},"/resources/qbx_core/exports/server":{"title":"Server Exports","data":{"":"Some of these exports use custom types.\nYou can learn more about those in the Types section of this resource.","createjobs#CreateJobs":"Adds or overwrites the given jobs.\nThis is a runtime-only change. This won't persist across restarts and won't modify files.\nexports.qbx_core:CreateJobs(jobs)\njobs: table","removejob#RemoveJob":"Removes the given job.\nThis is a runtime-only change. This won't persist across restarts and won't modify files.\nexports.qbx_core:RemoveJob(jobName)\njobName: string\nReturns:\nsuccess: boolean\nmessage: 'success' | 'invalid_job_name' | 'job_not_exists'","creategangs#CreateGangs":"Adds or overwrites the given gangs.\nThis is a runtime-only change. This won't persist across restarts and won't modify files.\nexports.qbx_core:CreateGangs(gangs)\ngangs: table","removegang#RemoveGang":"Removes the given gang.\nThis is a runtime-only change. This won't persist across restarts and won't modify files.\nexports.qbx_core:RemoveGang(gangName)\ngangName: string\nReturns:\nsuccess: boolean\nmessage: 'success' | 'invalid_gang_name' | 'gang_not_exists'","getcoreversion#GetCoreVersion":"Returns the current version of qbx_core set in its fxmanifest.\nexports.qbx_core:GetCoreVersion(InvokingResource)\nInvokingResource: string\nReturns: string","exploitban#ExploitBan":"Bans the given player for the given reason.\nexports.qbx_core:ExploitBan(playerId, origin)\nplayerId: integer\norigin: string","getsource#GetSource":"Returns the ID of the player that has the given identifier, or 0 if the player is not in the server.\nexports.qbx_core:GetSource(identifier)\nidentifier: string\nReturns: integer","getplayer#GetPlayer":"Returns the Player object for the given player ID or identifier.\nexports.qbx_core:GetPlayer(source)\nsource: integer\nReturns: Player?","getplayerbycitizenid#GetPlayerByCitizenId":"Returns the Player object for the given citizenid.\nexports.qbx_core:GetPlayerByCitizenId(citizenid)\ncitizenid: string\nReturns: Player?","getplayerbyphone#GetPlayerByPhone":"Returns the Player object for the given phone number.\nexports.qbx_core:GetPlayerByPhone(number)\nnumber: string\nReturns: Player?","getqbplayers#GetQBPlayers":"Returns the player ID to Player object map of logged-in players.\nexports.qbx_core:GetQBPlayers()\nReturns: table","getdutycountjob#GetDutyCountJob":"Returns the amount of players that are on-duty in the given job, and a list of their IDs.\nexports.qbx_core:GetDutyCountJob(job)\njob: string\nReturns:\ncount: integer\nplayers: integer[]","getdutycounttype#GetDutyCountType":"Returns the amount of players that are on-duty in the given job type, and a list of their IDs.\nexports.qbx_core:GetDutyCountType(jobType)\njobType: string\nReturns:\ncount: integer\nplayers: integer[]","getbucketobjects#GetBucketObjects":"Returns the player to bucket and entity to bucket maps.\nexports.qbx_core:GetBucketObjects()\nReturns:\nplayerBuckets: table\nentityBuckets: table","setplayerbucket#SetPlayerBucket":"Sets the given player to the given bucket. \nReturns false if one of the parameters is nil, and true otherwise.\nexports.qbx_core:SetPlayerBucket(source, bucket)\nsource: integer\nbucket: integer\nReturns: boolean","setentitybucket#SetEntityBucket":"Sets the given entity (e.g. ped, vehicle, prop, etc.) to the given bucket. \nReturns false if one of the parameters is nil, and true otherwise.\nexports.qbx_core:SetEntityBucket(entity, bucket)\nentity: integer\nbucket: integer\nReturns: boolean","getplayersinbucket#GetPlayersInBucket":"Returns a list of all the players in the given bucket, or false if there are no known player buckets.\nexports.qbx_core:GetPlayersInBucket(bucket)\nbucket: integer\nReturns: integer[] | false","getentitiesinbucket#GetEntitiesInBucket":"Returns a list of all the entities in the given bucket, or false if there are no known entity buckets.\nexports.qbx_core:GetPlayersInBucket(bucket)\nbucket: integer\nReturns: integer[] | false","createuseableitem#CreateUseableItem":"Registers the given function to run when the given item is used.\nexports.qbx_core:CreateUseableItem(item, data)\nitem: string\ndata: fun(source: integer, item: unknown)","canuseitem#CanUseItem":"Returns the data set to run when the given item is used, or nil if none exists.\nexports.qbx_core:CanUseItem(item)\nitem: string\nReturns: unknown","iswhitelisted#IsWhitelisted":"Returns whether the given player is whitelisted.\nexports.qbx_core:IsWhitelisted(source)\nsource: integer\nReturns: boolean","addpermission#AddPermission":"Adds the given permission to the given player.\nexports.qbx_core:AddPermission(source, permission)\nsource: integer\npermission: string","removepermission#RemovePermission":"Removes the given permission from the given player.\nexports.qbx_core:RemovePermission(source, permission)\nsource: integer\npermission: string","haspermission#HasPermission":"Returns whether the given player has the given permission.\nexports.qbx_core:HasPermission(source, permission)\nsource: integer\npermission: string\nReturns: boolean","getpermission#GetPermission":"Gets the given player's permissions.\nexports.qbx_core:GetPermission(source)\nsource: integer\nReturns: table","isoptin#IsOptin":"Returns whether the given player is optin to admin reports.\nexports.qbx_core:IsOptin(source)\nsource: integer\nReturns: boolean","toggleoptin#ToggleOptin":"Opts the given player in and out of admin reports.\nexports.qbx_core:ToggleOptin(source)\nsource: integer","isplayerbanned#IsPlayerBanned":"Returns whether the given player is banned, and a message to be shown to the player.\nexports.qbx_core:IsPlayerBanned(source)\nsource: integer\nReturns:\nbanned: boolean\nplayerMessage: string\nA message written to be shown to the player.","notify#Notify":"See lib.notify for more details.\nText box popup for the given player which disappears after a given amount of time.\nexports.qbx_core:Notify(source, text, notifyType, duration, subTitle, notifyPosition, notifyStyle, notifyIcon, notifyIconColor)\nsource: integer\ntext: table | string\nThe text of the notification.\nCan be a string, or a table containing:\ntext?: string\ncaption?: string\nnotifyType?: 'inform' | 'error' | 'success' | 'warning'\nDefault: 'inform'\nduration?: integer\nThe duration in milliseconds for which the notification will remain on screen.\nDefault: 5000\nsubTitle?: string\nAdditional text under the title.\nnotifyPosition?: 'top' | 'top-right' | 'top-left' | 'bottom' | 'bottom-right' | 'bottom-left' | 'center-right' | 'center-left'\nDefault: top-right (changable in config)\nnotifyStyle?: table\nCustom styling. Refer to lib.notify.\nnotifyIcon?: string\nFont Awesome 6 icon name.\nnotifyIconColor?: string\nCustom color for notifyIcon.","login#Login":"Logs into an existing character or creates a new one, and returns whether it was successful. \nThis is the preferred function for creating characters if the owning player is online.\nexports.qbx_core:Login(source, citizenid, newData)\nsource: integer\ncitizenid?: string\nnewData?: PlayerEntity\nReturns: boolean","getofflineplayer#GetOfflinePlayer":"Gets a Player object using the given citizenid and returns it, or nil if nothing was found.\nexports.qbx_core:GetOfflinePlayer(citizenid)\ncitizenid: string\nReturns: Player?","logout#Logout":"Logs the given player out of their current character.\nexports.qbx_core:Logout(source)\nsource: integer","createplayer#CreatePlayer":"Creates a new character and saves it to the database.\nexports.qbx_core:CreatePlayer(playerData, offline)\nplayerData: PlayerData\noffline: boolean\nReturns: Player","save#Save":"Save the given player's info to the database.\nexports.qbx_core:Save(source)\nsource: integer","saveoffline#SaveOffline":"Saves the given PlayerData to the database.\nexports.qbx_core:SaveOffline(playerData)\nplayerData: PlayerEntity","deletecharacter#DeleteCharacter":"Delete a character permanently by the given citizenid.\nThis action cannot be undone.\nexports.qbx_core:DeleteCharacter(citizenid)\ncitizenid: string","generateuniqueidentifier#GenerateUniqueIdentifier":"Returns unique values for player identifiers.\nexports.qbx_core:GenerateUniqueIdentifier(type)\ntype: 'citizenid' | 'AccountNumber' | 'PhoneNumber' | 'FingerId' | 'WalletId' | 'SerialNumber'\nReturns: string | number"}},"/resources/qbx_management/exports/server":{"title":"Server Exports","data":{"registerbossmenu#RegisterBossMenu":"Creates a boss menu.\nThis is a runtime-only change.\nThis won't persist across restarts and won't modify files.\nexports.qbx_management:RegisterBossMenu(menuInfo)\nmenuInfo: table\ngroupName: string\ntype: 'gang' | 'job'\ncoords: vector3\nsize?: vector3\nDefault: vec3(1.5, 1.5, 1.5)\nrotation?: number\nDefault: 0.0"}}} \ No newline at end of file diff --git a/_next/static/chunks/pages/_app-8698301346ae8fde.js b/_next/static/chunks/pages/_app-ad92aa52405ba84d.js similarity index 76% rename from _next/static/chunks/pages/_app-8698301346ae8fde.js rename to _next/static/chunks/pages/_app-ad92aa52405ba84d.js index 0b08bf8..74a1a39 100644 --- a/_next/static/chunks/pages/_app-8698301346ae8fde.js +++ b/_next/static/chunks/pages/_app-ad92aa52405ba84d.js @@ -17,7 +17,7 @@ --nextra-primary-hue: ${W}deg; --nextra-primary-saturation: ${K}%; } - `}),j]})]})}var ry={link:(0,eC.Z)("nx-flex nx-max-w-[50%] nx-items-center nx-gap-1 nx-py-4 nx-text-base nx-font-medium nx-text-gray-600 nx-transition-colors [word-break:break-word] hover:nx-text-primary-600 dark:nx-text-gray-300 md:nx-text-lg"),icon:(0,eC.Z)("nx-inline nx-h-5 nx-shrink-0")},NavLinks=({flatDirectories:n,currentIndex:a})=>{let g=useConfig(),v=g.navigation,j="boolean"==typeof v?{prev:v,next:v}:v,z=j.prev&&n[a-1],B=j.next&&n[a+1];return(z&&!z.isUnderCurrentDocsTree&&(z=!1),B&&!B.isUnderCurrentDocsTree&&(B=!1),z||B)?(0,e_.jsxs)("div",{className:(0,eC.Z)("nx-mb-8 nx-flex nx-items-center nx-border-t nx-pt-8 dark:nx-border-neutral-800","contrast-more:nx-border-neutral-400 dark:contrast-more:nx-border-neutral-400","print:nx-hidden"),children:[z&&(0,e_.jsxs)(rf,{href:z.route,title:z.title,className:(0,eC.Z)(ry.link,"ltr:nx-pr-4 rtl:nx-pl-4"),children:[(0,e_.jsx)(eO.LZ,{className:(0,eC.Z)(ry.icon,"ltr:nx-rotate-180")}),z.title]}),B&&(0,e_.jsxs)(rf,{href:B.route,title:B.title,className:(0,eC.Z)(ry.link,"ltr:nx-ml-auto ltr:nx-pl-4 ltr:nx-text-right rtl:nx-mr-auto rtl:nx-pr-4 rtl:nx-text-left"),children:[B.title,(0,e_.jsx)(eO.LZ,{className:(0,eC.Z)(ry.icon,"rtl:nx-rotate-180")})]})]}):null},rb={link:(0,eC.Z)("nx-text-sm contrast-more:nx-text-gray-700 contrast-more:dark:nx-text-gray-100"),active:(0,eC.Z)("nx-font-medium nx-subpixel-antialiased"),inactive:(0,eC.Z)("nx-text-gray-600 hover:nx-text-gray-800 dark:nx-text-gray-400 dark:hover:nx-text-gray-200")};function NavbarMenu({className:n,menu:a,children:g}){let{items:v}=a,j=Object.fromEntries((a.children||[]).map(n=>[n.name,n]));return(0,e_.jsx)("div",{className:"nx-relative nx-inline-block",children:(0,e_.jsxs)(nX,{children:[(0,e_.jsx)(nX.Button,{className:(0,eC.Z)(n,"-nx-ml-2 nx-hidden nx-items-center nx-whitespace-nowrap nx-rounded nx-p-2 md:nx-inline-flex",rb.inactive),children:g}),(0,e_.jsx)(ny,{leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,e_.jsx)(nX.Items,{className:"nx-absolute nx-right-0 nx-z-20 nx-mt-1 nx-max-h-64 nx-min-w-full nx-overflow-auto nx-rounded-md nx-ring-1 nx-ring-black/5 nx-bg-white nx-py-1 nx-text-sm nx-shadow-lg dark:nx-ring-white/20 dark:nx-bg-neutral-800",tabIndex:0,children:Object.entries(v||{}).map(([n,g])=>{var v;return(0,e_.jsx)(nX.Item,{children:(0,e_.jsx)(rf,{href:g.href||(null==(v=j[n])?void 0:v.route)||a.route+"/"+n,className:(0,eC.Z)("nx-relative nx-hidden nx-w-full nx-select-none nx-whitespace-nowrap nx-text-gray-600 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100 md:nx-inline-block","nx-py-1.5 nx-transition-colors ltr:nx-pl-3 ltr:nx-pr-9 rtl:nx-pr-3 rtl:nx-pl-9"),newWindow:g.newWindow,children:g.title||n})},n)})})})]})})}var r_=Object.create(null),rw=(0,ek.createContext)(null),rk=(0,ek.createContext)(null),rC=(0,ek.createContext)(0),rE=(0,ek.memo)(function(n){let a=(0,ek.useContext)(rC);return(0,e_.jsx)(rC.Provider,{value:a+1,children:(0,e_.jsx)(FolderImpl,__spreadValues({},n))})}),rT={link:(0,eC.Z)("nx-flex nx-rounded nx-px-2 nx-py-1.5 nx-text-sm nx-transition-colors [word-break:break-word]","nx-cursor-pointer [-webkit-tap-highlight-color:transparent] [-webkit-touch-callout:none] contrast-more:nx-border"),inactive:(0,eC.Z)("nx-text-gray-500 hover:nx-bg-gray-100 hover:nx-text-gray-900","dark:nx-text-neutral-400 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50","contrast-more:nx-text-gray-900 contrast-more:dark:nx-text-gray-50","contrast-more:nx-border-transparent contrast-more:hover:nx-border-gray-900 contrast-more:dark:hover:nx-border-gray-50"),active:(0,eC.Z)("nx-bg-primary-100 nx-font-semibold nx-text-primary-800 dark:nx-bg-primary-400/10 dark:nx-text-primary-600","contrast-more:nx-border-primary-500 contrast-more:dark:nx-border-primary-500"),list:(0,eC.Z)("nx-flex nx-flex-col nx-gap-1"),border:(0,eC.Z)("nx-relative before:nx-absolute before:nx-inset-y-1",'before:nx-w-px before:nx-bg-gray-200 before:nx-content-[""] dark:before:nx-bg-neutral-800',"ltr:nx-pl-3 ltr:before:nx-left-0 rtl:nx-pr-3 rtl:before:nx-right-0")};function FolderImpl({item:n,anchors:a}){let g=useFSRoute(),[v]=g.split("#"),j=[v,v+"/"].includes(n.route+"/"),z=j||v.startsWith(n.route+"/"),B=(0,ek.useContext)(rw),W=!!(null==B?void 0:B.startsWith(n.route+"/")),H=(0,ek.useContext)(rC),{setMenu:K}=useMenu(),ee=useConfig(),{theme:et}=n,en=void 0===r_[n.route]?j||z||W||(et&&"collapsed"in et?!et.collapsed:H{ee.sidebar.autoCollapse?z&&W?r_[n.route]=!0:delete r_[n.route]:(z||W)&&(r_[n.route]=!0)},[z,W,n.route,ee.sidebar.autoCollapse]),"menu"===n.type){let a=Object.fromEntries((n.children||[]).map(n=>[n.name,n]));n.children=Object.entries(n.items||{}).map(([g,v])=>{let j=a[g]||__spreadProps(__spreadValues({name:g},"locale"in n&&{locale:n.locale}),{route:n.route+"/"+g});return __spreadValues(__spreadValues({},j),v)})}let eo="withIndexPage"in n&&n.withIndexPage,ei=eo?rf:"button";return(0,e_.jsxs)("li",{className:(0,eC.Z)({open:en,active:j}),children:[(0,e_.jsxs)(ei,{href:eo?n.route:void 0,className:(0,eC.Z)("nx-items-center nx-justify-between nx-gap-2",!eo&&"nx-text-left nx-w-full",rT.link,j?rT.active:rT.inactive),onClick:a=>{let g=["svg","path"].includes(a.target.tagName.toLowerCase());if(g&&a.preventDefault(),eo){j||g?r_[n.route]=!en:(r_[n.route]=!0,K(!1)),er({});return}j||(r_[n.route]=!en,er({}))},children:[renderComponent(ee.sidebar.titleComponent,{title:n.title,type:n.type,route:n.route}),(0,e_.jsx)(eO.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5 hover:nx-bg-gray-800/5 dark:hover:nx-bg-gray-100/5",pathClassName:(0,eC.Z)("nx-origin-center nx-transition-transform rtl:-nx-rotate-180",en&&"ltr:nx-rotate-90 rtl:nx-rotate-[-270deg]")})]}),(0,e_.jsx)(Collapse,{className:"ltr:nx-pr-0 rtl:nx-pl-0 nx-pt-1",isOpen:en,children:Array.isArray(n.children)?(0,e_.jsx)(Menu2,{className:(0,eC.Z)(rT.border,"ltr:nx-ml-3 rtl:nx-mr-3"),directories:n.children,base:n.route,anchors:a}):null})]})}function Separator({title:n}){let a=useConfig();return(0,e_.jsx)("li",{className:(0,eC.Z)("[word-break:break-word]",n?"nx-mt-5 nx-mb-2 nx-px-2 nx-py-1.5 nx-text-sm nx-font-semibold nx-text-gray-900 first:nx-mt-0 dark:nx-text-gray-100":"nx-my-4"),children:n?renderComponent(a.sidebar.titleComponent,{title:n,type:"separator",route:""}):(0,e_.jsx)("hr",{className:"nx-mx-2 nx-border-t nx-border-gray-200 dark:nx-border-primary-100/10"})})}function File({item:n,anchors:a}){let g=useFSRoute(),v=(0,ek.useContext)(rk),j=n.route&&[g,g+"/"].includes(n.route+"/"),z=useActiveAnchor(),{setMenu:B}=useMenu(),W=useConfig();return"separator"===n.type?(0,e_.jsx)(Separator,{title:n.title}):(0,e_.jsxs)("li",{className:(0,eC.Z)(rT.list,{active:j}),children:[(0,e_.jsx)(rf,{href:n.href||n.route,newWindow:n.newWindow,className:(0,eC.Z)(rT.link,j?rT.active:rT.inactive),onClick:()=>{B(!1)},onFocus:()=>{null==v||v(n.route)},onBlur:()=>{null==v||v(null)},children:renderComponent(W.sidebar.titleComponent,{title:n.title,type:n.type,route:n.route})}),j&&a.length>0&&(0,e_.jsx)("ul",{className:(0,eC.Z)(rT.list,rT.border,"ltr:nx-ml-3 rtl:nx-mr-3"),children:a.map(({id:n,value:a})=>{var g;return(0,e_.jsx)("li",{children:(0,e_.jsx)("a",{href:`#${n}`,className:(0,eC.Z)(rT.link,'nx-flex nx-gap-2 before:nx-opacity-25 before:nx-content-["#"]',(null==(g=z[n])?void 0:g.isActive)?rT.active:rT.inactive),onClick:()=>{B(!1)},children:a})},n)})})]})}function Menu2({directories:n,anchors:a,className:g,onlyCurrentDocs:v}){return(0,e_.jsx)("ul",{className:(0,eC.Z)(rT.list,g),children:n.map(n=>!v||n.isUnderCurrentDocsTree?"menu"===n.type||n.children&&(n.children.length||!n.withIndexPage)?(0,e_.jsx)(rE,{item:n,anchors:a},n.name):(0,e_.jsx)(File,{item:n,anchors:a},n.name):null)})}function Sidebar({docsDirectories:n,flatDirectories:a,fullDirectories:g,asPopover:v=!1,headings:j,includePlaceholder:z}){let B=useConfig(),{menu:W,setMenu:H}=useMenu(),K=(0,ew.useRouter)(),[ee,et]=(0,ek.useState)(null),[en,er]=(0,ek.useState)(!0),[eo,ei]=(0,ek.useState)(!1),es=(0,ek.useMemo)(()=>j.filter(n=>2===n.depth),[j]),el=(0,ek.useRef)(null),eu=(0,ek.useRef)(null),ed=useMounted();(0,ek.useEffect)(()=>{W?document.body.classList.add("nx-overflow-hidden","md:nx-overflow-auto"):document.body.classList.remove("nx-overflow-hidden","md:nx-overflow-auto")},[W]),(0,ek.useEffect)(()=>{var n;let a=null==(n=el.current)?void 0:n.querySelector("li.active");if(a&&(window.innerWidth>767||W)){let scroll=()=>{dist_e(a,{block:"center",inline:"center",scrollMode:"always",boundary:eu.current})};W?setTimeout(scroll,300):scroll()}},[W]),(0,ek.useEffect)(()=>{H(!1)},[K.asPath,H]);let ec=B.i18n.length>0,ep=B.darkMode||ec||B.sidebar.toggleButton;return(0,e_.jsxs)(e_.Fragment,{children:[z&&v?(0,e_.jsx)("div",{className:"max-xl:nx-hidden nx-h-0 nx-w-64 nx-shrink-0"}):null,(0,e_.jsx)("div",{className:(0,eC.Z)("motion-reduce:nx-transition-none [transition:background-color_1.5s_ease]",W?"nx-fixed nx-inset-0 nx-z-10 nx-bg-black/80 dark:nx-bg-black/60":"nx-bg-transparent"),onClick:()=>H(!1)}),(0,e_.jsxs)("aside",{className:(0,eC.Z)("nextra-sidebar-container nx-flex nx-flex-col","md:nx-top-16 md:nx-shrink-0 motion-reduce:nx-transform-none","nx-transform-gpu nx-transition-all nx-ease-in-out","print:nx-hidden",en?"md:nx-w-64":"md:nx-w-20",v?"md:nx-hidden":"md:nx-sticky md:nx-self-start",W?"max-md:[transform:translate3d(0,0,0)]":"max-md:[transform:translate3d(0,-100%,0)]"),ref:eu,children:[(0,e_.jsx)("div",{className:"nx-px-4 nx-pt-4 md:nx-hidden",children:renderComponent(B.search.component,{directories:a})}),(0,e_.jsx)(rw.Provider,{value:ee,children:(0,e_.jsx)(rk.Provider,{value:n=>{et(n)},children:(0,e_.jsxs)("div",{className:(0,eC.Z)("nx-overflow-y-auto nx-overflow-x-hidden","nx-p-4 nx-grow md:nx-h-[calc(100vh-var(--nextra-navbar-height)-var(--nextra-menu-height))]",en?"nextra-scrollbar":"no-scrollbar"),ref:el,children:[(!v||!en)&&(0,e_.jsx)(Collapse,{isOpen:en,horizontal:!0,children:(0,e_.jsx)(Menu2,{className:"nextra-menu-desktop max-md:nx-hidden",directories:n,anchors:B.toc.float?[]:es,onlyCurrentDocs:!0})}),ed&&window.innerWidth<768&&(0,e_.jsx)(Menu2,{className:"nextra-menu-mobile md:nx-hidden",directories:g,anchors:es})]})})}),ep&&(0,e_.jsxs)("div",{className:(0,eC.Z)("nx-sticky nx-bottom-0","nx-bg-white dark:nx-bg-dark","nx-mx-4 nx-py-4 nx-shadow-[0_-12px_16px_#fff]","nx-flex nx-items-center nx-gap-2","dark:nx-border-neutral-800 dark:nx-shadow-[0_-12px_16px_#111]","contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-shadow-none",en?(0,eC.Z)(ec&&"nx-justify-end","nx-border-t"):"nx-py-4 nx-flex-wrap nx-justify-center"),"data-toggle-animation":eo?en?"show":"hide":"off",children:[(0,e_.jsx)(LocaleSwitch,{lite:!en,className:(0,eC.Z)(en?"nx-grow":"max-md:nx-grow")}),B.darkMode&&(0,e_.jsx)("div",{className:en&&!ec?"nx-grow nx-flex nx-flex-col":"",children:renderComponent(B.themeSwitch.component,{lite:!en||ec})}),B.sidebar.toggleButton&&(0,e_.jsx)("button",{title:en?"Hide sidebar":"Show sidebar",className:"max-md:nx-hidden nx-h-7 nx-rounded-md nx-transition-colors nx-text-gray-600 dark:nx-text-gray-400 nx-px-2 hover:nx-bg-gray-100 hover:nx-text-gray-900 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50",onClick:()=>{er(!en),ei(!0)},children:(0,e_.jsx)(eO.Qq,{isOpen:en})})]})]})]})}var rO="reach-skip-nav";(0,ek.forwardRef)(function(n,a){var{className:g,id:v,label:j="Skip to content",styled:z}=n,B=__objRest(n,["className","id","label","styled"]);let W=void 0===g?z?(0,eC.Z)("nx-sr-only","focus:nx-not-sr-only focus:nx-fixed focus:nx-z-50 focus:nx-m-3 focus:nx-ml-4 focus:nx-h-[calc(var(--nextra-navbar-height)-1.5rem)] focus:nx-rounded-lg focus:nx-border focus:nx-px-3 focus:nx-py-2 focus:nx-align-middle focus:nx-text-sm focus:nx-font-bold","focus:nx-text-gray-900 focus:dark:nx-text-gray-100","focus:nx-bg-white focus:dark:nx-bg-neutral-900","focus:nx-border-neutral-400 focus:dark:nx-border-neutral-800"):"":g;return(0,e_.jsx)("a",__spreadProps(__spreadValues({},B),{ref:a,href:`#${v||rO}`,className:W,"data-reach-skip-link":"",children:j}))}).displayName="SkipNavLink";var rj=(0,ek.forwardRef)(function(n,a){var{id:g}=n,v=__objRest(n,["id"]);return(0,e_.jsx)("div",__spreadProps(__spreadValues({},v),{ref:a,id:g||rO}))});rj.displayName="SkipNavContent";var rS=tc.strictObject({light:tc.string(),dark:tc.string(),system:tc.string()});function scrollToTop(){window.scrollTo({top:0,behavior:"smooth"})}function BackToTop({className:n}){let a=(0,ek.useRef)(null);return(0,ek.useEffect)(()=>{function toggleVisible(){var n;let{scrollTop:g}=document.documentElement;null==(n=a.current)||n.classList.toggle("nx-opacity-0",g<300)}return window.addEventListener("scroll",toggleVisible),()=>{window.removeEventListener("scroll",toggleVisible)}},[]),(0,e_.jsxs)("button",{ref:a,"aria-hidden":"true",onClick:scrollToTop,className:(0,eC.Z)("nx-flex nx-items-center nx-gap-1.5 nx-transition nx-opacity-0",n),children:["Scroll to top",(0,e_.jsx)(eO.LZ,{className:"-nx-rotate-90 nx-w-3.5 nx-h-3.5 nx-border nx-rounded-full nx-border-current"})]})}var rI=(0,eC.Z)("nx-text-xs nx-font-medium nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100","contrast-more:nx-text-gray-800 contrast-more:dark:nx-text-gray-50");function MatchSorterSearch({className:n,directories:a}){let[g,v]=(0,ek.useState)(""),j=(0,ek.useMemo)(()=>g?matchSorter(a,g,{keys:["title"]}).map(({route:n,title:a})=>({id:n+a,route:n,children:(0,e_.jsx)(rh,{value:a,match:g})})):[],[g,a]);return(0,e_.jsx)(Search,{value:g,onChange:v,className:n,overlayClassName:"nx-w-full",results:j})}var rP="en-US",rN="undefined"!=typeof window;function isFunction(n){return"function"==typeof n}var rZ=tc.array(tc.strictObject({direction:tc.enum(["ltr","rtl"]).optional(),locale:tc.string(),text:tc.string()})),rR=[function(n){return null==n||"string"==typeof n||isFunction(n)||(0,ek.isValidElement)(n)},{message:"Must be React.ReactNode or React.FC"}],rM=[isFunction,{message:"Must be React.FC"}];tc.strictObject({banner:tc.strictObject({dismissible:tc.boolean(),key:tc.string(),text:tc.custom(...rR).optional()}),chat:tc.strictObject({icon:tc.custom(...rR),link:tc.string().startsWith("https://").optional()}),components:tc.record(tc.custom(...rM)).optional(),darkMode:tc.boolean(),direction:tc.enum(["ltr","rtl"]),docsRepositoryBase:tc.string().startsWith("https://"),editLink:tc.strictObject({component:tc.custom(...rM),text:tc.custom(...rR)}),faviconGlyph:tc.string().optional(),feedback:tc.strictObject({content:tc.custom(...rR),labels:tc.string(),useLink:tc.function().returns(tc.string())}),footer:tc.strictObject({component:tc.custom(...rR),text:tc.custom(...rR)}),gitTimestamp:tc.custom(...rR),head:tc.custom(...rR),i18n:rZ,logo:tc.custom(...rR),logoLink:tc.boolean().or(tc.string()),main:tc.custom(...rM).optional(),navbar:tc.strictObject({component:tc.custom(...rR),extraContent:tc.custom(...rR).optional()}),navigation:tc.boolean().or(tc.strictObject({next:tc.boolean(),prev:tc.boolean()})),nextThemes:tc.strictObject({defaultTheme:tc.string(),forcedTheme:tc.string().optional(),storageKey:tc.string()}),notFound:tc.strictObject({content:tc.custom(...rR),labels:tc.string()}),primaryHue:tc.number().or(tc.strictObject({dark:tc.number(),light:tc.number()})),primarySaturation:tc.number().or(tc.strictObject({dark:tc.number(),light:tc.number()})),project:tc.strictObject({icon:tc.custom(...rR),link:tc.string().startsWith("https://").optional()}),search:tc.strictObject({component:tc.custom(...rR),emptyResult:tc.custom(...rR),error:tc.string().or(tc.function().returns(tc.string())),loading:tc.custom(...rR),placeholder:tc.string().or(tc.function().returns(tc.string()))}),serverSideError:tc.strictObject({content:tc.custom(...rR),labels:tc.string()}),sidebar:tc.strictObject({autoCollapse:tc.boolean().optional(),defaultMenuCollapseLevel:tc.number().min(1).int(),titleComponent:tc.custom(...rR),toggleButton:tc.boolean()}),themeSwitch:tc.strictObject({component:tc.custom(...rR),useOptions:rS.or(tc.function().returns(rS))}),toc:tc.strictObject({backToTop:tc.boolean(),component:tc.custom(...rR),extraContent:tc.custom(...rR),float:tc.boolean(),headingComponent:tc.custom(...rM).optional(),title:tc.custom(...rR)}),useNextSeoProps:tc.custom(isFunction)}).deepPartial().extend({i18n:rZ.optional()});var rA={"en-US":"Loading",fr:"Сhargement",ru:"Загрузка","zh-CN":"正在加载"},rL={"en-US":"Search documentation",fr:"Rechercher documents",ru:"Поиск документации","zh-CN":"搜索文档"},rD={banner:{dismissible:!0,key:"nextra-banner"},chat:{icon:(0,e_.jsxs)(e_.Fragment,{children:[(0,e_.jsx)(eO.D7,{}),(0,e_.jsx)("span",{className:"nx-sr-only",children:"Discord"})]})},darkMode:!0,direction:"ltr",docsRepositoryBase:"https://github.com/shuding/nextra",editLink:{component:function({className:n,filePath:a,children:g}){let v=function(n=""){let a=useConfig(),g=tI()(a.docsRepositoryBase||"");if(!g)throw Error("Invalid `docsRepositoryBase` URL!");return`${g.href}/${n}`}(a);return v?(0,e_.jsx)(rf,{className:n,href:v,children:g}):null},text:"Edit this page"},feedback:{content:"Question? Give us feedback →",labels:"feedback",useLink(){let n=useConfig();return getGitIssueUrl({labels:n.feedback.labels,repository:n.docsRepositoryBase,title:`Feedback for \u201C${n.title}\u201D`})}},footer:{component:function({menu:n}){let a=useConfig();return(0,e_.jsxs)("footer",{className:"nx-bg-gray-100 nx-pb-[env(safe-area-inset-bottom)] dark:nx-bg-neutral-900 print:nx-bg-transparent",children:[(0,e_.jsxs)("div",{className:(0,eC.Z)("nx-mx-auto nx-flex nx-max-w-[90rem] nx-gap-2 nx-py-2 nx-px-4",n&&(a.i18n.length>0||a.darkMode)?"nx-flex":"nx-hidden"),children:[(0,e_.jsx)(LocaleSwitch,{}),a.darkMode&&renderComponent(a.themeSwitch.component)]}),(0,e_.jsx)("hr",{className:"dark:nx-border-neutral-800"}),(0,e_.jsx)("div",{className:(0,eC.Z)("nx-mx-auto nx-flex nx-max-w-[90rem] nx-justify-center nx-py-12 nx-text-gray-600 dark:nx-text-gray-400 md:nx-justify-start","nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]"),children:renderComponent(a.footer.text)})]})},text:`MIT ${new Date().getFullYear()} \xa9 Nextra.`},gitTimestamp:function({timestamp:n}){let{locale:a=rP}=(0,ew.useRouter)();return(0,e_.jsxs)(e_.Fragment,{children:["Last updated on"," ",(0,e_.jsx)("time",{dateTime:n.toISOString(),children:n.toLocaleDateString(a,{day:"numeric",month:"long",year:"numeric"})})]})},head:(0,e_.jsxs)(e_.Fragment,{children:[(0,e_.jsx)("meta",{name:"msapplication-TileColor",content:"#fff"}),(0,e_.jsx)("meta",{httpEquiv:"Content-Language",content:"en"}),(0,e_.jsx)("meta",{name:"description",content:"Nextra: the next docs builder"}),(0,e_.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,e_.jsx)("meta",{name:"twitter:site",content:"@shuding_"}),(0,e_.jsx)("meta",{property:"og:title",content:"Nextra: the next docs builder"}),(0,e_.jsx)("meta",{property:"og:description",content:"Nextra: the next docs builder"}),(0,e_.jsx)("meta",{name:"apple-mobile-web-app-title",content:"Nextra"})]}),i18n:[],logo:(0,e_.jsxs)(e_.Fragment,{children:[(0,e_.jsx)("span",{className:"nx-font-extrabold",children:"Nextra"}),(0,e_.jsx)("span",{className:"nx-ml-2 nx-hidden nx-font-normal nx-text-gray-600 md:nx-inline",children:"The Next Docs Builder"})]}),logoLink:!0,navbar:{component:function({flatDirectories:n,items:a}){let g=useConfig(),v=useFSRoute(),{menu:j,setMenu:z}=useMenu();return(0,e_.jsxs)("div",{className:"nextra-nav-container nx-sticky nx-top-0 nx-z-20 nx-w-full nx-bg-transparent print:nx-hidden",children:[(0,e_.jsx)("div",{className:(0,eC.Z)("nextra-nav-container-blur","nx-pointer-events-none nx-absolute nx-z-[-1] nx-h-full nx-w-full nx-bg-white dark:nx-bg-dark","nx-shadow-[0_2px_4px_rgba(0,0,0,.02),0_1px_0_rgba(0,0,0,.06)] dark:nx-shadow-[0_-1px_0_rgba(255,255,255,.1)_inset]","contrast-more:nx-shadow-[0_0_0_1px_#000] contrast-more:dark:nx-shadow-[0_0_0_1px_#fff]")}),(0,e_.jsxs)("nav",{className:"nx-mx-auto nx-flex nx-h-[var(--nextra-navbar-height)] nx-max-w-[90rem] nx-items-center nx-justify-end nx-gap-2 nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]",children:[g.logoLink?(0,e_.jsx)(rf,{href:"string"==typeof g.logoLink?g.logoLink:"/",className:"nx-flex nx-items-center hover:nx-opacity-75 ltr:nx-mr-auto rtl:nx-ml-auto",children:renderComponent(g.logo)}):(0,e_.jsx)("div",{className:"nx-flex nx-items-center ltr:nx-mr-auto rtl:nx-ml-auto",children:renderComponent(g.logo)}),a.map(n=>{if("hidden"===n.display)return null;if("menu"===n.type)return(0,e_.jsxs)(NavbarMenu,{className:(0,eC.Z)(rb.link,"nx-flex nx-gap-1",rb.inactive),menu:n,children:[n.title,(0,e_.jsx)(eO.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5",pathClassName:"nx-origin-center nx-transition-transform nx-rotate-90"})]},n.title);let a=n.href||n.route||"#";n.children&&(a=(n.withIndexPage?n.route:n.firstChildRoute)||a);let g=n.route===v||v.startsWith(n.route+"/");return(0,e_.jsxs)(rf,{href:a,className:(0,eC.Z)(rb.link,"nx-relative -nx-ml-2 nx-hidden nx-whitespace-nowrap nx-p-2 md:nx-inline-block",!g||n.newWindow?rb.inactive:rb.active),newWindow:n.newWindow,"aria-current":!n.newWindow&&g,children:[(0,e_.jsx)("span",{className:"nx-absolute nx-inset-x-0 nx-text-center",children:n.title}),(0,e_.jsx)("span",{className:"nx-invisible nx-font-medium",children:n.title})]},a)}),renderComponent(g.search.component,{directories:n,className:"nx-hidden md:nx-inline-block mx-min-w-[200px]"}),g.project.link?(0,e_.jsx)(rf,{className:"nx-p-2 nx-text-current",href:g.project.link,newWindow:!0,children:renderComponent(g.project.icon)}):null,g.chat.link?(0,e_.jsx)(rf,{className:"nx-p-2 nx-text-current",href:g.chat.link,newWindow:!0,children:renderComponent(g.chat.icon)}):null,renderComponent(g.navbar.extraContent),(0,e_.jsx)("button",{type:"button","aria-label":"Menu",className:"nextra-hamburger -nx-mr-2 nx-rounded nx-p-2 active:nx-bg-gray-400/20 md:nx-hidden",onClick:()=>z(!j),children:(0,e_.jsx)(eO.Oq,{className:(0,eC.Z)({open:j})})})]})]})}},navigation:!0,nextThemes:{defaultTheme:"system",storageKey:"theme"},notFound:{content:"Submit an issue about broken link →",labels:"bug"},primaryHue:{dark:204,light:212},primarySaturation:{dark:100,light:100},project:{icon:(0,e_.jsxs)(e_.Fragment,{children:[(0,e_.jsx)(eO.fy,{}),(0,e_.jsx)("span",{className:"nx-sr-only",children:"GitHub"})]})},search:{component:function({className:n,directories:a}){let g=useConfig();return g.flexsearch?(0,e_.jsx)(Flexsearch,{className:n}):(0,e_.jsx)(MatchSorterSearch,{className:n,directories:a})},emptyResult:(0,e_.jsx)("span",{className:"nx-block nx-select-none nx-p-8 nx-text-center nx-text-sm nx-text-gray-400",children:"No results found."}),error:"Failed to load search index.",loading:function(){let{locale:n,defaultLocale:a=rP}=(0,ew.useRouter)(),g=n&&rA[n]||rA[a];return(0,e_.jsxs)(e_.Fragment,{children:[g,"…"]})},placeholder:function(){let{locale:n,defaultLocale:a=rP}=(0,ew.useRouter)(),g=n&&rL[n]||rL[a];return`${g}\u2026`}},serverSideError:{content:"Submit an issue about error in url →",labels:"bug"},sidebar:{defaultMenuCollapseLevel:2,titleComponent:({title:n})=>(0,e_.jsx)(e_.Fragment,{children:n}),toggleButton:!1},themeSwitch:{component:function({lite:n,className:a}){let{setTheme:g,resolvedTheme:v,theme:j=""}=y(),z=useMounted(),B=useConfig().themeSwitch,W=z&&"dark"===v?eO.kL:eO.NW,H="function"==typeof B.useOptions?B.useOptions():B.useOptions;return(0,e_.jsx)(Select,{className:a,title:"Change theme",options:[{key:"light",name:H.light},{key:"dark",name:H.dark},{key:"system",name:H.system}],onChange:n=>{g(n.key)},selected:{key:j,name:(0,e_.jsxs)("div",{className:"nx-flex nx-items-center nx-gap-2 nx-capitalize",children:[(0,e_.jsx)(W,{}),(0,e_.jsx)("span",{className:n?"md:nx-hidden":"",children:z?H[j]:H.light})]})}})},useOptions(){let{locale:n}=(0,ew.useRouter)();return"zh-CN"===n?{dark:"深色主题",light:"浅色主题",system:"系统默认"}:{dark:"Dark",light:"Light",system:"System"}}},toc:{backToTop:!1,component:function({headings:n,filePath:a}){var g;let v=useActiveAnchor(),j=useConfig(),z=(0,ek.useRef)(null),B=(0,ek.useMemo)(()=>n.filter(n=>n.depth>1),[n]),W=B.length>0,H=!!(j.feedback.content||j.editLink.component||j.toc.extraContent),K=null==(g=Object.entries(v).find(([,{isActive:n}])=>n))?void 0:g[0];return(0,ek.useEffect)(()=>{var n;if(!K)return;let a=null==(n=z.current)?void 0:n.querySelector(`li > a[href="#${K}"]`);a&&dist_e(a,{behavior:"smooth",block:"center",inline:"center",scrollMode:"always",boundary:z.current})},[K]),(0,e_.jsxs)("div",{ref:z,className:(0,eC.Z)("nextra-scrollbar nx-sticky nx-top-16 nx-overflow-y-auto nx-pr-4 nx-pt-6 nx-text-sm [hyphens:auto]","nx-max-h-[calc(100vh-var(--nextra-navbar-height)-env(safe-area-inset-bottom))] ltr:-nx-mr-4 rtl:-nx-ml-4"),children:[W&&(0,e_.jsxs)(e_.Fragment,{children:[(0,e_.jsx)("p",{className:"nx-mb-4 nx-font-semibold nx-tracking-tight",children:renderComponent(j.toc.title)}),(0,e_.jsx)("ul",{children:B.map(({id:n,value:a,depth:g})=>{var z,B,W,H;return(0,e_.jsx)("li",{className:"nx-my-2 nx-scroll-my-6 nx-scroll-py-6",children:(0,e_.jsx)("a",{href:`#${n}`,className:(0,eC.Z)({2:"nx-font-semibold",3:"ltr:nx-pl-4 rtl:nx-pr-4",4:"ltr:nx-pl-8 rtl:nx-pr-8",5:"ltr:nx-pl-12 rtl:nx-pr-12",6:"ltr:nx-pl-16 rtl:nx-pr-16"}[g],"nx-inline-block",(null==(z=v[n])?void 0:z.isActive)?"nx-text-primary-600 nx-subpixel-antialiased contrast-more:!nx-text-primary-600":"nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-300","contrast-more:nx-text-gray-900 contrast-more:nx-underline contrast-more:dark:nx-text-gray-50 nx-w-full nx-break-words"),children:null!=(H=null==(W=(B=j.toc).headingComponent)?void 0:W.call(B,{id:n,children:a}))?H:a})},n)})})]}),H&&(0,e_.jsxs)("div",{className:(0,eC.Z)(W&&"nx-mt-8 nx-border-t nx-bg-white nx-pt-8 nx-shadow-[0_-12px_16px_white] dark:nx-bg-dark dark:nx-shadow-[0_-12px_16px_#111]","nx-sticky nx-bottom-0 nx-flex nx-flex-col nx-items-start nx-gap-2 nx-pb-8 dark:nx-border-neutral-800","contrast-more:nx-border-t contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-border-neutral-400"),children:[j.feedback.content?(0,e_.jsx)(rf,{className:rI,href:j.feedback.useLink(),newWindow:!0,children:renderComponent(j.feedback.content)}):null,renderComponent(j.editLink.component,{filePath:a,className:rI,children:renderComponent(j.editLink.text)}),renderComponent(j.toc.extraContent),j.toc.backToTop&&(0,e_.jsx)(BackToTop,{className:rI})]})]})},float:!0,title:"On This Page"},useNextSeoProps:()=>({titleTemplate:"%s – Nextra"})},rF=Object.entries(rD).map(([n,a])=>{let g=a&&"object"==typeof a&&!Array.isArray(a)&&!(0,ek.isValidElement)(a);if(g)return n}).filter(Boolean);if(rN){let n;window.addEventListener("resize",()=>{document.body.classList.add("resizing"),clearTimeout(n),n=setTimeout(()=>{document.body.classList.remove("resizing")},200)})}function HeadingLink(n){var{tag:a,context:g,children:v,id:j,className:z}=n,B=__objRest(n,["tag","context","children","id","className"]);let W=useSetActiveAnchor(),H=useSlugs(),K=useIntersectionObserver(),ee=(0,ek.useRef)(null);return(0,ek.useEffect)(()=>{if(!j)return;let n=ee.current;if(n)return H.set(n,[j,g.index+=1]),null==K||K.observe(n),()=>{null==K||K.disconnect(),H.delete(n),W(n=>{let a=__spreadValues({},n);return delete a[j],a})}},[j,g,H,K,W]),(0,e_.jsxs)(a,__spreadProps(__spreadValues({className:"sr-only"===z?"nx-sr-only":(0,eC.Z)("nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100",{h2:"nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400",h3:"nx-mt-8 nx-text-2xl",h4:"nx-mt-8 nx-text-xl",h5:"nx-mt-8 nx-text-lg",h6:"nx-mt-8 nx-text-base"}[a])},B),{children:[v,j&&(0,e_.jsx)("a",{href:`#${j}`,id:j,className:"subheading-anchor","aria-label":"Permalink for this section",ref:ee})]}))}var findSummary=n=>{let a=null,g=[];return ek.Children.forEach(n,(n,v)=>{var j;if(n&&n.type===Summary){a||(a=n);return}let z=n;if(!a&&n&&"object"==typeof n&&n.type!==Details&&"props"in n&&n.props){let g=findSummary(n.props.children);a=g[0],z=(0,ek.cloneElement)(n,__spreadProps(__spreadValues({},n.props),{children:(null==(j=g[1])?void 0:j.length)?g[1]:void 0,key:v}))}g.push(z)}),[a,g]},Details=n=>{var{children:a,open:g}=n,v=__objRest(n,["children","open"]);let[j,z]=(0,ek.useState)(!!g),[B,W]=findSummary(a),[H,K]=(0,ek.useState)(j);return(0,ek.useEffect)(()=>{if(j)K(!0);else{let n=setTimeout(()=>K(j),500);return()=>clearTimeout(n)}},[j]),(0,e_.jsxs)("details",__spreadProps(__spreadValues(__spreadProps(__spreadValues({className:"nx-my-4 nx-rounded nx-border nx-border-gray-200 nx-bg-white nx-p-2 nx-shadow-sm first:nx-mt-0 dark:nx-border-neutral-800 dark:nx-bg-neutral-900"},v),{open:H}),j&&{"data-expanded":!0}),{children:[(0,e_.jsx)(rc,{value:z,children:B}),(0,e_.jsx)(Collapse,{isOpen:j,children:W})]}))},Summary=n=>{let a=useDetails();return(0,e_.jsx)("summary",__spreadProps(__spreadValues({className:(0,eC.Z)("nx-flex nx-items-center nx-cursor-pointer nx-list-none nx-p-1 nx-transition-colors hover:nx-bg-gray-100 dark:hover:nx-bg-neutral-800","before:nx-mr-1 before:nx-inline-block before:nx-transition-transform before:nx-content-[''] dark:before:nx-invert before:nx-shrink-0","rtl:before:nx-rotate-180 [[data-expanded]>&]:before:nx-rotate-90")},n),{onClick:n=>{n.preventDefault(),a(n=>!n)}}))},rz=/https?:\/\//,Link=n=>{var{href:a="",className:g}=n,v=__objRest(n,["href","className"]);return(0,e_.jsx)(rf,__spreadValues({href:a,newWindow:rz.test(a),className:(0,eC.Z)("nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]",g)},v))},A=n=>{var{href:a=""}=n,g=__objRest(n,["href"]);return(0,e_.jsx)(rf,__spreadValues({href:a,newWindow:rz.test(a)},g))},getComponents=({isRawLayout:n,components:a})=>{if(n)return{a:A};let g={index:0};return __spreadValues({h1:n=>(0,e_.jsx)("h1",__spreadValues({className:"nx-mt-2 nx-text-4xl nx-font-bold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100"},n)),h2:n=>(0,e_.jsx)(HeadingLink,__spreadValues({tag:"h2",context:g},n)),h3:n=>(0,e_.jsx)(HeadingLink,__spreadValues({tag:"h3",context:g},n)),h4:n=>(0,e_.jsx)(HeadingLink,__spreadValues({tag:"h4",context:g},n)),h5:n=>(0,e_.jsx)(HeadingLink,__spreadValues({tag:"h5",context:g},n)),h6:n=>(0,e_.jsx)(HeadingLink,__spreadValues({tag:"h6",context:g},n)),ul:n=>(0,e_.jsx)("ul",__spreadValues({className:"nx-mt-6 nx-list-disc first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},n)),ol:n=>(0,e_.jsx)("ol",__spreadValues({className:"nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},n)),li:n=>(0,e_.jsx)("li",__spreadValues({className:"nx-my-2"},n)),blockquote:n=>(0,e_.jsx)("blockquote",__spreadValues({className:(0,eC.Z)("nx-mt-6 nx-border-gray-300 nx-italic nx-text-gray-700 dark:nx-border-gray-700 dark:nx-text-gray-400","first:nx-mt-0 ltr:nx-border-l-2 ltr:nx-pl-6 rtl:nx-border-r-2 rtl:nx-pr-6")},n)),hr:n=>(0,e_.jsx)("hr",__spreadValues({className:"nx-my-8 nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400"},n)),a:Link,table:n=>(0,e_.jsx)(n5.iA,__spreadValues({className:"nextra-scrollbar nx-mt-6 nx-p-0 first:nx-mt-0"},n)),p:n=>(0,e_.jsx)("p",__spreadValues({className:"nx-mt-6 nx-leading-7 first:nx-mt-0"},n)),tr:n5.Tr,th:n5.Th,td:n5.Td,details:Details,summary:Summary,pre:n5.SU,code:n5.EK},a)},rV={toc:(0,eC.Z)("nextra-toc nx-order-last nx-hidden nx-w-64 nx-shrink-0 xl:nx-block print:nx-hidden"),main:(0,eC.Z)("nx-w-full nx-break-words")},Body=({themeContext:n,breadcrumb:a,timestamp:g,navigation:v,children:j})=>{var z;let B=useConfig(),W=useMounted();if("raw"===n.layout)return(0,e_.jsx)("div",{className:rV.main,children:j});let H=n.timestamp&&B.gitTimestamp&&g?new Date(g):null,K=W&&H?(0,e_.jsx)("div",{className:"nx-mt-12 nx-mb-8 nx-block nx-text-xs nx-text-gray-500 ltr:nx-text-right rtl:nx-text-left dark:nx-text-gray-400",children:renderComponent(B.gitTimestamp,{timestamp:H})}):(0,e_.jsx)("div",{className:"nx-mt-16"}),ee=(0,e_.jsxs)(e_.Fragment,{children:[j,K,v]}),et=(null==(z=B.main)?void 0:z.call(B,{children:ee}))||ee;return"full"===n.layout?(0,e_.jsx)("article",{className:(0,eC.Z)(rV.main,"nextra-content nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]"),children:et}):(0,e_.jsx)("article",{className:(0,eC.Z)(rV.main,"nextra-content nx-flex nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-min-w-0 nx-justify-center nx-pb-8 nx-pr-[calc(env(safe-area-inset-right)-1.5rem)]","article"===n.typesetting&&"nextra-body-typesetting-article"),children:(0,e_.jsxs)("main",{className:"nx-w-full nx-min-w-0 nx-max-w-6xl nx-px-6 nx-pt-4 md:nx-px-12",children:[a,et]})})},InnerLayout=({filePath:n,pageMap:a,frontMatter:g,headings:v,timestamp:j,children:z})=>{let B=useConfig(),{locale:W=rP,defaultLocale:H}=(0,ew.useRouter)(),K=useFSRoute(),{activeType:ee,activeIndex:et,activeThemeContext:en,activePath:er,topLevelNavbarItems:eo,docsDirectories:ei,flatDirectories:es,flatDocsDirectories:el,directories:eu}=(0,ek.useMemo)(()=>(function normalizePages({list:n,locale:a,defaultLocale:g,route:v,docsRoot:j="",underCurrentDocsRoot:z=!1,pageThemeContext:B=t_}){let W,H;for(let g of n)if("Meta"===g.kind){if(g.locale===a){W=g.data;break}W||(W=g.data)}let K=W||{},ee=Object.keys(K);for(let n of ee)"string"==typeof K[n]&&(K[n]={title:K[n]});let et=[],en=[],er=[],eo=[],ei=[],es=0,el=B,eu=[],ed=-1,ec=K["*"]||{};delete ec.title,delete ec.href;let ep=n.filter(n=>"Meta"!==n.kind&&!n.name.startsWith("_")&&(!("locale"in n)||!n.locale||[a,g].includes(n.locale))).sort((n,a)=>{let g=ee.indexOf(n.name),v=ee.indexOf(a.name);return -1===g&&-1===v?n.name{let a;let g=[],v=ee.indexOf(n.name);if(-1!==v){for(let n=ed+1;n({...W,type:ef,...eg&&{title:eg},...ed&&{display:ed},...ex&&{children:[]}}),ev=getItem(),ey=getItem(),eb=getItem();if(ey.isUnderCurrentDocsTree=em,"separator"===ef&&(ev.isUnderCurrentDocsTree=em),W.route===v)switch(eu=[ev],H=ef,el={...el,...eh},ef){case"page":case"menu":es=ei.length;break;case"doc":es=eo.length}if(!("hidden"===ed&&"Folder"!==ev.kind||eE.hV.has(W.route))){if(ex){if(void 0!==ex.activeIndex&&void 0!==ex.activeType){switch(el=ex.activeThemeContext,H=ex.activeType,eu=[ev,...ex.activePath],H){case"page":case"menu":es=ei.length+ex.activeIndex;break;case"doc":es=eo.length+ex.activeIndex}W.withIndexPage&&"doc"===ef&&es++}switch(ef){case"page":case"menu":eb.children.push(...ex.directories),er.push(...ex.docsDirectories),ex.flatDirectories.length?(eb.firstChildRoute=function findFirstRoute(n){for(let a of n){if(a.route)return a.route;if(a.children){let n=findFirstRoute(a.children);if(n)return n}}}(ex.flatDirectories),ei.push(eb)):eb.withIndexPage&&ei.push(eb);break;case"doc":Array.isArray(ey.children)&&ey.children.push(...ex.docsDirectories),ev.withIndexPage&&"children"!==ed&&eo.push(ey)}en.push(...ex.flatDirectories),eo.push(...ex.flatDocsDirectories),Array.isArray(ev.children)&&ev.children.push(...ex.directories)}else switch(en.push(ev),ef){case"page":case"menu":ei.push(eb);break;case"doc":eo.push(ey)}switch("doc"===ef&&"children"===ed?ey.children&&(et.push(...ey.children),er.push(...ey.children)):et.push(ev),ef){case"page":case"menu":er.push(eb);break;case"doc":"children"!==ed&&er.push(ey);break;case"separator":er.push(ev)}}}return{activeType:H,activeIndex:es,activeThemeContext:el,activePath:eu,directories:et,flatDirectories:en,docsDirectories:er,flatDocsDirectories:eo,topLevelNavbarItems:ei}})({list:a,locale:W,defaultLocale:H,route:K}),[a,W,H,K]),ed=__spreadValues(__spreadValues({},en),g),ec=!ed.sidebar||"raw"===ed.layout||"page"===ee,ep="page"!==ee&&ed.toc&&"default"===ed.layout?(0,e_.jsx)("nav",{className:(0,eC.Z)(rV.toc,"nx-px-4"),"aria-label":"table of contents",children:renderComponent(B.toc.component,{headings:B.toc.float?v:[],filePath:n})}):"full"!==ed.layout&&"raw"!==ed.layout&&(0,e_.jsx)("nav",{className:rV.toc,"aria-label":"table of contents"}),ef=B.i18n.find(n=>n.locale===W),eh=ef?"rtl"===ef.direction:"rtl"===B.direction,em=eh?"rtl":"ltr";return(0,e_.jsxs)("div",{dir:em,children:[(0,e_.jsx)("script",{dangerouslySetInnerHTML:{__html:`document.documentElement.setAttribute('dir','${em}')`}}),(0,e_.jsx)(dist_Head,{}),(0,e_.jsx)(Banner,{}),ed.navbar&&renderComponent(B.navbar.component,{flatDirectories:es,items:eo}),(0,e_.jsx)("div",{className:(0,eC.Z)("nx-mx-auto nx-flex","raw"!==ed.layout&&"nx-max-w-[90rem]"),children:(0,e_.jsxs)(ActiveAnchorProvider,{children:[(0,e_.jsx)(Sidebar,{docsDirectories:ei,flatDirectories:es,fullDirectories:eu,headings:v,asPopover:ec,includePlaceholder:"default"===ed.layout}),ep,(0,e_.jsx)(rj,{}),(0,e_.jsx)(Body,{themeContext:ed,breadcrumb:"page"!==ee&&ed.breadcrumb?(0,e_.jsx)(Breadcrumb,{activePath:er}):null,timestamp:j,navigation:"page"!==ee&&ed.pagination?(0,e_.jsx)(NavLinks,{flatDirectories:el,currentIndex:et}):null,children:(0,e_.jsx)(eT.Z,{components:getComponents({isRawLayout:"raw"===ed.layout,components:B.components}),children:z})})]})}),ed.footer&&renderComponent(B.footer.component,{menu:ec})]})};let rU={logo:(0,e_.jsx)("div",{style:{paddingLeft:"50px",lineHeight:"38px",background:"url(/qbox-duck.png) no-repeat left",backgroundSize:"38px",fontWeight:550},children:"Qbox"}),project:{link:"https://github.com/Qbox-project"},chat:{link:"https://discord.gg/qbox"},docsRepositoryBase:"https://github.com/Qbox-project/qbox-project.github.io",footer:{text:"Qbox Project"},primaryHue:{dark:200,light:200},head:function(){let{asPath:n}=(0,ew.useRouter)(),{frontMatter:a,title:g}=useConfig(),v=a.description||"Documentation for the Qbox Project";return(0,e_.jsxs)(e_.Fragment,{children:[(0,e_.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,e_.jsx)("link",{rel:"icon",type:"image/x-icon",href:"/qbox-duck.ico"}),(0,e_.jsx)("meta",{httpEquiv:"Content-Language",content:"en"}),(0,e_.jsx)("meta",{name:"description",content:v}),(0,e_.jsx)("meta",{name:"og:title",content:g}),(0,e_.jsx)("meta",{name:"og:description",content:v}),(0,e_.jsx)("meta",{name:"og:url",content:"https://qbox-project.github.io".concat(n)})]})},useNextSeoProps:function(){let{asPath:n}=(0,ew.useRouter)(),a=n.replace(/[-_]/g," ").split("/"),g="#"!==a[1][0]&&a[1]||"Qbox",v=a[a.length-1],j=/[a-z]/.test(v)&&/[A-Z]/.test(v)?v:"%s";return{titleTemplate:"".concat(j," - ").concat(v===g?"Documentation":g.replace(/(^\w|\s\w)/g,n=>n.toUpperCase()))}}};g(8525),g(5280);let MDXLayout=function(n){let{Component:a,pageProps:g}=n;return(0,e_.jsx)(a,{...g})},r$=[];function _createMdxContent(n){return(0,e_.jsx)(e_.Fragment,{})}var _app=function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,e_.jsx)(MDXLayout,{...n,children:(0,e_.jsx)(_createMdxContent,{...n})})};let rB=(ey=globalThis)[eb=Symbol.for("__nextra_internal__")]||(ey[eb]=Object.create(null));rB.Layout=function(n){var{children:a}=n,g=__objRest(n,["children"]);return(0,e_.jsx)(ConfigProvider,{value:g,children:(0,e_.jsx)(InnerLayout,__spreadProps(__spreadValues({},g.pageOpts),{children:a}))})},rB.pageMap=[{kind:"Meta",data:{index:"Introduction",installation:"Installation",resources:"Resources",converting:"Converting from QBCore",contributors:"Contributing",developers:"Developer's Guide",release:"Release Readiness",faq:"FAQ"}},{kind:"MdxPage",name:"contributors",route:"/contributors"},{kind:"MdxPage",name:"converting",route:"/converting"},{kind:"MdxPage",name:"developers",route:"/developers"},{kind:"MdxPage",name:"faq",route:"/faq"},{kind:"MdxPage",name:"index",route:"/"},{kind:"MdxPage",name:"installation",route:"/installation"},{kind:"MdxPage",name:"release",route:"/release"},{kind:"Folder",name:"resources",route:"/resources",children:[{kind:"Meta",data:{qbx_core:"qbx_core",qbx_binoculars:"qbx_binoculars",qbx_divegear:"qbx_divegear",qbx_diving:"qbx_diving",qbx_management:"qbx_manangement"}},{kind:"MdxPage",name:"qbx_binoculars",route:"/resources/qbx_binoculars",frontMatter:{title:"qbx_binoculars"}},{kind:"Folder",name:"qbx_core",route:"/resources/qbx_core",children:[{kind:"Meta",data:{exports:"Exports",events:"Events",modules:"Modules",types:"Types"}},{kind:"Folder",name:"events",route:"/resources/qbx_core/events",children:[{kind:"Meta",data:{client:"Client",server:"Server"}},{kind:"MdxPage",name:"client",route:"/resources/qbx_core/events/client"},{kind:"MdxPage",name:"server",route:"/resources/qbx_core/events/server"}]},{kind:"Folder",name:"exports",route:"/resources/qbx_core/exports",children:[{kind:"Meta",data:{client:"Client",server:"Server",shared:"Shared"}},{kind:"MdxPage",name:"client",route:"/resources/qbx_core/exports/client"},{kind:"MdxPage",name:"server",route:"/resources/qbx_core/exports/server"},{kind:"MdxPage",name:"shared",route:"/resources/qbx_core/exports/shared"}]},{kind:"Folder",name:"modules",route:"/resources/qbx_core/modules",children:[{kind:"Meta",data:{lib:"lib",logger:"logger",playerdata:"playerdata"}},{kind:"Folder",name:"lib",route:"/resources/qbx_core/modules/lib",children:[{kind:"Meta",data:{shared:"Shared",client:"Client",server:"Server"}},{kind:"MdxPage",name:"client",route:"/resources/qbx_core/modules/lib/client"},{kind:"MdxPage",name:"server",route:"/resources/qbx_core/modules/lib/server"},{kind:"MdxPage",name:"shared",route:"/resources/qbx_core/modules/lib/shared"}]},{kind:"MdxPage",name:"lib",route:"/resources/qbx_core/modules/lib"},{kind:"MdxPage",name:"logger",route:"/resources/qbx_core/modules/logger"},{kind:"MdxPage",name:"playerdata",route:"/resources/qbx_core/modules/playerdata"}]},{kind:"Folder",name:"types",route:"/resources/qbx_core/types",children:[{kind:"MdxPage",name:"gang",route:"/resources/qbx_core/types/gang"},{kind:"MdxPage",name:"job",route:"/resources/qbx_core/types/job"},{kind:"MdxPage",name:"player",route:"/resources/qbx_core/types/player"},{kind:"MdxPage",name:"player_data",route:"/resources/qbx_core/types/player_data",frontMatter:{title:"PlayerData"}},{kind:"MdxPage",name:"player_entity",route:"/resources/qbx_core/types/player_entity",frontMatter:{title:"PlayerEntity"}},{kind:"MdxPage",name:"vehicle",route:"/resources/qbx_core/types/vehicle"},{kind:"MdxPage",name:"weapon",route:"/resources/qbx_core/types/weapon"},{kind:"Meta",data:{gang:"Gang",job:"Job",player:"Player",player_data:"PlayerData",player_entity:"PlayerEntity",vehicle:"Vehicle",weapon:"Weapon"}}]}]},{kind:"MdxPage",name:"qbx_core",route:"/resources/qbx_core"},{kind:"MdxPage",name:"qbx_divegear",route:"/resources/qbx_divegear",frontMatter:{title:"qbx_divegear"}},{kind:"Folder",name:"qbx_diving",route:"/resources/qbx_diving",children:[{kind:"Meta",data:{events:"Events"}},{kind:"Folder",name:"events",route:"/resources/qbx_diving/events",children:[{kind:"MdxPage",name:"server",route:"/resources/qbx_diving/events/server"},{kind:"Meta",data:{server:"Server"}}]}]},{kind:"MdxPage",name:"qbx_diving",route:"/resources/qbx_diving",frontMatter:{title:"qbx_diving"}},{kind:"Folder",name:"qbx_management",route:"/resources/qbx_management",children:[{kind:"Meta",data:{exports:"Exports"}},{kind:"Folder",name:"exports",route:"/resources/qbx_management/exports",children:[{kind:"MdxPage",name:"server",route:"/resources/qbx_management/exports/server"},{kind:"Meta",data:{server:"Server"}}]}]},{kind:"MdxPage",name:"qbx_management",route:"/resources/qbx_management",frontMatter:{title:"qbx_manangement"}}]}],rB.flexsearch={codeblocks:!0},rB.themeConfig=rU},8:function(n,a){"use strict";var g,v;Object.defineProperty(a,"__esModule",{value:!0}),function(n,a){for(var g in a)Object.defineProperty(n,g,{enumerable:!0,get:a[g]})}(a,{PrefetchKind:function(){return g},ACTION_REFRESH:function(){return j},ACTION_NAVIGATE:function(){return z},ACTION_RESTORE:function(){return B},ACTION_SERVER_PATCH:function(){return W},ACTION_PREFETCH:function(){return H},ACTION_FAST_REFRESH:function(){return K},ACTION_SERVER_ACTION:function(){return ee}});let j="refresh",z="navigate",B="restore",W="server-patch",H="prefetch",K="fast-refresh",ee="server-action";(v=g||(g={})).AUTO="auto",v.FULL="full",v.TEMPORARY="temporary",("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),n.exports=a.default)},984:function(n,a,g){"use strict";function getDomainLocale(n,a,g,v){return!1}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"getDomainLocale",{enumerable:!0,get:function(){return getDomainLocale}}),g(6595),("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),n.exports=a.default)},8530:function(n,a,g){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"Image",{enumerable:!0,get:function(){return ei}});let v=g(1351),j=g(5815),z=j._(g(959)),B=v._(g(422)),W=v._(g(6052)),H=g(8900),K=g(6284),ee=g(1022);g(7630);let et=g(7026),en=v._(g(6299)),er={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function handleLoading(n,a,g,v,j,z){let B=null==n?void 0:n.src;if(!n||n["data-loaded-src"]===B)return;n["data-loaded-src"]=B;let W="decode"in n?n.decode():Promise.resolve();W.catch(()=>{}).then(()=>{if(n.parentElement&&n.isConnected){if("empty"!==a&&j(!0),null==g?void 0:g.current){let a=new Event("load");Object.defineProperty(a,"target",{writable:!1,value:n});let v=!1,j=!1;g.current({...a,nativeEvent:a,currentTarget:n,target:n,isDefaultPrevented:()=>v,isPropagationStopped:()=>j,persist:()=>{},preventDefault:()=>{v=!0,a.preventDefault()},stopPropagation:()=>{j=!0,a.stopPropagation()}})}(null==v?void 0:v.current)&&v.current(n)}})}function getDynamicProps(n){let[a,g]=z.version.split("."),v=parseInt(a,10),j=parseInt(g,10);return v>18||18===v&&j>=3?{fetchPriority:n}:{fetchpriority:n}}let eo=(0,z.forwardRef)((n,a)=>{let{src:g,srcSet:v,sizes:j,height:B,width:W,decoding:H,className:K,style:ee,fetchPriority:et,placeholder:en,loading:er,unoptimized:eo,fill:ei,onLoadRef:es,onLoadingCompleteRef:el,setBlurComplete:eu,setShowAltText:ed,onLoad:ec,onError:ep,...ef}=n;return z.default.createElement("img",{...ef,...getDynamicProps(et),loading:er,width:W,height:B,decoding:H,"data-nimg":ei?"fill":"1",className:K,style:ee,sizes:j,srcSet:v,src:g,ref:(0,z.useCallback)(n=>{a&&("function"==typeof a?a(n):"object"==typeof a&&(a.current=n)),n&&(ep&&(n.src=n.src),n.complete&&handleLoading(n,en,es,el,eu,eo))},[g,en,es,el,eu,ep,eo,a]),onLoad:n=>{let a=n.currentTarget;handleLoading(a,en,es,el,eu,eo)},onError:n=>{ed(!0),"empty"!==en&&eu(!0),ep&&ep(n)}})});function ImagePreload(n){let{isAppRouter:a,imgAttributes:g}=n,v={as:"image",imageSrcSet:g.srcSet,imageSizes:g.sizes,crossOrigin:g.crossOrigin,referrerPolicy:g.referrerPolicy,...getDynamicProps(g.fetchPriority)};return a&&B.default.preload?(B.default.preload(g.src,v),null):z.default.createElement(W.default,null,z.default.createElement("link",{key:"__nimg-"+g.src+g.srcSet+g.sizes,rel:"preload",href:g.srcSet?void 0:g.src,...v}))}let ei=(0,z.forwardRef)((n,a)=>{let g=(0,z.useContext)(et.RouterContext),v=(0,z.useContext)(ee.ImageConfigContext),j=(0,z.useMemo)(()=>{let n=er||v||K.imageConfigDefault,a=[...n.deviceSizes,...n.imageSizes].sort((n,a)=>n-a),g=n.deviceSizes.sort((n,a)=>n-a);return{...n,allSizes:a,deviceSizes:g}},[v]),{onLoad:B,onLoadingComplete:W}=n,ei=(0,z.useRef)(B);(0,z.useEffect)(()=>{ei.current=B},[B]);let es=(0,z.useRef)(W);(0,z.useEffect)(()=>{es.current=W},[W]);let[el,eu]=(0,z.useState)(!1),[ed,ec]=(0,z.useState)(!1),{props:ep,meta:ef}=(0,H.getImgProps)(n,{defaultLoader:en.default,imgConf:j,blurComplete:el,showAltText:ed});return z.default.createElement(z.default.Fragment,null,z.default.createElement(eo,{...ep,unoptimized:ef.unoptimized,placeholder:ef.placeholder,fill:ef.fill,onLoadRef:ei,onLoadingCompleteRef:es,setBlurComplete:eu,setShowAltText:ec,ref:a}),ef.priority?z.default.createElement(ImagePreload,{isAppRouter:!g,imgAttributes:ep}):null)});("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),n.exports=a.default)},4748:function(n,a,g){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return eu}});let v=g(1351),j=v._(g(959)),z=g(9858),B=g(6187),W=g(8734),H=g(6871),K=g(2532),ee=g(7026),et=g(9321),en=g(6552),er=g(984),eo=g(9578),ei=g(8),es=new Set;function prefetch(n,a,g,v,j,z){if(!z&&!(0,B.isLocalURL)(a))return;if(!v.bypassPrefetchedCheck){let j=void 0!==v.locale?v.locale:"locale"in n?n.locale:void 0,z=a+"%"+g+"%"+j;if(es.has(z))return;es.add(z)}let W=z?n.prefetch(a,j):n.prefetch(a,g,v);Promise.resolve(W).catch(n=>{})}function formatStringOrUrl(n){return"string"==typeof n?n:(0,W.formatUrl)(n)}let el=j.default.forwardRef(function(n,a){let g,v;let{href:W,as:es,children:el,prefetch:eu=null,passHref:ed,replace:ec,shallow:ep,scroll:ef,locale:eh,onClick:em,onMouseEnter:ex,onTouchStart:eg,legacyBehavior:ev=!1,...ey}=n;g=el,ev&&("string"==typeof g||"number"==typeof g)&&(g=j.default.createElement("a",null,g));let eb=j.default.useContext(ee.RouterContext),e_=j.default.useContext(et.AppRouterContext),ew=null!=eb?eb:e_,ek=!eb,eC=!1!==eu,eE=null===eu?ei.PrefetchKind.AUTO:ei.PrefetchKind.FULL,{href:eT,as:eO}=j.default.useMemo(()=>{if(!eb){let n=formatStringOrUrl(W);return{href:n,as:es?formatStringOrUrl(es):n}}let[n,a]=(0,z.resolveHref)(eb,W,!0);return{href:n,as:es?(0,z.resolveHref)(eb,es):a||n}},[eb,W,es]),ej=j.default.useRef(eT),eS=j.default.useRef(eO);ev&&(v=j.default.Children.only(g));let eI=ev?v&&"object"==typeof v&&v.ref:a,[eP,eN,eZ]=(0,en.useIntersection)({rootMargin:"200px"}),eR=j.default.useCallback(n=>{(eS.current!==eO||ej.current!==eT)&&(eZ(),eS.current=eO,ej.current=eT),eP(n),eI&&("function"==typeof eI?eI(n):"object"==typeof eI&&(eI.current=n))},[eO,eI,eT,eZ,eP]);j.default.useEffect(()=>{ew&&eN&&eC&&prefetch(ew,eT,eO,{locale:eh},{kind:eE},ek)},[eO,eT,eN,eh,eC,null==eb?void 0:eb.locale,ew,ek,eE]);let eM={ref:eR,onClick(n){ev||"function"!=typeof em||em(n),ev&&v.props&&"function"==typeof v.props.onClick&&v.props.onClick(n),ew&&!n.defaultPrevented&&function(n,a,g,v,z,W,H,K,ee,et){let{nodeName:en}=n.currentTarget,er="A"===en.toUpperCase();if(er&&(function(n){let a=n.currentTarget,g=a.getAttribute("target");return g&&"_self"!==g||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.nativeEvent&&2===n.nativeEvent.which}(n)||!ee&&!(0,B.isLocalURL)(g)))return;n.preventDefault();let navigate=()=>{let n=null==H||H;"beforePopState"in a?a[z?"replace":"push"](g,v,{shallow:W,locale:K,scroll:n}):a[z?"replace":"push"](v||g,{forceOptimisticNavigation:!et,scroll:n})};ee?j.default.startTransition(navigate):navigate()}(n,ew,eT,eO,ec,ep,ef,eh,ek,eC)},onMouseEnter(n){ev||"function"!=typeof ex||ex(n),ev&&v.props&&"function"==typeof v.props.onMouseEnter&&v.props.onMouseEnter(n),ew&&(eC||!ek)&&prefetch(ew,eT,eO,{locale:eh,priority:!0,bypassPrefetchedCheck:!0},{kind:eE},ek)},onTouchStart(n){ev||"function"!=typeof eg||eg(n),ev&&v.props&&"function"==typeof v.props.onTouchStart&&v.props.onTouchStart(n),ew&&(eC||!ek)&&prefetch(ew,eT,eO,{locale:eh,priority:!0,bypassPrefetchedCheck:!0},{kind:eE},ek)}};if((0,H.isAbsoluteUrl)(eO))eM.href=eO;else if(!ev||ed||"a"===v.type&&!("href"in v.props)){let n=void 0!==eh?eh:null==eb?void 0:eb.locale,a=(null==eb?void 0:eb.isLocaleDomain)&&(0,er.getDomainLocale)(eO,n,null==eb?void 0:eb.locales,null==eb?void 0:eb.domainLocales);eM.href=a||(0,eo.addBasePath)((0,K.addLocale)(eO,n,null==eb?void 0:eb.defaultLocale))}return ev?j.default.cloneElement(v,eM):j.default.createElement("a",{...ey,...eM},g)}),eu=el;("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),n.exports=a.default)},6552:function(n,a,g){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"useIntersection",{enumerable:!0,get:function(){return useIntersection}});let v=g(959),j=g(599),z="function"==typeof IntersectionObserver,B=new Map,W=[];function useIntersection(n){let{rootRef:a,rootMargin:g,disabled:H}=n,K=H||!z,[ee,et]=(0,v.useState)(!1),en=(0,v.useRef)(null),er=(0,v.useCallback)(n=>{en.current=n},[]);(0,v.useEffect)(()=>{if(z){if(K||ee)return;let n=en.current;if(n&&n.tagName){let v=function(n,a,g){let{id:v,observer:j,elements:z}=function(n){let a;let g={root:n.root||null,margin:n.rootMargin||""},v=W.find(n=>n.root===g.root&&n.margin===g.margin);if(v&&(a=B.get(v)))return a;let j=new Map,z=new IntersectionObserver(n=>{n.forEach(n=>{let a=j.get(n.target),g=n.isIntersecting||n.intersectionRatio>0;a&&g&&a(g)})},n);return a={id:g,observer:z,elements:j},W.push(g),B.set(g,a),a}(g);return z.set(n,a),j.observe(n),function(){if(z.delete(n),j.unobserve(n),0===z.size){j.disconnect(),B.delete(v);let n=W.findIndex(n=>n.root===v.root&&n.margin===v.margin);n>-1&&W.splice(n,1)}}}(n,n=>n&&et(n),{root:null==a?void 0:a.current,rootMargin:g});return v}}else if(!ee){let n=(0,j.requestIdleCallback)(()=>et(!0));return()=>(0,j.cancelIdleCallback)(n)}},[K,g,a,ee,en.current]);let eo=(0,v.useCallback)(()=>{et(!1)},[]);return[er,ee,eo]}("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),n.exports=a.default)},8900:function(n,a,g){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"getImgProps",{enumerable:!0,get:function(){return getImgProps}}),g(7630);let v=g(7),j=g(6284);function isStaticRequire(n){return void 0!==n.default}function getInt(n){return void 0===n?n:"number"==typeof n?Number.isFinite(n)?n:NaN:"string"==typeof n&&/^[0-9]+$/.test(n)?parseInt(n,10):NaN}function getImgProps(n,a){var g;let z,B,W,{src:H,sizes:K,unoptimized:ee=!1,priority:et=!1,loading:en,className:er,quality:eo,width:ei,height:es,fill:el=!1,style:eu,onLoad:ed,onLoadingComplete:ec,placeholder:ep="empty",blurDataURL:ef,fetchPriority:eh,layout:em,objectFit:ex,objectPosition:eg,lazyBoundary:ev,lazyRoot:ey,...eb}=n,{imgConf:e_,showAltText:ew,blurComplete:ek,defaultLoader:eC}=a,eE=e_||j.imageConfigDefault;if("allSizes"in eE)z=eE;else{let n=[...eE.deviceSizes,...eE.imageSizes].sort((n,a)=>n-a),a=eE.deviceSizes.sort((n,a)=>n-a);z={...eE,allSizes:n,deviceSizes:a}}let eT=eb.loader||eC;delete eb.loader,delete eb.srcSet;let eO="__next_img_default"in eT;if(eO){if("custom"===z.loader)throw Error('Image with src "'+H+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let n=eT;eT=a=>{let{config:g,...v}=a;return n(v)}}if(em){"fill"===em&&(el=!0);let n={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[em];n&&(eu={...eu,...n});let a={responsive:"100vw",fill:"100vw"}[em];a&&!K&&(K=a)}let ej="",eS=getInt(ei),eI=getInt(es);if("object"==typeof(g=H)&&(isStaticRequire(g)||void 0!==g.src)){let n=isStaticRequire(H)?H.default:H;if(!n.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(n));if(!n.height||!n.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(n));if(B=n.blurWidth,W=n.blurHeight,ef=ef||n.blurDataURL,ej=n.src,!el){if(eS||eI){if(eS&&!eI){let a=eS/n.width;eI=Math.round(n.height*a)}else if(!eS&&eI){let a=eI/n.height;eS=Math.round(n.width*a)}}else eS=n.width,eI=n.height}}let eP=!et&&("lazy"===en||void 0===en);(!(H="string"==typeof H?H:ej)||H.startsWith("data:")||H.startsWith("blob:"))&&(ee=!0,eP=!1),z.unoptimized&&(ee=!0),eO&&H.endsWith(".svg")&&!z.dangerouslyAllowSVG&&(ee=!0),et&&(eh="high");let eN=getInt(eo),eZ=Object.assign(el?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:ex,objectPosition:eg}:{},ew?{}:{color:"transparent"},eu),eR=ek||"empty"===ep?null:"blur"===ep?'url("data:image/svg+xml;charset=utf-8,'+(0,v.getImageBlurSvg)({widthInt:eS,heightInt:eI,blurWidth:B,blurHeight:W,blurDataURL:ef||"",objectFit:eZ.objectFit})+'")':'url("'+ep+'")',eM=eR?{backgroundSize:eZ.objectFit||"cover",backgroundPosition:eZ.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:eR}:{},eA=function(n){let{config:a,src:g,unoptimized:v,width:j,quality:z,sizes:B,loader:W}=n;if(v)return{src:g,srcSet:void 0,sizes:void 0};let{widths:H,kind:K}=function(n,a,g){let{deviceSizes:v,allSizes:j}=n;if(g){let n=/(^|\s)(1?\d?\d)vw/g,a=[];for(let v;v=n.exec(g);v)a.push(parseInt(v[2]));if(a.length){let n=.01*Math.min(...a);return{widths:j.filter(a=>a>=v[0]*n),kind:"w"}}return{widths:j,kind:"w"}}if("number"!=typeof a)return{widths:v,kind:"w"};let z=[...new Set([a,2*a].map(n=>j.find(a=>a>=n)||j[j.length-1]))];return{widths:z,kind:"x"}}(a,j,B),ee=H.length-1;return{sizes:B||"w"!==K?B:"100vw",srcSet:H.map((n,v)=>W({config:a,src:g,quality:z,width:n})+" "+("w"===K?n:v+1)+K).join(", "),src:W({config:a,src:g,quality:z,width:H[ee]})}}({config:z,src:H,unoptimized:ee,width:eS,quality:eN,sizes:K,loader:eT}),eL={...eb,loading:eP?"lazy":en,fetchPriority:eh,width:eS,height:eI,decoding:"async",className:er,style:{...eZ,...eM},sizes:eA.sizes,srcSet:eA.srcSet,src:eA.src},eD={unoptimized:ee,priority:et,placeholder:ep,fill:el};return{props:eL,meta:eD}}},7:function(n,a){"use strict";function getImageBlurSvg(n){let{widthInt:a,heightInt:g,blurWidth:v,blurHeight:j,blurDataURL:z,objectFit:B}=n,W=v?40*v:a,H=j?40*j:g,K=W&&H?"viewBox='0 0 "+W+" "+H+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+K+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(K?"none":"contain"===B?"xMidYMid":"cover"===B?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+z+"'/%3E%3C/svg%3E"}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"getImageBlurSvg",{enumerable:!0,get:function(){return getImageBlurSvg}})},8203:function(n,a,g){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),function(n,a){for(var g in a)Object.defineProperty(n,g,{enumerable:!0,get:a[g]})}(a,{unstable_getImgProps:function(){return unstable_getImgProps},default:function(){return H}});let v=g(1351),j=g(8900),z=g(7630),B=g(8530),W=v._(g(6299)),unstable_getImgProps=n=>{(0,z.warnOnce)("Warning: unstable_getImgProps() is experimental and may change or be removed at any time. Use at your own risk.");let{props:a}=(0,j.getImgProps)(n,{defaultLoader:W.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[n,g]of Object.entries(a))void 0===g&&delete a[n];return{props:a}},H=B.Image},6299:function(n,a){"use strict";function defaultLoader(n){let{config:a,src:g,width:v,quality:j}=n;return a.path+"?url="+encodeURIComponent(g)+"&w="+v+"&q="+(j||75)}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return g}}),defaultLoader.__next_img_default=!0;let g=defaultLoader},8525:function(){},5280:function(){},3514:function(n){!function(){"use strict";var a={114:function(n){function assertPath(n){if("string"!=typeof n)throw TypeError("Path must be a string. Received "+JSON.stringify(n))}function normalizeStringPosix(n,a){for(var g,v="",j=0,z=-1,B=0,W=0;W<=n.length;++W){if(W2){var H=v.lastIndexOf("/");if(H!==v.length-1){-1===H?(v="",j=0):j=(v=v.slice(0,H)).length-1-v.lastIndexOf("/"),z=W,B=0;continue}}else if(2===v.length||1===v.length){v="",j=0,z=W,B=0;continue}}a&&(v.length>0?v+="/..":v="..",j=2)}else v.length>0?v+="/"+n.slice(z+1,W):v=n.slice(z+1,W),j=W-z-1;z=W,B=0}else 46===g&&-1!==B?++B:B=-1}return v}var a={resolve:function(){for(var n,a,g="",v=!1,j=arguments.length-1;j>=-1&&!v;j--)j>=0?a=arguments[j]:(void 0===n&&(n=""),a=n),assertPath(a),0!==a.length&&(g=a+"/"+g,v=47===a.charCodeAt(0));return(g=normalizeStringPosix(g,!v),v)?g.length>0?"/"+g:"/":g.length>0?g:"."},normalize:function(n){if(assertPath(n),0===n.length)return".";var a=47===n.charCodeAt(0),g=47===n.charCodeAt(n.length-1);return(0!==(n=normalizeStringPosix(n,!a)).length||a||(n="."),n.length>0&&g&&(n+="/"),a)?"/"+n:n},isAbsolute:function(n){return assertPath(n),n.length>0&&47===n.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var n,g=0;g0&&(void 0===n?n=v:n+="/"+v)}return void 0===n?".":a.normalize(n)},relative:function(n,g){if(assertPath(n),assertPath(g),n===g||(n=a.resolve(n))===(g=a.resolve(g)))return"";for(var v=1;vH){if(47===g.charCodeAt(B+ee))return g.slice(B+ee+1);if(0===ee)return g.slice(B+ee)}else z>H&&(47===n.charCodeAt(v+ee)?K=ee:0===ee&&(K=0));break}var et=n.charCodeAt(v+ee);if(et!==g.charCodeAt(B+ee))break;47===et&&(K=ee)}var en="";for(ee=v+K+1;ee<=j;++ee)(ee===j||47===n.charCodeAt(ee))&&(0===en.length?en+="..":en+="/..");return en.length>0?en+g.slice(B+K):(B+=K,47===g.charCodeAt(B)&&++B,g.slice(B))},_makeLong:function(n){return n},dirname:function(n){if(assertPath(n),0===n.length)return".";for(var a=n.charCodeAt(0),g=47===a,v=-1,j=!0,z=n.length-1;z>=1;--z)if(47===(a=n.charCodeAt(z))){if(!j){v=z;break}}else j=!1;return -1===v?g?"/":".":g&&1===v?"//":n.slice(0,v)},basename:function(n,a){if(void 0!==a&&"string"!=typeof a)throw TypeError('"ext" argument must be a string');assertPath(n);var g,v=0,j=-1,z=!0;if(void 0!==a&&a.length>0&&a.length<=n.length){if(a.length===n.length&&a===n)return"";var B=a.length-1,W=-1;for(g=n.length-1;g>=0;--g){var H=n.charCodeAt(g);if(47===H){if(!z){v=g+1;break}}else -1===W&&(z=!1,W=g+1),B>=0&&(H===a.charCodeAt(B)?-1==--B&&(j=g):(B=-1,j=W))}return v===j?j=W:-1===j&&(j=n.length),n.slice(v,j)}for(g=n.length-1;g>=0;--g)if(47===n.charCodeAt(g)){if(!z){v=g+1;break}}else -1===j&&(z=!1,j=g+1);return -1===j?"":n.slice(v,j)},extname:function(n){assertPath(n);for(var a=-1,g=0,v=-1,j=!0,z=0,B=n.length-1;B>=0;--B){var W=n.charCodeAt(B);if(47===W){if(!j){g=B+1;break}continue}-1===v&&(j=!1,v=B+1),46===W?-1===a?a=B:1!==z&&(z=1):-1!==a&&(z=-1)}return -1===a||-1===v||0===z||1===z&&a===v-1&&a===g+1?"":n.slice(a,v)},format:function(n){var a,g;if(null===n||"object"!=typeof n)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof n);return a=n.dir||n.root,g=n.base||(n.name||"")+(n.ext||""),a?a===n.root?a+g:a+"/"+g:g},parse:function(n){assertPath(n);var a,g={root:"",dir:"",base:"",ext:"",name:""};if(0===n.length)return g;var v=n.charCodeAt(0),j=47===v;j?(g.root="/",a=1):a=0;for(var z=-1,B=0,W=-1,H=!0,K=n.length-1,ee=0;K>=a;--K){if(47===(v=n.charCodeAt(K))){if(!H){B=K+1;break}continue}-1===W&&(H=!1,W=K+1),46===v?-1===z?z=K:1!==ee&&(ee=1):-1!==z&&(ee=-1)}return -1===z||-1===W||0===ee||1===ee&&z===W-1&&z===B+1?-1!==W&&(0===B&&j?g.base=g.name=n.slice(1,W):g.base=g.name=n.slice(B,W)):(0===B&&j?(g.name=n.slice(1,z),g.base=n.slice(1,W)):(g.name=n.slice(B,z),g.base=n.slice(B,W)),g.ext=n.slice(z,W)),B>0?g.dir=n.slice(0,B-1):j&&(g.dir="/"),g},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,n.exports=a}},g={};function __nccwpck_require__(n){var v=g[n];if(void 0!==v)return v.exports;var j=g[n]={exports:{}},z=!0;try{a[n](j,j.exports,__nccwpck_require__),z=!1}finally{z&&delete g[n]}return j.exports}__nccwpck_require__.ab="//";var v=__nccwpck_require__(114);n.exports=v}()},3820:function(n){!function(){var a={229:function(n){var a,g,v,j=n.exports={};function defaultSetTimout(){throw Error("setTimeout has not been defined")}function defaultClearTimeout(){throw Error("clearTimeout has not been defined")}function runTimeout(n){if(a===setTimeout)return setTimeout(n,0);if((a===defaultSetTimout||!a)&&setTimeout)return a=setTimeout,setTimeout(n,0);try{return a(n,0)}catch(g){try{return a.call(null,n,0)}catch(g){return a.call(this,n,0)}}}!function(){try{a="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(n){a=defaultSetTimout}try{g="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(n){g=defaultClearTimeout}}();var z=[],B=!1,W=-1;function cleanUpNextTick(){B&&v&&(B=!1,v.length?z=v.concat(z):W=-1,z.length&&drainQueue())}function drainQueue(){if(!B){var n=runTimeout(cleanUpNextTick);B=!0;for(var a=z.length;a;){for(v=z,z=[];++W1)for(var g=1;g(0,W.jsx)("button",{className:(0,B.Z)("nextra-button nx-transition-all active:nx-opacity-50","nx-bg-primary-700/5 nx-border nx-border-black/5 nx-text-gray-600 hover:nx-text-gray-900 nx-rounded-md nx-p-1.5","dark:nx-bg-primary-300/10 dark:nx-border-white/10 dark:nx-text-gray-400 dark:hover:nx-text-gray-50",a),...g,children:n}),H=g(1259),K={default:"\uD83D\uDCA1",error:"\uD83D\uDEAB",info:(0,W.jsx)(H.AV,{className:"nx-mt-1"}),warning:"⚠️"},ee={default:(0,B.Z)("nx-border-orange-100 nx-bg-orange-50 nx-text-orange-800 dark:nx-border-orange-400/30 dark:nx-bg-orange-400/20 dark:nx-text-orange-300"),error:(0,B.Z)("nx-border-red-200 nx-bg-red-100 nx-text-red-900 dark:nx-border-red-200/30 dark:nx-bg-red-900/30 dark:nx-text-red-200"),info:(0,B.Z)("nx-border-blue-200 nx-bg-blue-100 nx-text-blue-900 dark:nx-border-blue-200/30 dark:nx-bg-blue-900/30 dark:nx-text-blue-200"),warning:(0,B.Z)("nx-border-yellow-100 nx-bg-yellow-50 nx-text-yellow-900 dark:nx-border-yellow-200/30 dark:nx-bg-yellow-700/30 dark:nx-text-yellow-200")};function Callout({children:n,type:a="default",emoji:g=K[a]}){return(0,W.jsxs)("div",{className:(0,B.Z)("nextra-callout nx-overflow-x-auto nx-mt-6 nx-flex nx-rounded-lg nx-border nx-py-2 ltr:nx-pr-4 rtl:nx-pl-4","contrast-more:nx-border-current contrast-more:dark:nx-border-current",ee[a]),children:[(0,W.jsx)("div",{className:"nx-select-none nx-text-xl ltr:nx-pl-3 ltr:nx-pr-2 rtl:nx-pr-3 rtl:nx-pl-2",style:{fontFamily:'"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'},children:g}),(0,W.jsx)("div",{className:"nx-w-full nx-min-w-0 nx-leading-7",children:n})]})}var et=g(959),CopyToClipboard=({getValue:n,...a})=>{let[g,v]=(0,et.useState)(!1);(0,et.useEffect)(()=>{if(!g)return;let n=setTimeout(()=>{v(!1)},2e3);return()=>{clearTimeout(n)}},[g]);let j=(0,et.useCallback)(async()=>{v(!0),navigator?.clipboard||console.error("Access to clipboard rejected!");try{await navigator.clipboard.writeText(n())}catch{console.error("Failed to copy!")}},[n]),z=g?H.nQ:H.TI;return(0,W.jsx)(Button,{onClick:j,title:"Copy code",tabIndex:0,...a,children:(0,W.jsx)(z,{className:"nextra-copy-icon nx-pointer-events-none nx-h-4 nx-w-4"})})},Code=({children:n,className:a,...g})=>{let v="data-line-numbers"in g;return(0,W.jsx)("code",{className:(0,B.Z)("nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em]","dark:nx-border-white/10 dark:nx-bg-white/10",v&&"[counter-reset:line]",a),dir:"ltr",...g,children:n})},Pre=({children:n,className:a,hasCopyCode:g,filename:v,...j})=>{let z=(0,et.useRef)(null),K=(0,et.useCallback)(()=>{let n=document.documentElement.dataset,a="nextraWordWrap"in n;a?delete n.nextraWordWrap:n.nextraWordWrap=""},[]);return(0,W.jsxs)("div",{className:"nextra-code-block nx-relative nx-mt-6 first:nx-mt-0",children:[v&&(0,W.jsx)("div",{className:"nx-absolute nx-top-0 nx-z-[1] nx-w-full nx-truncate nx-rounded-t-xl nx-bg-primary-700/5 nx-py-2 nx-px-4 nx-text-xs nx-text-gray-700 dark:nx-bg-primary-300/10 dark:nx-text-gray-200",children:v}),(0,W.jsx)("pre",{className:(0,B.Z)("nx-bg-primary-700/5 nx-mb-4 nx-overflow-x-auto nx-rounded-xl nx-subpixel-antialiased dark:nx-bg-primary-300/10 nx-text-[.9em]","contrast-more:nx-border contrast-more:nx-border-primary-900/20 contrast-more:nx-contrast-150 contrast-more:dark:nx-border-primary-100/40",v?"nx-pt-12 nx-pb-4":"nx-py-4",a),ref:z,...j,children:n}),(0,W.jsxs)("div",{className:(0,B.Z)("nx-opacity-0 nx-transition [div:hover>&]:nx-opacity-100 focus-within:nx-opacity-100","nx-flex nx-gap-1 nx-absolute nx-m-[11px] nx-right-0",v?"nx-top-8":"nx-top-0"),children:[(0,W.jsx)(Button,{onClick:K,className:"md:nx-hidden",title:"Toggle word wrap",children:(0,W.jsx)(H.NK,{className:"nx-pointer-events-none nx-h-4 nx-w-4"})}),g&&(0,W.jsx)(CopyToClipboard,{getValue:()=>z.current?.querySelector("code")?.textContent||""})]})]})};function Steps({children:n,className:a,...g}){return(0,W.jsx)("div",{className:(0,B.Z)("nextra-steps nx-ml-4 nx-mb-12 nx-border-l nx-border-gray-200 nx-pl-6","dark:nx-border-neutral-800 [counter-reset:step]",a),...g,children:n})}var en=g(3158),er=g(7964),eo=g(2393),ei=g(8790),es=g(2894),el=g(3497),eu=g(1103),ed=g(5340),ec=g(5945);function focus_sentinel_b({onFocus:n}){let[a,g]=(0,et.useState)(!0),v=(0,ed.t)();return a?et.createElement(ec._,{as:"button",type:"button",features:ec.A.Focusable,onFocus:a=>{a.preventDefault();let j,z=50;j=requestAnimationFrame(function t(){if(z--<=0){j&&cancelAnimationFrame(j);return}if(n()){if(cancelAnimationFrame(j),!v.current)return;g(!1);return}j=requestAnimationFrame(t)})}}):null}var ep=g(5747),ef=g(790),eh=g(2511),em=g(1884),ex=g(74);let eg=et.createContext(null);function C({children:n}){let a=et.useRef({groups:new Map,get(n,a){var g;let v=this.groups.get(n);v||(v=new Map,this.groups.set(n,v));let j=null!=(g=v.get(a))?g:0;return v.set(a,j+1),[Array.from(v.keys()).indexOf(a),function(){let n=v.get(a);n>1?v.set(a,n-1):v.delete(a)}]}});return et.createElement(eg.Provider,{value:a},n)}function stable_collection_d(n){let a=et.useContext(eg);if(!a)throw Error("You must wrap your component in a ");let g=function(){var n,a,g;let v=null!=(g=null==(a=null==(n=et.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)?void 0:n.ReactCurrentOwner)?void 0:a.current)?g:null;if(!v)return Symbol();let j=[],z=v;for(;z;)j.push(z.index),z=z.return;return"$."+j.join(".")}(),[v,j]=a.current.get(n,g);return et.useEffect(()=>j,[]),v}var ev=((v=ev||{})[v.Forwards=0]="Forwards",v[v.Backwards=1]="Backwards",v),ey=((j=ey||{})[j.Less=-1]="Less",j[j.Equal=0]="Equal",j[j.Greater=1]="Greater",j),eb=((z=eb||{})[z.SetSelectedIndex=0]="SetSelectedIndex",z[z.RegisterTab=1]="RegisterTab",z[z.UnregisterTab=2]="UnregisterTab",z[z.RegisterPanel=3]="RegisterPanel",z[z.UnregisterPanel=4]="UnregisterPanel",z);let e_={0(n,a){var g;let v=(0,ep.z2)(n.tabs,n=>n.current),j=(0,ep.z2)(n.panels,n=>n.current),z=v.filter(n=>{var a;return!(null!=(a=n.current)&&a.hasAttribute("disabled"))}),B={...n,tabs:v,panels:j};if(a.index<0||a.index>v.length-1){let g=(0,ef.E)(Math.sign(a.index-n.selectedIndex),{[-1]:()=>1,0:()=>(0,ef.E)(Math.sign(a.index),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0});if(0===z.length)return B;let j=(0,ef.E)(g,{0:()=>v.indexOf(z[0]),1:()=>v.indexOf(z[z.length-1])});return{...B,selectedIndex:-1===j?n.selectedIndex:j}}let W=v.slice(0,a.index),H=[...v.slice(a.index),...W].find(n=>z.includes(n));if(!H)return B;let K=null!=(g=v.indexOf(H))?g:n.selectedIndex;return -1===K&&(K=n.selectedIndex),{...B,selectedIndex:K}},1(n,a){var g;if(n.tabs.includes(a.tab))return n;let v=n.tabs[n.selectedIndex],j=(0,ep.z2)([...n.tabs,a.tab],n=>n.current),z=null!=(g=j.indexOf(v))?g:n.selectedIndex;return -1===z&&(z=n.selectedIndex),{...n,tabs:j,selectedIndex:z}},2:(n,a)=>({...n,tabs:n.tabs.filter(n=>n!==a.tab)}),3:(n,a)=>n.panels.includes(a.panel)?n:{...n,panels:(0,ep.z2)([...n.panels,a.panel],n=>n.current)},4:(n,a)=>({...n,panels:n.panels.filter(n=>n!==a.panel)})},ew=(0,et.createContext)(null);function h(n){let a=(0,et.useContext)(ew);if(null===a){let a=Error(`<${n} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(a,h),a}return a}ew.displayName="TabsDataContext";let ek=(0,et.createContext)(null);function q(n){let a=(0,et.useContext)(ek);if(null===a){let a=Error(`<${n} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(a,q),a}return a}function fe(n,a){return(0,ef.E)(a.type,e_,n,a)}ek.displayName="TabsActionsContext";let eC=et.Fragment,eE=ex.AN.RenderStrategy|ex.AN.Static,eT=Object.assign((0,ex.yV)(function(n,a){var g,v;let j=(0,eo.M)(),{id:z=`headlessui-tabs-tab-${j}`,...B}=n,{orientation:W,activation:H,selectedIndex:K,tabs:ee,panels:es}=h("Tab"),ed=q("Tab"),ec=h("Tab"),eg=(0,et.useRef)(null),ev=(0,eu.T)(eg,a);(0,ei.e)(()=>ed.registerTab(eg),[ed,eg]);let ey=stable_collection_d("tabs"),eb=ee.indexOf(eg);-1===eb&&(eb=ey);let e_=eb===K,ew=(0,er.z)(n=>{var a;let g=n();if(g===ep.fE.Success&&"auto"===H){let n=null==(a=(0,em.r)(eg))?void 0:a.activeElement,g=ec.tabs.findIndex(a=>a.current===n);-1!==g&&ed.change(g)}return g}),ek=(0,er.z)(n=>{let a=ee.map(n=>n.current).filter(Boolean);if(n.key===en.R.Space||n.key===en.R.Enter){n.preventDefault(),n.stopPropagation(),ed.change(eb);return}switch(n.key){case en.R.Home:case en.R.PageUp:return n.preventDefault(),n.stopPropagation(),ew(()=>(0,ep.jA)(a,ep.TO.First));case en.R.End:case en.R.PageDown:return n.preventDefault(),n.stopPropagation(),ew(()=>(0,ep.jA)(a,ep.TO.Last))}if(ew(()=>(0,ef.E)(W,{vertical:()=>n.key===en.R.ArrowUp?(0,ep.jA)(a,ep.TO.Previous|ep.TO.WrapAround):n.key===en.R.ArrowDown?(0,ep.jA)(a,ep.TO.Next|ep.TO.WrapAround):ep.fE.Error,horizontal:()=>n.key===en.R.ArrowLeft?(0,ep.jA)(a,ep.TO.Previous|ep.TO.WrapAround):n.key===en.R.ArrowRight?(0,ep.jA)(a,ep.TO.Next|ep.TO.WrapAround):ep.fE.Error}))===ep.fE.Success)return n.preventDefault()}),eC=(0,et.useRef)(!1),eE=(0,er.z)(()=>{var n;eC.current||(eC.current=!0,null==(n=eg.current)||n.focus({preventScroll:!0}),ed.change(eb),(0,eh.Y)(()=>{eC.current=!1}))}),eT=(0,er.z)(n=>{n.preventDefault()}),eO=(0,et.useMemo)(()=>({selected:e_}),[e_]),ej={ref:ev,onKeyDown:ek,onMouseDown:eT,onClick:eE,id:z,role:"tab",type:(0,el.f)(n,eg),"aria-controls":null==(v=null==(g=es[eb])?void 0:g.current)?void 0:v.id,"aria-selected":e_,tabIndex:e_?0:-1};return(0,ex.sY)({ourProps:ej,theirProps:B,slot:eO,defaultTag:"button",name:"Tabs.Tab"})}),{Group:(0,ex.yV)(function(n,a){let{defaultIndex:g=0,vertical:v=!1,manual:j=!1,onChange:z,selectedIndex:B=null,...W}=n,H=v?"vertical":"horizontal",K=j?"manual":"auto",ee=null!==B,en=(0,eu.T)(a),[eo,el]=(0,et.useReducer)(fe,{selectedIndex:null!=B?B:g,tabs:[],panels:[]}),ed=(0,et.useMemo)(()=>({selectedIndex:eo.selectedIndex}),[eo.selectedIndex]),ec=(0,es.E)(z||(()=>{})),ef=(0,es.E)(eo.tabs),eh=(0,et.useMemo)(()=>({orientation:H,activation:K,...eo}),[H,K,eo]),em=(0,er.z)(n=>(el({type:1,tab:n}),()=>el({type:2,tab:n}))),eg=(0,er.z)(n=>(el({type:3,panel:n}),()=>el({type:4,panel:n}))),ev=(0,er.z)(n=>{ey.current!==n&&ec.current(n),ee||el({type:0,index:n})}),ey=(0,es.E)(ee?n.selectedIndex:eo.selectedIndex),eb=(0,et.useMemo)(()=>({registerTab:em,registerPanel:eg,change:ev}),[]);return(0,ei.e)(()=>{el({type:0,index:null!=B?B:g})},[B]),(0,ei.e)(()=>{if(void 0===ey.current||eo.tabs.length<=0)return;let n=(0,ep.z2)(eo.tabs,n=>n.current);n.some((n,a)=>eo.tabs[a]!==n)&&ev(n.indexOf(eo.tabs[ey.current]))}),et.createElement(C,null,et.createElement(ek.Provider,{value:eb},et.createElement(ew.Provider,{value:eh},eh.tabs.length<=0&&et.createElement(focus_sentinel_b,{onFocus:()=>{var n,a;for(let g of ef.current)if((null==(n=g.current)?void 0:n.tabIndex)===0)return null==(a=g.current)||a.focus(),!0;return!1}}),(0,ex.sY)({ourProps:{ref:en},theirProps:W,slot:ed,defaultTag:eC,name:"Tabs"}))))}),List:(0,ex.yV)(function(n,a){let{orientation:g,selectedIndex:v}=h("Tab.List"),j=(0,eu.T)(a);return(0,ex.sY)({ourProps:{ref:j,role:"tablist","aria-orientation":g},theirProps:n,slot:{selectedIndex:v},defaultTag:"div",name:"Tabs.List"})}),Panels:(0,ex.yV)(function(n,a){let{selectedIndex:g}=h("Tab.Panels"),v=(0,eu.T)(a),j=(0,et.useMemo)(()=>({selectedIndex:g}),[g]);return(0,ex.sY)({ourProps:{ref:v},theirProps:n,slot:j,defaultTag:"div",name:"Tabs.Panels"})}),Panel:(0,ex.yV)(function(n,a){var g,v,j,z;let B=(0,eo.M)(),{id:W=`headlessui-tabs-panel-${B}`,tabIndex:H=0,...K}=n,{selectedIndex:ee,tabs:en,panels:er}=h("Tab.Panel"),es=q("Tab.Panel"),el=(0,et.useRef)(null),ed=(0,eu.T)(el,a);(0,ei.e)(()=>es.registerPanel(el),[es,el]);let ep=stable_collection_d("panels"),ef=er.indexOf(el);-1===ef&&(ef=ep);let eh=ef===ee,em=(0,et.useMemo)(()=>({selected:eh}),[eh]),eg={ref:ed,id:W,role:"tabpanel","aria-labelledby":null==(v=null==(g=en[ef])?void 0:g.current)?void 0:v.id,tabIndex:eh?H:-1};return eh||null!=(j=K.unmount)&&!j||null!=(z=K.static)&&z?(0,ex.sY)({ourProps:eg,theirProps:K,slot:em,defaultTag:"div",features:eE,visible:eh,name:"Tabs.Panel"}):et.createElement(ec._,{as:"span","aria-hidden":"true",...eg})})});function isTabObjectItem(n){return!!n&&"object"==typeof n&&"label"in n}var eO=Object.assign(function({items:n,selectedIndex:a,defaultIndex:g=0,onChange:v,children:j,storageKey:z}){let[H,K]=(0,et.useState)(g);(0,et.useEffect)(()=>{void 0!==a&&K(a)},[a]),(0,et.useEffect)(()=>{if(!z)return;function fn(n){n.key===z&&K(Number(n.newValue))}let n=Number(localStorage.getItem(z));return K(Number.isNaN(n)?0:n),window.addEventListener("storage",fn),()=>{window.removeEventListener("storage",fn)}},[]);let ee=(0,et.useCallback)(n=>{if(z){let a=String(n);localStorage.setItem(z,a),window.dispatchEvent(new StorageEvent("storage",{key:z,newValue:a}));return}K(n),v?.(n)},[]);return(0,W.jsxs)(eT.Group,{selectedIndex:H,defaultIndex:g,onChange:ee,children:[(0,W.jsx)("div",{className:"nextra-scrollbar nx-overflow-x-auto nx-overflow-y-hidden nx-overscroll-x-contain",children:(0,W.jsx)(eT.List,{className:"nx-mt-4 nx-flex nx-w-max nx-min-w-full nx-border-b nx-border-gray-200 nx-pb-px dark:nx-border-neutral-800",children:n.map((n,a)=>{let g=isTabObjectItem(n)&&n.disabled;return(0,W.jsx)(eT,{disabled:g,className:({selected:n})=>(0,B.Z)("nx-mr-2 nx-rounded-t nx-p-2 nx-font-medium nx-leading-5 nx-transition-colors","-nx-mb-0.5 nx-select-none nx-border-b-2",n?"nx-border-primary-500 nx-text-primary-600":"nx-border-transparent nx-text-gray-600 hover:nx-border-gray-200 hover:nx-text-black dark:nx-text-gray-200 dark:hover:nx-border-neutral-800 dark:hover:nx-text-white",g&&"nx-pointer-events-none nx-text-gray-400 dark:nx-text-neutral-600"),children:isTabObjectItem(n)?n.label:n},a)})})}),(0,W.jsx)(eT.Panels,{children:j})]})},{displayName:"Tabs",Tab:function({children:n,...a}){return(0,W.jsx)(eT.Panel,{...a,className:"nx-rounded nx-pt-6",children:n})}}),Td=({className:n="",...a})=>(0,W.jsx)("td",{className:(0,B.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600",n),...a}),Table=({className:n="",...a})=>(0,W.jsx)("table",{className:(0,B.Z)("nx-block nx-overflow-x-scroll",n),...a}),Th=({className:n="",...a})=>(0,W.jsx)("th",{className:(0,B.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 nx-font-semibold dark:nx-border-gray-600",n),...a}),Tr=({className:n="",...a})=>(0,W.jsx)("tr",{className:(0,B.Z)("nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600","even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20",n),...a}),ej=g(429),eS=g.n(ej),eI={cards:(0,B.Z)("nextra-cards nx-mt-4 nx-gap-4 nx-grid","nx-not-prose"),card:(0,B.Z)("nextra-card nx-group nx-flex nx-flex-col nx-justify-start nx-overflow-hidden nx-rounded-lg nx-border nx-border-gray-200","nx-text-current nx-no-underline dark:nx-shadow-none","hover:nx-shadow-gray-100 dark:hover:nx-shadow-none nx-shadow-gray-100","active:nx-shadow-sm active:nx-shadow-gray-200","nx-transition-all nx-duration-200 hover:nx-border-gray-300"),title:(0,B.Z)("nx-flex nx-font-semibold nx-items-start nx-gap-2 nx-p-4 nx-text-gray-700 hover:nx-text-gray-900")},eP=(0,W.jsx)("span",{className:"nx-transition-transform nx-duration-75 group-hover:nx-translate-x-[2px]",children:"→"});function Card({children:n,title:a,icon:g,image:v,arrow:j,href:z,...H}){let K=j?eP:null;return v?(0,W.jsxs)(eS(),{href:z,className:(0,B.Z)(eI.card,"nx-bg-gray-100 nx-shadow dark:nx-border-neutral-700 dark:nx-bg-neutral-800 dark:nx-text-gray-50 hover:nx-shadow-lg dark:hover:nx-border-neutral-500 dark:hover:nx-bg-neutral-700"),...H,children:[n,(0,W.jsxs)("span",{className:(0,B.Z)(eI.title,"dark:nx-text-gray-300 dark:hover:nx-text-gray-100"),children:[g,(0,W.jsxs)("span",{className:"nx-flex nx-gap-1",children:[a,K]})]})]}):(0,W.jsx)(eS(),{href:z,className:(0,B.Z)(eI.card,"nx-bg-transparent nx-shadow-sm dark:nx-border-neutral-800 hover:nx-bg-slate-50 hover:nx-shadow-md dark:hover:nx-border-neutral-700 dark:hover:nx-bg-neutral-900"),...H,children:(0,W.jsxs)("span",{className:(0,B.Z)(eI.title,"dark:nx-text-neutral-200 dark:hover:nx-text-neutral-50 nx-flex nx-items-center"),children:[g,a,K]})})}var eN=Object.assign(function({children:n,num:a=3,className:g,style:v,...j}){return(0,W.jsx)("div",{className:(0,B.Z)(eI.cards,g),...j,style:{...v,"--rows":a},children:n})},{displayName:"Cards",Card}),eZ=(0,et.createContext)(0);function useIndent(){return(0,et.useContext)(eZ)}function Ident(){let n=useIndent();return(0,W.jsx)(W.Fragment,{children:Array.from({length:n},(n,a)=>(0,W.jsx)("span",{className:"nx-w-5"},a))})}var eR=(0,et.memo)(({label:n,name:a,open:g,children:v,defaultOpen:j=!1,onToggle:z})=>{let B=useIndent(),[H,K]=(0,et.useState)(j),ee=(0,et.useCallback)(()=>{z?.(!H),K(!H)},[H,z]),en=void 0===g?H:g;return(0,W.jsxs)("li",{className:"nx-flex nx-list-none nx-flex-col",children:[(0,W.jsxs)("button",{onClick:ee,title:a,className:"nx-inline-flex nx-cursor-pointer nx-items-center nx-py-1 hover:nx-opacity-60",children:[(0,W.jsx)(Ident,{}),(0,W.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:en?"M5 19a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4l2 2h4a2 2 0 0 1 2 2v1M5 19h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2Z":"M3 7v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-6l-2-2H5a2 2 0 0 0-2 2Z"})}),(0,W.jsx)("span",{className:"nx-ml-1",children:n??a})]}),en&&(0,W.jsx)("ul",{children:(0,W.jsx)(eZ.Provider,{value:B+1,children:v})})]})});eR.displayName="Folder";var eM=(0,et.memo)(({label:n,name:a,active:g})=>(0,W.jsx)("li",{className:(0,B.Z)("nx-flex nx-list-none",g&&"nx-text-primary-600 contrast-more:nx-underline"),children:(0,W.jsxs)("span",{className:"nx-inline-flex nx-cursor-default nx-items-center nx-py-1",children:[(0,W.jsx)(Ident,{}),(0,W.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5.586a1 1 0 0 1 .707.293l5.414 5.414a1 1 0 0 1 .293.707V19a2 2 0 0 1-2 2Z"})}),(0,W.jsx)("span",{className:"nx-ml-1",children:n??a})]})}));eM.displayName="File",Object.assign(function({children:n}){return(0,W.jsx)("div",{className:(0,B.Z)("nextra-filetree nx-mt-6 nx-select-none nx-text-sm nx-text-gray-800 dark:nx-text-gray-300","nx-not-prose"),children:(0,W.jsx)("div",{className:"nx-inline-block nx-rounded-lg nx-border nx-px-4 nx-py-2 dark:nx-border-neutral-800",children:n})})},{Folder:eR,File:eM})},1259:function(n,a,g){"use strict";g.d(a,{LZ:function(){return ArrowRightIcon},nQ:function(){return CheckIcon},TI:function(){return CopyIcon},D7:function(){return DiscordIcon},Qq:function(){return ExpandIcon},fy:function(){return GitHubIcon},n9:function(){return GlobeIcon},AV:function(){return InformationCircleIcon},Oq:function(){return MenuIcon},kL:function(){return MoonIcon},L4:function(){return SpinnerIcon},NW:function(){return SunIcon},NK:function(){return WordWrapIcon},b0:function(){return XIcon}});var v=g(1527);function ArrowRightIcon({pathClassName:n,...a}){return(0,v.jsx)("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",...a,children:(0,v.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 5l7 7-7 7",className:n})})}function CheckIcon(n){return(0,v.jsx)("svg",{viewBox:"0 0 20 20",width:"1em",height:"1em",fill:"currentColor",...n,children:(0,v.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})}function CopyIcon(n){return(0,v.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...n,children:[(0,v.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,v.jsx)("path",{d:"M5 15H4C2.89543 15 2 14.1046 2 13V4C2 2.89543 2.89543 2 4 2H13C14.1046 2 15 2.89543 15 4V5",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function DiscordIcon(n){return(0,v.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 5 30.67 23.25",...n,children:[(0,v.jsx)("title",{children:"Discord"}),(0,v.jsx)("path",{d:"M26.0015 6.9529C24.0021 6.03845 21.8787 5.37198 19.6623 5C19.3833 5.48048 19.0733 6.13144 18.8563 6.64292C16.4989 6.30193 14.1585 6.30193 11.8336 6.64292C11.6166 6.13144 11.2911 5.48048 11.0276 5C8.79575 5.37198 6.67235 6.03845 4.6869 6.9529C0.672601 12.8736 -0.41235 18.6548 0.130124 24.3585C2.79599 26.2959 5.36889 27.4739 7.89682 28.2489C8.51679 27.4119 9.07477 26.5129 9.55525 25.5675C8.64079 25.2265 7.77283 24.808 6.93587 24.312C7.15286 24.1571 7.36986 23.9866 7.57135 23.8161C12.6241 26.1255 18.0969 26.1255 23.0876 23.8161C23.3046 23.9866 23.5061 24.1571 23.7231 24.312C22.8861 24.808 22.0182 25.2265 21.1037 25.5675C21.5842 26.5129 22.1422 27.4119 22.7621 28.2489C25.2885 27.4739 27.8769 26.2959 30.5288 24.3585C31.1952 17.7559 29.4733 12.0212 26.0015 6.9529ZM10.2527 20.8402C8.73376 20.8402 7.49382 19.4608 7.49382 17.7714C7.49382 16.082 8.70276 14.7025 10.2527 14.7025C11.7871 14.7025 13.0425 16.082 13.0115 17.7714C13.0115 19.4608 11.7871 20.8402 10.2527 20.8402ZM20.4373 20.8402C18.9183 20.8402 17.6768 19.4608 17.6768 17.7714C17.6768 16.082 18.8873 14.7025 20.4373 14.7025C21.9717 14.7025 23.2271 16.082 23.1961 17.7714C23.1961 19.4608 21.9872 20.8402 20.4373 20.8402Z"})]})}function ExpandIcon({isOpen:n,...a}){return(0,v.jsxs)("svg",{height:"12",width:"12",viewBox:"0 0 16 16",fill:"currentColor",...a,children:[(0,v.jsx)("path",{fillRule:"evenodd",d:"M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z",className:n?"":"nx-origin-[35%] nx-rotate-180"}),(0,v.jsx)("path",{fillRule:"evenodd",d:"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z"})]})}function GitHubIcon(n){return(0,v.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",viewBox:"3 3 18 18",...n,children:[(0,v.jsx)("title",{children:"GitHub"}),(0,v.jsx)("path",{d:"M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z"})]})}function GlobeIcon(n){return(0,v.jsx)("svg",{viewBox:"2 2 16 16",width:"12",height:"12",fill:"currentColor",...n,children:(0,v.jsx)("path",{fillRule:"evenodd",d:"M4.083 9h1.946c.089-1.546.383-2.97.837-4.118A6.004 6.004 0 004.083 9zM10 2a8 8 0 100 16 8 8 0 000-16zm0 2c-.076 0-.232.032-.465.262-.238.234-.497.623-.737 1.182-.389.907-.673 2.142-.766 3.556h3.936c-.093-1.414-.377-2.649-.766-3.556-.24-.56-.5-.948-.737-1.182C10.232 4.032 10.076 4 10 4zm3.971 5c-.089-1.546-.383-2.97-.837-4.118A6.004 6.004 0 0115.917 9h-1.946zm-2.003 2H8.032c.093 1.414.377 2.649.766 3.556.24.56.5.948.737 1.182.233.23.389.262.465.262.076 0 .232-.032.465-.262.238-.234.498-.623.737-1.182.389-.907.673-2.142.766-3.556zm1.166 4.118c.454-1.147.748-2.572.837-4.118h1.946a6.004 6.004 0 01-2.783 4.118zm-6.268 0C6.412 13.97 6.118 12.546 6.03 11H4.083a6.004 6.004 0 002.783 4.118z",clipRule:"evenodd"})})}function InformationCircleIcon(n){return(0,v.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"20",height:"20",...n,children:(0,v.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"})})}function MenuIcon(n){return(0,v.jsxs)("svg",{fill:"none",width:"24",height:"24",viewBox:"0 0 24 24",stroke:"currentColor",...n,children:[(0,v.jsx)("g",{children:(0,v.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 6h16"})}),(0,v.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 12h16"}),(0,v.jsx)("g",{children:(0,v.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 18h16"})})]})}function MoonIcon(n){return(0,v.jsx)("svg",{fill:"none",viewBox:"2 2 20 20",width:"12",height:"12",stroke:"currentColor",...n,children:(0,v.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})}function SpinnerIcon(n){return(0,v.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"24",height:"24",...n,children:[(0,v.jsx)("circle",{className:"nx-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,v.jsx)("path",{className:"nx-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}function SunIcon(n){return(0,v.jsx)("svg",{fill:"none",viewBox:"3 3 18 18",width:"12",height:"12",stroke:"currentColor",...n,children:(0,v.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})})}function WordWrapIcon(n){return(0,v.jsx)("svg",{viewBox:"0 0 24 24",width:"24",height:"24",...n,children:(0,v.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}function XIcon(n){return(0,v.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"currentColor",...n,children:(0,v.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})}},5424:function(n,a,g){"use strict";g.d(a,{Z:function(){return MDXProvider},a:function(){return mdx_useMDXComponents}});var v=g(959);let j=v.createContext({});function useMDXComponents(n){let a=v.useContext(j);return v.useMemo(()=>"function"==typeof n?n(a):{...a,...n},[a,n])}let z={};function MDXProvider({components:n,children:a,disableParentContext:g}){let B;return B=g?"function"==typeof n?n({}):n||z:useMDXComponents(n),v.createElement(j.Provider,{value:B},a)}var B=g(7858),W=g.n(B),H={img:n=>(0,v.createElement)("object"==typeof n.src?W():"img",n)},mdx_useMDXComponents=n=>useMDXComponents({...H,...n})},5182:function(n,a,g){"use strict";var v=g(6097);n.exports=function(n){var a={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:n,query:{},parse_failed:!1};try{var g=new URL(n);a.protocols=v(g),a.protocol=a.protocols[0],a.port=g.port,a.resource=g.hostname,a.host=g.host,a.user=g.username||"",a.password=g.password||"",a.pathname=g.pathname,a.hash=g.hash.slice(1),a.search=g.search.slice(1),a.href=g.href,a.query=Object.fromEntries(g.searchParams)}catch(g){a.protocols=["file"],a.protocol=a.protocols[0],a.port="",a.resource="",a.user="",a.pathname="",a.hash="",a.search="",a.href=n,a.query={},a.parse_failed=!0}return a}},8593:function(n,a,g){"use strict";var v=g(5182),j=v&&"object"==typeof v&&"default"in v?v:{default:v};let testParameter=(n,a)=>a.some(a=>a instanceof RegExp?a.test(n):a===n),normalizeDataURL=(n,{stripHash:a})=>{let g=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(n);if(!g)throw Error(`Invalid URL: ${n}`);let{type:v,data:j,hash:z}=g.groups,B=v.split(";");z=a?"":z;let W=!1;"base64"===B[B.length-1]&&(B.pop(),W=!0);let H=(B.shift()||"").toLowerCase(),K=B.map(n=>{let[a,g=""]=n.split("=").map(n=>n.trim());return"charset"===a&&"us-ascii"===(g=g.toLowerCase())?"":`${a}${g?`=${g}`:""}`}).filter(Boolean),ee=[...K];return W&&ee.push("base64"),(ee.length>0||H&&"text/plain"!==H)&&ee.unshift(H),`data:${ee.join(";")},${W?j.trim():j}${z?`#${z}`:""}`},parseUrl=(n,a=!1)=>{let throwErr=a=>{let g=Error(a);throw g.subject_url=n,g};"string"==typeof n&&n.trim()||throwErr("Invalid url."),n.length>parseUrl.MAX_INPUT_LENGTH&&throwErr("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),a&&("object"!=typeof a&&(a={stripHash:!1}),n=function(n,a){if(a={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...a},n=n.trim(),/^data:/i.test(n))return normalizeDataURL(n,a);if(/^view-source:/i.test(n))throw Error("`view-source:` is not supported as it is a non-standard protocol");let g=n.startsWith("//"),v=!g&&/^\.*\//.test(n);v||(n=n.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,a.defaultProtocol));let j=new URL(n);if(a.forceHttp&&a.forceHttps)throw Error("The `forceHttp` and `forceHttps` options cannot be used together");if(a.forceHttp&&"https:"===j.protocol&&(j.protocol="http:"),a.forceHttps&&"http:"===j.protocol&&(j.protocol="https:"),a.stripAuthentication&&(j.username="",j.password=""),a.stripHash?j.hash="":a.stripTextFragment&&(j.hash=j.hash.replace(/#?:~:text.*?$/i,"")),j.pathname){let n=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,a=0,g="";for(;;){let v=n.exec(j.pathname);if(!v)break;let z=v[0],B=v.index,W=j.pathname.slice(a,B);g+=W.replace(/\/{2,}/g,"/")+z,a=B+z.length}let v=j.pathname.slice(a,j.pathname.length);g+=v.replace(/\/{2,}/g,"/"),j.pathname=g}if(j.pathname)try{j.pathname=decodeURI(j.pathname)}catch{}if(!0===a.removeDirectoryIndex&&(a.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(a.removeDirectoryIndex)&&a.removeDirectoryIndex.length>0){let n=j.pathname.split("/"),g=n[n.length-1];testParameter(g,a.removeDirectoryIndex)&&(n=n.slice(0,-1),j.pathname=n.slice(1).join("/")+"/")}if(j.hostname&&(j.hostname=j.hostname.replace(/\.$/,""),a.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(j.hostname)&&(j.hostname=j.hostname.replace(/^www\./,""))),Array.isArray(a.removeQueryParameters))for(let n of[...j.searchParams.keys()])testParameter(n,a.removeQueryParameters)&&j.searchParams.delete(n);if(!0===a.removeQueryParameters&&(j.search=""),a.sortQueryParameters){j.searchParams.sort();try{j.search=decodeURIComponent(j.search)}catch{}}a.removeTrailingSlash&&(j.pathname=j.pathname.replace(/\/$/,""));let z=n;return n=j.toString(),a.removeSingleSlash||"/"!==j.pathname||z.endsWith("/")||""!==j.hash||(n=n.replace(/\/$/,"")),(a.removeTrailingSlash||"/"===j.pathname)&&""===j.hash&&a.removeSingleSlash&&(n=n.replace(/\/$/,"")),g&&!a.normalizeProtocol&&(n=n.replace(/^http:\/\//,"//")),a.stripProtocol&&(n=n.replace(/^(?:https?:)?\/\//,"")),n}(n,a));let g=j.default(n);if(g.parse_failed){let n=g.href.match(/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/);n?(g.protocols=["ssh"],g.protocol="ssh",g.resource=n[2],g.host=n[2],g.user=n[1],g.pathname=`/${n[3]}`,g.parse_failed=!1):throwErr("URL parsing failed.")}return g};parseUrl.MAX_INPUT_LENGTH=2048,n.exports=parseUrl},6097:function(n){"use strict";n.exports=function(n,a){!0===a&&(a=0);var g="";if("string"==typeof n)try{g=new URL(n).protocol}catch(n){}else n&&n.constructor===URL&&(g=n.protocol);var v=g.split(/\:|\+/).filter(Boolean);return"number"==typeof a?v[a]:v}},2601:function(n){var a={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},g=Object.keys(a).join("|"),v=RegExp(g,"g"),j=RegExp(g,"");function matcher(n){return a[n]}var removeAccents=function(n){return n.replace(v,matcher)};n.exports=removeAccents,n.exports.has=function(n){return!!n.match(j)},n.exports.remove=removeAccents},5184:function(){},3158:function(n,a,g){"use strict";g.d(a,{R:function(){return j}});var v,j=((v=j||{}).Space=" ",v.Enter="Enter",v.Escape="Escape",v.Backspace="Backspace",v.Delete="Delete",v.ArrowLeft="ArrowLeft",v.ArrowUp="ArrowUp",v.ArrowRight="ArrowRight",v.ArrowDown="ArrowDown",v.Home="Home",v.End="End",v.PageUp="PageUp",v.PageDown="PageDown",v.Tab="Tab",v)},7964:function(n,a,g){"use strict";g.d(a,{z:function(){return o}});var v=g(959),j=g(2894);let o=function(n){let a=(0,j.E)(n);return v.useCallback((...n)=>a.current(...n),[a])}},2393:function(n,a,g){"use strict";g.d(a,{M:function(){return H}});var v,j=g(959),z=g(2750),B=g(8790),W=g(8947);let H=null!=(v=j.useId)?v:function(){let n=(0,W.H)(),[a,g]=j.useState(n?()=>z.O.nextId():null);return(0,B.e)(()=>{null===a&&g(z.O.nextId())},[a]),null!=a?""+a:void 0}},5340:function(n,a,g){"use strict";g.d(a,{t:function(){return f}});var v=g(959),j=g(8790);function f(){let n=(0,v.useRef)(!1);return(0,j.e)(()=>(n.current=!0,()=>{n.current=!1}),[]),n}},8790:function(n,a,g){"use strict";g.d(a,{e:function(){return l}});var v=g(959),j=g(2750);let l=(n,a)=>{j.O.isServer?(0,v.useEffect)(n,a):(0,v.useLayoutEffect)(n,a)}},2894:function(n,a,g){"use strict";g.d(a,{E:function(){return s}});var v=g(959),j=g(8790);function s(n){let a=(0,v.useRef)(n);return(0,j.e)(()=>{a.current=n},[n]),a}},3497:function(n,a,g){"use strict";g.d(a,{f:function(){return T}});var v=g(959),j=g(8790);function i(n){var a;if(n.type)return n.type;let g=null!=(a=n.as)?a:"button";if("string"==typeof g&&"button"===g.toLowerCase())return"button"}function T(n,a){let[g,z]=(0,v.useState)(()=>i(n));return(0,j.e)(()=>{z(i(n))},[n.type,n.as]),(0,j.e)(()=>{g||a.current&&a.current instanceof HTMLButtonElement&&!a.current.hasAttribute("type")&&z("button")},[g,a]),g}},8947:function(n,a,g){"use strict";g.d(a,{H:function(){return l}});var v,j=g(959),z=g(2750);function l(){let n;let a=(n="undefined"==typeof document,(0,(v||(v=g.t(j,2))).useSyncExternalStore)(()=>()=>{},()=>!1,()=>!n)),[B,W]=j.useState(z.O.isHandoffComplete);return B&&!1===z.O.isHandoffComplete&&W(!1),j.useEffect(()=>{!0!==B&&W(!0)},[B]),j.useEffect(()=>z.O.handoff(),[]),!a&&B}},1103:function(n,a,g){"use strict";g.d(a,{T:function(){return y}});var v=g(959),j=g(7964);let z=Symbol();function y(...n){let a=(0,v.useRef)(n);(0,v.useEffect)(()=>{a.current=n},[n]);let g=(0,j.z)(n=>{for(let g of a.current)null!=g&&("function"==typeof g?g(n):g.current=n)});return n.every(n=>null==n||(null==n?void 0:n[z]))?void 0:g}},5945:function(n,a,g){"use strict";g.d(a,{A:function(){return z},_:function(){return B}});var v,j=g(74),z=((v=z||{})[v.None=1]="None",v[v.Focusable=2]="Focusable",v[v.Hidden=4]="Hidden",v);let B=(0,j.yV)(function(n,a){var g;let{features:v=1,...z}=n,B={ref:a,"aria-hidden":(2&v)==2||(null!=(g=z["aria-hidden"])?g:void 0),style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(4&v)==4&&(2&v)!=2&&{display:"none"}}};return(0,j.sY)({ourProps:B,theirProps:z,slot:{},defaultTag:"div",name:"Hidden"})})},3518:function(n,a,g){"use strict";function t(...n){return Array.from(new Set(n.flatMap(n=>"string"==typeof n?n.split(" "):[]))).filter(Boolean).join(" ")}g.d(a,{A:function(){return t}})},8671:function(n,a,g){"use strict";g.d(a,{k:function(){return function o(){let n=[],a={addEventListener:(n,g,v,j)=>(n.addEventListener(g,v,j),a.add(()=>n.removeEventListener(g,v,j))),requestAnimationFrame(...n){let g=requestAnimationFrame(...n);return a.add(()=>cancelAnimationFrame(g))},nextFrame:(...n)=>a.requestAnimationFrame(()=>a.requestAnimationFrame(...n)),setTimeout(...n){let g=setTimeout(...n);return a.add(()=>clearTimeout(g))},microTask(...n){let g={current:!0};return(0,v.Y)(()=>{g.current&&n[0]()}),a.add(()=>{g.current=!1})},style(n,a,g){let v=n.style.getPropertyValue(a);return Object.assign(n.style,{[a]:g}),this.add(()=>{Object.assign(n.style,{[a]:v})})},group(n){let a=o();return n(a),this.add(()=>a.dispose())},add:a=>(n.push(a),()=>{let g=n.indexOf(a);if(g>=0)for(let a of n.splice(g,1))a()}),dispose(){for(let a of n.splice(0))a()}};return a}}});var v=g(2511)},2750:function(n,a,g){"use strict";g.d(a,{O:function(){return j}});var v=Object.defineProperty,d=(n,a,g)=>a in n?v(n,a,{enumerable:!0,configurable:!0,writable:!0,value:g}):n[a]=g,r=(n,a,g)=>(d(n,"symbol"!=typeof a?a+"":a,g),g);let j=new class{constructor(){r(this,"current",this.detect()),r(this,"handoffState","pending"),r(this,"currentId",0)}set(n){this.current!==n&&(this.handoffState="pending",this.currentId=0,this.current=n)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return"undefined"==typeof window||"undefined"==typeof document?"server":"client"}handoff(){"pending"===this.handoffState&&(this.handoffState="complete")}get isHandoffComplete(){return"complete"===this.handoffState}}},5747:function(n,a,g){"use strict";g.d(a,{EO:function(){return _},TO:function(){return en},fE:function(){return er},jA:function(){return O},sP:function(){return h},tJ:function(){return ei},wI:function(){return D},z2:function(){return I}});var v,j,z,B,W,H=g(8671),K=g(790),ee=g(1884);let et=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(n=>`${n}:not([tabindex='-1'])`).join(",");var en=((v=en||{})[v.First=1]="First",v[v.Previous=2]="Previous",v[v.Next=4]="Next",v[v.Last=8]="Last",v[v.WrapAround=16]="WrapAround",v[v.NoScroll=32]="NoScroll",v),er=((j=er||{})[j.Error=0]="Error",j[j.Overflow=1]="Overflow",j[j.Success=2]="Success",j[j.Underflow=3]="Underflow",j),eo=((z=eo||{})[z.Previous=-1]="Previous",z[z.Next=1]="Next",z);function f(n=document.body){return null==n?[]:Array.from(n.querySelectorAll(et)).sort((n,a)=>Math.sign((n.tabIndex||Number.MAX_SAFE_INTEGER)-(a.tabIndex||Number.MAX_SAFE_INTEGER)))}var ei=((B=ei||{})[B.Strict=0]="Strict",B[B.Loose=1]="Loose",B);function h(n,a=0){var g;return n!==(null==(g=(0,ee.r)(n))?void 0:g.body)&&(0,K.E)(a,{0:()=>n.matches(et),1(){let a=n;for(;null!==a;){if(a.matches(et))return!0;a=a.parentElement}return!1}})}function D(n){let a=(0,ee.r)(n);(0,H.k)().nextFrame(()=>{a&&!h(a.activeElement,0)&&(null==n||n.focus({preventScroll:!0}))})}var es=((W=es||{})[W.Keyboard=0]="Keyboard",W[W.Mouse=1]="Mouse",W);function I(n,a=n=>n){return n.slice().sort((n,g)=>{let v=a(n),j=a(g);if(null===v||null===j)return 0;let z=v.compareDocumentPosition(j);return z&Node.DOCUMENT_POSITION_FOLLOWING?-1:z&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function _(n,a){return O(f(),a,{relativeTo:n})}function O(n,a,{sorted:g=!0,relativeTo:v=null,skipElements:j=[]}={}){var z,B,W;let H=Array.isArray(n)?n.length>0?n[0].ownerDocument:document:n.ownerDocument,K=Array.isArray(n)?g?I(n):n:f(n);j.length>0&&K.length>1&&(K=K.filter(n=>!j.includes(n))),v=null!=v?v:H.activeElement;let ee=(()=>{if(5&a)return 1;if(10&a)return -1;throw Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),et=(()=>{if(1&a)return 0;if(2&a)return Math.max(0,K.indexOf(v))-1;if(4&a)return Math.max(0,K.indexOf(v))+1;if(8&a)return K.length-1;throw Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),en=32&a?{preventScroll:!0}:{},er=0,eo=K.length,ei;do{if(er>=eo||er+eo<=0)return 0;let n=et+er;if(16&a)n=(n+eo)%eo;else{if(n<0)return 3;if(n>=eo)return 1}null==(ei=K[n])||ei.focus(en),er+=ee}while(ei!==H.activeElement);return 6&a&&null!=(W=null==(B=null==(z=ei)?void 0:z.matches)?void 0:B.call(z,"textarea,input"))&&W&&ei.select(),2}"undefined"!=typeof window&&"undefined"!=typeof document&&(document.addEventListener("keydown",n=>{n.metaKey||n.altKey||n.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")},!0),document.addEventListener("click",n=>{1===n.detail?delete document.documentElement.dataset.headlessuiFocusVisible:0===n.detail&&(document.documentElement.dataset.headlessuiFocusVisible="")},!0))},790:function(n,a,g){"use strict";function u(n,a,...g){if(n in a){let v=a[n];return"function"==typeof v?v(...g):v}let v=Error(`Tried to handle "${n}" but there is no handler defined. Only defined handlers are: ${Object.keys(a).map(n=>`"${n}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(v,u),v}g.d(a,{E:function(){return u}})},2511:function(n,a,g){"use strict";function t(n){"function"==typeof queueMicrotask?queueMicrotask(n):Promise.resolve().then(n).catch(n=>setTimeout(()=>{throw n}))}g.d(a,{Y:function(){return t}})},1884:function(n,a,g){"use strict";g.d(a,{r:function(){return o}});var v=g(2750);function o(n){return v.O.isServer?null:n instanceof Node?n.ownerDocument:null!=n&&n.hasOwnProperty("current")&&n.current instanceof Node?n.current.ownerDocument:document}},74:function(n,a,g){"use strict";g.d(a,{AN:function(){return H},l4:function(){return K},oA:function(){return x},sY:function(){return C},yV:function(){return U}});var v,j,z=g(959),B=g(3518),W=g(790),H=((v=H||{})[v.None=0]="None",v[v.RenderStrategy=1]="RenderStrategy",v[v.Static=2]="Static",v),K=((j=K||{})[j.Unmount=0]="Unmount",j[j.Hidden=1]="Hidden",j);function C({ourProps:n,theirProps:a,slot:g,defaultTag:v,features:j,visible:z=!0,name:B,mergeRefs:H}){H=null!=H?H:k;let K=R(a,n);if(z)return m(K,g,v,B,H);let ee=null!=j?j:0;if(2&ee){let{static:n=!1,...a}=K;if(n)return m(a,g,v,B,H)}if(1&ee){let{unmount:n=!0,...a}=K;return(0,W.E)(n?0:1,{0:()=>null,1:()=>m({...a,hidden:!0,style:{display:"none"}},g,v,B,H)})}return m(K,g,v,B,H)}function m(n,a={},g,v,j){let{as:W=g,children:H,refName:K="ref",...ee}=F(n,["unmount","static"]),et=void 0!==n.ref?{[K]:n.ref}:{},en="function"==typeof H?H(a):H;"className"in ee&&ee.className&&"function"==typeof ee.className&&(ee.className=ee.className(a));let er={};if(a){let n=!1,g=[];for(let[v,j]of Object.entries(a))"boolean"==typeof j&&(n=!0),!0===j&&g.push(v);n&&(er["data-headlessui-state"]=g.join(" "))}if(W===z.Fragment&&Object.keys(x(ee)).length>0){if(!(0,z.isValidElement)(en)||Array.isArray(en)&&en.length>1)throw Error(['Passing props on "Fragment"!',"",`The current component <${v} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(ee).map(n=>` - ${n}`).join(` + `}),j]})]})}var ry={link:(0,eC.Z)("nx-flex nx-max-w-[50%] nx-items-center nx-gap-1 nx-py-4 nx-text-base nx-font-medium nx-text-gray-600 nx-transition-colors [word-break:break-word] hover:nx-text-primary-600 dark:nx-text-gray-300 md:nx-text-lg"),icon:(0,eC.Z)("nx-inline nx-h-5 nx-shrink-0")},NavLinks=({flatDirectories:n,currentIndex:a})=>{let g=useConfig(),v=g.navigation,j="boolean"==typeof v?{prev:v,next:v}:v,z=j.prev&&n[a-1],B=j.next&&n[a+1];return(z&&!z.isUnderCurrentDocsTree&&(z=!1),B&&!B.isUnderCurrentDocsTree&&(B=!1),z||B)?(0,e_.jsxs)("div",{className:(0,eC.Z)("nx-mb-8 nx-flex nx-items-center nx-border-t nx-pt-8 dark:nx-border-neutral-800","contrast-more:nx-border-neutral-400 dark:contrast-more:nx-border-neutral-400","print:nx-hidden"),children:[z&&(0,e_.jsxs)(rf,{href:z.route,title:z.title,className:(0,eC.Z)(ry.link,"ltr:nx-pr-4 rtl:nx-pl-4"),children:[(0,e_.jsx)(eO.LZ,{className:(0,eC.Z)(ry.icon,"ltr:nx-rotate-180")}),z.title]}),B&&(0,e_.jsxs)(rf,{href:B.route,title:B.title,className:(0,eC.Z)(ry.link,"ltr:nx-ml-auto ltr:nx-pl-4 ltr:nx-text-right rtl:nx-mr-auto rtl:nx-pr-4 rtl:nx-text-left"),children:[B.title,(0,e_.jsx)(eO.LZ,{className:(0,eC.Z)(ry.icon,"rtl:nx-rotate-180")})]})]}):null},rb={link:(0,eC.Z)("nx-text-sm contrast-more:nx-text-gray-700 contrast-more:dark:nx-text-gray-100"),active:(0,eC.Z)("nx-font-medium nx-subpixel-antialiased"),inactive:(0,eC.Z)("nx-text-gray-600 hover:nx-text-gray-800 dark:nx-text-gray-400 dark:hover:nx-text-gray-200")};function NavbarMenu({className:n,menu:a,children:g}){let{items:v}=a,j=Object.fromEntries((a.children||[]).map(n=>[n.name,n]));return(0,e_.jsx)("div",{className:"nx-relative nx-inline-block",children:(0,e_.jsxs)(nX,{children:[(0,e_.jsx)(nX.Button,{className:(0,eC.Z)(n,"-nx-ml-2 nx-hidden nx-items-center nx-whitespace-nowrap nx-rounded nx-p-2 md:nx-inline-flex",rb.inactive),children:g}),(0,e_.jsx)(ny,{leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,e_.jsx)(nX.Items,{className:"nx-absolute nx-right-0 nx-z-20 nx-mt-1 nx-max-h-64 nx-min-w-full nx-overflow-auto nx-rounded-md nx-ring-1 nx-ring-black/5 nx-bg-white nx-py-1 nx-text-sm nx-shadow-lg dark:nx-ring-white/20 dark:nx-bg-neutral-800",tabIndex:0,children:Object.entries(v||{}).map(([n,g])=>{var v;return(0,e_.jsx)(nX.Item,{children:(0,e_.jsx)(rf,{href:g.href||(null==(v=j[n])?void 0:v.route)||a.route+"/"+n,className:(0,eC.Z)("nx-relative nx-hidden nx-w-full nx-select-none nx-whitespace-nowrap nx-text-gray-600 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100 md:nx-inline-block","nx-py-1.5 nx-transition-colors ltr:nx-pl-3 ltr:nx-pr-9 rtl:nx-pr-3 rtl:nx-pl-9"),newWindow:g.newWindow,children:g.title||n})},n)})})})]})})}var r_=Object.create(null),rw=(0,ek.createContext)(null),rk=(0,ek.createContext)(null),rC=(0,ek.createContext)(0),rE=(0,ek.memo)(function(n){let a=(0,ek.useContext)(rC);return(0,e_.jsx)(rC.Provider,{value:a+1,children:(0,e_.jsx)(FolderImpl,__spreadValues({},n))})}),rT={link:(0,eC.Z)("nx-flex nx-rounded nx-px-2 nx-py-1.5 nx-text-sm nx-transition-colors [word-break:break-word]","nx-cursor-pointer [-webkit-tap-highlight-color:transparent] [-webkit-touch-callout:none] contrast-more:nx-border"),inactive:(0,eC.Z)("nx-text-gray-500 hover:nx-bg-gray-100 hover:nx-text-gray-900","dark:nx-text-neutral-400 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50","contrast-more:nx-text-gray-900 contrast-more:dark:nx-text-gray-50","contrast-more:nx-border-transparent contrast-more:hover:nx-border-gray-900 contrast-more:dark:hover:nx-border-gray-50"),active:(0,eC.Z)("nx-bg-primary-100 nx-font-semibold nx-text-primary-800 dark:nx-bg-primary-400/10 dark:nx-text-primary-600","contrast-more:nx-border-primary-500 contrast-more:dark:nx-border-primary-500"),list:(0,eC.Z)("nx-flex nx-flex-col nx-gap-1"),border:(0,eC.Z)("nx-relative before:nx-absolute before:nx-inset-y-1",'before:nx-w-px before:nx-bg-gray-200 before:nx-content-[""] dark:before:nx-bg-neutral-800',"ltr:nx-pl-3 ltr:before:nx-left-0 rtl:nx-pr-3 rtl:before:nx-right-0")};function FolderImpl({item:n,anchors:a}){let g=useFSRoute(),[v]=g.split("#"),j=[v,v+"/"].includes(n.route+"/"),z=j||v.startsWith(n.route+"/"),B=(0,ek.useContext)(rw),W=!!(null==B?void 0:B.startsWith(n.route+"/")),H=(0,ek.useContext)(rC),{setMenu:K}=useMenu(),ee=useConfig(),{theme:et}=n,en=void 0===r_[n.route]?j||z||W||(et&&"collapsed"in et?!et.collapsed:H{ee.sidebar.autoCollapse?z&&W?r_[n.route]=!0:delete r_[n.route]:(z||W)&&(r_[n.route]=!0)},[z,W,n.route,ee.sidebar.autoCollapse]),"menu"===n.type){let a=Object.fromEntries((n.children||[]).map(n=>[n.name,n]));n.children=Object.entries(n.items||{}).map(([g,v])=>{let j=a[g]||__spreadProps(__spreadValues({name:g},"locale"in n&&{locale:n.locale}),{route:n.route+"/"+g});return __spreadValues(__spreadValues({},j),v)})}let eo="withIndexPage"in n&&n.withIndexPage,ei=eo?rf:"button";return(0,e_.jsxs)("li",{className:(0,eC.Z)({open:en,active:j}),children:[(0,e_.jsxs)(ei,{href:eo?n.route:void 0,className:(0,eC.Z)("nx-items-center nx-justify-between nx-gap-2",!eo&&"nx-text-left nx-w-full",rT.link,j?rT.active:rT.inactive),onClick:a=>{let g=["svg","path"].includes(a.target.tagName.toLowerCase());if(g&&a.preventDefault(),eo){j||g?r_[n.route]=!en:(r_[n.route]=!0,K(!1)),er({});return}j||(r_[n.route]=!en,er({}))},children:[renderComponent(ee.sidebar.titleComponent,{title:n.title,type:n.type,route:n.route}),(0,e_.jsx)(eO.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5 hover:nx-bg-gray-800/5 dark:hover:nx-bg-gray-100/5",pathClassName:(0,eC.Z)("nx-origin-center nx-transition-transform rtl:-nx-rotate-180",en&&"ltr:nx-rotate-90 rtl:nx-rotate-[-270deg]")})]}),(0,e_.jsx)(Collapse,{className:"ltr:nx-pr-0 rtl:nx-pl-0 nx-pt-1",isOpen:en,children:Array.isArray(n.children)?(0,e_.jsx)(Menu2,{className:(0,eC.Z)(rT.border,"ltr:nx-ml-3 rtl:nx-mr-3"),directories:n.children,base:n.route,anchors:a}):null})]})}function Separator({title:n}){let a=useConfig();return(0,e_.jsx)("li",{className:(0,eC.Z)("[word-break:break-word]",n?"nx-mt-5 nx-mb-2 nx-px-2 nx-py-1.5 nx-text-sm nx-font-semibold nx-text-gray-900 first:nx-mt-0 dark:nx-text-gray-100":"nx-my-4"),children:n?renderComponent(a.sidebar.titleComponent,{title:n,type:"separator",route:""}):(0,e_.jsx)("hr",{className:"nx-mx-2 nx-border-t nx-border-gray-200 dark:nx-border-primary-100/10"})})}function File({item:n,anchors:a}){let g=useFSRoute(),v=(0,ek.useContext)(rk),j=n.route&&[g,g+"/"].includes(n.route+"/"),z=useActiveAnchor(),{setMenu:B}=useMenu(),W=useConfig();return"separator"===n.type?(0,e_.jsx)(Separator,{title:n.title}):(0,e_.jsxs)("li",{className:(0,eC.Z)(rT.list,{active:j}),children:[(0,e_.jsx)(rf,{href:n.href||n.route,newWindow:n.newWindow,className:(0,eC.Z)(rT.link,j?rT.active:rT.inactive),onClick:()=>{B(!1)},onFocus:()=>{null==v||v(n.route)},onBlur:()=>{null==v||v(null)},children:renderComponent(W.sidebar.titleComponent,{title:n.title,type:n.type,route:n.route})}),j&&a.length>0&&(0,e_.jsx)("ul",{className:(0,eC.Z)(rT.list,rT.border,"ltr:nx-ml-3 rtl:nx-mr-3"),children:a.map(({id:n,value:a})=>{var g;return(0,e_.jsx)("li",{children:(0,e_.jsx)("a",{href:`#${n}`,className:(0,eC.Z)(rT.link,'nx-flex nx-gap-2 before:nx-opacity-25 before:nx-content-["#"]',(null==(g=z[n])?void 0:g.isActive)?rT.active:rT.inactive),onClick:()=>{B(!1)},children:a})},n)})})]})}function Menu2({directories:n,anchors:a,className:g,onlyCurrentDocs:v}){return(0,e_.jsx)("ul",{className:(0,eC.Z)(rT.list,g),children:n.map(n=>!v||n.isUnderCurrentDocsTree?"menu"===n.type||n.children&&(n.children.length||!n.withIndexPage)?(0,e_.jsx)(rE,{item:n,anchors:a},n.name):(0,e_.jsx)(File,{item:n,anchors:a},n.name):null)})}function Sidebar({docsDirectories:n,flatDirectories:a,fullDirectories:g,asPopover:v=!1,headings:j,includePlaceholder:z}){let B=useConfig(),{menu:W,setMenu:H}=useMenu(),K=(0,ew.useRouter)(),[ee,et]=(0,ek.useState)(null),[en,er]=(0,ek.useState)(!0),[eo,ei]=(0,ek.useState)(!1),es=(0,ek.useMemo)(()=>j.filter(n=>2===n.depth),[j]),el=(0,ek.useRef)(null),eu=(0,ek.useRef)(null),ed=useMounted();(0,ek.useEffect)(()=>{W?document.body.classList.add("nx-overflow-hidden","md:nx-overflow-auto"):document.body.classList.remove("nx-overflow-hidden","md:nx-overflow-auto")},[W]),(0,ek.useEffect)(()=>{var n;let a=null==(n=el.current)?void 0:n.querySelector("li.active");if(a&&(window.innerWidth>767||W)){let scroll=()=>{dist_e(a,{block:"center",inline:"center",scrollMode:"always",boundary:eu.current})};W?setTimeout(scroll,300):scroll()}},[W]),(0,ek.useEffect)(()=>{H(!1)},[K.asPath,H]);let ec=B.i18n.length>0,ep=B.darkMode||ec||B.sidebar.toggleButton;return(0,e_.jsxs)(e_.Fragment,{children:[z&&v?(0,e_.jsx)("div",{className:"max-xl:nx-hidden nx-h-0 nx-w-64 nx-shrink-0"}):null,(0,e_.jsx)("div",{className:(0,eC.Z)("motion-reduce:nx-transition-none [transition:background-color_1.5s_ease]",W?"nx-fixed nx-inset-0 nx-z-10 nx-bg-black/80 dark:nx-bg-black/60":"nx-bg-transparent"),onClick:()=>H(!1)}),(0,e_.jsxs)("aside",{className:(0,eC.Z)("nextra-sidebar-container nx-flex nx-flex-col","md:nx-top-16 md:nx-shrink-0 motion-reduce:nx-transform-none","nx-transform-gpu nx-transition-all nx-ease-in-out","print:nx-hidden",en?"md:nx-w-64":"md:nx-w-20",v?"md:nx-hidden":"md:nx-sticky md:nx-self-start",W?"max-md:[transform:translate3d(0,0,0)]":"max-md:[transform:translate3d(0,-100%,0)]"),ref:eu,children:[(0,e_.jsx)("div",{className:"nx-px-4 nx-pt-4 md:nx-hidden",children:renderComponent(B.search.component,{directories:a})}),(0,e_.jsx)(rw.Provider,{value:ee,children:(0,e_.jsx)(rk.Provider,{value:n=>{et(n)},children:(0,e_.jsxs)("div",{className:(0,eC.Z)("nx-overflow-y-auto nx-overflow-x-hidden","nx-p-4 nx-grow md:nx-h-[calc(100vh-var(--nextra-navbar-height)-var(--nextra-menu-height))]",en?"nextra-scrollbar":"no-scrollbar"),ref:el,children:[(!v||!en)&&(0,e_.jsx)(Collapse,{isOpen:en,horizontal:!0,children:(0,e_.jsx)(Menu2,{className:"nextra-menu-desktop max-md:nx-hidden",directories:n,anchors:B.toc.float?[]:es,onlyCurrentDocs:!0})}),ed&&window.innerWidth<768&&(0,e_.jsx)(Menu2,{className:"nextra-menu-mobile md:nx-hidden",directories:g,anchors:es})]})})}),ep&&(0,e_.jsxs)("div",{className:(0,eC.Z)("nx-sticky nx-bottom-0","nx-bg-white dark:nx-bg-dark","nx-mx-4 nx-py-4 nx-shadow-[0_-12px_16px_#fff]","nx-flex nx-items-center nx-gap-2","dark:nx-border-neutral-800 dark:nx-shadow-[0_-12px_16px_#111]","contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-shadow-none",en?(0,eC.Z)(ec&&"nx-justify-end","nx-border-t"):"nx-py-4 nx-flex-wrap nx-justify-center"),"data-toggle-animation":eo?en?"show":"hide":"off",children:[(0,e_.jsx)(LocaleSwitch,{lite:!en,className:(0,eC.Z)(en?"nx-grow":"max-md:nx-grow")}),B.darkMode&&(0,e_.jsx)("div",{className:en&&!ec?"nx-grow nx-flex nx-flex-col":"",children:renderComponent(B.themeSwitch.component,{lite:!en||ec})}),B.sidebar.toggleButton&&(0,e_.jsx)("button",{title:en?"Hide sidebar":"Show sidebar",className:"max-md:nx-hidden nx-h-7 nx-rounded-md nx-transition-colors nx-text-gray-600 dark:nx-text-gray-400 nx-px-2 hover:nx-bg-gray-100 hover:nx-text-gray-900 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50",onClick:()=>{er(!en),ei(!0)},children:(0,e_.jsx)(eO.Qq,{isOpen:en})})]})]})]})}var rO="reach-skip-nav";(0,ek.forwardRef)(function(n,a){var{className:g,id:v,label:j="Skip to content",styled:z}=n,B=__objRest(n,["className","id","label","styled"]);let W=void 0===g?z?(0,eC.Z)("nx-sr-only","focus:nx-not-sr-only focus:nx-fixed focus:nx-z-50 focus:nx-m-3 focus:nx-ml-4 focus:nx-h-[calc(var(--nextra-navbar-height)-1.5rem)] focus:nx-rounded-lg focus:nx-border focus:nx-px-3 focus:nx-py-2 focus:nx-align-middle focus:nx-text-sm focus:nx-font-bold","focus:nx-text-gray-900 focus:dark:nx-text-gray-100","focus:nx-bg-white focus:dark:nx-bg-neutral-900","focus:nx-border-neutral-400 focus:dark:nx-border-neutral-800"):"":g;return(0,e_.jsx)("a",__spreadProps(__spreadValues({},B),{ref:a,href:`#${v||rO}`,className:W,"data-reach-skip-link":"",children:j}))}).displayName="SkipNavLink";var rj=(0,ek.forwardRef)(function(n,a){var{id:g}=n,v=__objRest(n,["id"]);return(0,e_.jsx)("div",__spreadProps(__spreadValues({},v),{ref:a,id:g||rO}))});rj.displayName="SkipNavContent";var rS=tc.strictObject({light:tc.string(),dark:tc.string(),system:tc.string()});function scrollToTop(){window.scrollTo({top:0,behavior:"smooth"})}function BackToTop({className:n}){let a=(0,ek.useRef)(null);return(0,ek.useEffect)(()=>{function toggleVisible(){var n;let{scrollTop:g}=document.documentElement;null==(n=a.current)||n.classList.toggle("nx-opacity-0",g<300)}return window.addEventListener("scroll",toggleVisible),()=>{window.removeEventListener("scroll",toggleVisible)}},[]),(0,e_.jsxs)("button",{ref:a,"aria-hidden":"true",onClick:scrollToTop,className:(0,eC.Z)("nx-flex nx-items-center nx-gap-1.5 nx-transition nx-opacity-0",n),children:["Scroll to top",(0,e_.jsx)(eO.LZ,{className:"-nx-rotate-90 nx-w-3.5 nx-h-3.5 nx-border nx-rounded-full nx-border-current"})]})}var rI=(0,eC.Z)("nx-text-xs nx-font-medium nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100","contrast-more:nx-text-gray-800 contrast-more:dark:nx-text-gray-50");function MatchSorterSearch({className:n,directories:a}){let[g,v]=(0,ek.useState)(""),j=(0,ek.useMemo)(()=>g?matchSorter(a,g,{keys:["title"]}).map(({route:n,title:a})=>({id:n+a,route:n,children:(0,e_.jsx)(rh,{value:a,match:g})})):[],[g,a]);return(0,e_.jsx)(Search,{value:g,onChange:v,className:n,overlayClassName:"nx-w-full",results:j})}var rP="en-US",rN="undefined"!=typeof window;function isFunction(n){return"function"==typeof n}var rZ=tc.array(tc.strictObject({direction:tc.enum(["ltr","rtl"]).optional(),locale:tc.string(),text:tc.string()})),rR=[function(n){return null==n||"string"==typeof n||isFunction(n)||(0,ek.isValidElement)(n)},{message:"Must be React.ReactNode or React.FC"}],rM=[isFunction,{message:"Must be React.FC"}];tc.strictObject({banner:tc.strictObject({dismissible:tc.boolean(),key:tc.string(),text:tc.custom(...rR).optional()}),chat:tc.strictObject({icon:tc.custom(...rR),link:tc.string().startsWith("https://").optional()}),components:tc.record(tc.custom(...rM)).optional(),darkMode:tc.boolean(),direction:tc.enum(["ltr","rtl"]),docsRepositoryBase:tc.string().startsWith("https://"),editLink:tc.strictObject({component:tc.custom(...rM),text:tc.custom(...rR)}),faviconGlyph:tc.string().optional(),feedback:tc.strictObject({content:tc.custom(...rR),labels:tc.string(),useLink:tc.function().returns(tc.string())}),footer:tc.strictObject({component:tc.custom(...rR),text:tc.custom(...rR)}),gitTimestamp:tc.custom(...rR),head:tc.custom(...rR),i18n:rZ,logo:tc.custom(...rR),logoLink:tc.boolean().or(tc.string()),main:tc.custom(...rM).optional(),navbar:tc.strictObject({component:tc.custom(...rR),extraContent:tc.custom(...rR).optional()}),navigation:tc.boolean().or(tc.strictObject({next:tc.boolean(),prev:tc.boolean()})),nextThemes:tc.strictObject({defaultTheme:tc.string(),forcedTheme:tc.string().optional(),storageKey:tc.string()}),notFound:tc.strictObject({content:tc.custom(...rR),labels:tc.string()}),primaryHue:tc.number().or(tc.strictObject({dark:tc.number(),light:tc.number()})),primarySaturation:tc.number().or(tc.strictObject({dark:tc.number(),light:tc.number()})),project:tc.strictObject({icon:tc.custom(...rR),link:tc.string().startsWith("https://").optional()}),search:tc.strictObject({component:tc.custom(...rR),emptyResult:tc.custom(...rR),error:tc.string().or(tc.function().returns(tc.string())),loading:tc.custom(...rR),placeholder:tc.string().or(tc.function().returns(tc.string()))}),serverSideError:tc.strictObject({content:tc.custom(...rR),labels:tc.string()}),sidebar:tc.strictObject({autoCollapse:tc.boolean().optional(),defaultMenuCollapseLevel:tc.number().min(1).int(),titleComponent:tc.custom(...rR),toggleButton:tc.boolean()}),themeSwitch:tc.strictObject({component:tc.custom(...rR),useOptions:rS.or(tc.function().returns(rS))}),toc:tc.strictObject({backToTop:tc.boolean(),component:tc.custom(...rR),extraContent:tc.custom(...rR),float:tc.boolean(),headingComponent:tc.custom(...rM).optional(),title:tc.custom(...rR)}),useNextSeoProps:tc.custom(isFunction)}).deepPartial().extend({i18n:rZ.optional()});var rA={"en-US":"Loading",fr:"Сhargement",ru:"Загрузка","zh-CN":"正在加载"},rL={"en-US":"Search documentation",fr:"Rechercher documents",ru:"Поиск документации","zh-CN":"搜索文档"},rD={banner:{dismissible:!0,key:"nextra-banner"},chat:{icon:(0,e_.jsxs)(e_.Fragment,{children:[(0,e_.jsx)(eO.D7,{}),(0,e_.jsx)("span",{className:"nx-sr-only",children:"Discord"})]})},darkMode:!0,direction:"ltr",docsRepositoryBase:"https://github.com/shuding/nextra",editLink:{component:function({className:n,filePath:a,children:g}){let v=function(n=""){let a=useConfig(),g=tI()(a.docsRepositoryBase||"");if(!g)throw Error("Invalid `docsRepositoryBase` URL!");return`${g.href}/${n}`}(a);return v?(0,e_.jsx)(rf,{className:n,href:v,children:g}):null},text:"Edit this page"},feedback:{content:"Question? Give us feedback →",labels:"feedback",useLink(){let n=useConfig();return getGitIssueUrl({labels:n.feedback.labels,repository:n.docsRepositoryBase,title:`Feedback for \u201C${n.title}\u201D`})}},footer:{component:function({menu:n}){let a=useConfig();return(0,e_.jsxs)("footer",{className:"nx-bg-gray-100 nx-pb-[env(safe-area-inset-bottom)] dark:nx-bg-neutral-900 print:nx-bg-transparent",children:[(0,e_.jsxs)("div",{className:(0,eC.Z)("nx-mx-auto nx-flex nx-max-w-[90rem] nx-gap-2 nx-py-2 nx-px-4",n&&(a.i18n.length>0||a.darkMode)?"nx-flex":"nx-hidden"),children:[(0,e_.jsx)(LocaleSwitch,{}),a.darkMode&&renderComponent(a.themeSwitch.component)]}),(0,e_.jsx)("hr",{className:"dark:nx-border-neutral-800"}),(0,e_.jsx)("div",{className:(0,eC.Z)("nx-mx-auto nx-flex nx-max-w-[90rem] nx-justify-center nx-py-12 nx-text-gray-600 dark:nx-text-gray-400 md:nx-justify-start","nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]"),children:renderComponent(a.footer.text)})]})},text:`MIT ${new Date().getFullYear()} \xa9 Nextra.`},gitTimestamp:function({timestamp:n}){let{locale:a=rP}=(0,ew.useRouter)();return(0,e_.jsxs)(e_.Fragment,{children:["Last updated on"," ",(0,e_.jsx)("time",{dateTime:n.toISOString(),children:n.toLocaleDateString(a,{day:"numeric",month:"long",year:"numeric"})})]})},head:(0,e_.jsxs)(e_.Fragment,{children:[(0,e_.jsx)("meta",{name:"msapplication-TileColor",content:"#fff"}),(0,e_.jsx)("meta",{httpEquiv:"Content-Language",content:"en"}),(0,e_.jsx)("meta",{name:"description",content:"Nextra: the next docs builder"}),(0,e_.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,e_.jsx)("meta",{name:"twitter:site",content:"@shuding_"}),(0,e_.jsx)("meta",{property:"og:title",content:"Nextra: the next docs builder"}),(0,e_.jsx)("meta",{property:"og:description",content:"Nextra: the next docs builder"}),(0,e_.jsx)("meta",{name:"apple-mobile-web-app-title",content:"Nextra"})]}),i18n:[],logo:(0,e_.jsxs)(e_.Fragment,{children:[(0,e_.jsx)("span",{className:"nx-font-extrabold",children:"Nextra"}),(0,e_.jsx)("span",{className:"nx-ml-2 nx-hidden nx-font-normal nx-text-gray-600 md:nx-inline",children:"The Next Docs Builder"})]}),logoLink:!0,navbar:{component:function({flatDirectories:n,items:a}){let g=useConfig(),v=useFSRoute(),{menu:j,setMenu:z}=useMenu();return(0,e_.jsxs)("div",{className:"nextra-nav-container nx-sticky nx-top-0 nx-z-20 nx-w-full nx-bg-transparent print:nx-hidden",children:[(0,e_.jsx)("div",{className:(0,eC.Z)("nextra-nav-container-blur","nx-pointer-events-none nx-absolute nx-z-[-1] nx-h-full nx-w-full nx-bg-white dark:nx-bg-dark","nx-shadow-[0_2px_4px_rgba(0,0,0,.02),0_1px_0_rgba(0,0,0,.06)] dark:nx-shadow-[0_-1px_0_rgba(255,255,255,.1)_inset]","contrast-more:nx-shadow-[0_0_0_1px_#000] contrast-more:dark:nx-shadow-[0_0_0_1px_#fff]")}),(0,e_.jsxs)("nav",{className:"nx-mx-auto nx-flex nx-h-[var(--nextra-navbar-height)] nx-max-w-[90rem] nx-items-center nx-justify-end nx-gap-2 nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]",children:[g.logoLink?(0,e_.jsx)(rf,{href:"string"==typeof g.logoLink?g.logoLink:"/",className:"nx-flex nx-items-center hover:nx-opacity-75 ltr:nx-mr-auto rtl:nx-ml-auto",children:renderComponent(g.logo)}):(0,e_.jsx)("div",{className:"nx-flex nx-items-center ltr:nx-mr-auto rtl:nx-ml-auto",children:renderComponent(g.logo)}),a.map(n=>{if("hidden"===n.display)return null;if("menu"===n.type)return(0,e_.jsxs)(NavbarMenu,{className:(0,eC.Z)(rb.link,"nx-flex nx-gap-1",rb.inactive),menu:n,children:[n.title,(0,e_.jsx)(eO.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5",pathClassName:"nx-origin-center nx-transition-transform nx-rotate-90"})]},n.title);let a=n.href||n.route||"#";n.children&&(a=(n.withIndexPage?n.route:n.firstChildRoute)||a);let g=n.route===v||v.startsWith(n.route+"/");return(0,e_.jsxs)(rf,{href:a,className:(0,eC.Z)(rb.link,"nx-relative -nx-ml-2 nx-hidden nx-whitespace-nowrap nx-p-2 md:nx-inline-block",!g||n.newWindow?rb.inactive:rb.active),newWindow:n.newWindow,"aria-current":!n.newWindow&&g,children:[(0,e_.jsx)("span",{className:"nx-absolute nx-inset-x-0 nx-text-center",children:n.title}),(0,e_.jsx)("span",{className:"nx-invisible nx-font-medium",children:n.title})]},a)}),renderComponent(g.search.component,{directories:n,className:"nx-hidden md:nx-inline-block mx-min-w-[200px]"}),g.project.link?(0,e_.jsx)(rf,{className:"nx-p-2 nx-text-current",href:g.project.link,newWindow:!0,children:renderComponent(g.project.icon)}):null,g.chat.link?(0,e_.jsx)(rf,{className:"nx-p-2 nx-text-current",href:g.chat.link,newWindow:!0,children:renderComponent(g.chat.icon)}):null,renderComponent(g.navbar.extraContent),(0,e_.jsx)("button",{type:"button","aria-label":"Menu",className:"nextra-hamburger -nx-mr-2 nx-rounded nx-p-2 active:nx-bg-gray-400/20 md:nx-hidden",onClick:()=>z(!j),children:(0,e_.jsx)(eO.Oq,{className:(0,eC.Z)({open:j})})})]})]})}},navigation:!0,nextThemes:{defaultTheme:"system",storageKey:"theme"},notFound:{content:"Submit an issue about broken link →",labels:"bug"},primaryHue:{dark:204,light:212},primarySaturation:{dark:100,light:100},project:{icon:(0,e_.jsxs)(e_.Fragment,{children:[(0,e_.jsx)(eO.fy,{}),(0,e_.jsx)("span",{className:"nx-sr-only",children:"GitHub"})]})},search:{component:function({className:n,directories:a}){let g=useConfig();return g.flexsearch?(0,e_.jsx)(Flexsearch,{className:n}):(0,e_.jsx)(MatchSorterSearch,{className:n,directories:a})},emptyResult:(0,e_.jsx)("span",{className:"nx-block nx-select-none nx-p-8 nx-text-center nx-text-sm nx-text-gray-400",children:"No results found."}),error:"Failed to load search index.",loading:function(){let{locale:n,defaultLocale:a=rP}=(0,ew.useRouter)(),g=n&&rA[n]||rA[a];return(0,e_.jsxs)(e_.Fragment,{children:[g,"…"]})},placeholder:function(){let{locale:n,defaultLocale:a=rP}=(0,ew.useRouter)(),g=n&&rL[n]||rL[a];return`${g}\u2026`}},serverSideError:{content:"Submit an issue about error in url →",labels:"bug"},sidebar:{defaultMenuCollapseLevel:2,titleComponent:({title:n})=>(0,e_.jsx)(e_.Fragment,{children:n}),toggleButton:!1},themeSwitch:{component:function({lite:n,className:a}){let{setTheme:g,resolvedTheme:v,theme:j=""}=y(),z=useMounted(),B=useConfig().themeSwitch,W=z&&"dark"===v?eO.kL:eO.NW,H="function"==typeof B.useOptions?B.useOptions():B.useOptions;return(0,e_.jsx)(Select,{className:a,title:"Change theme",options:[{key:"light",name:H.light},{key:"dark",name:H.dark},{key:"system",name:H.system}],onChange:n=>{g(n.key)},selected:{key:j,name:(0,e_.jsxs)("div",{className:"nx-flex nx-items-center nx-gap-2 nx-capitalize",children:[(0,e_.jsx)(W,{}),(0,e_.jsx)("span",{className:n?"md:nx-hidden":"",children:z?H[j]:H.light})]})}})},useOptions(){let{locale:n}=(0,ew.useRouter)();return"zh-CN"===n?{dark:"深色主题",light:"浅色主题",system:"系统默认"}:{dark:"Dark",light:"Light",system:"System"}}},toc:{backToTop:!1,component:function({headings:n,filePath:a}){var g;let v=useActiveAnchor(),j=useConfig(),z=(0,ek.useRef)(null),B=(0,ek.useMemo)(()=>n.filter(n=>n.depth>1),[n]),W=B.length>0,H=!!(j.feedback.content||j.editLink.component||j.toc.extraContent),K=null==(g=Object.entries(v).find(([,{isActive:n}])=>n))?void 0:g[0];return(0,ek.useEffect)(()=>{var n;if(!K)return;let a=null==(n=z.current)?void 0:n.querySelector(`li > a[href="#${K}"]`);a&&dist_e(a,{behavior:"smooth",block:"center",inline:"center",scrollMode:"always",boundary:z.current})},[K]),(0,e_.jsxs)("div",{ref:z,className:(0,eC.Z)("nextra-scrollbar nx-sticky nx-top-16 nx-overflow-y-auto nx-pr-4 nx-pt-6 nx-text-sm [hyphens:auto]","nx-max-h-[calc(100vh-var(--nextra-navbar-height)-env(safe-area-inset-bottom))] ltr:-nx-mr-4 rtl:-nx-ml-4"),children:[W&&(0,e_.jsxs)(e_.Fragment,{children:[(0,e_.jsx)("p",{className:"nx-mb-4 nx-font-semibold nx-tracking-tight",children:renderComponent(j.toc.title)}),(0,e_.jsx)("ul",{children:B.map(({id:n,value:a,depth:g})=>{var z,B,W,H;return(0,e_.jsx)("li",{className:"nx-my-2 nx-scroll-my-6 nx-scroll-py-6",children:(0,e_.jsx)("a",{href:`#${n}`,className:(0,eC.Z)({2:"nx-font-semibold",3:"ltr:nx-pl-4 rtl:nx-pr-4",4:"ltr:nx-pl-8 rtl:nx-pr-8",5:"ltr:nx-pl-12 rtl:nx-pr-12",6:"ltr:nx-pl-16 rtl:nx-pr-16"}[g],"nx-inline-block",(null==(z=v[n])?void 0:z.isActive)?"nx-text-primary-600 nx-subpixel-antialiased contrast-more:!nx-text-primary-600":"nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-300","contrast-more:nx-text-gray-900 contrast-more:nx-underline contrast-more:dark:nx-text-gray-50 nx-w-full nx-break-words"),children:null!=(H=null==(W=(B=j.toc).headingComponent)?void 0:W.call(B,{id:n,children:a}))?H:a})},n)})})]}),H&&(0,e_.jsxs)("div",{className:(0,eC.Z)(W&&"nx-mt-8 nx-border-t nx-bg-white nx-pt-8 nx-shadow-[0_-12px_16px_white] dark:nx-bg-dark dark:nx-shadow-[0_-12px_16px_#111]","nx-sticky nx-bottom-0 nx-flex nx-flex-col nx-items-start nx-gap-2 nx-pb-8 dark:nx-border-neutral-800","contrast-more:nx-border-t contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-border-neutral-400"),children:[j.feedback.content?(0,e_.jsx)(rf,{className:rI,href:j.feedback.useLink(),newWindow:!0,children:renderComponent(j.feedback.content)}):null,renderComponent(j.editLink.component,{filePath:a,className:rI,children:renderComponent(j.editLink.text)}),renderComponent(j.toc.extraContent),j.toc.backToTop&&(0,e_.jsx)(BackToTop,{className:rI})]})]})},float:!0,title:"On This Page"},useNextSeoProps:()=>({titleTemplate:"%s – Nextra"})},rF=Object.entries(rD).map(([n,a])=>{let g=a&&"object"==typeof a&&!Array.isArray(a)&&!(0,ek.isValidElement)(a);if(g)return n}).filter(Boolean);if(rN){let n;window.addEventListener("resize",()=>{document.body.classList.add("resizing"),clearTimeout(n),n=setTimeout(()=>{document.body.classList.remove("resizing")},200)})}function HeadingLink(n){var{tag:a,context:g,children:v,id:j,className:z}=n,B=__objRest(n,["tag","context","children","id","className"]);let W=useSetActiveAnchor(),H=useSlugs(),K=useIntersectionObserver(),ee=(0,ek.useRef)(null);return(0,ek.useEffect)(()=>{if(!j)return;let n=ee.current;if(n)return H.set(n,[j,g.index+=1]),null==K||K.observe(n),()=>{null==K||K.disconnect(),H.delete(n),W(n=>{let a=__spreadValues({},n);return delete a[j],a})}},[j,g,H,K,W]),(0,e_.jsxs)(a,__spreadProps(__spreadValues({className:"sr-only"===z?"nx-sr-only":(0,eC.Z)("nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100",{h2:"nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400",h3:"nx-mt-8 nx-text-2xl",h4:"nx-mt-8 nx-text-xl",h5:"nx-mt-8 nx-text-lg",h6:"nx-mt-8 nx-text-base"}[a])},B),{children:[v,j&&(0,e_.jsx)("a",{href:`#${j}`,id:j,className:"subheading-anchor","aria-label":"Permalink for this section",ref:ee})]}))}var findSummary=n=>{let a=null,g=[];return ek.Children.forEach(n,(n,v)=>{var j;if(n&&n.type===Summary){a||(a=n);return}let z=n;if(!a&&n&&"object"==typeof n&&n.type!==Details&&"props"in n&&n.props){let g=findSummary(n.props.children);a=g[0],z=(0,ek.cloneElement)(n,__spreadProps(__spreadValues({},n.props),{children:(null==(j=g[1])?void 0:j.length)?g[1]:void 0,key:v}))}g.push(z)}),[a,g]},Details=n=>{var{children:a,open:g}=n,v=__objRest(n,["children","open"]);let[j,z]=(0,ek.useState)(!!g),[B,W]=findSummary(a),[H,K]=(0,ek.useState)(j);return(0,ek.useEffect)(()=>{if(j)K(!0);else{let n=setTimeout(()=>K(j),500);return()=>clearTimeout(n)}},[j]),(0,e_.jsxs)("details",__spreadProps(__spreadValues(__spreadProps(__spreadValues({className:"nx-my-4 nx-rounded nx-border nx-border-gray-200 nx-bg-white nx-p-2 nx-shadow-sm first:nx-mt-0 dark:nx-border-neutral-800 dark:nx-bg-neutral-900"},v),{open:H}),j&&{"data-expanded":!0}),{children:[(0,e_.jsx)(rc,{value:z,children:B}),(0,e_.jsx)(Collapse,{isOpen:j,children:W})]}))},Summary=n=>{let a=useDetails();return(0,e_.jsx)("summary",__spreadProps(__spreadValues({className:(0,eC.Z)("nx-flex nx-items-center nx-cursor-pointer nx-list-none nx-p-1 nx-transition-colors hover:nx-bg-gray-100 dark:hover:nx-bg-neutral-800","before:nx-mr-1 before:nx-inline-block before:nx-transition-transform before:nx-content-[''] dark:before:nx-invert before:nx-shrink-0","rtl:before:nx-rotate-180 [[data-expanded]>&]:before:nx-rotate-90")},n),{onClick:n=>{n.preventDefault(),a(n=>!n)}}))},rz=/https?:\/\//,Link=n=>{var{href:a="",className:g}=n,v=__objRest(n,["href","className"]);return(0,e_.jsx)(rf,__spreadValues({href:a,newWindow:rz.test(a),className:(0,eC.Z)("nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]",g)},v))},A=n=>{var{href:a=""}=n,g=__objRest(n,["href"]);return(0,e_.jsx)(rf,__spreadValues({href:a,newWindow:rz.test(a)},g))},getComponents=({isRawLayout:n,components:a})=>{if(n)return{a:A};let g={index:0};return __spreadValues({h1:n=>(0,e_.jsx)("h1",__spreadValues({className:"nx-mt-2 nx-text-4xl nx-font-bold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100"},n)),h2:n=>(0,e_.jsx)(HeadingLink,__spreadValues({tag:"h2",context:g},n)),h3:n=>(0,e_.jsx)(HeadingLink,__spreadValues({tag:"h3",context:g},n)),h4:n=>(0,e_.jsx)(HeadingLink,__spreadValues({tag:"h4",context:g},n)),h5:n=>(0,e_.jsx)(HeadingLink,__spreadValues({tag:"h5",context:g},n)),h6:n=>(0,e_.jsx)(HeadingLink,__spreadValues({tag:"h6",context:g},n)),ul:n=>(0,e_.jsx)("ul",__spreadValues({className:"nx-mt-6 nx-list-disc first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},n)),ol:n=>(0,e_.jsx)("ol",__spreadValues({className:"nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},n)),li:n=>(0,e_.jsx)("li",__spreadValues({className:"nx-my-2"},n)),blockquote:n=>(0,e_.jsx)("blockquote",__spreadValues({className:(0,eC.Z)("nx-mt-6 nx-border-gray-300 nx-italic nx-text-gray-700 dark:nx-border-gray-700 dark:nx-text-gray-400","first:nx-mt-0 ltr:nx-border-l-2 ltr:nx-pl-6 rtl:nx-border-r-2 rtl:nx-pr-6")},n)),hr:n=>(0,e_.jsx)("hr",__spreadValues({className:"nx-my-8 nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400"},n)),a:Link,table:n=>(0,e_.jsx)(n5.iA,__spreadValues({className:"nextra-scrollbar nx-mt-6 nx-p-0 first:nx-mt-0"},n)),p:n=>(0,e_.jsx)("p",__spreadValues({className:"nx-mt-6 nx-leading-7 first:nx-mt-0"},n)),tr:n5.Tr,th:n5.Th,td:n5.Td,details:Details,summary:Summary,pre:n5.SU,code:n5.EK},a)},rV={toc:(0,eC.Z)("nextra-toc nx-order-last nx-hidden nx-w-64 nx-shrink-0 xl:nx-block print:nx-hidden"),main:(0,eC.Z)("nx-w-full nx-break-words")},Body=({themeContext:n,breadcrumb:a,timestamp:g,navigation:v,children:j})=>{var z;let B=useConfig(),W=useMounted();if("raw"===n.layout)return(0,e_.jsx)("div",{className:rV.main,children:j});let H=n.timestamp&&B.gitTimestamp&&g?new Date(g):null,K=W&&H?(0,e_.jsx)("div",{className:"nx-mt-12 nx-mb-8 nx-block nx-text-xs nx-text-gray-500 ltr:nx-text-right rtl:nx-text-left dark:nx-text-gray-400",children:renderComponent(B.gitTimestamp,{timestamp:H})}):(0,e_.jsx)("div",{className:"nx-mt-16"}),ee=(0,e_.jsxs)(e_.Fragment,{children:[j,K,v]}),et=(null==(z=B.main)?void 0:z.call(B,{children:ee}))||ee;return"full"===n.layout?(0,e_.jsx)("article",{className:(0,eC.Z)(rV.main,"nextra-content nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]"),children:et}):(0,e_.jsx)("article",{className:(0,eC.Z)(rV.main,"nextra-content nx-flex nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-min-w-0 nx-justify-center nx-pb-8 nx-pr-[calc(env(safe-area-inset-right)-1.5rem)]","article"===n.typesetting&&"nextra-body-typesetting-article"),children:(0,e_.jsxs)("main",{className:"nx-w-full nx-min-w-0 nx-max-w-6xl nx-px-6 nx-pt-4 md:nx-px-12",children:[a,et]})})},InnerLayout=({filePath:n,pageMap:a,frontMatter:g,headings:v,timestamp:j,children:z})=>{let B=useConfig(),{locale:W=rP,defaultLocale:H}=(0,ew.useRouter)(),K=useFSRoute(),{activeType:ee,activeIndex:et,activeThemeContext:en,activePath:er,topLevelNavbarItems:eo,docsDirectories:ei,flatDirectories:es,flatDocsDirectories:el,directories:eu}=(0,ek.useMemo)(()=>(function normalizePages({list:n,locale:a,defaultLocale:g,route:v,docsRoot:j="",underCurrentDocsRoot:z=!1,pageThemeContext:B=t_}){let W,H;for(let g of n)if("Meta"===g.kind){if(g.locale===a){W=g.data;break}W||(W=g.data)}let K=W||{},ee=Object.keys(K);for(let n of ee)"string"==typeof K[n]&&(K[n]={title:K[n]});let et=[],en=[],er=[],eo=[],ei=[],es=0,el=B,eu=[],ed=-1,ec=K["*"]||{};delete ec.title,delete ec.href;let ep=n.filter(n=>"Meta"!==n.kind&&!n.name.startsWith("_")&&(!("locale"in n)||!n.locale||[a,g].includes(n.locale))).sort((n,a)=>{let g=ee.indexOf(n.name),v=ee.indexOf(a.name);return -1===g&&-1===v?n.name{let a;let g=[],v=ee.indexOf(n.name);if(-1!==v){for(let n=ed+1;n({...W,type:ef,...eg&&{title:eg},...ed&&{display:ed},...ex&&{children:[]}}),ev=getItem(),ey=getItem(),eb=getItem();if(ey.isUnderCurrentDocsTree=em,"separator"===ef&&(ev.isUnderCurrentDocsTree=em),W.route===v)switch(eu=[ev],H=ef,el={...el,...eh},ef){case"page":case"menu":es=ei.length;break;case"doc":es=eo.length}if(!("hidden"===ed&&"Folder"!==ev.kind||eE.hV.has(W.route))){if(ex){if(void 0!==ex.activeIndex&&void 0!==ex.activeType){switch(el=ex.activeThemeContext,H=ex.activeType,eu=[ev,...ex.activePath],H){case"page":case"menu":es=ei.length+ex.activeIndex;break;case"doc":es=eo.length+ex.activeIndex}W.withIndexPage&&"doc"===ef&&es++}switch(ef){case"page":case"menu":eb.children.push(...ex.directories),er.push(...ex.docsDirectories),ex.flatDirectories.length?(eb.firstChildRoute=function findFirstRoute(n){for(let a of n){if(a.route)return a.route;if(a.children){let n=findFirstRoute(a.children);if(n)return n}}}(ex.flatDirectories),ei.push(eb)):eb.withIndexPage&&ei.push(eb);break;case"doc":Array.isArray(ey.children)&&ey.children.push(...ex.docsDirectories),ev.withIndexPage&&"children"!==ed&&eo.push(ey)}en.push(...ex.flatDirectories),eo.push(...ex.flatDocsDirectories),Array.isArray(ev.children)&&ev.children.push(...ex.directories)}else switch(en.push(ev),ef){case"page":case"menu":ei.push(eb);break;case"doc":eo.push(ey)}switch("doc"===ef&&"children"===ed?ey.children&&(et.push(...ey.children),er.push(...ey.children)):et.push(ev),ef){case"page":case"menu":er.push(eb);break;case"doc":"children"!==ed&&er.push(ey);break;case"separator":er.push(ev)}}}return{activeType:H,activeIndex:es,activeThemeContext:el,activePath:eu,directories:et,flatDirectories:en,docsDirectories:er,flatDocsDirectories:eo,topLevelNavbarItems:ei}})({list:a,locale:W,defaultLocale:H,route:K}),[a,W,H,K]),ed=__spreadValues(__spreadValues({},en),g),ec=!ed.sidebar||"raw"===ed.layout||"page"===ee,ep="page"!==ee&&ed.toc&&"default"===ed.layout?(0,e_.jsx)("nav",{className:(0,eC.Z)(rV.toc,"nx-px-4"),"aria-label":"table of contents",children:renderComponent(B.toc.component,{headings:B.toc.float?v:[],filePath:n})}):"full"!==ed.layout&&"raw"!==ed.layout&&(0,e_.jsx)("nav",{className:rV.toc,"aria-label":"table of contents"}),ef=B.i18n.find(n=>n.locale===W),eh=ef?"rtl"===ef.direction:"rtl"===B.direction,em=eh?"rtl":"ltr";return(0,e_.jsxs)("div",{dir:em,children:[(0,e_.jsx)("script",{dangerouslySetInnerHTML:{__html:`document.documentElement.setAttribute('dir','${em}')`}}),(0,e_.jsx)(dist_Head,{}),(0,e_.jsx)(Banner,{}),ed.navbar&&renderComponent(B.navbar.component,{flatDirectories:es,items:eo}),(0,e_.jsx)("div",{className:(0,eC.Z)("nx-mx-auto nx-flex","raw"!==ed.layout&&"nx-max-w-[90rem]"),children:(0,e_.jsxs)(ActiveAnchorProvider,{children:[(0,e_.jsx)(Sidebar,{docsDirectories:ei,flatDirectories:es,fullDirectories:eu,headings:v,asPopover:ec,includePlaceholder:"default"===ed.layout}),ep,(0,e_.jsx)(rj,{}),(0,e_.jsx)(Body,{themeContext:ed,breadcrumb:"page"!==ee&&ed.breadcrumb?(0,e_.jsx)(Breadcrumb,{activePath:er}):null,timestamp:j,navigation:"page"!==ee&&ed.pagination?(0,e_.jsx)(NavLinks,{flatDirectories:el,currentIndex:et}):null,children:(0,e_.jsx)(eT.Z,{components:getComponents({isRawLayout:"raw"===ed.layout,components:B.components}),children:z})})]})}),ed.footer&&renderComponent(B.footer.component,{menu:ec})]})};let rU={logo:(0,e_.jsx)("div",{style:{paddingLeft:"50px",lineHeight:"38px",background:"url(/qbox-duck.png) no-repeat left",backgroundSize:"38px",fontWeight:550},children:"Qbox"}),project:{link:"https://github.com/Qbox-project"},chat:{link:"https://discord.gg/qbox"},docsRepositoryBase:"https://github.com/Qbox-project/qbox-project.github.io",footer:{text:"Qbox Project"},primaryHue:{dark:200,light:200},head:function(){let{asPath:n}=(0,ew.useRouter)(),{frontMatter:a,title:g}=useConfig(),v=a.description||"Documentation for the Qbox Project";return(0,e_.jsxs)(e_.Fragment,{children:[(0,e_.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,e_.jsx)("link",{rel:"icon",type:"image/x-icon",href:"/qbox-duck.ico"}),(0,e_.jsx)("meta",{httpEquiv:"Content-Language",content:"en"}),(0,e_.jsx)("meta",{name:"description",content:v}),(0,e_.jsx)("meta",{name:"og:title",content:g}),(0,e_.jsx)("meta",{name:"og:description",content:v}),(0,e_.jsx)("meta",{name:"og:url",content:"https://qbox-project.github.io".concat(n)})]})},useNextSeoProps:function(){let{asPath:n}=(0,ew.useRouter)(),a=n.replace(/[-_]/g," ").split("/"),g="#"!==a[1][0]&&a[1]||"Qbox",v=a[a.length-1],j=/[a-z]/.test(v)&&/[A-Z]/.test(v)?v:"%s";return{titleTemplate:"".concat(j," - ").concat(v===g?"Documentation":g.replace(/(^\w|\s\w)/g,n=>n.toUpperCase()))}}};g(8525),g(5280);let MDXLayout=function(n){let{Component:a,pageProps:g}=n;return(0,e_.jsx)(a,{...g})},r$=[];function _createMdxContent(n){return(0,e_.jsx)(e_.Fragment,{})}var _app=function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,e_.jsx)(MDXLayout,{...n,children:(0,e_.jsx)(_createMdxContent,{...n})})};let rB=(ey=globalThis)[eb=Symbol.for("__nextra_internal__")]||(ey[eb]=Object.create(null));rB.Layout=function(n){var{children:a}=n,g=__objRest(n,["children"]);return(0,e_.jsx)(ConfigProvider,{value:g,children:(0,e_.jsx)(InnerLayout,__spreadProps(__spreadValues({},g.pageOpts),{children:a}))})},rB.pageMap=[{kind:"Meta",data:{index:"Introduction",installation:"Installation",resources:"Resources",converting:"Converting from QBCore",contributors:"Contributing",developers:"Developer's Guide",release:"Release Readiness",faq:"FAQ"}},{kind:"MdxPage",name:"contributors",route:"/contributors"},{kind:"MdxPage",name:"converting",route:"/converting"},{kind:"MdxPage",name:"developers",route:"/developers"},{kind:"MdxPage",name:"faq",route:"/faq"},{kind:"MdxPage",name:"index",route:"/"},{kind:"MdxPage",name:"installation",route:"/installation"},{kind:"MdxPage",name:"release",route:"/release"},{kind:"Folder",name:"resources",route:"/resources",children:[{kind:"Meta",data:{qbx_core:"qbx_core",qbx_binoculars:"qbx_binoculars",qbx_divegear:"qbx_divegear",qbx_diving:"qbx_diving",qbx_management:"qbx_manangement",qbx_radio:"qbx_radio"}},{kind:"MdxPage",name:"qbx_binoculars",route:"/resources/qbx_binoculars",frontMatter:{title:"qbx_binoculars"}},{kind:"Folder",name:"qbx_core",route:"/resources/qbx_core",children:[{kind:"Meta",data:{exports:"Exports",events:"Events",modules:"Modules",types:"Types"}},{kind:"Folder",name:"events",route:"/resources/qbx_core/events",children:[{kind:"Meta",data:{client:"Client",server:"Server"}},{kind:"MdxPage",name:"client",route:"/resources/qbx_core/events/client"},{kind:"MdxPage",name:"server",route:"/resources/qbx_core/events/server"}]},{kind:"Folder",name:"exports",route:"/resources/qbx_core/exports",children:[{kind:"Meta",data:{client:"Client",server:"Server",shared:"Shared"}},{kind:"MdxPage",name:"client",route:"/resources/qbx_core/exports/client"},{kind:"MdxPage",name:"server",route:"/resources/qbx_core/exports/server"},{kind:"MdxPage",name:"shared",route:"/resources/qbx_core/exports/shared"}]},{kind:"Folder",name:"modules",route:"/resources/qbx_core/modules",children:[{kind:"Meta",data:{lib:"lib",logger:"logger",playerdata:"playerdata"}},{kind:"Folder",name:"lib",route:"/resources/qbx_core/modules/lib",children:[{kind:"Meta",data:{shared:"Shared",client:"Client",server:"Server"}},{kind:"MdxPage",name:"client",route:"/resources/qbx_core/modules/lib/client"},{kind:"MdxPage",name:"server",route:"/resources/qbx_core/modules/lib/server"},{kind:"MdxPage",name:"shared",route:"/resources/qbx_core/modules/lib/shared"}]},{kind:"MdxPage",name:"lib",route:"/resources/qbx_core/modules/lib"},{kind:"MdxPage",name:"logger",route:"/resources/qbx_core/modules/logger"},{kind:"MdxPage",name:"playerdata",route:"/resources/qbx_core/modules/playerdata"}]},{kind:"Folder",name:"types",route:"/resources/qbx_core/types",children:[{kind:"MdxPage",name:"gang",route:"/resources/qbx_core/types/gang"},{kind:"MdxPage",name:"job",route:"/resources/qbx_core/types/job"},{kind:"MdxPage",name:"player",route:"/resources/qbx_core/types/player"},{kind:"MdxPage",name:"player_data",route:"/resources/qbx_core/types/player_data",frontMatter:{title:"PlayerData"}},{kind:"MdxPage",name:"player_entity",route:"/resources/qbx_core/types/player_entity",frontMatter:{title:"PlayerEntity"}},{kind:"MdxPage",name:"vehicle",route:"/resources/qbx_core/types/vehicle"},{kind:"MdxPage",name:"weapon",route:"/resources/qbx_core/types/weapon"},{kind:"Meta",data:{gang:"Gang",job:"Job",player:"Player",player_data:"PlayerData",player_entity:"PlayerEntity",vehicle:"Vehicle",weapon:"Weapon"}}]}]},{kind:"MdxPage",name:"qbx_core",route:"/resources/qbx_core"},{kind:"MdxPage",name:"qbx_divegear",route:"/resources/qbx_divegear",frontMatter:{title:"qbx_divegear"}},{kind:"Folder",name:"qbx_diving",route:"/resources/qbx_diving",children:[{kind:"Meta",data:{events:"Events"}},{kind:"Folder",name:"events",route:"/resources/qbx_diving/events",children:[{kind:"MdxPage",name:"server",route:"/resources/qbx_diving/events/server"},{kind:"Meta",data:{server:"Server"}}]}]},{kind:"MdxPage",name:"qbx_diving",route:"/resources/qbx_diving",frontMatter:{title:"qbx_diving"}},{kind:"Folder",name:"qbx_management",route:"/resources/qbx_management",children:[{kind:"Meta",data:{exports:"Exports"}},{kind:"Folder",name:"exports",route:"/resources/qbx_management/exports",children:[{kind:"MdxPage",name:"server",route:"/resources/qbx_management/exports/server"},{kind:"Meta",data:{server:"Server"}}]}]},{kind:"MdxPage",name:"qbx_management",route:"/resources/qbx_management",frontMatter:{title:"qbx_manangement"}},{kind:"MdxPage",name:"qbx_radio",route:"/resources/qbx_radio",frontMatter:{title:"qbx_radio"}}]}],rB.flexsearch={codeblocks:!0},rB.themeConfig=rU},8:function(n,a){"use strict";var g,v;Object.defineProperty(a,"__esModule",{value:!0}),function(n,a){for(var g in a)Object.defineProperty(n,g,{enumerable:!0,get:a[g]})}(a,{PrefetchKind:function(){return g},ACTION_REFRESH:function(){return j},ACTION_NAVIGATE:function(){return z},ACTION_RESTORE:function(){return B},ACTION_SERVER_PATCH:function(){return W},ACTION_PREFETCH:function(){return H},ACTION_FAST_REFRESH:function(){return K},ACTION_SERVER_ACTION:function(){return ee}});let j="refresh",z="navigate",B="restore",W="server-patch",H="prefetch",K="fast-refresh",ee="server-action";(v=g||(g={})).AUTO="auto",v.FULL="full",v.TEMPORARY="temporary",("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),n.exports=a.default)},984:function(n,a,g){"use strict";function getDomainLocale(n,a,g,v){return!1}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"getDomainLocale",{enumerable:!0,get:function(){return getDomainLocale}}),g(6595),("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),n.exports=a.default)},8530:function(n,a,g){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"Image",{enumerable:!0,get:function(){return ei}});let v=g(1351),j=g(5815),z=j._(g(959)),B=v._(g(422)),W=v._(g(6052)),H=g(8900),K=g(6284),ee=g(1022);g(7630);let et=g(7026),en=v._(g(6299)),er={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function handleLoading(n,a,g,v,j,z){let B=null==n?void 0:n.src;if(!n||n["data-loaded-src"]===B)return;n["data-loaded-src"]=B;let W="decode"in n?n.decode():Promise.resolve();W.catch(()=>{}).then(()=>{if(n.parentElement&&n.isConnected){if("empty"!==a&&j(!0),null==g?void 0:g.current){let a=new Event("load");Object.defineProperty(a,"target",{writable:!1,value:n});let v=!1,j=!1;g.current({...a,nativeEvent:a,currentTarget:n,target:n,isDefaultPrevented:()=>v,isPropagationStopped:()=>j,persist:()=>{},preventDefault:()=>{v=!0,a.preventDefault()},stopPropagation:()=>{j=!0,a.stopPropagation()}})}(null==v?void 0:v.current)&&v.current(n)}})}function getDynamicProps(n){let[a,g]=z.version.split("."),v=parseInt(a,10),j=parseInt(g,10);return v>18||18===v&&j>=3?{fetchPriority:n}:{fetchpriority:n}}let eo=(0,z.forwardRef)((n,a)=>{let{src:g,srcSet:v,sizes:j,height:B,width:W,decoding:H,className:K,style:ee,fetchPriority:et,placeholder:en,loading:er,unoptimized:eo,fill:ei,onLoadRef:es,onLoadingCompleteRef:el,setBlurComplete:eu,setShowAltText:ed,onLoad:ec,onError:ep,...ef}=n;return z.default.createElement("img",{...ef,...getDynamicProps(et),loading:er,width:W,height:B,decoding:H,"data-nimg":ei?"fill":"1",className:K,style:ee,sizes:j,srcSet:v,src:g,ref:(0,z.useCallback)(n=>{a&&("function"==typeof a?a(n):"object"==typeof a&&(a.current=n)),n&&(ep&&(n.src=n.src),n.complete&&handleLoading(n,en,es,el,eu,eo))},[g,en,es,el,eu,ep,eo,a]),onLoad:n=>{let a=n.currentTarget;handleLoading(a,en,es,el,eu,eo)},onError:n=>{ed(!0),"empty"!==en&&eu(!0),ep&&ep(n)}})});function ImagePreload(n){let{isAppRouter:a,imgAttributes:g}=n,v={as:"image",imageSrcSet:g.srcSet,imageSizes:g.sizes,crossOrigin:g.crossOrigin,referrerPolicy:g.referrerPolicy,...getDynamicProps(g.fetchPriority)};return a&&B.default.preload?(B.default.preload(g.src,v),null):z.default.createElement(W.default,null,z.default.createElement("link",{key:"__nimg-"+g.src+g.srcSet+g.sizes,rel:"preload",href:g.srcSet?void 0:g.src,...v}))}let ei=(0,z.forwardRef)((n,a)=>{let g=(0,z.useContext)(et.RouterContext),v=(0,z.useContext)(ee.ImageConfigContext),j=(0,z.useMemo)(()=>{let n=er||v||K.imageConfigDefault,a=[...n.deviceSizes,...n.imageSizes].sort((n,a)=>n-a),g=n.deviceSizes.sort((n,a)=>n-a);return{...n,allSizes:a,deviceSizes:g}},[v]),{onLoad:B,onLoadingComplete:W}=n,ei=(0,z.useRef)(B);(0,z.useEffect)(()=>{ei.current=B},[B]);let es=(0,z.useRef)(W);(0,z.useEffect)(()=>{es.current=W},[W]);let[el,eu]=(0,z.useState)(!1),[ed,ec]=(0,z.useState)(!1),{props:ep,meta:ef}=(0,H.getImgProps)(n,{defaultLoader:en.default,imgConf:j,blurComplete:el,showAltText:ed});return z.default.createElement(z.default.Fragment,null,z.default.createElement(eo,{...ep,unoptimized:ef.unoptimized,placeholder:ef.placeholder,fill:ef.fill,onLoadRef:ei,onLoadingCompleteRef:es,setBlurComplete:eu,setShowAltText:ec,ref:a}),ef.priority?z.default.createElement(ImagePreload,{isAppRouter:!g,imgAttributes:ep}):null)});("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),n.exports=a.default)},4748:function(n,a,g){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return eu}});let v=g(1351),j=v._(g(959)),z=g(9858),B=g(6187),W=g(8734),H=g(6871),K=g(2532),ee=g(7026),et=g(9321),en=g(6552),er=g(984),eo=g(9578),ei=g(8),es=new Set;function prefetch(n,a,g,v,j,z){if(!z&&!(0,B.isLocalURL)(a))return;if(!v.bypassPrefetchedCheck){let j=void 0!==v.locale?v.locale:"locale"in n?n.locale:void 0,z=a+"%"+g+"%"+j;if(es.has(z))return;es.add(z)}let W=z?n.prefetch(a,j):n.prefetch(a,g,v);Promise.resolve(W).catch(n=>{})}function formatStringOrUrl(n){return"string"==typeof n?n:(0,W.formatUrl)(n)}let el=j.default.forwardRef(function(n,a){let g,v;let{href:W,as:es,children:el,prefetch:eu=null,passHref:ed,replace:ec,shallow:ep,scroll:ef,locale:eh,onClick:em,onMouseEnter:ex,onTouchStart:eg,legacyBehavior:ev=!1,...ey}=n;g=el,ev&&("string"==typeof g||"number"==typeof g)&&(g=j.default.createElement("a",null,g));let eb=j.default.useContext(ee.RouterContext),e_=j.default.useContext(et.AppRouterContext),ew=null!=eb?eb:e_,ek=!eb,eC=!1!==eu,eE=null===eu?ei.PrefetchKind.AUTO:ei.PrefetchKind.FULL,{href:eT,as:eO}=j.default.useMemo(()=>{if(!eb){let n=formatStringOrUrl(W);return{href:n,as:es?formatStringOrUrl(es):n}}let[n,a]=(0,z.resolveHref)(eb,W,!0);return{href:n,as:es?(0,z.resolveHref)(eb,es):a||n}},[eb,W,es]),ej=j.default.useRef(eT),eS=j.default.useRef(eO);ev&&(v=j.default.Children.only(g));let eI=ev?v&&"object"==typeof v&&v.ref:a,[eP,eN,eZ]=(0,en.useIntersection)({rootMargin:"200px"}),eR=j.default.useCallback(n=>{(eS.current!==eO||ej.current!==eT)&&(eZ(),eS.current=eO,ej.current=eT),eP(n),eI&&("function"==typeof eI?eI(n):"object"==typeof eI&&(eI.current=n))},[eO,eI,eT,eZ,eP]);j.default.useEffect(()=>{ew&&eN&&eC&&prefetch(ew,eT,eO,{locale:eh},{kind:eE},ek)},[eO,eT,eN,eh,eC,null==eb?void 0:eb.locale,ew,ek,eE]);let eM={ref:eR,onClick(n){ev||"function"!=typeof em||em(n),ev&&v.props&&"function"==typeof v.props.onClick&&v.props.onClick(n),ew&&!n.defaultPrevented&&function(n,a,g,v,z,W,H,K,ee,et){let{nodeName:en}=n.currentTarget,er="A"===en.toUpperCase();if(er&&(function(n){let a=n.currentTarget,g=a.getAttribute("target");return g&&"_self"!==g||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.nativeEvent&&2===n.nativeEvent.which}(n)||!ee&&!(0,B.isLocalURL)(g)))return;n.preventDefault();let navigate=()=>{let n=null==H||H;"beforePopState"in a?a[z?"replace":"push"](g,v,{shallow:W,locale:K,scroll:n}):a[z?"replace":"push"](v||g,{forceOptimisticNavigation:!et,scroll:n})};ee?j.default.startTransition(navigate):navigate()}(n,ew,eT,eO,ec,ep,ef,eh,ek,eC)},onMouseEnter(n){ev||"function"!=typeof ex||ex(n),ev&&v.props&&"function"==typeof v.props.onMouseEnter&&v.props.onMouseEnter(n),ew&&(eC||!ek)&&prefetch(ew,eT,eO,{locale:eh,priority:!0,bypassPrefetchedCheck:!0},{kind:eE},ek)},onTouchStart(n){ev||"function"!=typeof eg||eg(n),ev&&v.props&&"function"==typeof v.props.onTouchStart&&v.props.onTouchStart(n),ew&&(eC||!ek)&&prefetch(ew,eT,eO,{locale:eh,priority:!0,bypassPrefetchedCheck:!0},{kind:eE},ek)}};if((0,H.isAbsoluteUrl)(eO))eM.href=eO;else if(!ev||ed||"a"===v.type&&!("href"in v.props)){let n=void 0!==eh?eh:null==eb?void 0:eb.locale,a=(null==eb?void 0:eb.isLocaleDomain)&&(0,er.getDomainLocale)(eO,n,null==eb?void 0:eb.locales,null==eb?void 0:eb.domainLocales);eM.href=a||(0,eo.addBasePath)((0,K.addLocale)(eO,n,null==eb?void 0:eb.defaultLocale))}return ev?j.default.cloneElement(v,eM):j.default.createElement("a",{...ey,...eM},g)}),eu=el;("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),n.exports=a.default)},6552:function(n,a,g){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"useIntersection",{enumerable:!0,get:function(){return useIntersection}});let v=g(959),j=g(599),z="function"==typeof IntersectionObserver,B=new Map,W=[];function useIntersection(n){let{rootRef:a,rootMargin:g,disabled:H}=n,K=H||!z,[ee,et]=(0,v.useState)(!1),en=(0,v.useRef)(null),er=(0,v.useCallback)(n=>{en.current=n},[]);(0,v.useEffect)(()=>{if(z){if(K||ee)return;let n=en.current;if(n&&n.tagName){let v=function(n,a,g){let{id:v,observer:j,elements:z}=function(n){let a;let g={root:n.root||null,margin:n.rootMargin||""},v=W.find(n=>n.root===g.root&&n.margin===g.margin);if(v&&(a=B.get(v)))return a;let j=new Map,z=new IntersectionObserver(n=>{n.forEach(n=>{let a=j.get(n.target),g=n.isIntersecting||n.intersectionRatio>0;a&&g&&a(g)})},n);return a={id:g,observer:z,elements:j},W.push(g),B.set(g,a),a}(g);return z.set(n,a),j.observe(n),function(){if(z.delete(n),j.unobserve(n),0===z.size){j.disconnect(),B.delete(v);let n=W.findIndex(n=>n.root===v.root&&n.margin===v.margin);n>-1&&W.splice(n,1)}}}(n,n=>n&&et(n),{root:null==a?void 0:a.current,rootMargin:g});return v}}else if(!ee){let n=(0,j.requestIdleCallback)(()=>et(!0));return()=>(0,j.cancelIdleCallback)(n)}},[K,g,a,ee,en.current]);let eo=(0,v.useCallback)(()=>{et(!1)},[]);return[er,ee,eo]}("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),n.exports=a.default)},8900:function(n,a,g){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"getImgProps",{enumerable:!0,get:function(){return getImgProps}}),g(7630);let v=g(7),j=g(6284);function isStaticRequire(n){return void 0!==n.default}function getInt(n){return void 0===n?n:"number"==typeof n?Number.isFinite(n)?n:NaN:"string"==typeof n&&/^[0-9]+$/.test(n)?parseInt(n,10):NaN}function getImgProps(n,a){var g;let z,B,W,{src:H,sizes:K,unoptimized:ee=!1,priority:et=!1,loading:en,className:er,quality:eo,width:ei,height:es,fill:el=!1,style:eu,onLoad:ed,onLoadingComplete:ec,placeholder:ep="empty",blurDataURL:ef,fetchPriority:eh,layout:em,objectFit:ex,objectPosition:eg,lazyBoundary:ev,lazyRoot:ey,...eb}=n,{imgConf:e_,showAltText:ew,blurComplete:ek,defaultLoader:eC}=a,eE=e_||j.imageConfigDefault;if("allSizes"in eE)z=eE;else{let n=[...eE.deviceSizes,...eE.imageSizes].sort((n,a)=>n-a),a=eE.deviceSizes.sort((n,a)=>n-a);z={...eE,allSizes:n,deviceSizes:a}}let eT=eb.loader||eC;delete eb.loader,delete eb.srcSet;let eO="__next_img_default"in eT;if(eO){if("custom"===z.loader)throw Error('Image with src "'+H+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let n=eT;eT=a=>{let{config:g,...v}=a;return n(v)}}if(em){"fill"===em&&(el=!0);let n={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[em];n&&(eu={...eu,...n});let a={responsive:"100vw",fill:"100vw"}[em];a&&!K&&(K=a)}let ej="",eS=getInt(ei),eI=getInt(es);if("object"==typeof(g=H)&&(isStaticRequire(g)||void 0!==g.src)){let n=isStaticRequire(H)?H.default:H;if(!n.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(n));if(!n.height||!n.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(n));if(B=n.blurWidth,W=n.blurHeight,ef=ef||n.blurDataURL,ej=n.src,!el){if(eS||eI){if(eS&&!eI){let a=eS/n.width;eI=Math.round(n.height*a)}else if(!eS&&eI){let a=eI/n.height;eS=Math.round(n.width*a)}}else eS=n.width,eI=n.height}}let eP=!et&&("lazy"===en||void 0===en);(!(H="string"==typeof H?H:ej)||H.startsWith("data:")||H.startsWith("blob:"))&&(ee=!0,eP=!1),z.unoptimized&&(ee=!0),eO&&H.endsWith(".svg")&&!z.dangerouslyAllowSVG&&(ee=!0),et&&(eh="high");let eN=getInt(eo),eZ=Object.assign(el?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:ex,objectPosition:eg}:{},ew?{}:{color:"transparent"},eu),eR=ek||"empty"===ep?null:"blur"===ep?'url("data:image/svg+xml;charset=utf-8,'+(0,v.getImageBlurSvg)({widthInt:eS,heightInt:eI,blurWidth:B,blurHeight:W,blurDataURL:ef||"",objectFit:eZ.objectFit})+'")':'url("'+ep+'")',eM=eR?{backgroundSize:eZ.objectFit||"cover",backgroundPosition:eZ.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:eR}:{},eA=function(n){let{config:a,src:g,unoptimized:v,width:j,quality:z,sizes:B,loader:W}=n;if(v)return{src:g,srcSet:void 0,sizes:void 0};let{widths:H,kind:K}=function(n,a,g){let{deviceSizes:v,allSizes:j}=n;if(g){let n=/(^|\s)(1?\d?\d)vw/g,a=[];for(let v;v=n.exec(g);v)a.push(parseInt(v[2]));if(a.length){let n=.01*Math.min(...a);return{widths:j.filter(a=>a>=v[0]*n),kind:"w"}}return{widths:j,kind:"w"}}if("number"!=typeof a)return{widths:v,kind:"w"};let z=[...new Set([a,2*a].map(n=>j.find(a=>a>=n)||j[j.length-1]))];return{widths:z,kind:"x"}}(a,j,B),ee=H.length-1;return{sizes:B||"w"!==K?B:"100vw",srcSet:H.map((n,v)=>W({config:a,src:g,quality:z,width:n})+" "+("w"===K?n:v+1)+K).join(", "),src:W({config:a,src:g,quality:z,width:H[ee]})}}({config:z,src:H,unoptimized:ee,width:eS,quality:eN,sizes:K,loader:eT}),eL={...eb,loading:eP?"lazy":en,fetchPriority:eh,width:eS,height:eI,decoding:"async",className:er,style:{...eZ,...eM},sizes:eA.sizes,srcSet:eA.srcSet,src:eA.src},eD={unoptimized:ee,priority:et,placeholder:ep,fill:el};return{props:eL,meta:eD}}},7:function(n,a){"use strict";function getImageBlurSvg(n){let{widthInt:a,heightInt:g,blurWidth:v,blurHeight:j,blurDataURL:z,objectFit:B}=n,W=v?40*v:a,H=j?40*j:g,K=W&&H?"viewBox='0 0 "+W+" "+H+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+K+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(K?"none":"contain"===B?"xMidYMid":"cover"===B?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+z+"'/%3E%3C/svg%3E"}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"getImageBlurSvg",{enumerable:!0,get:function(){return getImageBlurSvg}})},8203:function(n,a,g){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),function(n,a){for(var g in a)Object.defineProperty(n,g,{enumerable:!0,get:a[g]})}(a,{unstable_getImgProps:function(){return unstable_getImgProps},default:function(){return H}});let v=g(1351),j=g(8900),z=g(7630),B=g(8530),W=v._(g(6299)),unstable_getImgProps=n=>{(0,z.warnOnce)("Warning: unstable_getImgProps() is experimental and may change or be removed at any time. Use at your own risk.");let{props:a}=(0,j.getImgProps)(n,{defaultLoader:W.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[n,g]of Object.entries(a))void 0===g&&delete a[n];return{props:a}},H=B.Image},6299:function(n,a){"use strict";function defaultLoader(n){let{config:a,src:g,width:v,quality:j}=n;return a.path+"?url="+encodeURIComponent(g)+"&w="+v+"&q="+(j||75)}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return g}}),defaultLoader.__next_img_default=!0;let g=defaultLoader},8525:function(){},5280:function(){},3514:function(n){!function(){"use strict";var a={114:function(n){function assertPath(n){if("string"!=typeof n)throw TypeError("Path must be a string. Received "+JSON.stringify(n))}function normalizeStringPosix(n,a){for(var g,v="",j=0,z=-1,B=0,W=0;W<=n.length;++W){if(W2){var H=v.lastIndexOf("/");if(H!==v.length-1){-1===H?(v="",j=0):j=(v=v.slice(0,H)).length-1-v.lastIndexOf("/"),z=W,B=0;continue}}else if(2===v.length||1===v.length){v="",j=0,z=W,B=0;continue}}a&&(v.length>0?v+="/..":v="..",j=2)}else v.length>0?v+="/"+n.slice(z+1,W):v=n.slice(z+1,W),j=W-z-1;z=W,B=0}else 46===g&&-1!==B?++B:B=-1}return v}var a={resolve:function(){for(var n,a,g="",v=!1,j=arguments.length-1;j>=-1&&!v;j--)j>=0?a=arguments[j]:(void 0===n&&(n=""),a=n),assertPath(a),0!==a.length&&(g=a+"/"+g,v=47===a.charCodeAt(0));return(g=normalizeStringPosix(g,!v),v)?g.length>0?"/"+g:"/":g.length>0?g:"."},normalize:function(n){if(assertPath(n),0===n.length)return".";var a=47===n.charCodeAt(0),g=47===n.charCodeAt(n.length-1);return(0!==(n=normalizeStringPosix(n,!a)).length||a||(n="."),n.length>0&&g&&(n+="/"),a)?"/"+n:n},isAbsolute:function(n){return assertPath(n),n.length>0&&47===n.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var n,g=0;g0&&(void 0===n?n=v:n+="/"+v)}return void 0===n?".":a.normalize(n)},relative:function(n,g){if(assertPath(n),assertPath(g),n===g||(n=a.resolve(n))===(g=a.resolve(g)))return"";for(var v=1;vH){if(47===g.charCodeAt(B+ee))return g.slice(B+ee+1);if(0===ee)return g.slice(B+ee)}else z>H&&(47===n.charCodeAt(v+ee)?K=ee:0===ee&&(K=0));break}var et=n.charCodeAt(v+ee);if(et!==g.charCodeAt(B+ee))break;47===et&&(K=ee)}var en="";for(ee=v+K+1;ee<=j;++ee)(ee===j||47===n.charCodeAt(ee))&&(0===en.length?en+="..":en+="/..");return en.length>0?en+g.slice(B+K):(B+=K,47===g.charCodeAt(B)&&++B,g.slice(B))},_makeLong:function(n){return n},dirname:function(n){if(assertPath(n),0===n.length)return".";for(var a=n.charCodeAt(0),g=47===a,v=-1,j=!0,z=n.length-1;z>=1;--z)if(47===(a=n.charCodeAt(z))){if(!j){v=z;break}}else j=!1;return -1===v?g?"/":".":g&&1===v?"//":n.slice(0,v)},basename:function(n,a){if(void 0!==a&&"string"!=typeof a)throw TypeError('"ext" argument must be a string');assertPath(n);var g,v=0,j=-1,z=!0;if(void 0!==a&&a.length>0&&a.length<=n.length){if(a.length===n.length&&a===n)return"";var B=a.length-1,W=-1;for(g=n.length-1;g>=0;--g){var H=n.charCodeAt(g);if(47===H){if(!z){v=g+1;break}}else -1===W&&(z=!1,W=g+1),B>=0&&(H===a.charCodeAt(B)?-1==--B&&(j=g):(B=-1,j=W))}return v===j?j=W:-1===j&&(j=n.length),n.slice(v,j)}for(g=n.length-1;g>=0;--g)if(47===n.charCodeAt(g)){if(!z){v=g+1;break}}else -1===j&&(z=!1,j=g+1);return -1===j?"":n.slice(v,j)},extname:function(n){assertPath(n);for(var a=-1,g=0,v=-1,j=!0,z=0,B=n.length-1;B>=0;--B){var W=n.charCodeAt(B);if(47===W){if(!j){g=B+1;break}continue}-1===v&&(j=!1,v=B+1),46===W?-1===a?a=B:1!==z&&(z=1):-1!==a&&(z=-1)}return -1===a||-1===v||0===z||1===z&&a===v-1&&a===g+1?"":n.slice(a,v)},format:function(n){var a,g;if(null===n||"object"!=typeof n)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof n);return a=n.dir||n.root,g=n.base||(n.name||"")+(n.ext||""),a?a===n.root?a+g:a+"/"+g:g},parse:function(n){assertPath(n);var a,g={root:"",dir:"",base:"",ext:"",name:""};if(0===n.length)return g;var v=n.charCodeAt(0),j=47===v;j?(g.root="/",a=1):a=0;for(var z=-1,B=0,W=-1,H=!0,K=n.length-1,ee=0;K>=a;--K){if(47===(v=n.charCodeAt(K))){if(!H){B=K+1;break}continue}-1===W&&(H=!1,W=K+1),46===v?-1===z?z=K:1!==ee&&(ee=1):-1!==z&&(ee=-1)}return -1===z||-1===W||0===ee||1===ee&&z===W-1&&z===B+1?-1!==W&&(0===B&&j?g.base=g.name=n.slice(1,W):g.base=g.name=n.slice(B,W)):(0===B&&j?(g.name=n.slice(1,z),g.base=n.slice(1,W)):(g.name=n.slice(B,z),g.base=n.slice(B,W)),g.ext=n.slice(z,W)),B>0?g.dir=n.slice(0,B-1):j&&(g.dir="/"),g},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,n.exports=a}},g={};function __nccwpck_require__(n){var v=g[n];if(void 0!==v)return v.exports;var j=g[n]={exports:{}},z=!0;try{a[n](j,j.exports,__nccwpck_require__),z=!1}finally{z&&delete g[n]}return j.exports}__nccwpck_require__.ab="//";var v=__nccwpck_require__(114);n.exports=v}()},3820:function(n){!function(){var a={229:function(n){var a,g,v,j=n.exports={};function defaultSetTimout(){throw Error("setTimeout has not been defined")}function defaultClearTimeout(){throw Error("clearTimeout has not been defined")}function runTimeout(n){if(a===setTimeout)return setTimeout(n,0);if((a===defaultSetTimout||!a)&&setTimeout)return a=setTimeout,setTimeout(n,0);try{return a(n,0)}catch(g){try{return a.call(null,n,0)}catch(g){return a.call(this,n,0)}}}!function(){try{a="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(n){a=defaultSetTimout}try{g="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(n){g=defaultClearTimeout}}();var z=[],B=!1,W=-1;function cleanUpNextTick(){B&&v&&(B=!1,v.length?z=v.concat(z):W=-1,z.length&&drainQueue())}function drainQueue(){if(!B){var n=runTimeout(cleanUpNextTick);B=!0;for(var a=z.length;a;){for(v=z,z=[];++W1)for(var g=1;g(0,W.jsx)("button",{className:(0,B.Z)("nextra-button nx-transition-all active:nx-opacity-50","nx-bg-primary-700/5 nx-border nx-border-black/5 nx-text-gray-600 hover:nx-text-gray-900 nx-rounded-md nx-p-1.5","dark:nx-bg-primary-300/10 dark:nx-border-white/10 dark:nx-text-gray-400 dark:hover:nx-text-gray-50",a),...g,children:n}),H=g(1259),K={default:"\uD83D\uDCA1",error:"\uD83D\uDEAB",info:(0,W.jsx)(H.AV,{className:"nx-mt-1"}),warning:"⚠️"},ee={default:(0,B.Z)("nx-border-orange-100 nx-bg-orange-50 nx-text-orange-800 dark:nx-border-orange-400/30 dark:nx-bg-orange-400/20 dark:nx-text-orange-300"),error:(0,B.Z)("nx-border-red-200 nx-bg-red-100 nx-text-red-900 dark:nx-border-red-200/30 dark:nx-bg-red-900/30 dark:nx-text-red-200"),info:(0,B.Z)("nx-border-blue-200 nx-bg-blue-100 nx-text-blue-900 dark:nx-border-blue-200/30 dark:nx-bg-blue-900/30 dark:nx-text-blue-200"),warning:(0,B.Z)("nx-border-yellow-100 nx-bg-yellow-50 nx-text-yellow-900 dark:nx-border-yellow-200/30 dark:nx-bg-yellow-700/30 dark:nx-text-yellow-200")};function Callout({children:n,type:a="default",emoji:g=K[a]}){return(0,W.jsxs)("div",{className:(0,B.Z)("nextra-callout nx-overflow-x-auto nx-mt-6 nx-flex nx-rounded-lg nx-border nx-py-2 ltr:nx-pr-4 rtl:nx-pl-4","contrast-more:nx-border-current contrast-more:dark:nx-border-current",ee[a]),children:[(0,W.jsx)("div",{className:"nx-select-none nx-text-xl ltr:nx-pl-3 ltr:nx-pr-2 rtl:nx-pr-3 rtl:nx-pl-2",style:{fontFamily:'"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'},children:g}),(0,W.jsx)("div",{className:"nx-w-full nx-min-w-0 nx-leading-7",children:n})]})}var et=g(959),CopyToClipboard=({getValue:n,...a})=>{let[g,v]=(0,et.useState)(!1);(0,et.useEffect)(()=>{if(!g)return;let n=setTimeout(()=>{v(!1)},2e3);return()=>{clearTimeout(n)}},[g]);let j=(0,et.useCallback)(async()=>{v(!0),navigator?.clipboard||console.error("Access to clipboard rejected!");try{await navigator.clipboard.writeText(n())}catch{console.error("Failed to copy!")}},[n]),z=g?H.nQ:H.TI;return(0,W.jsx)(Button,{onClick:j,title:"Copy code",tabIndex:0,...a,children:(0,W.jsx)(z,{className:"nextra-copy-icon nx-pointer-events-none nx-h-4 nx-w-4"})})},Code=({children:n,className:a,...g})=>{let v="data-line-numbers"in g;return(0,W.jsx)("code",{className:(0,B.Z)("nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em]","dark:nx-border-white/10 dark:nx-bg-white/10",v&&"[counter-reset:line]",a),dir:"ltr",...g,children:n})},Pre=({children:n,className:a,hasCopyCode:g,filename:v,...j})=>{let z=(0,et.useRef)(null),K=(0,et.useCallback)(()=>{let n=document.documentElement.dataset,a="nextraWordWrap"in n;a?delete n.nextraWordWrap:n.nextraWordWrap=""},[]);return(0,W.jsxs)("div",{className:"nextra-code-block nx-relative nx-mt-6 first:nx-mt-0",children:[v&&(0,W.jsx)("div",{className:"nx-absolute nx-top-0 nx-z-[1] nx-w-full nx-truncate nx-rounded-t-xl nx-bg-primary-700/5 nx-py-2 nx-px-4 nx-text-xs nx-text-gray-700 dark:nx-bg-primary-300/10 dark:nx-text-gray-200",children:v}),(0,W.jsx)("pre",{className:(0,B.Z)("nx-bg-primary-700/5 nx-mb-4 nx-overflow-x-auto nx-rounded-xl nx-subpixel-antialiased dark:nx-bg-primary-300/10 nx-text-[.9em]","contrast-more:nx-border contrast-more:nx-border-primary-900/20 contrast-more:nx-contrast-150 contrast-more:dark:nx-border-primary-100/40",v?"nx-pt-12 nx-pb-4":"nx-py-4",a),ref:z,...j,children:n}),(0,W.jsxs)("div",{className:(0,B.Z)("nx-opacity-0 nx-transition [div:hover>&]:nx-opacity-100 focus-within:nx-opacity-100","nx-flex nx-gap-1 nx-absolute nx-m-[11px] nx-right-0",v?"nx-top-8":"nx-top-0"),children:[(0,W.jsx)(Button,{onClick:K,className:"md:nx-hidden",title:"Toggle word wrap",children:(0,W.jsx)(H.NK,{className:"nx-pointer-events-none nx-h-4 nx-w-4"})}),g&&(0,W.jsx)(CopyToClipboard,{getValue:()=>z.current?.querySelector("code")?.textContent||""})]})]})};function Steps({children:n,className:a,...g}){return(0,W.jsx)("div",{className:(0,B.Z)("nextra-steps nx-ml-4 nx-mb-12 nx-border-l nx-border-gray-200 nx-pl-6","dark:nx-border-neutral-800 [counter-reset:step]",a),...g,children:n})}var en=g(3158),er=g(7964),eo=g(2393),ei=g(8790),es=g(2894),el=g(3497),eu=g(1103),ed=g(5340),ec=g(5945);function focus_sentinel_b({onFocus:n}){let[a,g]=(0,et.useState)(!0),v=(0,ed.t)();return a?et.createElement(ec._,{as:"button",type:"button",features:ec.A.Focusable,onFocus:a=>{a.preventDefault();let j,z=50;j=requestAnimationFrame(function t(){if(z--<=0){j&&cancelAnimationFrame(j);return}if(n()){if(cancelAnimationFrame(j),!v.current)return;g(!1);return}j=requestAnimationFrame(t)})}}):null}var ep=g(5747),ef=g(790),eh=g(2511),em=g(1884),ex=g(74);let eg=et.createContext(null);function C({children:n}){let a=et.useRef({groups:new Map,get(n,a){var g;let v=this.groups.get(n);v||(v=new Map,this.groups.set(n,v));let j=null!=(g=v.get(a))?g:0;return v.set(a,j+1),[Array.from(v.keys()).indexOf(a),function(){let n=v.get(a);n>1?v.set(a,n-1):v.delete(a)}]}});return et.createElement(eg.Provider,{value:a},n)}function stable_collection_d(n){let a=et.useContext(eg);if(!a)throw Error("You must wrap your component in a ");let g=function(){var n,a,g;let v=null!=(g=null==(a=null==(n=et.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)?void 0:n.ReactCurrentOwner)?void 0:a.current)?g:null;if(!v)return Symbol();let j=[],z=v;for(;z;)j.push(z.index),z=z.return;return"$."+j.join(".")}(),[v,j]=a.current.get(n,g);return et.useEffect(()=>j,[]),v}var ev=((v=ev||{})[v.Forwards=0]="Forwards",v[v.Backwards=1]="Backwards",v),ey=((j=ey||{})[j.Less=-1]="Less",j[j.Equal=0]="Equal",j[j.Greater=1]="Greater",j),eb=((z=eb||{})[z.SetSelectedIndex=0]="SetSelectedIndex",z[z.RegisterTab=1]="RegisterTab",z[z.UnregisterTab=2]="UnregisterTab",z[z.RegisterPanel=3]="RegisterPanel",z[z.UnregisterPanel=4]="UnregisterPanel",z);let e_={0(n,a){var g;let v=(0,ep.z2)(n.tabs,n=>n.current),j=(0,ep.z2)(n.panels,n=>n.current),z=v.filter(n=>{var a;return!(null!=(a=n.current)&&a.hasAttribute("disabled"))}),B={...n,tabs:v,panels:j};if(a.index<0||a.index>v.length-1){let g=(0,ef.E)(Math.sign(a.index-n.selectedIndex),{[-1]:()=>1,0:()=>(0,ef.E)(Math.sign(a.index),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0});if(0===z.length)return B;let j=(0,ef.E)(g,{0:()=>v.indexOf(z[0]),1:()=>v.indexOf(z[z.length-1])});return{...B,selectedIndex:-1===j?n.selectedIndex:j}}let W=v.slice(0,a.index),H=[...v.slice(a.index),...W].find(n=>z.includes(n));if(!H)return B;let K=null!=(g=v.indexOf(H))?g:n.selectedIndex;return -1===K&&(K=n.selectedIndex),{...B,selectedIndex:K}},1(n,a){var g;if(n.tabs.includes(a.tab))return n;let v=n.tabs[n.selectedIndex],j=(0,ep.z2)([...n.tabs,a.tab],n=>n.current),z=null!=(g=j.indexOf(v))?g:n.selectedIndex;return -1===z&&(z=n.selectedIndex),{...n,tabs:j,selectedIndex:z}},2:(n,a)=>({...n,tabs:n.tabs.filter(n=>n!==a.tab)}),3:(n,a)=>n.panels.includes(a.panel)?n:{...n,panels:(0,ep.z2)([...n.panels,a.panel],n=>n.current)},4:(n,a)=>({...n,panels:n.panels.filter(n=>n!==a.panel)})},ew=(0,et.createContext)(null);function h(n){let a=(0,et.useContext)(ew);if(null===a){let a=Error(`<${n} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(a,h),a}return a}ew.displayName="TabsDataContext";let ek=(0,et.createContext)(null);function q(n){let a=(0,et.useContext)(ek);if(null===a){let a=Error(`<${n} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(a,q),a}return a}function fe(n,a){return(0,ef.E)(a.type,e_,n,a)}ek.displayName="TabsActionsContext";let eC=et.Fragment,eE=ex.AN.RenderStrategy|ex.AN.Static,eT=Object.assign((0,ex.yV)(function(n,a){var g,v;let j=(0,eo.M)(),{id:z=`headlessui-tabs-tab-${j}`,...B}=n,{orientation:W,activation:H,selectedIndex:K,tabs:ee,panels:es}=h("Tab"),ed=q("Tab"),ec=h("Tab"),eg=(0,et.useRef)(null),ev=(0,eu.T)(eg,a);(0,ei.e)(()=>ed.registerTab(eg),[ed,eg]);let ey=stable_collection_d("tabs"),eb=ee.indexOf(eg);-1===eb&&(eb=ey);let e_=eb===K,ew=(0,er.z)(n=>{var a;let g=n();if(g===ep.fE.Success&&"auto"===H){let n=null==(a=(0,em.r)(eg))?void 0:a.activeElement,g=ec.tabs.findIndex(a=>a.current===n);-1!==g&&ed.change(g)}return g}),ek=(0,er.z)(n=>{let a=ee.map(n=>n.current).filter(Boolean);if(n.key===en.R.Space||n.key===en.R.Enter){n.preventDefault(),n.stopPropagation(),ed.change(eb);return}switch(n.key){case en.R.Home:case en.R.PageUp:return n.preventDefault(),n.stopPropagation(),ew(()=>(0,ep.jA)(a,ep.TO.First));case en.R.End:case en.R.PageDown:return n.preventDefault(),n.stopPropagation(),ew(()=>(0,ep.jA)(a,ep.TO.Last))}if(ew(()=>(0,ef.E)(W,{vertical:()=>n.key===en.R.ArrowUp?(0,ep.jA)(a,ep.TO.Previous|ep.TO.WrapAround):n.key===en.R.ArrowDown?(0,ep.jA)(a,ep.TO.Next|ep.TO.WrapAround):ep.fE.Error,horizontal:()=>n.key===en.R.ArrowLeft?(0,ep.jA)(a,ep.TO.Previous|ep.TO.WrapAround):n.key===en.R.ArrowRight?(0,ep.jA)(a,ep.TO.Next|ep.TO.WrapAround):ep.fE.Error}))===ep.fE.Success)return n.preventDefault()}),eC=(0,et.useRef)(!1),eE=(0,er.z)(()=>{var n;eC.current||(eC.current=!0,null==(n=eg.current)||n.focus({preventScroll:!0}),ed.change(eb),(0,eh.Y)(()=>{eC.current=!1}))}),eT=(0,er.z)(n=>{n.preventDefault()}),eO=(0,et.useMemo)(()=>({selected:e_}),[e_]),ej={ref:ev,onKeyDown:ek,onMouseDown:eT,onClick:eE,id:z,role:"tab",type:(0,el.f)(n,eg),"aria-controls":null==(v=null==(g=es[eb])?void 0:g.current)?void 0:v.id,"aria-selected":e_,tabIndex:e_?0:-1};return(0,ex.sY)({ourProps:ej,theirProps:B,slot:eO,defaultTag:"button",name:"Tabs.Tab"})}),{Group:(0,ex.yV)(function(n,a){let{defaultIndex:g=0,vertical:v=!1,manual:j=!1,onChange:z,selectedIndex:B=null,...W}=n,H=v?"vertical":"horizontal",K=j?"manual":"auto",ee=null!==B,en=(0,eu.T)(a),[eo,el]=(0,et.useReducer)(fe,{selectedIndex:null!=B?B:g,tabs:[],panels:[]}),ed=(0,et.useMemo)(()=>({selectedIndex:eo.selectedIndex}),[eo.selectedIndex]),ec=(0,es.E)(z||(()=>{})),ef=(0,es.E)(eo.tabs),eh=(0,et.useMemo)(()=>({orientation:H,activation:K,...eo}),[H,K,eo]),em=(0,er.z)(n=>(el({type:1,tab:n}),()=>el({type:2,tab:n}))),eg=(0,er.z)(n=>(el({type:3,panel:n}),()=>el({type:4,panel:n}))),ev=(0,er.z)(n=>{ey.current!==n&&ec.current(n),ee||el({type:0,index:n})}),ey=(0,es.E)(ee?n.selectedIndex:eo.selectedIndex),eb=(0,et.useMemo)(()=>({registerTab:em,registerPanel:eg,change:ev}),[]);return(0,ei.e)(()=>{el({type:0,index:null!=B?B:g})},[B]),(0,ei.e)(()=>{if(void 0===ey.current||eo.tabs.length<=0)return;let n=(0,ep.z2)(eo.tabs,n=>n.current);n.some((n,a)=>eo.tabs[a]!==n)&&ev(n.indexOf(eo.tabs[ey.current]))}),et.createElement(C,null,et.createElement(ek.Provider,{value:eb},et.createElement(ew.Provider,{value:eh},eh.tabs.length<=0&&et.createElement(focus_sentinel_b,{onFocus:()=>{var n,a;for(let g of ef.current)if((null==(n=g.current)?void 0:n.tabIndex)===0)return null==(a=g.current)||a.focus(),!0;return!1}}),(0,ex.sY)({ourProps:{ref:en},theirProps:W,slot:ed,defaultTag:eC,name:"Tabs"}))))}),List:(0,ex.yV)(function(n,a){let{orientation:g,selectedIndex:v}=h("Tab.List"),j=(0,eu.T)(a);return(0,ex.sY)({ourProps:{ref:j,role:"tablist","aria-orientation":g},theirProps:n,slot:{selectedIndex:v},defaultTag:"div",name:"Tabs.List"})}),Panels:(0,ex.yV)(function(n,a){let{selectedIndex:g}=h("Tab.Panels"),v=(0,eu.T)(a),j=(0,et.useMemo)(()=>({selectedIndex:g}),[g]);return(0,ex.sY)({ourProps:{ref:v},theirProps:n,slot:j,defaultTag:"div",name:"Tabs.Panels"})}),Panel:(0,ex.yV)(function(n,a){var g,v,j,z;let B=(0,eo.M)(),{id:W=`headlessui-tabs-panel-${B}`,tabIndex:H=0,...K}=n,{selectedIndex:ee,tabs:en,panels:er}=h("Tab.Panel"),es=q("Tab.Panel"),el=(0,et.useRef)(null),ed=(0,eu.T)(el,a);(0,ei.e)(()=>es.registerPanel(el),[es,el]);let ep=stable_collection_d("panels"),ef=er.indexOf(el);-1===ef&&(ef=ep);let eh=ef===ee,em=(0,et.useMemo)(()=>({selected:eh}),[eh]),eg={ref:ed,id:W,role:"tabpanel","aria-labelledby":null==(v=null==(g=en[ef])?void 0:g.current)?void 0:v.id,tabIndex:eh?H:-1};return eh||null!=(j=K.unmount)&&!j||null!=(z=K.static)&&z?(0,ex.sY)({ourProps:eg,theirProps:K,slot:em,defaultTag:"div",features:eE,visible:eh,name:"Tabs.Panel"}):et.createElement(ec._,{as:"span","aria-hidden":"true",...eg})})});function isTabObjectItem(n){return!!n&&"object"==typeof n&&"label"in n}var eO=Object.assign(function({items:n,selectedIndex:a,defaultIndex:g=0,onChange:v,children:j,storageKey:z}){let[H,K]=(0,et.useState)(g);(0,et.useEffect)(()=>{void 0!==a&&K(a)},[a]),(0,et.useEffect)(()=>{if(!z)return;function fn(n){n.key===z&&K(Number(n.newValue))}let n=Number(localStorage.getItem(z));return K(Number.isNaN(n)?0:n),window.addEventListener("storage",fn),()=>{window.removeEventListener("storage",fn)}},[]);let ee=(0,et.useCallback)(n=>{if(z){let a=String(n);localStorage.setItem(z,a),window.dispatchEvent(new StorageEvent("storage",{key:z,newValue:a}));return}K(n),v?.(n)},[]);return(0,W.jsxs)(eT.Group,{selectedIndex:H,defaultIndex:g,onChange:ee,children:[(0,W.jsx)("div",{className:"nextra-scrollbar nx-overflow-x-auto nx-overflow-y-hidden nx-overscroll-x-contain",children:(0,W.jsx)(eT.List,{className:"nx-mt-4 nx-flex nx-w-max nx-min-w-full nx-border-b nx-border-gray-200 nx-pb-px dark:nx-border-neutral-800",children:n.map((n,a)=>{let g=isTabObjectItem(n)&&n.disabled;return(0,W.jsx)(eT,{disabled:g,className:({selected:n})=>(0,B.Z)("nx-mr-2 nx-rounded-t nx-p-2 nx-font-medium nx-leading-5 nx-transition-colors","-nx-mb-0.5 nx-select-none nx-border-b-2",n?"nx-border-primary-500 nx-text-primary-600":"nx-border-transparent nx-text-gray-600 hover:nx-border-gray-200 hover:nx-text-black dark:nx-text-gray-200 dark:hover:nx-border-neutral-800 dark:hover:nx-text-white",g&&"nx-pointer-events-none nx-text-gray-400 dark:nx-text-neutral-600"),children:isTabObjectItem(n)?n.label:n},a)})})}),(0,W.jsx)(eT.Panels,{children:j})]})},{displayName:"Tabs",Tab:function({children:n,...a}){return(0,W.jsx)(eT.Panel,{...a,className:"nx-rounded nx-pt-6",children:n})}}),Td=({className:n="",...a})=>(0,W.jsx)("td",{className:(0,B.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600",n),...a}),Table=({className:n="",...a})=>(0,W.jsx)("table",{className:(0,B.Z)("nx-block nx-overflow-x-scroll",n),...a}),Th=({className:n="",...a})=>(0,W.jsx)("th",{className:(0,B.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 nx-font-semibold dark:nx-border-gray-600",n),...a}),Tr=({className:n="",...a})=>(0,W.jsx)("tr",{className:(0,B.Z)("nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600","even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20",n),...a}),ej=g(429),eS=g.n(ej),eI={cards:(0,B.Z)("nextra-cards nx-mt-4 nx-gap-4 nx-grid","nx-not-prose"),card:(0,B.Z)("nextra-card nx-group nx-flex nx-flex-col nx-justify-start nx-overflow-hidden nx-rounded-lg nx-border nx-border-gray-200","nx-text-current nx-no-underline dark:nx-shadow-none","hover:nx-shadow-gray-100 dark:hover:nx-shadow-none nx-shadow-gray-100","active:nx-shadow-sm active:nx-shadow-gray-200","nx-transition-all nx-duration-200 hover:nx-border-gray-300"),title:(0,B.Z)("nx-flex nx-font-semibold nx-items-start nx-gap-2 nx-p-4 nx-text-gray-700 hover:nx-text-gray-900")},eP=(0,W.jsx)("span",{className:"nx-transition-transform nx-duration-75 group-hover:nx-translate-x-[2px]",children:"→"});function Card({children:n,title:a,icon:g,image:v,arrow:j,href:z,...H}){let K=j?eP:null;return v?(0,W.jsxs)(eS(),{href:z,className:(0,B.Z)(eI.card,"nx-bg-gray-100 nx-shadow dark:nx-border-neutral-700 dark:nx-bg-neutral-800 dark:nx-text-gray-50 hover:nx-shadow-lg dark:hover:nx-border-neutral-500 dark:hover:nx-bg-neutral-700"),...H,children:[n,(0,W.jsxs)("span",{className:(0,B.Z)(eI.title,"dark:nx-text-gray-300 dark:hover:nx-text-gray-100"),children:[g,(0,W.jsxs)("span",{className:"nx-flex nx-gap-1",children:[a,K]})]})]}):(0,W.jsx)(eS(),{href:z,className:(0,B.Z)(eI.card,"nx-bg-transparent nx-shadow-sm dark:nx-border-neutral-800 hover:nx-bg-slate-50 hover:nx-shadow-md dark:hover:nx-border-neutral-700 dark:hover:nx-bg-neutral-900"),...H,children:(0,W.jsxs)("span",{className:(0,B.Z)(eI.title,"dark:nx-text-neutral-200 dark:hover:nx-text-neutral-50 nx-flex nx-items-center"),children:[g,a,K]})})}var eN=Object.assign(function({children:n,num:a=3,className:g,style:v,...j}){return(0,W.jsx)("div",{className:(0,B.Z)(eI.cards,g),...j,style:{...v,"--rows":a},children:n})},{displayName:"Cards",Card}),eZ=(0,et.createContext)(0);function useIndent(){return(0,et.useContext)(eZ)}function Ident(){let n=useIndent();return(0,W.jsx)(W.Fragment,{children:Array.from({length:n},(n,a)=>(0,W.jsx)("span",{className:"nx-w-5"},a))})}var eR=(0,et.memo)(({label:n,name:a,open:g,children:v,defaultOpen:j=!1,onToggle:z})=>{let B=useIndent(),[H,K]=(0,et.useState)(j),ee=(0,et.useCallback)(()=>{z?.(!H),K(!H)},[H,z]),en=void 0===g?H:g;return(0,W.jsxs)("li",{className:"nx-flex nx-list-none nx-flex-col",children:[(0,W.jsxs)("button",{onClick:ee,title:a,className:"nx-inline-flex nx-cursor-pointer nx-items-center nx-py-1 hover:nx-opacity-60",children:[(0,W.jsx)(Ident,{}),(0,W.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:en?"M5 19a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4l2 2h4a2 2 0 0 1 2 2v1M5 19h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2Z":"M3 7v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-6l-2-2H5a2 2 0 0 0-2 2Z"})}),(0,W.jsx)("span",{className:"nx-ml-1",children:n??a})]}),en&&(0,W.jsx)("ul",{children:(0,W.jsx)(eZ.Provider,{value:B+1,children:v})})]})});eR.displayName="Folder";var eM=(0,et.memo)(({label:n,name:a,active:g})=>(0,W.jsx)("li",{className:(0,B.Z)("nx-flex nx-list-none",g&&"nx-text-primary-600 contrast-more:nx-underline"),children:(0,W.jsxs)("span",{className:"nx-inline-flex nx-cursor-default nx-items-center nx-py-1",children:[(0,W.jsx)(Ident,{}),(0,W.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,W.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5.586a1 1 0 0 1 .707.293l5.414 5.414a1 1 0 0 1 .293.707V19a2 2 0 0 1-2 2Z"})}),(0,W.jsx)("span",{className:"nx-ml-1",children:n??a})]})}));eM.displayName="File",Object.assign(function({children:n}){return(0,W.jsx)("div",{className:(0,B.Z)("nextra-filetree nx-mt-6 nx-select-none nx-text-sm nx-text-gray-800 dark:nx-text-gray-300","nx-not-prose"),children:(0,W.jsx)("div",{className:"nx-inline-block nx-rounded-lg nx-border nx-px-4 nx-py-2 dark:nx-border-neutral-800",children:n})})},{Folder:eR,File:eM})},1259:function(n,a,g){"use strict";g.d(a,{LZ:function(){return ArrowRightIcon},nQ:function(){return CheckIcon},TI:function(){return CopyIcon},D7:function(){return DiscordIcon},Qq:function(){return ExpandIcon},fy:function(){return GitHubIcon},n9:function(){return GlobeIcon},AV:function(){return InformationCircleIcon},Oq:function(){return MenuIcon},kL:function(){return MoonIcon},L4:function(){return SpinnerIcon},NW:function(){return SunIcon},NK:function(){return WordWrapIcon},b0:function(){return XIcon}});var v=g(1527);function ArrowRightIcon({pathClassName:n,...a}){return(0,v.jsx)("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",...a,children:(0,v.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 5l7 7-7 7",className:n})})}function CheckIcon(n){return(0,v.jsx)("svg",{viewBox:"0 0 20 20",width:"1em",height:"1em",fill:"currentColor",...n,children:(0,v.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})}function CopyIcon(n){return(0,v.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...n,children:[(0,v.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,v.jsx)("path",{d:"M5 15H4C2.89543 15 2 14.1046 2 13V4C2 2.89543 2.89543 2 4 2H13C14.1046 2 15 2.89543 15 4V5",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function DiscordIcon(n){return(0,v.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 5 30.67 23.25",...n,children:[(0,v.jsx)("title",{children:"Discord"}),(0,v.jsx)("path",{d:"M26.0015 6.9529C24.0021 6.03845 21.8787 5.37198 19.6623 5C19.3833 5.48048 19.0733 6.13144 18.8563 6.64292C16.4989 6.30193 14.1585 6.30193 11.8336 6.64292C11.6166 6.13144 11.2911 5.48048 11.0276 5C8.79575 5.37198 6.67235 6.03845 4.6869 6.9529C0.672601 12.8736 -0.41235 18.6548 0.130124 24.3585C2.79599 26.2959 5.36889 27.4739 7.89682 28.2489C8.51679 27.4119 9.07477 26.5129 9.55525 25.5675C8.64079 25.2265 7.77283 24.808 6.93587 24.312C7.15286 24.1571 7.36986 23.9866 7.57135 23.8161C12.6241 26.1255 18.0969 26.1255 23.0876 23.8161C23.3046 23.9866 23.5061 24.1571 23.7231 24.312C22.8861 24.808 22.0182 25.2265 21.1037 25.5675C21.5842 26.5129 22.1422 27.4119 22.7621 28.2489C25.2885 27.4739 27.8769 26.2959 30.5288 24.3585C31.1952 17.7559 29.4733 12.0212 26.0015 6.9529ZM10.2527 20.8402C8.73376 20.8402 7.49382 19.4608 7.49382 17.7714C7.49382 16.082 8.70276 14.7025 10.2527 14.7025C11.7871 14.7025 13.0425 16.082 13.0115 17.7714C13.0115 19.4608 11.7871 20.8402 10.2527 20.8402ZM20.4373 20.8402C18.9183 20.8402 17.6768 19.4608 17.6768 17.7714C17.6768 16.082 18.8873 14.7025 20.4373 14.7025C21.9717 14.7025 23.2271 16.082 23.1961 17.7714C23.1961 19.4608 21.9872 20.8402 20.4373 20.8402Z"})]})}function ExpandIcon({isOpen:n,...a}){return(0,v.jsxs)("svg",{height:"12",width:"12",viewBox:"0 0 16 16",fill:"currentColor",...a,children:[(0,v.jsx)("path",{fillRule:"evenodd",d:"M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z",className:n?"":"nx-origin-[35%] nx-rotate-180"}),(0,v.jsx)("path",{fillRule:"evenodd",d:"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z"})]})}function GitHubIcon(n){return(0,v.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",viewBox:"3 3 18 18",...n,children:[(0,v.jsx)("title",{children:"GitHub"}),(0,v.jsx)("path",{d:"M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z"})]})}function GlobeIcon(n){return(0,v.jsx)("svg",{viewBox:"2 2 16 16",width:"12",height:"12",fill:"currentColor",...n,children:(0,v.jsx)("path",{fillRule:"evenodd",d:"M4.083 9h1.946c.089-1.546.383-2.97.837-4.118A6.004 6.004 0 004.083 9zM10 2a8 8 0 100 16 8 8 0 000-16zm0 2c-.076 0-.232.032-.465.262-.238.234-.497.623-.737 1.182-.389.907-.673 2.142-.766 3.556h3.936c-.093-1.414-.377-2.649-.766-3.556-.24-.56-.5-.948-.737-1.182C10.232 4.032 10.076 4 10 4zm3.971 5c-.089-1.546-.383-2.97-.837-4.118A6.004 6.004 0 0115.917 9h-1.946zm-2.003 2H8.032c.093 1.414.377 2.649.766 3.556.24.56.5.948.737 1.182.233.23.389.262.465.262.076 0 .232-.032.465-.262.238-.234.498-.623.737-1.182.389-.907.673-2.142.766-3.556zm1.166 4.118c.454-1.147.748-2.572.837-4.118h1.946a6.004 6.004 0 01-2.783 4.118zm-6.268 0C6.412 13.97 6.118 12.546 6.03 11H4.083a6.004 6.004 0 002.783 4.118z",clipRule:"evenodd"})})}function InformationCircleIcon(n){return(0,v.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"20",height:"20",...n,children:(0,v.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"})})}function MenuIcon(n){return(0,v.jsxs)("svg",{fill:"none",width:"24",height:"24",viewBox:"0 0 24 24",stroke:"currentColor",...n,children:[(0,v.jsx)("g",{children:(0,v.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 6h16"})}),(0,v.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 12h16"}),(0,v.jsx)("g",{children:(0,v.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 18h16"})})]})}function MoonIcon(n){return(0,v.jsx)("svg",{fill:"none",viewBox:"2 2 20 20",width:"12",height:"12",stroke:"currentColor",...n,children:(0,v.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})}function SpinnerIcon(n){return(0,v.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"24",height:"24",...n,children:[(0,v.jsx)("circle",{className:"nx-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,v.jsx)("path",{className:"nx-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}function SunIcon(n){return(0,v.jsx)("svg",{fill:"none",viewBox:"3 3 18 18",width:"12",height:"12",stroke:"currentColor",...n,children:(0,v.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})})}function WordWrapIcon(n){return(0,v.jsx)("svg",{viewBox:"0 0 24 24",width:"24",height:"24",...n,children:(0,v.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}function XIcon(n){return(0,v.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"currentColor",...n,children:(0,v.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})}},5424:function(n,a,g){"use strict";g.d(a,{Z:function(){return MDXProvider},a:function(){return mdx_useMDXComponents}});var v=g(959);let j=v.createContext({});function useMDXComponents(n){let a=v.useContext(j);return v.useMemo(()=>"function"==typeof n?n(a):{...a,...n},[a,n])}let z={};function MDXProvider({components:n,children:a,disableParentContext:g}){let B;return B=g?"function"==typeof n?n({}):n||z:useMDXComponents(n),v.createElement(j.Provider,{value:B},a)}var B=g(7858),W=g.n(B),H={img:n=>(0,v.createElement)("object"==typeof n.src?W():"img",n)},mdx_useMDXComponents=n=>useMDXComponents({...H,...n})},5182:function(n,a,g){"use strict";var v=g(6097);n.exports=function(n){var a={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:n,query:{},parse_failed:!1};try{var g=new URL(n);a.protocols=v(g),a.protocol=a.protocols[0],a.port=g.port,a.resource=g.hostname,a.host=g.host,a.user=g.username||"",a.password=g.password||"",a.pathname=g.pathname,a.hash=g.hash.slice(1),a.search=g.search.slice(1),a.href=g.href,a.query=Object.fromEntries(g.searchParams)}catch(g){a.protocols=["file"],a.protocol=a.protocols[0],a.port="",a.resource="",a.user="",a.pathname="",a.hash="",a.search="",a.href=n,a.query={},a.parse_failed=!0}return a}},8593:function(n,a,g){"use strict";var v=g(5182),j=v&&"object"==typeof v&&"default"in v?v:{default:v};let testParameter=(n,a)=>a.some(a=>a instanceof RegExp?a.test(n):a===n),normalizeDataURL=(n,{stripHash:a})=>{let g=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(n);if(!g)throw Error(`Invalid URL: ${n}`);let{type:v,data:j,hash:z}=g.groups,B=v.split(";");z=a?"":z;let W=!1;"base64"===B[B.length-1]&&(B.pop(),W=!0);let H=(B.shift()||"").toLowerCase(),K=B.map(n=>{let[a,g=""]=n.split("=").map(n=>n.trim());return"charset"===a&&"us-ascii"===(g=g.toLowerCase())?"":`${a}${g?`=${g}`:""}`}).filter(Boolean),ee=[...K];return W&&ee.push("base64"),(ee.length>0||H&&"text/plain"!==H)&&ee.unshift(H),`data:${ee.join(";")},${W?j.trim():j}${z?`#${z}`:""}`},parseUrl=(n,a=!1)=>{let throwErr=a=>{let g=Error(a);throw g.subject_url=n,g};"string"==typeof n&&n.trim()||throwErr("Invalid url."),n.length>parseUrl.MAX_INPUT_LENGTH&&throwErr("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),a&&("object"!=typeof a&&(a={stripHash:!1}),n=function(n,a){if(a={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...a},n=n.trim(),/^data:/i.test(n))return normalizeDataURL(n,a);if(/^view-source:/i.test(n))throw Error("`view-source:` is not supported as it is a non-standard protocol");let g=n.startsWith("//"),v=!g&&/^\.*\//.test(n);v||(n=n.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,a.defaultProtocol));let j=new URL(n);if(a.forceHttp&&a.forceHttps)throw Error("The `forceHttp` and `forceHttps` options cannot be used together");if(a.forceHttp&&"https:"===j.protocol&&(j.protocol="http:"),a.forceHttps&&"http:"===j.protocol&&(j.protocol="https:"),a.stripAuthentication&&(j.username="",j.password=""),a.stripHash?j.hash="":a.stripTextFragment&&(j.hash=j.hash.replace(/#?:~:text.*?$/i,"")),j.pathname){let n=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,a=0,g="";for(;;){let v=n.exec(j.pathname);if(!v)break;let z=v[0],B=v.index,W=j.pathname.slice(a,B);g+=W.replace(/\/{2,}/g,"/")+z,a=B+z.length}let v=j.pathname.slice(a,j.pathname.length);g+=v.replace(/\/{2,}/g,"/"),j.pathname=g}if(j.pathname)try{j.pathname=decodeURI(j.pathname)}catch{}if(!0===a.removeDirectoryIndex&&(a.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(a.removeDirectoryIndex)&&a.removeDirectoryIndex.length>0){let n=j.pathname.split("/"),g=n[n.length-1];testParameter(g,a.removeDirectoryIndex)&&(n=n.slice(0,-1),j.pathname=n.slice(1).join("/")+"/")}if(j.hostname&&(j.hostname=j.hostname.replace(/\.$/,""),a.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(j.hostname)&&(j.hostname=j.hostname.replace(/^www\./,""))),Array.isArray(a.removeQueryParameters))for(let n of[...j.searchParams.keys()])testParameter(n,a.removeQueryParameters)&&j.searchParams.delete(n);if(!0===a.removeQueryParameters&&(j.search=""),a.sortQueryParameters){j.searchParams.sort();try{j.search=decodeURIComponent(j.search)}catch{}}a.removeTrailingSlash&&(j.pathname=j.pathname.replace(/\/$/,""));let z=n;return n=j.toString(),a.removeSingleSlash||"/"!==j.pathname||z.endsWith("/")||""!==j.hash||(n=n.replace(/\/$/,"")),(a.removeTrailingSlash||"/"===j.pathname)&&""===j.hash&&a.removeSingleSlash&&(n=n.replace(/\/$/,"")),g&&!a.normalizeProtocol&&(n=n.replace(/^http:\/\//,"//")),a.stripProtocol&&(n=n.replace(/^(?:https?:)?\/\//,"")),n}(n,a));let g=j.default(n);if(g.parse_failed){let n=g.href.match(/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/);n?(g.protocols=["ssh"],g.protocol="ssh",g.resource=n[2],g.host=n[2],g.user=n[1],g.pathname=`/${n[3]}`,g.parse_failed=!1):throwErr("URL parsing failed.")}return g};parseUrl.MAX_INPUT_LENGTH=2048,n.exports=parseUrl},6097:function(n){"use strict";n.exports=function(n,a){!0===a&&(a=0);var g="";if("string"==typeof n)try{g=new URL(n).protocol}catch(n){}else n&&n.constructor===URL&&(g=n.protocol);var v=g.split(/\:|\+/).filter(Boolean);return"number"==typeof a?v[a]:v}},2601:function(n){var a={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},g=Object.keys(a).join("|"),v=RegExp(g,"g"),j=RegExp(g,"");function matcher(n){return a[n]}var removeAccents=function(n){return n.replace(v,matcher)};n.exports=removeAccents,n.exports.has=function(n){return!!n.match(j)},n.exports.remove=removeAccents},5184:function(){},3158:function(n,a,g){"use strict";g.d(a,{R:function(){return j}});var v,j=((v=j||{}).Space=" ",v.Enter="Enter",v.Escape="Escape",v.Backspace="Backspace",v.Delete="Delete",v.ArrowLeft="ArrowLeft",v.ArrowUp="ArrowUp",v.ArrowRight="ArrowRight",v.ArrowDown="ArrowDown",v.Home="Home",v.End="End",v.PageUp="PageUp",v.PageDown="PageDown",v.Tab="Tab",v)},7964:function(n,a,g){"use strict";g.d(a,{z:function(){return o}});var v=g(959),j=g(2894);let o=function(n){let a=(0,j.E)(n);return v.useCallback((...n)=>a.current(...n),[a])}},2393:function(n,a,g){"use strict";g.d(a,{M:function(){return H}});var v,j=g(959),z=g(2750),B=g(8790),W=g(8947);let H=null!=(v=j.useId)?v:function(){let n=(0,W.H)(),[a,g]=j.useState(n?()=>z.O.nextId():null);return(0,B.e)(()=>{null===a&&g(z.O.nextId())},[a]),null!=a?""+a:void 0}},5340:function(n,a,g){"use strict";g.d(a,{t:function(){return f}});var v=g(959),j=g(8790);function f(){let n=(0,v.useRef)(!1);return(0,j.e)(()=>(n.current=!0,()=>{n.current=!1}),[]),n}},8790:function(n,a,g){"use strict";g.d(a,{e:function(){return l}});var v=g(959),j=g(2750);let l=(n,a)=>{j.O.isServer?(0,v.useEffect)(n,a):(0,v.useLayoutEffect)(n,a)}},2894:function(n,a,g){"use strict";g.d(a,{E:function(){return s}});var v=g(959),j=g(8790);function s(n){let a=(0,v.useRef)(n);return(0,j.e)(()=>{a.current=n},[n]),a}},3497:function(n,a,g){"use strict";g.d(a,{f:function(){return T}});var v=g(959),j=g(8790);function i(n){var a;if(n.type)return n.type;let g=null!=(a=n.as)?a:"button";if("string"==typeof g&&"button"===g.toLowerCase())return"button"}function T(n,a){let[g,z]=(0,v.useState)(()=>i(n));return(0,j.e)(()=>{z(i(n))},[n.type,n.as]),(0,j.e)(()=>{g||a.current&&a.current instanceof HTMLButtonElement&&!a.current.hasAttribute("type")&&z("button")},[g,a]),g}},8947:function(n,a,g){"use strict";g.d(a,{H:function(){return l}});var v,j=g(959),z=g(2750);function l(){let n;let a=(n="undefined"==typeof document,(0,(v||(v=g.t(j,2))).useSyncExternalStore)(()=>()=>{},()=>!1,()=>!n)),[B,W]=j.useState(z.O.isHandoffComplete);return B&&!1===z.O.isHandoffComplete&&W(!1),j.useEffect(()=>{!0!==B&&W(!0)},[B]),j.useEffect(()=>z.O.handoff(),[]),!a&&B}},1103:function(n,a,g){"use strict";g.d(a,{T:function(){return y}});var v=g(959),j=g(7964);let z=Symbol();function y(...n){let a=(0,v.useRef)(n);(0,v.useEffect)(()=>{a.current=n},[n]);let g=(0,j.z)(n=>{for(let g of a.current)null!=g&&("function"==typeof g?g(n):g.current=n)});return n.every(n=>null==n||(null==n?void 0:n[z]))?void 0:g}},5945:function(n,a,g){"use strict";g.d(a,{A:function(){return z},_:function(){return B}});var v,j=g(74),z=((v=z||{})[v.None=1]="None",v[v.Focusable=2]="Focusable",v[v.Hidden=4]="Hidden",v);let B=(0,j.yV)(function(n,a){var g;let{features:v=1,...z}=n,B={ref:a,"aria-hidden":(2&v)==2||(null!=(g=z["aria-hidden"])?g:void 0),style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(4&v)==4&&(2&v)!=2&&{display:"none"}}};return(0,j.sY)({ourProps:B,theirProps:z,slot:{},defaultTag:"div",name:"Hidden"})})},3518:function(n,a,g){"use strict";function t(...n){return Array.from(new Set(n.flatMap(n=>"string"==typeof n?n.split(" "):[]))).filter(Boolean).join(" ")}g.d(a,{A:function(){return t}})},8671:function(n,a,g){"use strict";g.d(a,{k:function(){return function o(){let n=[],a={addEventListener:(n,g,v,j)=>(n.addEventListener(g,v,j),a.add(()=>n.removeEventListener(g,v,j))),requestAnimationFrame(...n){let g=requestAnimationFrame(...n);return a.add(()=>cancelAnimationFrame(g))},nextFrame:(...n)=>a.requestAnimationFrame(()=>a.requestAnimationFrame(...n)),setTimeout(...n){let g=setTimeout(...n);return a.add(()=>clearTimeout(g))},microTask(...n){let g={current:!0};return(0,v.Y)(()=>{g.current&&n[0]()}),a.add(()=>{g.current=!1})},style(n,a,g){let v=n.style.getPropertyValue(a);return Object.assign(n.style,{[a]:g}),this.add(()=>{Object.assign(n.style,{[a]:v})})},group(n){let a=o();return n(a),this.add(()=>a.dispose())},add:a=>(n.push(a),()=>{let g=n.indexOf(a);if(g>=0)for(let a of n.splice(g,1))a()}),dispose(){for(let a of n.splice(0))a()}};return a}}});var v=g(2511)},2750:function(n,a,g){"use strict";g.d(a,{O:function(){return j}});var v=Object.defineProperty,d=(n,a,g)=>a in n?v(n,a,{enumerable:!0,configurable:!0,writable:!0,value:g}):n[a]=g,r=(n,a,g)=>(d(n,"symbol"!=typeof a?a+"":a,g),g);let j=new class{constructor(){r(this,"current",this.detect()),r(this,"handoffState","pending"),r(this,"currentId",0)}set(n){this.current!==n&&(this.handoffState="pending",this.currentId=0,this.current=n)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return"undefined"==typeof window||"undefined"==typeof document?"server":"client"}handoff(){"pending"===this.handoffState&&(this.handoffState="complete")}get isHandoffComplete(){return"complete"===this.handoffState}}},5747:function(n,a,g){"use strict";g.d(a,{EO:function(){return _},TO:function(){return en},fE:function(){return er},jA:function(){return O},sP:function(){return h},tJ:function(){return ei},wI:function(){return D},z2:function(){return I}});var v,j,z,B,W,H=g(8671),K=g(790),ee=g(1884);let et=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(n=>`${n}:not([tabindex='-1'])`).join(",");var en=((v=en||{})[v.First=1]="First",v[v.Previous=2]="Previous",v[v.Next=4]="Next",v[v.Last=8]="Last",v[v.WrapAround=16]="WrapAround",v[v.NoScroll=32]="NoScroll",v),er=((j=er||{})[j.Error=0]="Error",j[j.Overflow=1]="Overflow",j[j.Success=2]="Success",j[j.Underflow=3]="Underflow",j),eo=((z=eo||{})[z.Previous=-1]="Previous",z[z.Next=1]="Next",z);function f(n=document.body){return null==n?[]:Array.from(n.querySelectorAll(et)).sort((n,a)=>Math.sign((n.tabIndex||Number.MAX_SAFE_INTEGER)-(a.tabIndex||Number.MAX_SAFE_INTEGER)))}var ei=((B=ei||{})[B.Strict=0]="Strict",B[B.Loose=1]="Loose",B);function h(n,a=0){var g;return n!==(null==(g=(0,ee.r)(n))?void 0:g.body)&&(0,K.E)(a,{0:()=>n.matches(et),1(){let a=n;for(;null!==a;){if(a.matches(et))return!0;a=a.parentElement}return!1}})}function D(n){let a=(0,ee.r)(n);(0,H.k)().nextFrame(()=>{a&&!h(a.activeElement,0)&&(null==n||n.focus({preventScroll:!0}))})}var es=((W=es||{})[W.Keyboard=0]="Keyboard",W[W.Mouse=1]="Mouse",W);function I(n,a=n=>n){return n.slice().sort((n,g)=>{let v=a(n),j=a(g);if(null===v||null===j)return 0;let z=v.compareDocumentPosition(j);return z&Node.DOCUMENT_POSITION_FOLLOWING?-1:z&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function _(n,a){return O(f(),a,{relativeTo:n})}function O(n,a,{sorted:g=!0,relativeTo:v=null,skipElements:j=[]}={}){var z,B,W;let H=Array.isArray(n)?n.length>0?n[0].ownerDocument:document:n.ownerDocument,K=Array.isArray(n)?g?I(n):n:f(n);j.length>0&&K.length>1&&(K=K.filter(n=>!j.includes(n))),v=null!=v?v:H.activeElement;let ee=(()=>{if(5&a)return 1;if(10&a)return -1;throw Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),et=(()=>{if(1&a)return 0;if(2&a)return Math.max(0,K.indexOf(v))-1;if(4&a)return Math.max(0,K.indexOf(v))+1;if(8&a)return K.length-1;throw Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),en=32&a?{preventScroll:!0}:{},er=0,eo=K.length,ei;do{if(er>=eo||er+eo<=0)return 0;let n=et+er;if(16&a)n=(n+eo)%eo;else{if(n<0)return 3;if(n>=eo)return 1}null==(ei=K[n])||ei.focus(en),er+=ee}while(ei!==H.activeElement);return 6&a&&null!=(W=null==(B=null==(z=ei)?void 0:z.matches)?void 0:B.call(z,"textarea,input"))&&W&&ei.select(),2}"undefined"!=typeof window&&"undefined"!=typeof document&&(document.addEventListener("keydown",n=>{n.metaKey||n.altKey||n.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")},!0),document.addEventListener("click",n=>{1===n.detail?delete document.documentElement.dataset.headlessuiFocusVisible:0===n.detail&&(document.documentElement.dataset.headlessuiFocusVisible="")},!0))},790:function(n,a,g){"use strict";function u(n,a,...g){if(n in a){let v=a[n];return"function"==typeof v?v(...g):v}let v=Error(`Tried to handle "${n}" but there is no handler defined. Only defined handlers are: ${Object.keys(a).map(n=>`"${n}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(v,u),v}g.d(a,{E:function(){return u}})},2511:function(n,a,g){"use strict";function t(n){"function"==typeof queueMicrotask?queueMicrotask(n):Promise.resolve().then(n).catch(n=>setTimeout(()=>{throw n}))}g.d(a,{Y:function(){return t}})},1884:function(n,a,g){"use strict";g.d(a,{r:function(){return o}});var v=g(2750);function o(n){return v.O.isServer?null:n instanceof Node?n.ownerDocument:null!=n&&n.hasOwnProperty("current")&&n.current instanceof Node?n.current.ownerDocument:document}},74:function(n,a,g){"use strict";g.d(a,{AN:function(){return H},l4:function(){return K},oA:function(){return x},sY:function(){return C},yV:function(){return U}});var v,j,z=g(959),B=g(3518),W=g(790),H=((v=H||{})[v.None=0]="None",v[v.RenderStrategy=1]="RenderStrategy",v[v.Static=2]="Static",v),K=((j=K||{})[j.Unmount=0]="Unmount",j[j.Hidden=1]="Hidden",j);function C({ourProps:n,theirProps:a,slot:g,defaultTag:v,features:j,visible:z=!0,name:B,mergeRefs:H}){H=null!=H?H:k;let K=R(a,n);if(z)return m(K,g,v,B,H);let ee=null!=j?j:0;if(2&ee){let{static:n=!1,...a}=K;if(n)return m(a,g,v,B,H)}if(1&ee){let{unmount:n=!0,...a}=K;return(0,W.E)(n?0:1,{0:()=>null,1:()=>m({...a,hidden:!0,style:{display:"none"}},g,v,B,H)})}return m(K,g,v,B,H)}function m(n,a={},g,v,j){let{as:W=g,children:H,refName:K="ref",...ee}=F(n,["unmount","static"]),et=void 0!==n.ref?{[K]:n.ref}:{},en="function"==typeof H?H(a):H;"className"in ee&&ee.className&&"function"==typeof ee.className&&(ee.className=ee.className(a));let er={};if(a){let n=!1,g=[];for(let[v,j]of Object.entries(a))"boolean"==typeof j&&(n=!0),!0===j&&g.push(v);n&&(er["data-headlessui-state"]=g.join(" "))}if(W===z.Fragment&&Object.keys(x(ee)).length>0){if(!(0,z.isValidElement)(en)||Array.isArray(en)&&en.length>1)throw Error(['Passing props on "Fragment"!',"",`The current component <${v} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(ee).map(n=>` - ${n}`).join(` `),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map(n=>` - ${n}`).join(` `)].join(` `));let n=en.props,a="function"==typeof(null==n?void 0:n.className)?(...a)=>(0,B.A)(null==n?void 0:n.className(...a),ee.className):(0,B.A)(null==n?void 0:n.className,ee.className),g=a?{className:a}:{};return(0,z.cloneElement)(en,Object.assign({},R(en.props,x(F(ee,["ref"]))),er,et,{ref:j(en.ref,et.ref)},g))}return(0,z.createElement)(W,Object.assign({},F(ee,["ref"]),W!==z.Fragment&&et,W!==z.Fragment&&er),en)}function k(...n){return n.every(n=>null==n)?void 0:a=>{for(let g of n)null!=g&&("function"==typeof g?g(a):g.current=a)}}function R(...n){if(0===n.length)return{};if(1===n.length)return n[0];let a={},g={};for(let v of n)for(let n in v)n.startsWith("on")&&"function"==typeof v[n]?(null!=g[n]||(g[n]=[]),g[n].push(v[n])):a[n]=v[n];if(a.disabled||a["aria-disabled"])return Object.assign(a,Object.fromEntries(Object.keys(g).map(n=>[n,void 0])));for(let n in g)Object.assign(a,{[n](a,...v){for(let j of g[n]){if((a instanceof Event||(null==a?void 0:a.nativeEvent)instanceof Event)&&a.defaultPrevented)return;j(a,...v)}}});return a}function U(n){var a;return Object.assign((0,z.forwardRef)(n),{displayName:null!=(a=n.displayName)?a:n.name})}function x(n){let a=Object.assign({},n);for(let n in a)void 0===a[n]&&delete a[n];return a}function F(n,a=[]){let g=Object.assign({},n);for(let n of a)n in g&&delete g[n];return g}},6259:function(n,a,g){"use strict";a.Z=function(){for(var n,a,g=0,v="",j=arguments.length;g0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:r}=Object.assign({},(0,t.a)(),e.components);return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(_createMdxContent,{...e})}):_createMdxContent(e)},pageOpts:{filePath:"pages/faq.mdx",route:"/faq",title:"Frequently Asked Questions",headings:i},pageNextRoute:"/faq"})}},function(e){e.O(0,[154,774,888,179],function(){return e(e.s=6444)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[746],{6444:function(e,r,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/faq",function(){return n(9588)}])},9588:function(e,r,n){"use strict";n.r(r),n.d(r,{__toc:function(){return i}});var o=n(1527),s=n(7154),t=n(5424);let i=[{depth:2,value:"What are the differences between QBCore and Qbox?",id:"what-are-the-differences-between-qbcore-and-qbox"},{depth:2,value:"Will my QBCore scripts work with Qbox?",id:"will-my-qbcore-scripts-work-with-qbox"},{depth:2,value:"Who should use Qbox?",id:"who-should-use-qbox"},{depth:2,value:"Is Qbox ready to use?",id:"is-qbox-ready-to-use"},{depth:2,value:"Which resources are ready to use?",id:"which-resources-are-ready-to-use"},{depth:2,value:"Common Problems",id:"common-problems"},{depth:3,value:"No such export GetCoreObject in resource qbx_core",id:"no-such-export-getcoreobject-in-resource-qbx_core"}];function _createMdxContent(e){let r=Object.assign({h1:"h1",h2:"h2",p:"p",a:"a",ul:"ul",li:"li",h3:"h3",code:"code"},(0,t.a)(),e.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.h1,{children:"Frequently Asked Questions"}),"\n",(0,o.jsx)(r.h2,{id:"what-are-the-differences-between-qbcore-and-qbox",children:"What are the differences between QBCore and Qbox?"}),"\n",(0,o.jsxs)(r.p,{children:["While originally forked from QBCore, many Qbox resources have been refactored to improve code quality, enhance security, lower performance overhead, and integrate with ",(0,o.jsx)(r.a,{href:"https://overextended.dev",children:"overextended"})," resources.\nWhere appropriate Qbox also integrates directly with other open source projects, rather than maintaining subpar resources in-house."]}),"\n",(0,o.jsx)(r.p,{children:"Qbox maintains high quality standards, with a strong community of regular contributors.\nAs time goes on, expect greater differences in player facing features."}),"\n",(0,o.jsx)(r.h2,{id:"will-my-qbcore-scripts-work-with-qbox",children:"Will my QBCore scripts work with Qbox?"}),"\n",(0,o.jsx)(r.p,{children:"TL;DR: Yes (in most cases)."}),"\n",(0,o.jsx)(r.p,{children:"We've created a bridge layer for backwards compatibility with the documented and proper ways of using qb-core,\nand you can continue to use most QBCore scripts without any modifications."}),"\n",(0,o.jsx)(r.p,{children:"An exception to this is resources that use qb-core in undocumented, unsupported, invalid, and/or improper ways, such as:"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:"Direct access to database tables;"}),"\n",(0,o.jsx)(r.li,{children:"Direct access to qb-core files that aren't meant to be used by other resources;"}),"\n",(0,o.jsx)(r.li,{children:"Invalid usages of existing functions;"}),"\n",(0,o.jsx)(r.li,{children:"And other unexpected ways not mentioned here."}),"\n"]}),"\n",(0,o.jsx)(r.h2,{id:"who-should-use-qbox",children:"Who should use Qbox?"}),"\n",(0,o.jsx)(r.p,{children:"Servers currently using QBCore and servers interested in running QBCore in the future."}),"\n",(0,o.jsx)(r.h2,{id:"is-qbox-ready-to-use",children:"Is Qbox ready to use?"}),"\n",(0,o.jsx)(r.p,{children:"Since qbx_core is backwards compatible with qb-core resources, we recommend using only the released Qbox resources for a stable experience."}),"\n",(0,o.jsx)(r.h2,{id:"which-resources-are-ready-to-use",children:"Which resources are ready to use?"}),"\n",(0,o.jsxs)(r.ul,{children:["\n",(0,o.jsx)(r.li,{children:(0,o.jsx)(r.a,{href:"./resources/qbx_core",children:"qbx_core"})}),"\n",(0,o.jsx)(r.li,{children:(0,o.jsx)(r.a,{href:"./resources/qbx_divegear",children:"qbx_divegear"})}),"\n",(0,o.jsx)(r.li,{children:(0,o.jsx)(r.a,{href:"./resources/qbx_diving",children:"qbx_diving"})}),"\n",(0,o.jsx)(r.li,{children:(0,o.jsx)(r.a,{href:"./resources/qbx_binoculars",children:"qbx_binoculars"})}),"\n",(0,o.jsx)(r.li,{children:(0,o.jsx)(r.a,{href:"./resources/qbx_management",children:"qbx_management"})}),"\n",(0,o.jsx)(r.li,{children:(0,o.jsx)(r.a,{href:"./resources/qbx_radio",children:"qbx_radio"})}),"\n"]}),"\n",(0,o.jsx)(r.h2,{id:"common-problems",children:"Common Problems"}),"\n",(0,o.jsx)(r.h3,{id:"no-such-export-getcoreobject-in-resource-qbx_core",children:"No such export GetCoreObject in resource qbx_core"}),"\n",(0,o.jsxs)(r.p,{children:["Qbox does not have the core object. However, you can continue to use ",(0,o.jsx)(r.code,{children:"exports['qb-core']:GetCoreObject()"})," to get a core object from Qbox's QB bridge layer."]})]})}r.default=(0,s.j)({MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:r}=Object.assign({},(0,t.a)(),e.components);return r?(0,o.jsx)(r,{...e,children:(0,o.jsx)(_createMdxContent,{...e})}):_createMdxContent(e)},pageOpts:{filePath:"pages/faq.mdx",route:"/faq",title:"Frequently Asked Questions",headings:i},pageNextRoute:"/faq"})}},function(e){e.O(0,[154,774,888,179],function(){return e(e.s=6444)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/resources/qbx_radio-38f9a62ec5a54cfc.js b/_next/static/chunks/pages/resources/qbx_radio-38f9a62ec5a54cfc.js new file mode 100644 index 0000000..22aea01 --- /dev/null +++ b/_next/static/chunks/pages/resources/qbx_radio-38f9a62ec5a54cfc.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[426],{1048:function(e,t,r){"use strict";r.d(t,{Z:function(){return createReactComponent}});var n=r(959),o=r(507),i=r.n(o),s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},a=Object.defineProperty,c=Object.defineProperties,p=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,h=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,r)=>t in e?a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__spreadValues=(e,t)=>{for(var r in t||(t={}))h.call(t,r)&&__defNormalProp(e,r,t[r]);if(u)for(var r of u(t))l.call(t,r)&&__defNormalProp(e,r,t[r]);return e},__spreadProps=(e,t)=>c(e,p(t)),__objRest=(e,t)=>{var r={};for(var n in e)h.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&u)for(var n of u(e))0>t.indexOf(n)&&l.call(e,n)&&(r[n]=e[n]);return r},createReactComponent=(e,t,r)=>{let o=(0,n.forwardRef)((t,o)=>{var{color:i="currentColor",size:a=24,stroke:c=2,children:p}=t,u=__objRest(t,["color","size","stroke","children"]);return(0,n.createElement)("svg",__spreadValues(__spreadProps(__spreadValues({ref:o},s),{width:a,height:a,stroke:i,strokeWidth:c,className:`tabler-icon tabler-icon-${e}`}),u),[...r.map(([e,t])=>(0,n.createElement)(e,t)),...p||[]])});return o.propTypes={color:i().string,size:i().oneOfType([i().string,i().number]),stroke:i().oneOfType([i().string,i().number])},o.displayName=`${t}`,o}},413:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});var n=(0,r(1048).Z)("brand-github","IconBrandGithub",[["path",{d:"M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5",key:"svg-0"}]])},5879:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});var n=(0,r(1048).Z)("tag","IconTag",[["path",{d:"M7.5 7.5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M3 6v5.172a2 2 0 0 0 .586 1.414l7.71 7.71a2.41 2.41 0 0 0 3.408 0l5.592 -5.592a2.41 2.41 0 0 0 0 -3.408l-7.71 -7.71a2 2 0 0 0 -1.414 -.586h-5.172a3 3 0 0 0 -3 3z",key:"svg-1"}]])},8232:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/resources/qbx_radio",function(){return r(3045)}])},3045:function(e,t,r){"use strict";r.r(t),r.d(t,{__toc:function(){return p}});var n=r(1527),o=r(7154),i=r(5424),s=r(1890),a=r(413),c=r(5879);let p=[];function _createMdxContent(e){let t=Object.assign({h1:"h1"},(0,i.a)(),e.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{children:"qbx_manangement"}),"\n",(0,n.jsxs)(s.oy,{children:[(0,n.jsx)(s.Zb,{icon:(0,n.jsx)(a.Z,{}),title:"GitHub",href:"https://github.com/Qbox-Project/qbx_radio"}),(0,n.jsx)(s.Zb,{icon:(0,n.jsx)(c.Z,{}),title:"Releases",href:"https://github.com/Qbox-Project/qbx_radio/releases"})]})]})}t.default=(0,o.j)({MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,i.a)(),e.components);return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(_createMdxContent,{...e})}):_createMdxContent(e)},pageOpts:{filePath:"pages/resources/qbx_radio.mdx",route:"/resources/qbx_radio",frontMatter:{title:"qbx_radio"},title:"qbx_radio",headings:p},pageNextRoute:"/resources/qbx_radio"})},4049:function(e,t,r){"use strict";var n=r(6257);function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction,e.exports=function(){function shim(e,t,r,o,i,s){if(s!==n){var a=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function getShim(){return shim}shim.isRequired=shim;var e={array:shim,bigint:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,elementType:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return e.PropTypes=e,e}},507:function(e,t,r){e.exports=r(4049)()},6257:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},function(e){e.O(0,[154,774,888,179],function(){return e(e.s=8232)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/QRwYp_0EuMRaOcek-bb_A/_buildManifest.js b/_next/static/oywKUgYIM2sPp4WOuFs33/_buildManifest.js similarity index 72% rename from _next/static/QRwYp_0EuMRaOcek-bb_A/_buildManifest.js rename to _next/static/oywKUgYIM2sPp4WOuFs33/_buildManifest.js index 7b78f7f..4b20098 100644 --- a/_next/static/QRwYp_0EuMRaOcek-bb_A/_buildManifest.js +++ b/_next/static/oywKUgYIM2sPp4WOuFs33/_buildManifest.js @@ -1 +1 @@ -self.__BUILD_MANIFEST=function(e){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[e,"static/chunks/pages/index-536997c68d14af37.js"],"/_error":["static/chunks/pages/_error-b9582554efd5ee30.js"],"/contributors":[e,"static/chunks/pages/contributors-1463a7fecd5ed251.js"],"/converting":[e,"static/chunks/pages/converting-614911408d95996e.js"],"/developers":[e,"static/chunks/pages/developers-f83c41411dee7297.js"],"/faq":[e,"static/chunks/pages/faq-b438a6c1d9ca2d70.js"],"/installation":[e,"static/chunks/pages/installation-a375bf449f6cd5b9.js"],"/release":[e,"static/chunks/pages/release-94ae4bea42cfe3f5.js"],"/resources/qbx_binoculars":[e,"static/chunks/pages/resources/qbx_binoculars-04231d8e7291e662.js"],"/resources/qbx_core":[e,"static/chunks/pages/resources/qbx_core-08f4e2b0e7054a92.js"],"/resources/qbx_core/events/client":[e,"static/chunks/pages/resources/qbx_core/events/client-844096e0357c92ab.js"],"/resources/qbx_core/events/server":[e,"static/chunks/pages/resources/qbx_core/events/server-1fa53ecaba4f9596.js"],"/resources/qbx_core/exports/client":[e,"static/chunks/pages/resources/qbx_core/exports/client-35843e041fad300f.js"],"/resources/qbx_core/exports/server":[e,"static/chunks/pages/resources/qbx_core/exports/server-d0c3208324b06455.js"],"/resources/qbx_core/exports/shared":[e,"static/chunks/pages/resources/qbx_core/exports/shared-eeda3fadb55e9008.js"],"/resources/qbx_core/modules/lib":[e,"static/chunks/pages/resources/qbx_core/modules/lib-41b6b260bb78f2c3.js"],"/resources/qbx_core/modules/lib/client":[e,"static/chunks/pages/resources/qbx_core/modules/lib/client-368d16cebf343dd2.js"],"/resources/qbx_core/modules/lib/server":[e,"static/chunks/pages/resources/qbx_core/modules/lib/server-de7b9c4bacceee2f.js"],"/resources/qbx_core/modules/lib/shared":[e,"static/chunks/pages/resources/qbx_core/modules/lib/shared-de98df4b27393c3b.js"],"/resources/qbx_core/modules/logger":[e,"static/chunks/pages/resources/qbx_core/modules/logger-457ce1fe8a041c39.js"],"/resources/qbx_core/modules/playerdata":[e,"static/chunks/pages/resources/qbx_core/modules/playerdata-d3bc852890454bac.js"],"/resources/qbx_core/types/gang":[e,"static/chunks/pages/resources/qbx_core/types/gang-102573cbfa60f51c.js"],"/resources/qbx_core/types/job":[e,"static/chunks/pages/resources/qbx_core/types/job-58eb58c530c821fc.js"],"/resources/qbx_core/types/player":[e,"static/chunks/pages/resources/qbx_core/types/player-d7bb61235f598d28.js"],"/resources/qbx_core/types/player_data":[e,"static/chunks/pages/resources/qbx_core/types/player_data-8b93a8dc37549bbd.js"],"/resources/qbx_core/types/player_entity":[e,"static/chunks/pages/resources/qbx_core/types/player_entity-f5ae48172093a552.js"],"/resources/qbx_core/types/vehicle":[e,"static/chunks/pages/resources/qbx_core/types/vehicle-3ad5d80ec1d0b5f3.js"],"/resources/qbx_core/types/weapon":[e,"static/chunks/pages/resources/qbx_core/types/weapon-73b20a5531eccc1d.js"],"/resources/qbx_divegear":[e,"static/chunks/pages/resources/qbx_divegear-408d979b95f24230.js"],"/resources/qbx_diving":[e,"static/chunks/pages/resources/qbx_diving-2d696d32b79a06fd.js"],"/resources/qbx_diving/events/server":[e,"static/chunks/pages/resources/qbx_diving/events/server-d9c7ba289665adbb.js"],"/resources/qbx_management":[e,"static/chunks/pages/resources/qbx_management-daeb5776527e6829.js"],"/resources/qbx_management/exports/server":[e,"static/chunks/pages/resources/qbx_management/exports/server-7075a56e94164172.js"],sortedPages:["/","/_app","/_error","/contributors","/converting","/developers","/faq","/installation","/release","/resources/qbx_binoculars","/resources/qbx_core","/resources/qbx_core/events/client","/resources/qbx_core/events/server","/resources/qbx_core/exports/client","/resources/qbx_core/exports/server","/resources/qbx_core/exports/shared","/resources/qbx_core/modules/lib","/resources/qbx_core/modules/lib/client","/resources/qbx_core/modules/lib/server","/resources/qbx_core/modules/lib/shared","/resources/qbx_core/modules/logger","/resources/qbx_core/modules/playerdata","/resources/qbx_core/types/gang","/resources/qbx_core/types/job","/resources/qbx_core/types/player","/resources/qbx_core/types/player_data","/resources/qbx_core/types/player_entity","/resources/qbx_core/types/vehicle","/resources/qbx_core/types/weapon","/resources/qbx_divegear","/resources/qbx_diving","/resources/qbx_diving/events/server","/resources/qbx_management","/resources/qbx_management/exports/server"]}}("static/chunks/154-ba18abf80c2648dd.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file +self.__BUILD_MANIFEST=function(e){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[e,"static/chunks/pages/index-536997c68d14af37.js"],"/_error":["static/chunks/pages/_error-b9582554efd5ee30.js"],"/contributors":[e,"static/chunks/pages/contributors-1463a7fecd5ed251.js"],"/converting":[e,"static/chunks/pages/converting-614911408d95996e.js"],"/developers":[e,"static/chunks/pages/developers-f83c41411dee7297.js"],"/faq":[e,"static/chunks/pages/faq-ee6065b857005285.js"],"/installation":[e,"static/chunks/pages/installation-a375bf449f6cd5b9.js"],"/release":[e,"static/chunks/pages/release-94ae4bea42cfe3f5.js"],"/resources/qbx_binoculars":[e,"static/chunks/pages/resources/qbx_binoculars-04231d8e7291e662.js"],"/resources/qbx_core":[e,"static/chunks/pages/resources/qbx_core-08f4e2b0e7054a92.js"],"/resources/qbx_core/events/client":[e,"static/chunks/pages/resources/qbx_core/events/client-844096e0357c92ab.js"],"/resources/qbx_core/events/server":[e,"static/chunks/pages/resources/qbx_core/events/server-1fa53ecaba4f9596.js"],"/resources/qbx_core/exports/client":[e,"static/chunks/pages/resources/qbx_core/exports/client-35843e041fad300f.js"],"/resources/qbx_core/exports/server":[e,"static/chunks/pages/resources/qbx_core/exports/server-d0c3208324b06455.js"],"/resources/qbx_core/exports/shared":[e,"static/chunks/pages/resources/qbx_core/exports/shared-eeda3fadb55e9008.js"],"/resources/qbx_core/modules/lib":[e,"static/chunks/pages/resources/qbx_core/modules/lib-41b6b260bb78f2c3.js"],"/resources/qbx_core/modules/lib/client":[e,"static/chunks/pages/resources/qbx_core/modules/lib/client-368d16cebf343dd2.js"],"/resources/qbx_core/modules/lib/server":[e,"static/chunks/pages/resources/qbx_core/modules/lib/server-de7b9c4bacceee2f.js"],"/resources/qbx_core/modules/lib/shared":[e,"static/chunks/pages/resources/qbx_core/modules/lib/shared-de98df4b27393c3b.js"],"/resources/qbx_core/modules/logger":[e,"static/chunks/pages/resources/qbx_core/modules/logger-457ce1fe8a041c39.js"],"/resources/qbx_core/modules/playerdata":[e,"static/chunks/pages/resources/qbx_core/modules/playerdata-d3bc852890454bac.js"],"/resources/qbx_core/types/gang":[e,"static/chunks/pages/resources/qbx_core/types/gang-102573cbfa60f51c.js"],"/resources/qbx_core/types/job":[e,"static/chunks/pages/resources/qbx_core/types/job-58eb58c530c821fc.js"],"/resources/qbx_core/types/player":[e,"static/chunks/pages/resources/qbx_core/types/player-d7bb61235f598d28.js"],"/resources/qbx_core/types/player_data":[e,"static/chunks/pages/resources/qbx_core/types/player_data-8b93a8dc37549bbd.js"],"/resources/qbx_core/types/player_entity":[e,"static/chunks/pages/resources/qbx_core/types/player_entity-f5ae48172093a552.js"],"/resources/qbx_core/types/vehicle":[e,"static/chunks/pages/resources/qbx_core/types/vehicle-3ad5d80ec1d0b5f3.js"],"/resources/qbx_core/types/weapon":[e,"static/chunks/pages/resources/qbx_core/types/weapon-73b20a5531eccc1d.js"],"/resources/qbx_divegear":[e,"static/chunks/pages/resources/qbx_divegear-408d979b95f24230.js"],"/resources/qbx_diving":[e,"static/chunks/pages/resources/qbx_diving-2d696d32b79a06fd.js"],"/resources/qbx_diving/events/server":[e,"static/chunks/pages/resources/qbx_diving/events/server-d9c7ba289665adbb.js"],"/resources/qbx_management":[e,"static/chunks/pages/resources/qbx_management-daeb5776527e6829.js"],"/resources/qbx_management/exports/server":[e,"static/chunks/pages/resources/qbx_management/exports/server-7075a56e94164172.js"],"/resources/qbx_radio":[e,"static/chunks/pages/resources/qbx_radio-38f9a62ec5a54cfc.js"],sortedPages:["/","/_app","/_error","/contributors","/converting","/developers","/faq","/installation","/release","/resources/qbx_binoculars","/resources/qbx_core","/resources/qbx_core/events/client","/resources/qbx_core/events/server","/resources/qbx_core/exports/client","/resources/qbx_core/exports/server","/resources/qbx_core/exports/shared","/resources/qbx_core/modules/lib","/resources/qbx_core/modules/lib/client","/resources/qbx_core/modules/lib/server","/resources/qbx_core/modules/lib/shared","/resources/qbx_core/modules/logger","/resources/qbx_core/modules/playerdata","/resources/qbx_core/types/gang","/resources/qbx_core/types/job","/resources/qbx_core/types/player","/resources/qbx_core/types/player_data","/resources/qbx_core/types/player_entity","/resources/qbx_core/types/vehicle","/resources/qbx_core/types/weapon","/resources/qbx_divegear","/resources/qbx_diving","/resources/qbx_diving/events/server","/resources/qbx_management","/resources/qbx_management/exports/server","/resources/qbx_radio"]}}("static/chunks/154-ba18abf80c2648dd.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/_next/static/QRwYp_0EuMRaOcek-bb_A/_ssgManifest.js b/_next/static/oywKUgYIM2sPp4WOuFs33/_ssgManifest.js similarity index 100% rename from _next/static/QRwYp_0EuMRaOcek-bb_A/_ssgManifest.js rename to _next/static/oywKUgYIM2sPp4WOuFs33/_ssgManifest.js diff --git a/contributors.html b/contributors.html index 67b4351..4519b30 100644 --- a/contributors.html +++ b/contributors.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
Contributing

Contributing to Qbox

+
Contributing

Contributing to Qbox

Thank you for taking the time to contribute!

These guidelines will help you help us in the best way possible regardless of your skill level. We ask that you try to read everything related to the way you'd like to contribute and try and use your best judgement for anything not covered.

Make sure to also read our Contributor Code of Conduct (opens in a new tab).

@@ -94,4 +94,4 @@

JavaScript/TypeScript Conventions

-

Consider following the Google JavaScript Style Guide (opens in a new tab) and the Google TypeScript Style Guide (opens in a new tab).


Qbox Project
\ No newline at end of file +

Consider following the Google JavaScript Style Guide (opens in a new tab) and the Google TypeScript Style Guide (opens in a new tab).


Qbox Project
\ No newline at end of file diff --git a/converting.html b/converting.html index 03ad284..0898c7e 100644 --- a/converting.html +++ b/converting.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
Converting from QBCore

Converting from QBCore

+
Converting from QBCore

Converting from QBCore

  1. Check your job grades in qbx_core/shared/jobs.lua. In Qbox, job grades are numbers without quotations, whereas in QBCore they are strings.
  2. @@ -49,4 +49,4 @@

    exports['qb-core']:KeyPressed() -> lib.hideTextUI() exports['qb-core']:HideText() -> lib.hideTextUI() exports['qb-core']:DrawText(text, position) -> lib.showTextUI(text, { position = position }) -exports['qb-core']:ChangeText(text, position) -> lib.hideTextUI() lib.showTextUI(text, { position = position })


Qbox Project
\ No newline at end of file +exports['qb-core']:ChangeText(text, position) -> lib.hideTextUI() lib.showTextUI(text, { position = position })

Qbox Project
\ No newline at end of file diff --git a/developers.html b/developers.html index 01e4196..611ed34 100644 --- a/developers.html +++ b/developers.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
Developer's Guide

Developer's Guide

+
Developer's Guide

Developer's Guide

This guide is intended for those creating scripts using qbx_core. Following these principles will make it less likely for your script to break in future updates.

Do not access database tables owned by core

@@ -24,4 +24,4 @@

Do not use deprecated functions/events

-

These are likely to be removed in future updates.


Qbox Project
\ No newline at end of file +

These are likely to be removed in future updates.


Qbox Project
\ No newline at end of file diff --git a/faq.html b/faq.html index cbc74e3..68ad6ed 100644 --- a/faq.html +++ b/faq.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
FAQ

Frequently Asked Questions

+
FAQ

Frequently Asked Questions

What are the differences between QBCore and Qbox?

While originally forked from QBCore, many Qbox resources have been refactored to improve code quality, enhance security, lower performance overhead, and integrate with overextended (opens in a new tab) resources. Where appropriate Qbox also integrates directly with other open source projects, rather than maintaining subpar resources in-house.

@@ -39,7 +39,8 @@

qbx_diving
  • qbx_binoculars
  • qbx_management
  • +
  • qbx_radio
  • Common Problems

    No such export GetCoreObject in resource qbx_core

    -

    Qbox does not have the core object. However, you can continue to use exports['qb-core']:GetCoreObject() to get a core object from Qbox's QB bridge layer.


    Qbox Project
    \ No newline at end of file +

    Qbox does not have the core object. However, you can continue to use exports['qb-core']:GetCoreObject() to get a core object from Qbox's QB bridge layer.


    Qbox Project
    \ No newline at end of file diff --git a/index.html b/index.html index cff63d6..8de6d57 100644 --- a/index.html +++ b/index.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Introduction

    Introduction

    +
    Introduction

    Introduction

    Qbox is a FiveM roleplay framework created on September 27, 2022.

    Starting as a QBCore fork, its goal was improving upon QBCore while maintaining backwards compatibility.
    Today this framework strives to be much greater, and utilizes overextended's resources (opens in a new tab) to achieve its goals.

    @@ -31,4 +31,4 @@

    Contributions are always welcome, but we prefer quality over quantity! Please read our contributing guidelines (opens in a new tab) to learn how best to contribute.

    Frequently Asked Questions

    -

    Check out the FAQ to learn more about Qbox.


    Qbox Project
    \ No newline at end of file +

    Check out the FAQ to learn more about Qbox.


    Qbox Project
    \ No newline at end of file diff --git a/installation.html b/installation.html index 825317d..92a7b67 100644 --- a/installation.html +++ b/installation.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Installation

    Installation

    +
    Installation

    Installation

    We highly recommend using txAdmin to install your FiveM server.
    For detailed instructions, refer to Setting up a server using txAdmin (opens in a new tab).

    -

    Download the server

    Download the latest FiveM artifacts (opens in a new tab) and extract the files.

    Start the server installation

    Run FXServer.exe to begin the installation and follow all the steps.

    Deploy the recipe

    When prompted, select Remote URL Template:

    Deployment Type

    Use the raw recipe link shown below.

    Run the server

    Once you have completed all of the installation steps, run the server.


    Qbox Project
    \ No newline at end of file +

    Download the server

    Download the latest FiveM artifacts (opens in a new tab) and extract the files.

    Start the server installation

    Run FXServer.exe to begin the installation and follow all the steps.

    Deploy the recipe

    When prompted, select Remote URL Template:

    Deployment Type

    Use the raw recipe link shown below.

    Run the server

    Once you have completed all of the installation steps, run the server.


    Qbox Project
    \ No newline at end of file diff --git a/release.html b/release.html index 8ebd6b7..3d1ffe4 100644 --- a/release.html +++ b/release.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Release Readiness

    Release Readiness

    +
    Release Readiness

    Release Readiness

    Guidelines for indicating that a resource is stable and ready for release.

    Code Quality

      @@ -59,4 +59,4 @@

      The resource has a .github folder with bug/suggestion templates, automated version updater & release script.
    1. The resource has a README which contains marketing material about the resource and it's features. Note that this is not technical documentation.
    2. The resource's public API (events & exports) are documented on the technical docs (here).
    3. -


    Qbox Project
    \ No newline at end of file +

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_binoculars.html b/resources/qbx_binoculars.html index 640c91c..621f335 100644 --- a/resources/qbx_binoculars.html +++ b/resources/qbx_binoculars.html @@ -11,5 +11,5 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/resources/qbx_core.html b/resources/qbx_core.html index 838ed9d..75888cb 100644 --- a/resources/qbx_core.html +++ b/resources/qbx_core.html @@ -11,5 +11,5 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/resources/qbx_core/events/client.html b/resources/qbx_core/events/client.html index 9eb1476..c6b9697 100644 --- a/resources/qbx_core/events/client.html +++ b/resources/qbx_core/events/client.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Events
    Client

    Client Events

    +

    Qbox Project
    \ No newline at end of file +

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/events/server.html b/resources/qbx_core/events/server.html index d867fe1..8d0a093 100644 --- a/resources/qbx_core/events/server.html +++ b/resources/qbx_core/events/server.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Events
    Server

    Server Events

    +

    Qbox Project
    \ No newline at end of file +

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/exports/client.html b/resources/qbx_core/exports/client.html index 2854587..41e751b 100644 --- a/resources/qbx_core/exports/client.html +++ b/resources/qbx_core/exports/client.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Exports
    Client

    Client Exports

    +
    \ No newline at end of file +

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/exports/server.html b/resources/qbx_core/exports/server.html index 2a1d26d..5d89e65 100644 --- a/resources/qbx_core/exports/server.html +++ b/resources/qbx_core/exports/server.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Exports
    Server

    Server Exports

    +

    Qbox Project
    \ No newline at end of file +

    Returns: string | number


    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/exports/shared.html b/resources/qbx_core/exports/shared.html index cd16d0b..6ffafb4 100644 --- a/resources/qbx_core/exports/shared.html +++ b/resources/qbx_core/exports/shared.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Exports
    Shared

    Shared Exports

    +
    Resources
    Exports
    Shared

    Shared Exports

    Some of these exports use custom types. You can learn more about those in the Types section of this resource.

    GetJobs

    @@ -41,4 +41,4 @@

    GetLocations

    Returns the locations table.

    exports.qbx_core:GetLocations()
    -

    Returns: table<string, vector4>


    Qbox Project
    \ No newline at end of file +

    Returns: table<string, vector4>


    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/modules/lib.html b/resources/qbx_core/modules/lib.html index 73c77ee..2f8abbd 100644 --- a/resources/qbx_core/modules/lib.html +++ b/resources/qbx_core/modules/lib.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Modules
    lib

    lib

    +
    \ No newline at end of file +

    Add @qbx_core/modules/lib.lua to shared_scripts in your fxmanifest.


    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/modules/lib/client.html b/resources/qbx_core/modules/lib/client.html index 669d98b..6230219 100644 --- a/resources/qbx_core/modules/lib/client.html +++ b/resources/qbx_core/modules/lib/client.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Modules
    Client

    Client Lib

    +

    Qbox Project
    \ No newline at end of file +

    Returns: number?


    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/modules/lib/server.html b/resources/qbx_core/modules/lib/server.html index d9e8de3..8f25cfe 100644 --- a/resources/qbx_core/modules/lib/server.html +++ b/resources/qbx_core/modules/lib/server.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Modules
    Server

    Server Lib

    +
    Resources
    Modules
    Server

    Server Lib

    spawnVehicle

    Creates a vehicle on the server-side and returns its net ID.

    qbx.spawnVehicle(params)
    @@ -55,4 +55,4 @@

    model = `asbo`, spawnSource = myPed, warp = true, -- causes `myPed` to be warped into the vehicle -})


    Qbox Project
    \ No newline at end of file +})

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/modules/lib/shared.html b/resources/qbx_core/modules/lib/shared.html index ccdf3a4..35ea908 100644 --- a/resources/qbx_core/modules/lib/shared.html +++ b/resources/qbx_core/modules/lib/shared.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Modules
    Shared

    Shared Lib

    +

    Qbox Project
    \ No newline at end of file +

    Returns: 'North' | 'South' | 'East' | 'West'


    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/modules/logger.html b/resources/qbx_core/modules/logger.html index 9cc5189..905b7d3 100644 --- a/resources/qbx_core/modules/logger.html +++ b/resources/qbx_core/modules/logger.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Modules
    logger

    logger

    +
    Resources
    Modules
    logger

    logger

    See the ox_lib Logger (opens in a new tab) for further details.

    Adds a logger that logs to Discord if a webhook is given, and with ox_lib otherwise.

    local logger = require '@qbx_core.modules.logger'
    @@ -66,4 +66,4 @@ 

    event = 'my event', message = 'my message', tags = { '@everyone' }, -})


    Qbox Project
    \ No newline at end of file +})

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/modules/playerdata.html b/resources/qbx_core/modules/playerdata.html index a047554..ea4eada 100644 --- a/resources/qbx_core/modules/playerdata.html +++ b/resources/qbx_core/modules/playerdata.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Modules
    playerdata

    playerdata

    +

    Qbox Project
    \ No newline at end of file +

    Add @qbx_core/modules/playerdata.lua to client_scripts in your fxmanifest.


    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/types/gang.html b/resources/qbx_core/types/gang.html index d7f0c0c..3f2cc79 100644 --- a/resources/qbx_core/types/gang.html +++ b/resources/qbx_core/types/gang.html @@ -11,9 +11,9 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Types
    Gang

    Gang

    +
    \ No newline at end of file +

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/types/job.html b/resources/qbx_core/types/job.html index 99a12df..7276062 100644 --- a/resources/qbx_core/types/job.html +++ b/resources/qbx_core/types/job.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Types
    Job

    Job

    +
    Resources
    Types
    Job

    Job

    Fields

    • label: string
    • @@ -19,4 +19,4 @@

      defaultDuty: boolean
    • offDutyPay: boolean
    • grades: table<integer, { name: string, payment: number, isboss: boolean, bankAuth: boolean }>
    • -


    Qbox Project
    \ No newline at end of file +

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/types/player.html b/resources/qbx_core/types/player.html index 8dd2eaa..9e2ed04 100644 --- a/resources/qbx_core/types/player.html +++ b/resources/qbx_core/types/player.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Types
    Player

    Player

    +

    Qbox Project
    \ No newline at end of file +
    Player.Functions.Save()

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/types/player_data.html b/resources/qbx_core/types/player_data.html index 91d8fd2..43a2216 100644 --- a/resources/qbx_core/types/player_data.html +++ b/resources/qbx_core/types/player_data.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Types
    PlayerData

    PlayerData

    +
    \ No newline at end of file +

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/types/player_entity.html b/resources/qbx_core/types/player_entity.html index 844d556..1efb025 100644 --- a/resources/qbx_core/types/player_entity.html +++ b/resources/qbx_core/types/player_entity.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Types
    PlayerEntity

    PlayerEntity

    +
    \ No newline at end of file +

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/types/vehicle.html b/resources/qbx_core/types/vehicle.html index 10a7768..e3a244a 100644 --- a/resources/qbx_core/types/vehicle.html +++ b/resources/qbx_core/types/vehicle.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Types
    Vehicle

    Vehicle

    +
    \ No newline at end of file +

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_core/types/weapon.html b/resources/qbx_core/types/weapon.html index 4746533..b7ad0b6 100644 --- a/resources/qbx_core/types/weapon.html +++ b/resources/qbx_core/types/weapon.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Types
    Weapon

    Weapon

    +
    \ No newline at end of file +

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_divegear.html b/resources/qbx_divegear.html index 3c20776..03acc87 100644 --- a/resources/qbx_divegear.html +++ b/resources/qbx_divegear.html @@ -11,5 +11,5 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/resources/qbx_diving.html b/resources/qbx_diving.html index 27dfb06..efd9b9b 100644 --- a/resources/qbx_diving.html +++ b/resources/qbx_diving.html @@ -11,5 +11,5 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/resources/qbx_diving/events/server.html b/resources/qbx_diving/events/server.html index 48bc270..047decd 100644 --- a/resources/qbx_diving/events/server.html +++ b/resources/qbx_diving/events/server.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Events
    Server

    Server Events

    +
    Resources
    Events
    Server

    Server Events

    ⚠️

    These events MUST NOT be triggered by any other scripts.

    Non-Networked Events

    qbx_diving:server:coralTaken

    @@ -24,4 +24,4 @@

    qbx_diving:server:sellCoral

    Triggered when a player attempts to sell coral.
    Does not guarantee that the player has any coral in their inventory.

    -
    RegisterNetEvent('qbx_diving:server:sellCoral', function() end)

    Qbox Project
    \ No newline at end of file +
    RegisterNetEvent('qbx_diving:server:sellCoral', function() end)

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_management.html b/resources/qbx_management.html index ed58284..2125e27 100644 --- a/resources/qbx_management.html +++ b/resources/qbx_management.html @@ -11,5 +11,5 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/resources/qbx_management/exports/server.html b/resources/qbx_management/exports/server.html index ac9cc5a..3f85489 100644 --- a/resources/qbx_management/exports/server.html +++ b/resources/qbx_management/exports/server.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 200deg; --nextra-primary-saturation: 100%; } -
    Resources
    Exports
    Server

    Server Exports

    +
    \ No newline at end of file +

    Qbox Project
    \ No newline at end of file diff --git a/resources/qbx_radio.html b/resources/qbx_radio.html new file mode 100644 index 0000000..185a703 --- /dev/null +++ b/resources/qbx_radio.html @@ -0,0 +1,15 @@ +qbx_radio - Resources
    \ No newline at end of file