├── .editorconfig ├── .gitattributes ├── .github ├── CODE_OF_CONDUCT.md └── workflows │ └── lint.yml ├── .gitignore ├── .vscode ├── extensions.json └── settings.json ├── README.md ├── client └── main.lua ├── config.lua ├── fxmanifest.lua ├── server └── main.lua ├── stream ├── minimap.gfx ├── minimap.ytd └── squaremap.ytd └── web ├── .eslintrc.cjs ├── .gitignore ├── build ├── assets │ ├── digital-7-Cnm38d_8.ttf │ ├── index-BrOJKuWn.js │ └── index-DVSXO8ph.css └── index.html ├── index.html ├── package-lock.json ├── package.json ├── pnpm-lock.yaml ├── src ├── assets │ └── fonts │ │ └── digital-7.ttf ├── components │ ├── HUDSettings.tsx │ ├── Player.tsx │ └── Vehicle.tsx ├── hooks │ ├── useNuiEvent.ts │ └── useStyles.ts ├── index.css ├── main.tsx ├── providers │ └── VisibilityProvider.tsx ├── utils │ ├── debugData.ts │ ├── fetchNui.ts │ └── misc.ts └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json ├── vite.config.ts └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | end_of_line = lf 5 | insert_final_newline = false 6 | indent_style = space 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | 10 | [*.lua] 11 | indent_size = 4 12 | 13 | [*.{html,css,json,ts,tsx}] 14 | indent_size = 2 -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | ## Unity ## 2 | 3 | *.cs diff=csharp text 4 | *.cginc text 5 | *.shader text 6 | 7 | *.mat merge=unityyamlmerge eol=lf 8 | *.anim merge=unityyamlmerge eol=lf 9 | *.unity merge=unityyamlmerge eol=lf 10 | *.prefab merge=unityyamlmerge eol=lf 11 | *.physicsMaterial2D merge=unityyamlmerge eol=lf 12 | *.physicMaterial merge=unityyamlmerge eol=lf 13 | *.asset merge=unityyamlmerge eol=lf 14 | *.meta merge=unityyamlmerge eol=lf 15 | *.controller merge=unityyamlmerge eol=lf 16 | 17 | 18 | ## git-lfs ## 19 | 20 | #Image 21 | *.jpg filter=lfs diff=lfs merge=lfs -text 22 | *.jpeg filter=lfs diff=lfs merge=lfs -text 23 | *.png filter=lfs diff=lfs merge=lfs -text 24 | *.gif filter=lfs diff=lfs merge=lfs -text 25 | *.psd filter=lfs diff=lfs merge=lfs -text 26 | *.ai filter=lfs diff=lfs merge=lfs -text 27 | *.tif filter=lfs diff=lfs merge=lfs -text 28 | 29 | #Audio 30 | *.mp3 filter=lfs diff=lfs merge=lfs -text 31 | *.wav filter=lfs diff=lfs merge=lfs -text 32 | *.ogg filter=lfs diff=lfs merge=lfs -text 33 | 34 | #Video 35 | *.mp4 filter=lfs diff=lfs merge=lfs -text 36 | *.mov filter=lfs diff=lfs merge=lfs -text 37 | 38 | #3D Object 39 | *.FBX filter=lfs diff=lfs merge=lfs -text 40 | *.fbx filter=lfs diff=lfs merge=lfs -text 41 | *.blend filter=lfs diff=lfs merge=lfs -text 42 | *.obj filter=lfs diff=lfs merge=lfs -text 43 | 44 | #ETC 45 | *.a filter=lfs diff=lfs merge=lfs -text 46 | *.exr filter=lfs diff=lfs merge=lfs -text 47 | *.tga filter=lfs diff=lfs merge=lfs -text 48 | *.pdf filter=lfs diff=lfs merge=lfs -text 49 | *.zip filter=lfs diff=lfs merge=lfs -text 50 | *.dll filter=lfs diff=lfs merge=lfs -text 51 | *.unitypackage filter=lfs diff=lfs merge=lfs -text 52 | *.aif filter=lfs diff=lfs merge=lfs -text 53 | *.ttf filter=lfs diff=lfs merge=lfs -text 54 | *.rns filter=lfs diff=lfs merge=lfs -text 55 | *.reason filter=lfs diff=lfs merge=lfs -text 56 | *.lxo filter=lfs diff=lfs merge=lfs -text 57 | *.bc filter=lfs diff=lfs merge=lfs -text -------------------------------------------------------------------------------- /.github/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, gender identity and expression, level of experience, 9 | education, socio-economic status, nationality, personal appearance, race, 10 | religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the creator of the resource. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | name: Lint 2 | on: [push, pull_request_target] 3 | jobs: 4 | lint: 5 | name: Lint Resource 6 | runs-on: ubuntu-latest 7 | steps: 8 | - uses: actions/checkout@v4 9 | with: 10 | ref: ${{ github.event.pull_request.head.sha }} 11 | - name: Lint 12 | uses: iLLeniumStudios/fivem-lua-lint-action@v2 13 | with: 14 | capture: "junit.xml" 15 | args: "-t --formatter JUnit" 16 | extra_libs: ox_lib+mysql+qblocales+qbox+qbox_playerdata+qbox_lib 17 | - name: Generate Lint Report 18 | if: always() 19 | uses: mikepenz/action-junit-report@v4 20 | with: 21 | report_paths: "**/junit.xml" 22 | check_name: Linting Report 23 | fail_on_failure: false -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "sumneko.lua", 4 | "overextended.cfxlua-vscode", 5 | "EditorConfig.EditorConfig", 6 | ] 7 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Lua.runtime.nonstandardSymbol": ["/**/", "`", "+=", "-=", "*=", "/="], 3 | "Lua.runtime.version": "Lua 5.4", 4 | "Lua.diagnostics.globals": [ 5 | "lib", 6 | "cache", 7 | "locale", 8 | "MySQL", 9 | ] 10 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # TS SCRIPTS - HUD 3 | ## Features 4 | 5 | - Settings Menu 6 | - Unique Design 7 | - Multiple Hud Types 8 | - Mantine V7 9 | - QBOX / QBCORE (Maybe some changes are needed) / ESX SUPPORT (SOON) 10 | 11 | ## FAQ 12 | 13 | ### 1. How do I make this support other resolutions? 14 | To ensure the UI displays correctly across different screen resolutions, force the UI resolution in FiveM settings to 1920x1080. 15 | 16 | ## Screenshots 17 | 18 | ![App Screenshot](https://i.imgur.com/wG5Z5no.png) 19 | ![App Screenshot](https://i.imgur.com/V225TP3.png) 20 | 21 | ## License 22 | 23 | [![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)](https://www.gnu.org/licenses/gpl-3.0.html) 24 | 25 | 26 | ## Installation 27 | 28 | You have two options for installation: 29 | 30 | 1. **Use the Pre-Built Version:** 31 | The pre-built version is ready to use and requires no additional setup—just plug and play! 32 | 33 | 2. **Build from Source:** 34 | If you prefer to build from the source code, follow these steps: 35 | 36 | ```bash 37 | cd web 38 | pnpm i 39 | pnpm build 40 | ``` 41 | After, ensure that the resource is correctly referenced in the server.cfg file. 42 | ## Support 43 | 44 | [Join our Discord community](https://discord.gg/UBnX997H6A) 45 | 46 | 47 | ## Contributing 48 | 49 | We welcome and encourage contributions from everyone! 50 | 51 | If you have an idea for improvement, want to fix a bug, or add new features, feel free to make the changes and submit a Pull Request (PR). The TS Scripts team will review your PR as soon as possible. 52 | 53 | Your contributions help us improve and grow—thank you for your support! 54 | ## Feedback 55 | 56 | If you have any feedback, please reach out to me in our [Discord community](https://discord.gg/UBnX997H6A) 57 | 58 | 59 | ## Authors 60 | 61 | - [@Thomasdev18](https://github.com/Thomasdev18) 62 | 63 | 64 | ## Credits 65 | A big thank you to everyone who has contributed, reached out, and offered to help—I truly appreciate your support! 66 | 67 | Special thanks to **MT-Scripts** for providing the foundation of the backend, which is based on their HUD. 68 | 69 | - [@MT-Scripts](https://github.com/MT-Scripts) 70 | 71 | -------------------------------------------------------------------------------- /client/main.lua: -------------------------------------------------------------------------------- 1 | -- Last Modified: 25/08/2024 2 | 3 | -- Global Constants and Configuration 4 | local Config = lib.load('config') 5 | local PlayerVoiceMethod, showingVehicleHUD, showingPlayerHUD, showingCompass = false, false, false, false 6 | local isSeatbeltOn, isHarnessOn, nitroActive, nos, stress = false, false, false, false, 0 7 | local speedMultiplier = Config.speedType == "MPH" and 2.23694 or 3.6 8 | local camHeight = 0.0 9 | local CAM_HEIGHT = 0.2 -- Screen height percentage for cinematic bars 10 | 11 | local currentColors = { 12 | voiceInactive = '#6c757d', voiceActive = '#ffd43b', voiceRadio = '#1c7ed6', 13 | health = '#51cf66', armor = '#74c0fc', oxygen = '#339af0', 14 | hunger = '#fcc419', thirst = '#22b8cf', stress = '#ff6b6b', 15 | } 16 | 17 | -- Utility Functions 18 | local function ShowNUI(action, shouldShow, focus) 19 | SetNuiFocus(focus, focus) 20 | SendNUIMessage({ action = action, data = shouldShow }) 21 | end 22 | 23 | local function SendNUI(action, data) 24 | SendNUIMessage({ action = action, data = data }) 25 | end 26 | 27 | local function settingsMenu() 28 | ShowNUI('HUDSettings', true, true) 29 | end 30 | 31 | local function hideSettingsMenu() 32 | ShowNUI('HUDSettings', false, false) 33 | SetNuiFocus(false, false) 34 | end 35 | 36 | local function getPlayerVoiceMethod(player) 37 | if PlayerVoiceMethod ~= "radio" then 38 | PlayerVoiceMethod = MumbleIsPlayerTalking(player) and "voice" or false 39 | end 40 | return PlayerVoiceMethod 41 | end 42 | 43 | local function getHeadingText(heading) 44 | if heading < 30 or heading >= 330 then 45 | return 'N' 46 | elseif heading < 60 then 47 | return 'NW' 48 | elseif heading < 120 then 49 | return 'W' 50 | elseif heading < 160 then 51 | return 'SW' 52 | elseif heading < 210 then 53 | return 'S' 54 | elseif heading < 240 then 55 | return 'SE' 56 | elseif heading < 310 then 57 | return 'E' 58 | else 59 | return 'NE' 60 | end 61 | end 62 | 63 | local lastCrossroadUpdate = 0 64 | local lastCrossroadCheck = {} 65 | 66 | local function getCrossroads(vehicle) 67 | local updateTick = GetGameTimer() 68 | if updateTick - lastCrossroadUpdate > 1500 then 69 | local pos = GetEntityCoords(vehicle) 70 | local street1, street2 = GetStreetNameAtCoord(pos.x, pos.y, pos.z) 71 | lastCrossroadUpdate = updateTick 72 | lastCrossroadCheck = { GetStreetNameFromHashKey(street1), GetStreetNameFromHashKey(street2) } 73 | end 74 | return lastCrossroadCheck 75 | end 76 | 77 | local function getFuelLevel(vehicle) 78 | return GetVehicleFuelLevel(vehicle) 79 | end 80 | 81 | local function getSeatbeltStatus() 82 | return isSeatbeltOn 83 | end 84 | 85 | local function getBlurIntensity(stressLevel) 86 | for _, v in pairs(Config.stress.blurIntensity) do 87 | if stressLevel >= v.min and stressLevel <= v.max then 88 | return v.intensity 89 | end 90 | end 91 | return 1500 92 | end 93 | 94 | local function getEffectInterval(stressLevel) 95 | for _, v in pairs(Config.stress.effectInterval) do 96 | if stressLevel >= v.min and stressLevel <= v.max then 97 | return v.timeout 98 | end 99 | end 100 | return 60000 101 | end 102 | 103 | local function isWhitelistedWeaponStress(weapon) 104 | if weapon then 105 | for _, v in pairs(Config.stress.whitelistedWeapons) do 106 | if weapon == v then 107 | return true 108 | end 109 | end 110 | end 111 | return false 112 | end 113 | 114 | local function startWeaponStressThread(weapon) 115 | if isWhitelistedWeaponStress(weapon) then return end 116 | hasWeapon = true 117 | 118 | CreateThread(function() 119 | while hasWeapon do 120 | if IsPedShooting(cache.ped) then 121 | if math.random() <= Config.stress.chance then 122 | TriggerServerEvent('hud:server:GainStress', math.random(1, 5)) 123 | end 124 | end 125 | Wait(0) 126 | end 127 | end) 128 | end 129 | 130 | AddEventHandler('ox_inventory:currentWeapon', function(currentWeapon) 131 | hasWeapon = false 132 | Wait(0) 133 | 134 | if not currentWeapon then return end 135 | 136 | startWeaponStressThread(currentWeapon.hash) 137 | end) 138 | 139 | local function saveHUDSettings() 140 | SetResourceKvp('playerHUDColors', json.encode(currentColors)) 141 | SetResourceKvp('hudType', hudType) 142 | SetResourceKvp('hudPosition', position) 143 | end 144 | 145 | -- Example on how to save when settings are updated 146 | RegisterNUICallback('updateHudType', function(data, cb) 147 | hudType = data.hudType 148 | saveHUDSettings() -- Save the updated HUD type 149 | cb({ status = 'success', message = 'HUD type updated to ' .. data.hudType }) 150 | end) 151 | 152 | RegisterNUICallback('updateHudPosition', function(data, cb) 153 | position = data.hudPosition 154 | saveHUDSettings() 155 | cb({ status = 'success', message = 'HUD position updated to ' .. data.hudPosition }) 156 | end) 157 | 158 | RegisterNUICallback('updateColors', function(data, cb) 159 | currentColors = data.colors 160 | saveHUDSettings() 161 | cb({ status = 'success', message = 'Colors updated' }) 162 | end) 163 | 164 | -- Event Handlers 165 | RegisterNetEvent('ts_hud:client:OpenHudMenu', settingsMenu) 166 | 167 | RegisterNetEvent('ts_hud:client:hideHUD', function() 168 | ShowNUI('setVisiblePlayer', false, false) 169 | local vehicle = GetVehiclePedIsIn(cache.ped, false) 170 | if IsPedInVehicle(cache.ped, vehicle) and GetIsVehicleEngineRunning(vehicle) then 171 | ShowNUI('setVisibleVehicle', false, false) 172 | end 173 | end) 174 | 175 | RegisterNetEvent('ts_hud:client:showHud', function() 176 | ShowNUI('setVisiblePlayer', true, false) 177 | local vehicle = GetVehiclePedIsIn(cache.ped, false) 178 | if IsPedInVehicle(cache.ped, vehicle) and GetIsVehicleEngineRunning(vehicle) then 179 | ShowNUI('setVisibleVehicle', true, false) 180 | end 181 | end) 182 | 183 | RegisterNUICallback('hideHudMenu', function(_, cb) 184 | SetNuiFocus(false, false) 185 | cb('ok') 186 | end) 187 | 188 | local function setupHealthArmour(minimap, barType) 189 | BeginScaleformMovieMethod(minimap, "SETUP_HEALTH_ARMOUR") 190 | ScaleformMovieMethodAddParamInt(barType) 191 | EndScaleformMovieMethod() 192 | end 193 | 194 | local function handleCinematicAnim() 195 | camMoving = true 196 | 197 | setupHealthArmour(camActive and 3 or 0) 198 | 199 | local step = camActive and 0.01 or -0.01 200 | for i = 0, CAM_HEIGHT, step do 201 | camHeight = i 202 | Wait(10) 203 | end 204 | 205 | camMoving = false 206 | end 207 | 208 | if GetResourceState('qbx_nitro') == 'started' then 209 | qbx.entityStateHandler('nitroFlames', function(veh, netId, value) 210 | local plate = qbx.string.trim(GetVehicleNumberPlateText(veh)) 211 | local cachePlate = qbx.string.trim(GetVehicleNumberPlateText(cache.vehicle)) 212 | if plate ~= cachePlate then return end 213 | nitroActive = value 214 | end) 215 | 216 | qbx.entityStateHandler('nitro', function(veh, netId, value) 217 | local plate = qbx.string.trim(GetVehicleNumberPlateText(veh)) 218 | local cachePlate = qbx.string.trim(GetVehicleNumberPlateText(cache.vehicle)) 219 | if plate ~= cachePlate then return end 220 | nos = value 221 | end) 222 | end 223 | 224 | CreateThread(function() 225 | local wasPauseMenuActive = IsPauseMenuActive() 226 | while true do 227 | if IsPauseMenuActive() then 228 | if not wasPauseMenuActive then 229 | wasPauseMenuActive = true 230 | if camActive then 231 | camActive = false 232 | DisplayRadar(not camActive) 233 | DrawRect(0.0, 0.0, 2.0, camHeight, 0, 0, 0, 0) 234 | end 235 | end 236 | else 237 | if wasPauseMenuActive then 238 | wasPauseMenuActive = false 239 | end 240 | if camActive then 241 | DisplayRadar(not camActive) 242 | for i = 0, 1.0, 1.0 do 243 | DrawRect(0.0, 0.0, 2.0, camHeight, 0, 0, 0, 255) 244 | DrawRect(0.0, i, 2.0, camHeight, 0, 0, 0, 255) 245 | end 246 | end 247 | end 248 | Wait(0) 249 | end 250 | end) 251 | 252 | RegisterNUICallback('toggleCinematicBars', function(data, cb) 253 | camActive = data.enabled 254 | CreateThread(handleCinematicAnim) 255 | 256 | -- Hide the HUD elements when cinematic bars are enabled 257 | TriggerEvent('ts_hud:client:hideHUD') 258 | 259 | -- If cinematic bars are disabled, show the HUD elements again 260 | if not camActive then 261 | TriggerEvent('ts_hud:client:showHud') 262 | end 263 | 264 | -- Close HUD settings 265 | hideSettingsMenu() 266 | 267 | -- Notify the NUI that the operation was successful 268 | cb({ status = 'success', message = 'Cinematic bars ' .. (data.enabled and 'disabled') }) 269 | end) 270 | 271 | RegisterNUICallback('getCinematicBarsState', function(_, cb) 272 | cb({ enabled = camActive }) 273 | end) 274 | 275 | RegisterNetEvent('hud:client:LoadMap', function() 276 | Wait(50) 277 | local resolutionX, resolutionY = GetActiveScreenResolution() 278 | local minimapOffset = (1920 / 1080 > resolutionX / resolutionY) and ((1920 / 1080 - resolutionX / resolutionY) / 3.6) - 0.008 or 0 279 | 280 | RequestStreamedTextureDict("squaremap", false) 281 | while not HasStreamedTextureDictLoaded("squaremap") do 282 | Wait(150) 283 | end 284 | 285 | SetMinimapClipType(0) 286 | AddReplaceTexture("platform:/textures/graphics", "radarmasksm", "squaremap", "radarmasksm") 287 | AddReplaceTexture("platform:/textures/graphics", "radarmask1g", "squaremap", "radarmasksm") 288 | 289 | SetMinimapComponentPosition("minimap", "L", "B", -0.006 + minimapOffset, -0.040, 0.1638, 0.183) 290 | SetMinimapComponentPosition("minimap_mask", "L", "B", 0.0 + minimapOffset, 0.0, 0.128, 0.20) 291 | SetMinimapComponentPosition('minimap_blur', 'L', 'B', -0.015 + minimapOffset, 0.030, 0.262, 0.300) 292 | SetBlipAlpha(GetNorthRadarBlip(), 0) 293 | SetRadarBigmapEnabled(true, false) 294 | Wait(50) 295 | SetRadarBigmapEnabled(false, false) 296 | SetRadarZoom(1000) 297 | end) 298 | 299 | RegisterNetEvent('seatbelt:client:ToggleSeatbelt', function() 300 | isSeatbeltOn = not isSeatbeltOn 301 | end) 302 | 303 | RegisterNetEvent('hud:client:UpdateNitrous', function(_, nitroLevel, bool) 304 | nos = nitroLevel 305 | nitroActive = bool 306 | end) 307 | 308 | AddStateBagChangeHandler('stress', ('player:%s'):format(cache.serverId), function(_, _, value) 309 | stress = value 310 | end) 311 | 312 | AddEventHandler("pma-voice:radioActive", function(radioTalking) 313 | PlayerVoiceMethod = radioTalking and 'radio' or false 314 | end) 315 | 316 | RegisterNUICallback('updateHudType', function(data, cb) 317 | cb({ status = 'success', message = 'HUD type updated to ' .. data.hudType }) 318 | end) 319 | 320 | -- Stress Management 321 | if Config.stress.enableStress then 322 | CreateThread(function() 323 | while true do 324 | if LocalPlayer.state.isLoggedIn and cache.vehicle then 325 | local vehClass = GetVehicleClass(cache.vehicle) 326 | local speed = GetEntitySpeed(cache.vehicle) * speedMultiplier 327 | 328 | if vehClass ~= 13 and vehClass ~= 14 and vehClass ~= 15 and vehClass ~= 16 and vehClass ~= 21 then 329 | local stressSpeed = (vehClass == 8 or not isSeatbeltOn) and Config.stress.minForSpeedingUnbuckled or Config.stress.minForSpeeding 330 | if speed >= stressSpeed then 331 | TriggerServerEvent('hud:server:GainStress', math.random(1, 3)) 332 | end 333 | end 334 | end 335 | Wait(10000) 336 | end 337 | end) 338 | end 339 | 340 | CreateThread(function() 341 | while true do 342 | local effectInterval = getEffectInterval(stress) 343 | if stress >= 100 then 344 | local blurIntensity = getBlurIntensity(stress) 345 | local fallRepeat = math.random(2, 4) 346 | local ragdollTimeout = fallRepeat * 1750 347 | TriggerScreenblurFadeIn(1000.0) 348 | Wait(blurIntensity) 349 | TriggerScreenblurFadeOut(1000.0) 350 | 351 | if not IsPedRagdoll(cache.ped) and IsPedOnFoot(cache.ped) and not IsPedSwimming(cache.ped) then 352 | local forwardVector = GetEntityForwardVector(cache.ped) 353 | SetPedToRagdollWithFall(cache.ped, ragdollTimeout, ragdollTimeout, 1, forwardVector.x, forwardVector.y, forwardVector.z, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0) 354 | end 355 | 356 | Wait(1000) 357 | for _ = 1, fallRepeat, 1 do 358 | Wait(750) 359 | DoScreenFadeOut(200) 360 | Wait(1000) 361 | DoScreenFadeIn(200) 362 | TriggerScreenblurFadeIn(1000.0) 363 | Wait(blurIntensity) 364 | TriggerScreenblurFadeOut(1000.0) 365 | end 366 | elseif stress >= Config.stress.minForShaking then 367 | local blurIntensity = getBlurIntensity(stress) 368 | TriggerScreenblurFadeIn(1000.0) 369 | Wait(blurIntensity) 370 | TriggerScreenblurFadeOut(1000.0) 371 | end 372 | Wait(effectInterval) 373 | end 374 | end) 375 | 376 | -- Fuel and Seatbelt Threads 377 | CreateThread(function() 378 | while true do 379 | if LocalPlayer.state.isLoggedIn and cache.vehicle and not IsThisModelABicycle(GetEntityModel(cache.vehicle)) then 380 | if getFuelLevel(cache.vehicle) <= 20 and Config.isLowFuelChecked then 381 | lib.notify({ 382 | description = 'Vehicle is low on fuel!', 383 | type = 'error', 384 | }) 385 | Wait(60000) 386 | end 387 | end 388 | Wait(10000) 389 | end 390 | end) 391 | 392 | -- Main HUD Thread 393 | CreateThread(function() 394 | -- Load saved colors, HUD type, and position from KVP 395 | local savedColors = GetResourceKvpString('playerHUDColors') 396 | if savedColors then 397 | currentColors = json.decode(savedColors) 398 | end 399 | 400 | local savedHudType = GetResourceKvpString('hudType') 401 | if savedHudType then 402 | hudType = savedHudType 403 | else 404 | hudType = Config.hudSettings.hudType -- Default to config if not set 405 | end 406 | 407 | local savedHudPosition = GetResourceKvpString('hudPosition') 408 | if savedHudPosition then 409 | position = savedHudPosition 410 | else 411 | position = Config.hudSettings.hudPosition -- Default to config if not set 412 | end 413 | 414 | while true do 415 | if not IsPauseMenuActive() and LocalPlayer.state.isLoggedIn then 416 | local stamina = 100 - GetPlayerSprintStaminaRemaining(cache.playerId) 417 | local PlayerData = Config.core.Functions.GetPlayerData() 418 | 419 | if not showingPlayerHUD then 420 | DisplayRadar(false) 421 | ShowNUI('setVisiblePlayer', true, false) 422 | showingPlayerHUD = true 423 | end 424 | 425 | if IsEntityInWater(cache.ped) then 426 | stamina = (GetPlayerUnderwaterTimeRemaining(cache.playerId) * 10) - 300 427 | end 428 | 429 | -- Send the updated HUD data to the NUI (including colors, HUD type, and position) 430 | SendNUI('player', { 431 | health = math.ceil(GetEntityHealth(cache.ped) - 100), 432 | stress = stress, 433 | armor = math.ceil(GetPedArmour(cache.ped)), 434 | thirst = math.ceil(PlayerData.metadata.thirst), 435 | hunger = math.ceil(PlayerData.metadata.hunger), 436 | oxygen = stamina or 0, 437 | voice = LocalPlayer.state.proximity.distance, 438 | talking = getPlayerVoiceMethod(cache.playerId), 439 | colors = currentColors, 440 | hudType = hudType, -- Include HUD type 441 | hudPosition = position -- Include HUD position 442 | }) 443 | 444 | if cache.vehicle and GetIsVehicleEngineRunning(cache.vehicle) then 445 | DisplayRadar(true) 446 | if not showingVehicleHUD then 447 | ShowNUI('setVisibleVehicle', true, false) 448 | TriggerEvent('hud:client:LoadMap') 449 | showingVehicleHUD = true 450 | end 451 | 452 | SendNUI('vehicle', { 453 | speed = math.ceil(GetEntitySpeed(cache.vehicle) * speedMultiplier), 454 | gear = GetVehicleCurrentGear(cache.vehicle), 455 | speedType = Config.speedType, 456 | seatbeltOn = getSeatbeltStatus(), 457 | streetName1 = getCrossroads(cache.vehicle)[1], 458 | streetName2 = getCrossroads(cache.vehicle)[2], 459 | heading = getHeadingText(GetEntityHeading(cache.vehicle)), 460 | engineHealth = math.ceil(GetVehicleEngineHealth(cache.vehicle) / 10), 461 | fuel = math.ceil(GetVehicleFuelLevel(cache.vehicle)), 462 | nitrous = nos, 463 | isInVehicle = true, 464 | }) 465 | Wait(300) 466 | else 467 | if showingVehicleHUD then 468 | DisplayRadar(false) 469 | ShowNUI('setVisibleVehicle', false, false) 470 | showingVehicleHUD = false 471 | end 472 | Wait(300) 473 | end 474 | else 475 | if showingPlayerHUD then 476 | ShowNUI('setVisiblePlayer', false, false) 477 | ShowNUI('setVisibleVehicle', false, false) 478 | showingVehicleHUD = false 479 | showingPlayerHUD = false 480 | end 481 | Wait(500) 482 | end 483 | end 484 | end) 485 | 486 | -- Keybind Registration 487 | lib.addKeybind({ 488 | name = 'openhud', 489 | description = 'Opens HUD Settings', 490 | defaultKey = Config.hudKeybind, 491 | defaultMapper = 'keyboard', 492 | onPressed = settingsMenu, 493 | }) 494 | -------------------------------------------------------------------------------- /config.lua: -------------------------------------------------------------------------------- 1 | -- TS TEST 2 | 3 | return { 4 | core = exports['qb-core']:GetCoreObject(), 5 | speedType = 'KMH', -- KMH or MPH 6 | hudKeybind = 'I', 7 | isLowFuelChecked = true, 8 | stress = { 9 | enableStress = true, 10 | policeStress = false, 11 | chance = 0.1, -- Percentage stress chance when shooting (0-1) 12 | minForShaking = 50, -- Minimum stress level for screen shaking 13 | minForSpeeding = 1000, -- Minimum stress level for speeding while buckled 14 | minForSpeedingUnbuckled = 50, -- Minimum stress level for speeding while unbuckled 15 | whitelistedWeapons = { -- Weapons which don't give stress 16 | `weapon_petrolcan`, 17 | `weapon_hazardcan`, 18 | `weapon_fireextinguisher`, 19 | }, 20 | blurIntensity = { -- Blur intensity for different stress levels 21 | [1] = {min = 50, max = 60, intensity = 1500}, 22 | [2] = {min = 60, max = 70, intensity = 2000}, 23 | [3] = {min = 70, max = 80, intensity = 2500}, 24 | [4] = {min = 80, max = 90, intensity = 2700}, 25 | [5] = {min = 90, max = 100, intensity = 3000}, 26 | }, 27 | effectInterval = { -- Effect interval for different stress levels 28 | [1] = {min = 50, max = 60, timeout = math.random(50000, 60000)}, 29 | [2] = {min = 60, max = 70, timeout = math.random(40000, 50000)}, 30 | [3] = {min = 70, max = 80, timeout = math.random(30000, 40000)}, 31 | [4] = {min = 80, max = 90, timeout = math.random(20000, 30000)}, 32 | [5] = {min = 90, max = 100, timeout = math.random(15000, 20000)}, 33 | }, 34 | }, 35 | hudSettings = { 36 | hudType = "rectangle", -- Default HUD type 37 | hudPosition = "left", -- Default HUD position 38 | }, 39 | harness = { 40 | qbox_seatbelt = false, 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /fxmanifest.lua: -------------------------------------------------------------------------------- 1 | fx_version 'cerulean' 2 | description 'ADVANCED HUD SYSTEM' 3 | author 'TS SCRIPTS | THOMAS | LILPUP3' 4 | lua54 'yes' 5 | game 'gta5' 6 | 7 | shared_scripts { 8 | '@ox_lib/init.lua', 9 | 'config.lua' 10 | } 11 | 12 | client_scripts { 13 | 'client/**/*', 14 | } 15 | 16 | server_scripts { 17 | 'server/**/*', 18 | } 19 | 20 | ui_page 'web/build/index.html' 21 | 22 | files { 23 | 'web/build/index.html', 24 | 'web/build/**/*', 25 | 'web/assets/**/*', 26 | } -------------------------------------------------------------------------------- /server/main.lua: -------------------------------------------------------------------------------- 1 | local resetStress = false 2 | local Config = lib.load('config') 3 | 4 | AddEventHandler('ox_inventory:openedInventory', function(source) 5 | TriggerClientEvent('ts_hud:client:hideHUD', source) 6 | end) 7 | 8 | AddEventHandler('ox_inventory:closedInventory', function(source) 9 | TriggerClientEvent('ts_hud:client:showHud', source) 10 | end) 11 | 12 | RegisterNetEvent('hud:server:GainStress', function(amount) 13 | if not Config.stress.enableStress then return end 14 | 15 | local src = source 16 | local player = Config.core.Functions.GetPlayer(src) 17 | local newStress 18 | if not player then return end 19 | if not resetStress then 20 | if not player.PlayerData.metadata.stress then 21 | player.PlayerData.metadata.stress = 0 22 | end 23 | newStress = player.PlayerData.metadata.stress + amount 24 | if newStress <= 0 then newStress = 0 end 25 | else 26 | newStress = 0 27 | end 28 | if newStress > 100 then 29 | newStress = 100 30 | end 31 | player.Functions.SetMetaData('stress', newStress) 32 | TriggerClientEvent('hud:client:UpdateStress', src, newStress) 33 | TriggerClientEvent('ox_lib:notify', src, { 34 | description = 'Feeling More Stressed!', 35 | type = 'error', 36 | }) 37 | end) 38 | 39 | RegisterNetEvent('hud:server:RelieveStress', function(amount) 40 | if not Config.stress.enableStress then return end 41 | 42 | local src = source 43 | local player = Config.core.Functions.GetPlayer(src) 44 | local newStress 45 | if not player then return end 46 | if not resetStress then 47 | if not player.PlayerData.metadata.stress then 48 | player.PlayerData.metadata.stress = 0 49 | end 50 | newStress = player.PlayerData.metadata.stress - amount 51 | if newStress <= 0 then newStress = 0 end 52 | else 53 | newStress = 0 54 | end 55 | if newStress > 100 then 56 | newStress = 100 57 | end 58 | player.Functions.SetMetaData('stress', newStress) 59 | TriggerClientEvent('hud:client:UpdateStress', src, newStress) 60 | TriggerClientEvent('ox_lib:notify', src, { 61 | description = 'Feeling Less Stressed!', 62 | type = 'success', 63 | }) 64 | end) -------------------------------------------------------------------------------- /stream/minimap.gfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Thomasdev18/ts_hud/fff24ca2d1a392673dcf6f3359a5097e77553615/stream/minimap.gfx -------------------------------------------------------------------------------- /stream/minimap.ytd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Thomasdev18/ts_hud/fff24ca2d1a392673dcf6f3359a5097e77553615/stream/minimap.ytd -------------------------------------------------------------------------------- /stream/squaremap.ytd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Thomasdev18/ts_hud/fff24ca2d1a392673dcf6f3359a5097e77553615/stream/squaremap.ytd -------------------------------------------------------------------------------- /web/.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { browser: true, es2020: true }, 4 | extends: [ 5 | "eslint:recommended", 6 | "plugin:@typescript-eslint/recommended", 7 | "plugin:react-hooks/recommended", 8 | ], 9 | ignorePatterns: ["dist", ".eslintrc.cjs"], 10 | parser: "@typescript-eslint/parser", 11 | plugins: ["react-refresh"], 12 | rules: { 13 | "react-refresh/only-export-components": [ 14 | "warn", 15 | { allowConstantExport: true }, 16 | ], 17 | }, 18 | }; 19 | -------------------------------------------------------------------------------- /web/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | *.local 12 | 13 | # Editor directories and files 14 | .vscode/* 15 | !.vscode/extensions.json 16 | .idea 17 | .DS_Store 18 | *.suo 19 | *.ntvs* 20 | *.njsproj 21 | *.sln 22 | *.sw? 23 | -------------------------------------------------------------------------------- /web/build/assets/digital-7-Cnm38d_8.ttf: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ec3ac662132b9a60e3b09b8a971a131a55aeee1447146aa38ea7b32d777bc3c8 3 | size 34360 4 | -------------------------------------------------------------------------------- /web/build/assets/index-DVSXO8ph.css: -------------------------------------------------------------------------------- 1 | @font-face{font-family:Digital-7;src:url(./digital-7-Cnm38d_8.ttf) format("truetype")}html{color-scheme:normal!important}body{background:none!important;margin:0;font-family:roboto-mono;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;-webkit-user-select:none;user-select:none;overflow:hidden!important}p{margin:0}#root{height:100%}::-webkit-scrollbar{background-color:transparent;padding:0;margin:0;width:0;height:0} 2 | -------------------------------------------------------------------------------- /web/build/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | NUI React Boilerplate 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /web/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | NUI React Boilerplate 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /web/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "web", 3 | "homepage": "web/build", 4 | "private": true, 5 | "type": "module", 6 | "version": "0.1.0", 7 | "scripts": { 8 | "start": "vite", 9 | "start:game": "vite build --watch", 10 | "build": "tsc && vite build", 11 | "preview": "vite preview" 12 | }, 13 | "dependencies": { 14 | "@emotion/react": "^11.11.1", 15 | "@fortawesome/fontawesome-svg-core": "^6.5.2", 16 | "@fortawesome/free-solid-svg-icons": "^6.5.2", 17 | "@fortawesome/react-fontawesome": "^0.2.0", 18 | "@mantine/core": "^6.0.15", 19 | "@mantine/form": "^7.9.0", 20 | "@mantine/hooks": "^6.0.15", 21 | "@mantine/modals": "^6.0.15", 22 | "@mantine/styles": "^6.0.21", 23 | "@tabler/icons-react": "^2.23.0", 24 | "html2canvas": "^1.4.1", 25 | "react": "^18.2.0", 26 | "react-dom": "^18.2.0", 27 | "react-icons": "^5.2.0", 28 | "sass": "^1.72.0", 29 | "styled-components": "^6.1.8" 30 | }, 31 | "devDependencies": { 32 | "@types/node": "^20.11.30", 33 | "@types/react": "^18.2.37", 34 | "@types/react-dom": "^18.2.15", 35 | "@typescript-eslint/eslint-plugin": "^6.11.0", 36 | "@typescript-eslint/parser": "^6.11.0", 37 | "@vitejs/plugin-react": "^4.2.0", 38 | "eslint": "^8.54.0", 39 | "eslint-plugin-react-hooks": "^4.6.0", 40 | "eslint-plugin-react-refresh": "^0.4.4", 41 | "postcss": "^8.4.38", 42 | "postcss-preset-mantine": "^1.15.0", 43 | "postcss-simple-vars": "^7.0.1", 44 | "typescript": "^5.2.2", 45 | "vite": "^5.0.0" 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /web/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@emotion/react': 12 | specifier: ^11.11.1 13 | version: 11.11.4(@types/react@18.3.2)(react@18.3.1) 14 | '@fortawesome/fontawesome-svg-core': 15 | specifier: ^6.5.2 16 | version: 6.5.2 17 | '@fortawesome/free-solid-svg-icons': 18 | specifier: ^6.5.2 19 | version: 6.5.2 20 | '@fortawesome/react-fontawesome': 21 | specifier: ^0.2.0 22 | version: 0.2.0(@fortawesome/fontawesome-svg-core@6.5.2)(react@18.3.1) 23 | '@mantine/core': 24 | specifier: ^6.0.15 25 | version: 6.0.21(@emotion/react@11.11.4(@types/react@18.3.2)(react@18.3.1))(@mantine/hooks@6.0.21(react@18.3.1))(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 26 | '@mantine/form': 27 | specifier: ^7.9.0 28 | version: 7.9.1(react@18.3.1) 29 | '@mantine/hooks': 30 | specifier: ^6.0.15 31 | version: 6.0.21(react@18.3.1) 32 | '@mantine/modals': 33 | specifier: ^6.0.15 34 | version: 6.0.21(@mantine/core@6.0.21(@emotion/react@11.11.4(@types/react@18.3.2)(react@18.3.1))(@mantine/hooks@6.0.21(react@18.3.1))(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@6.0.21(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 35 | '@mantine/styles': 36 | specifier: ^6.0.21 37 | version: 6.0.21(@emotion/react@11.11.4(@types/react@18.3.2)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 38 | '@tabler/icons-react': 39 | specifier: ^2.23.0 40 | version: 2.47.0(react@18.3.1) 41 | html2canvas: 42 | specifier: ^1.4.1 43 | version: 1.4.1 44 | react: 45 | specifier: ^18.2.0 46 | version: 18.3.1 47 | react-dom: 48 | specifier: ^18.2.0 49 | version: 18.3.1(react@18.3.1) 50 | react-icons: 51 | specifier: ^5.2.0 52 | version: 5.2.1(react@18.3.1) 53 | sass: 54 | specifier: ^1.72.0 55 | version: 1.77.1 56 | styled-components: 57 | specifier: ^6.1.8 58 | version: 6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 59 | devDependencies: 60 | '@types/node': 61 | specifier: ^20.11.30 62 | version: 20.12.12 63 | '@types/react': 64 | specifier: ^18.2.37 65 | version: 18.3.2 66 | '@types/react-dom': 67 | specifier: ^18.2.15 68 | version: 18.3.0 69 | '@typescript-eslint/eslint-plugin': 70 | specifier: ^6.11.0 71 | version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) 72 | '@typescript-eslint/parser': 73 | specifier: ^6.11.0 74 | version: 6.21.0(eslint@8.57.0)(typescript@5.4.5) 75 | '@vitejs/plugin-react': 76 | specifier: ^4.2.0 77 | version: 4.2.1(vite@5.2.11(@types/node@20.12.12)(sass@1.77.1)(sugarss@4.0.1(postcss@8.4.38))) 78 | eslint: 79 | specifier: ^8.54.0 80 | version: 8.57.0 81 | eslint-plugin-react-hooks: 82 | specifier: ^4.6.0 83 | version: 4.6.2(eslint@8.57.0) 84 | eslint-plugin-react-refresh: 85 | specifier: ^0.4.4 86 | version: 0.4.7(eslint@8.57.0) 87 | postcss: 88 | specifier: ^8.4.38 89 | version: 8.4.38 90 | postcss-preset-mantine: 91 | specifier: ^1.15.0 92 | version: 1.15.0(postcss@8.4.38) 93 | postcss-simple-vars: 94 | specifier: ^7.0.1 95 | version: 7.0.1(postcss@8.4.38) 96 | typescript: 97 | specifier: ^5.2.2 98 | version: 5.4.5 99 | vite: 100 | specifier: ^5.0.0 101 | version: 5.2.11(@types/node@20.12.12)(sass@1.77.1)(sugarss@4.0.1(postcss@8.4.38)) 102 | 103 | packages: 104 | 105 | '@ampproject/remapping@2.3.0': 106 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 107 | engines: {node: '>=6.0.0'} 108 | 109 | '@babel/code-frame@7.24.2': 110 | resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} 111 | engines: {node: '>=6.9.0'} 112 | 113 | '@babel/compat-data@7.24.4': 114 | resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} 115 | engines: {node: '>=6.9.0'} 116 | 117 | '@babel/core@7.24.5': 118 | resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} 119 | engines: {node: '>=6.9.0'} 120 | 121 | '@babel/generator@7.24.5': 122 | resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} 123 | engines: {node: '>=6.9.0'} 124 | 125 | '@babel/helper-compilation-targets@7.23.6': 126 | resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} 127 | engines: {node: '>=6.9.0'} 128 | 129 | '@babel/helper-environment-visitor@7.22.20': 130 | resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} 131 | engines: {node: '>=6.9.0'} 132 | 133 | '@babel/helper-function-name@7.23.0': 134 | resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} 135 | engines: {node: '>=6.9.0'} 136 | 137 | '@babel/helper-hoist-variables@7.22.5': 138 | resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} 139 | engines: {node: '>=6.9.0'} 140 | 141 | '@babel/helper-module-imports@7.24.3': 142 | resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} 143 | engines: {node: '>=6.9.0'} 144 | 145 | '@babel/helper-module-transforms@7.24.5': 146 | resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} 147 | engines: {node: '>=6.9.0'} 148 | peerDependencies: 149 | '@babel/core': ^7.0.0 150 | 151 | '@babel/helper-plugin-utils@7.24.5': 152 | resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==} 153 | engines: {node: '>=6.9.0'} 154 | 155 | '@babel/helper-simple-access@7.24.5': 156 | resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==} 157 | engines: {node: '>=6.9.0'} 158 | 159 | '@babel/helper-split-export-declaration@7.24.5': 160 | resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} 161 | engines: {node: '>=6.9.0'} 162 | 163 | '@babel/helper-string-parser@7.24.1': 164 | resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} 165 | engines: {node: '>=6.9.0'} 166 | 167 | '@babel/helper-validator-identifier@7.24.5': 168 | resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} 169 | engines: {node: '>=6.9.0'} 170 | 171 | '@babel/helper-validator-option@7.23.5': 172 | resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} 173 | engines: {node: '>=6.9.0'} 174 | 175 | '@babel/helpers@7.24.5': 176 | resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} 177 | engines: {node: '>=6.9.0'} 178 | 179 | '@babel/highlight@7.24.5': 180 | resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} 181 | engines: {node: '>=6.9.0'} 182 | 183 | '@babel/parser@7.24.5': 184 | resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} 185 | engines: {node: '>=6.0.0'} 186 | hasBin: true 187 | 188 | '@babel/plugin-transform-react-jsx-self@7.24.5': 189 | resolution: {integrity: sha512-RtCJoUO2oYrYwFPtR1/jkoBEcFuI1ae9a9IMxeyAVa3a1Ap4AnxmyIKG2b2FaJKqkidw/0cxRbWN+HOs6ZWd1w==} 190 | engines: {node: '>=6.9.0'} 191 | peerDependencies: 192 | '@babel/core': ^7.0.0-0 193 | 194 | '@babel/plugin-transform-react-jsx-source@7.24.1': 195 | resolution: {integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==} 196 | engines: {node: '>=6.9.0'} 197 | peerDependencies: 198 | '@babel/core': ^7.0.0-0 199 | 200 | '@babel/runtime@7.24.5': 201 | resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} 202 | engines: {node: '>=6.9.0'} 203 | 204 | '@babel/template@7.24.0': 205 | resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} 206 | engines: {node: '>=6.9.0'} 207 | 208 | '@babel/traverse@7.24.5': 209 | resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} 210 | engines: {node: '>=6.9.0'} 211 | 212 | '@babel/types@7.24.5': 213 | resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} 214 | engines: {node: '>=6.9.0'} 215 | 216 | '@emotion/babel-plugin@11.11.0': 217 | resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} 218 | 219 | '@emotion/cache@11.11.0': 220 | resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} 221 | 222 | '@emotion/hash@0.9.1': 223 | resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} 224 | 225 | '@emotion/is-prop-valid@1.2.2': 226 | resolution: {integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==} 227 | 228 | '@emotion/memoize@0.8.1': 229 | resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} 230 | 231 | '@emotion/react@11.11.4': 232 | resolution: {integrity: sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==} 233 | peerDependencies: 234 | '@types/react': '*' 235 | react: '>=16.8.0' 236 | peerDependenciesMeta: 237 | '@types/react': 238 | optional: true 239 | 240 | '@emotion/serialize@1.1.4': 241 | resolution: {integrity: sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==} 242 | 243 | '@emotion/sheet@1.2.2': 244 | resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} 245 | 246 | '@emotion/unitless@0.8.1': 247 | resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} 248 | 249 | '@emotion/use-insertion-effect-with-fallbacks@1.0.1': 250 | resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==} 251 | peerDependencies: 252 | react: '>=16.8.0' 253 | 254 | '@emotion/utils@1.2.1': 255 | resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} 256 | 257 | '@emotion/weak-memoize@0.3.1': 258 | resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} 259 | 260 | '@esbuild/aix-ppc64@0.20.2': 261 | resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} 262 | engines: {node: '>=12'} 263 | cpu: [ppc64] 264 | os: [aix] 265 | 266 | '@esbuild/android-arm64@0.20.2': 267 | resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} 268 | engines: {node: '>=12'} 269 | cpu: [arm64] 270 | os: [android] 271 | 272 | '@esbuild/android-arm@0.20.2': 273 | resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} 274 | engines: {node: '>=12'} 275 | cpu: [arm] 276 | os: [android] 277 | 278 | '@esbuild/android-x64@0.20.2': 279 | resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} 280 | engines: {node: '>=12'} 281 | cpu: [x64] 282 | os: [android] 283 | 284 | '@esbuild/darwin-arm64@0.20.2': 285 | resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} 286 | engines: {node: '>=12'} 287 | cpu: [arm64] 288 | os: [darwin] 289 | 290 | '@esbuild/darwin-x64@0.20.2': 291 | resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} 292 | engines: {node: '>=12'} 293 | cpu: [x64] 294 | os: [darwin] 295 | 296 | '@esbuild/freebsd-arm64@0.20.2': 297 | resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} 298 | engines: {node: '>=12'} 299 | cpu: [arm64] 300 | os: [freebsd] 301 | 302 | '@esbuild/freebsd-x64@0.20.2': 303 | resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} 304 | engines: {node: '>=12'} 305 | cpu: [x64] 306 | os: [freebsd] 307 | 308 | '@esbuild/linux-arm64@0.20.2': 309 | resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} 310 | engines: {node: '>=12'} 311 | cpu: [arm64] 312 | os: [linux] 313 | 314 | '@esbuild/linux-arm@0.20.2': 315 | resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} 316 | engines: {node: '>=12'} 317 | cpu: [arm] 318 | os: [linux] 319 | 320 | '@esbuild/linux-ia32@0.20.2': 321 | resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} 322 | engines: {node: '>=12'} 323 | cpu: [ia32] 324 | os: [linux] 325 | 326 | '@esbuild/linux-loong64@0.20.2': 327 | resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} 328 | engines: {node: '>=12'} 329 | cpu: [loong64] 330 | os: [linux] 331 | 332 | '@esbuild/linux-mips64el@0.20.2': 333 | resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} 334 | engines: {node: '>=12'} 335 | cpu: [mips64el] 336 | os: [linux] 337 | 338 | '@esbuild/linux-ppc64@0.20.2': 339 | resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} 340 | engines: {node: '>=12'} 341 | cpu: [ppc64] 342 | os: [linux] 343 | 344 | '@esbuild/linux-riscv64@0.20.2': 345 | resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} 346 | engines: {node: '>=12'} 347 | cpu: [riscv64] 348 | os: [linux] 349 | 350 | '@esbuild/linux-s390x@0.20.2': 351 | resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} 352 | engines: {node: '>=12'} 353 | cpu: [s390x] 354 | os: [linux] 355 | 356 | '@esbuild/linux-x64@0.20.2': 357 | resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} 358 | engines: {node: '>=12'} 359 | cpu: [x64] 360 | os: [linux] 361 | 362 | '@esbuild/netbsd-x64@0.20.2': 363 | resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} 364 | engines: {node: '>=12'} 365 | cpu: [x64] 366 | os: [netbsd] 367 | 368 | '@esbuild/openbsd-x64@0.20.2': 369 | resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} 370 | engines: {node: '>=12'} 371 | cpu: [x64] 372 | os: [openbsd] 373 | 374 | '@esbuild/sunos-x64@0.20.2': 375 | resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} 376 | engines: {node: '>=12'} 377 | cpu: [x64] 378 | os: [sunos] 379 | 380 | '@esbuild/win32-arm64@0.20.2': 381 | resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} 382 | engines: {node: '>=12'} 383 | cpu: [arm64] 384 | os: [win32] 385 | 386 | '@esbuild/win32-ia32@0.20.2': 387 | resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} 388 | engines: {node: '>=12'} 389 | cpu: [ia32] 390 | os: [win32] 391 | 392 | '@esbuild/win32-x64@0.20.2': 393 | resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} 394 | engines: {node: '>=12'} 395 | cpu: [x64] 396 | os: [win32] 397 | 398 | '@eslint-community/eslint-utils@4.4.0': 399 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 400 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 401 | peerDependencies: 402 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 403 | 404 | '@eslint-community/regexpp@4.10.0': 405 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} 406 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 407 | 408 | '@eslint/eslintrc@2.1.4': 409 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} 410 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 411 | 412 | '@eslint/js@8.57.0': 413 | resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} 414 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 415 | 416 | '@floating-ui/core@1.6.1': 417 | resolution: {integrity: sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A==} 418 | 419 | '@floating-ui/dom@1.6.5': 420 | resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==} 421 | 422 | '@floating-ui/react-dom@1.3.0': 423 | resolution: {integrity: sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==} 424 | peerDependencies: 425 | react: '>=16.8.0' 426 | react-dom: '>=16.8.0' 427 | 428 | '@floating-ui/react@0.19.2': 429 | resolution: {integrity: sha512-JyNk4A0Ezirq8FlXECvRtQOX/iBe5Ize0W/pLkrZjfHW9GUV7Xnq6zm6fyZuQzaHHqEnVizmvlA96e1/CkZv+w==} 430 | peerDependencies: 431 | react: '>=16.8.0' 432 | react-dom: '>=16.8.0' 433 | 434 | '@floating-ui/utils@0.2.2': 435 | resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} 436 | 437 | '@fortawesome/fontawesome-common-types@6.5.2': 438 | resolution: {integrity: sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==} 439 | engines: {node: '>=6'} 440 | 441 | '@fortawesome/fontawesome-svg-core@6.5.2': 442 | resolution: {integrity: sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==} 443 | engines: {node: '>=6'} 444 | 445 | '@fortawesome/free-solid-svg-icons@6.5.2': 446 | resolution: {integrity: sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==} 447 | engines: {node: '>=6'} 448 | 449 | '@fortawesome/react-fontawesome@0.2.0': 450 | resolution: {integrity: sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==} 451 | peerDependencies: 452 | '@fortawesome/fontawesome-svg-core': ~1 || ~6 453 | react: '>=16.3' 454 | 455 | '@humanwhocodes/config-array@0.11.14': 456 | resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} 457 | engines: {node: '>=10.10.0'} 458 | deprecated: Use @eslint/config-array instead 459 | 460 | '@humanwhocodes/module-importer@1.0.1': 461 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 462 | engines: {node: '>=12.22'} 463 | 464 | '@humanwhocodes/object-schema@2.0.3': 465 | resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} 466 | deprecated: Use @eslint/object-schema instead 467 | 468 | '@jridgewell/gen-mapping@0.3.5': 469 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 470 | engines: {node: '>=6.0.0'} 471 | 472 | '@jridgewell/resolve-uri@3.1.2': 473 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 474 | engines: {node: '>=6.0.0'} 475 | 476 | '@jridgewell/set-array@1.2.1': 477 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 478 | engines: {node: '>=6.0.0'} 479 | 480 | '@jridgewell/sourcemap-codec@1.4.15': 481 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 482 | 483 | '@jridgewell/trace-mapping@0.3.25': 484 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 485 | 486 | '@mantine/core@6.0.21': 487 | resolution: {integrity: sha512-Kx4RrRfv0I+cOCIcsq/UA2aWcYLyXgW3aluAuW870OdXnbII6qg7RW28D+r9D76SHPxWFKwIKwmcucAG08Divg==} 488 | peerDependencies: 489 | '@mantine/hooks': 6.0.21 490 | react: '>=16.8.0' 491 | react-dom: '>=16.8.0' 492 | 493 | '@mantine/form@7.9.1': 494 | resolution: {integrity: sha512-6Z4LkACT1ouoTvtI9hH/rT+L7qvfKnCypUyaCtYpPkA57ANamK7qkmeXXBmbGGOf8mJB+ZSgOvpDVKKRz5iH3Q==} 495 | peerDependencies: 496 | react: ^18.2.0 497 | 498 | '@mantine/hooks@6.0.21': 499 | resolution: {integrity: sha512-sYwt5wai25W6VnqHbS5eamey30/HD5dNXaZuaVEAJ2i2bBv8C0cCiczygMDpAFiSYdXoSMRr/SZ2CrrPTzeNew==} 500 | peerDependencies: 501 | react: '>=16.8.0' 502 | 503 | '@mantine/modals@6.0.21': 504 | resolution: {integrity: sha512-Gx2D/ZHMUuYF197JKMWey4K9FeGP9rxYp4lmAEXUrjXiST2fEhLZOdiD75KuOHXd1/sYAU9NcNRo9wXrlF/gUA==} 505 | peerDependencies: 506 | '@mantine/core': 6.0.21 507 | '@mantine/hooks': 6.0.21 508 | react: '>=16.8.0' 509 | react-dom: '>=16.8.0' 510 | 511 | '@mantine/styles@6.0.21': 512 | resolution: {integrity: sha512-PVtL7XHUiD/B5/kZ/QvZOZZQQOj12QcRs3Q6nPoqaoPcOX5+S7bMZLMH0iLtcGq5OODYk0uxlvuJkOZGoPj8Mg==} 513 | peerDependencies: 514 | '@emotion/react': '>=11.9.0' 515 | react: '>=16.8.0' 516 | react-dom: '>=16.8.0' 517 | 518 | '@mantine/utils@6.0.21': 519 | resolution: {integrity: sha512-33RVDRop5jiWFao3HKd3Yp7A9mEq4HAJxJPTuYm1NkdqX6aTKOQK7wT8v8itVodBp+sb4cJK6ZVdD1UurK/txQ==} 520 | peerDependencies: 521 | react: '>=16.8.0' 522 | 523 | '@nodelib/fs.scandir@2.1.5': 524 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 525 | engines: {node: '>= 8'} 526 | 527 | '@nodelib/fs.stat@2.0.5': 528 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 529 | engines: {node: '>= 8'} 530 | 531 | '@nodelib/fs.walk@1.2.8': 532 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 533 | engines: {node: '>= 8'} 534 | 535 | '@radix-ui/number@1.0.0': 536 | resolution: {integrity: sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==} 537 | 538 | '@radix-ui/primitive@1.0.0': 539 | resolution: {integrity: sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==} 540 | 541 | '@radix-ui/react-compose-refs@1.0.0': 542 | resolution: {integrity: sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==} 543 | peerDependencies: 544 | react: ^16.8 || ^17.0 || ^18.0 545 | 546 | '@radix-ui/react-context@1.0.0': 547 | resolution: {integrity: sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==} 548 | peerDependencies: 549 | react: ^16.8 || ^17.0 || ^18.0 550 | 551 | '@radix-ui/react-direction@1.0.0': 552 | resolution: {integrity: sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==} 553 | peerDependencies: 554 | react: ^16.8 || ^17.0 || ^18.0 555 | 556 | '@radix-ui/react-presence@1.0.0': 557 | resolution: {integrity: sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==} 558 | peerDependencies: 559 | react: ^16.8 || ^17.0 || ^18.0 560 | react-dom: ^16.8 || ^17.0 || ^18.0 561 | 562 | '@radix-ui/react-primitive@1.0.1': 563 | resolution: {integrity: sha512-fHbmislWVkZaIdeF6GZxF0A/NH/3BjrGIYj+Ae6eTmTCr7EB0RQAAVEiqsXK6p3/JcRqVSBQoceZroj30Jj3XA==} 564 | peerDependencies: 565 | react: ^16.8 || ^17.0 || ^18.0 566 | react-dom: ^16.8 || ^17.0 || ^18.0 567 | 568 | '@radix-ui/react-scroll-area@1.0.2': 569 | resolution: {integrity: sha512-k8VseTxI26kcKJaX0HPwkvlNBPTs56JRdYzcZ/vzrNUkDlvXBy8sMc7WvCpYzZkHgb+hd72VW9MqkqecGtuNgg==} 570 | peerDependencies: 571 | react: ^16.8 || ^17.0 || ^18.0 572 | react-dom: ^16.8 || ^17.0 || ^18.0 573 | 574 | '@radix-ui/react-slot@1.0.1': 575 | resolution: {integrity: sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==} 576 | peerDependencies: 577 | react: ^16.8 || ^17.0 || ^18.0 578 | 579 | '@radix-ui/react-use-callback-ref@1.0.0': 580 | resolution: {integrity: sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==} 581 | peerDependencies: 582 | react: ^16.8 || ^17.0 || ^18.0 583 | 584 | '@radix-ui/react-use-layout-effect@1.0.0': 585 | resolution: {integrity: sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==} 586 | peerDependencies: 587 | react: ^16.8 || ^17.0 || ^18.0 588 | 589 | '@rollup/rollup-android-arm-eabi@4.17.2': 590 | resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==} 591 | cpu: [arm] 592 | os: [android] 593 | 594 | '@rollup/rollup-android-arm64@4.17.2': 595 | resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==} 596 | cpu: [arm64] 597 | os: [android] 598 | 599 | '@rollup/rollup-darwin-arm64@4.17.2': 600 | resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==} 601 | cpu: [arm64] 602 | os: [darwin] 603 | 604 | '@rollup/rollup-darwin-x64@4.17.2': 605 | resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==} 606 | cpu: [x64] 607 | os: [darwin] 608 | 609 | '@rollup/rollup-linux-arm-gnueabihf@4.17.2': 610 | resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==} 611 | cpu: [arm] 612 | os: [linux] 613 | 614 | '@rollup/rollup-linux-arm-musleabihf@4.17.2': 615 | resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==} 616 | cpu: [arm] 617 | os: [linux] 618 | 619 | '@rollup/rollup-linux-arm64-gnu@4.17.2': 620 | resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==} 621 | cpu: [arm64] 622 | os: [linux] 623 | 624 | '@rollup/rollup-linux-arm64-musl@4.17.2': 625 | resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==} 626 | cpu: [arm64] 627 | os: [linux] 628 | 629 | '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': 630 | resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==} 631 | cpu: [ppc64] 632 | os: [linux] 633 | 634 | '@rollup/rollup-linux-riscv64-gnu@4.17.2': 635 | resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==} 636 | cpu: [riscv64] 637 | os: [linux] 638 | 639 | '@rollup/rollup-linux-s390x-gnu@4.17.2': 640 | resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==} 641 | cpu: [s390x] 642 | os: [linux] 643 | 644 | '@rollup/rollup-linux-x64-gnu@4.17.2': 645 | resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==} 646 | cpu: [x64] 647 | os: [linux] 648 | 649 | '@rollup/rollup-linux-x64-musl@4.17.2': 650 | resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==} 651 | cpu: [x64] 652 | os: [linux] 653 | 654 | '@rollup/rollup-win32-arm64-msvc@4.17.2': 655 | resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==} 656 | cpu: [arm64] 657 | os: [win32] 658 | 659 | '@rollup/rollup-win32-ia32-msvc@4.17.2': 660 | resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==} 661 | cpu: [ia32] 662 | os: [win32] 663 | 664 | '@rollup/rollup-win32-x64-msvc@4.17.2': 665 | resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==} 666 | cpu: [x64] 667 | os: [win32] 668 | 669 | '@tabler/icons-react@2.47.0': 670 | resolution: {integrity: sha512-iqly2FvCF/qUbgmvS8E40rVeYY7laltc5GUjRxQj59DuX0x/6CpKHTXt86YlI2whg4czvd/c8Ce8YR08uEku0g==} 671 | peerDependencies: 672 | react: ^16.5.1 || ^17.0.0 || ^18.0.0 673 | 674 | '@tabler/icons@2.47.0': 675 | resolution: {integrity: sha512-4w5evLh+7FUUiA1GucvGj2ReX2TvOjEr4ejXdwL/bsjoSkof6r1gQmzqI+VHrE2CpJpB3al7bCTulOkFa/RcyA==} 676 | 677 | '@types/babel__core@7.20.5': 678 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 679 | 680 | '@types/babel__generator@7.6.8': 681 | resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} 682 | 683 | '@types/babel__template@7.4.4': 684 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} 685 | 686 | '@types/babel__traverse@7.20.5': 687 | resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} 688 | 689 | '@types/estree@1.0.5': 690 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 691 | 692 | '@types/json-schema@7.0.15': 693 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 694 | 695 | '@types/node@20.12.12': 696 | resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} 697 | 698 | '@types/parse-json@4.0.2': 699 | resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} 700 | 701 | '@types/prop-types@15.7.12': 702 | resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} 703 | 704 | '@types/react-dom@18.3.0': 705 | resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} 706 | 707 | '@types/react@18.3.2': 708 | resolution: {integrity: sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w==} 709 | 710 | '@types/semver@7.5.8': 711 | resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} 712 | 713 | '@types/stylis@4.2.5': 714 | resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==} 715 | 716 | '@typescript-eslint/eslint-plugin@6.21.0': 717 | resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} 718 | engines: {node: ^16.0.0 || >=18.0.0} 719 | peerDependencies: 720 | '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha 721 | eslint: ^7.0.0 || ^8.0.0 722 | typescript: '*' 723 | peerDependenciesMeta: 724 | typescript: 725 | optional: true 726 | 727 | '@typescript-eslint/parser@6.21.0': 728 | resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} 729 | engines: {node: ^16.0.0 || >=18.0.0} 730 | peerDependencies: 731 | eslint: ^7.0.0 || ^8.0.0 732 | typescript: '*' 733 | peerDependenciesMeta: 734 | typescript: 735 | optional: true 736 | 737 | '@typescript-eslint/scope-manager@6.21.0': 738 | resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} 739 | engines: {node: ^16.0.0 || >=18.0.0} 740 | 741 | '@typescript-eslint/type-utils@6.21.0': 742 | resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} 743 | engines: {node: ^16.0.0 || >=18.0.0} 744 | peerDependencies: 745 | eslint: ^7.0.0 || ^8.0.0 746 | typescript: '*' 747 | peerDependenciesMeta: 748 | typescript: 749 | optional: true 750 | 751 | '@typescript-eslint/types@6.21.0': 752 | resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} 753 | engines: {node: ^16.0.0 || >=18.0.0} 754 | 755 | '@typescript-eslint/typescript-estree@6.21.0': 756 | resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} 757 | engines: {node: ^16.0.0 || >=18.0.0} 758 | peerDependencies: 759 | typescript: '*' 760 | peerDependenciesMeta: 761 | typescript: 762 | optional: true 763 | 764 | '@typescript-eslint/utils@6.21.0': 765 | resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} 766 | engines: {node: ^16.0.0 || >=18.0.0} 767 | peerDependencies: 768 | eslint: ^7.0.0 || ^8.0.0 769 | 770 | '@typescript-eslint/visitor-keys@6.21.0': 771 | resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} 772 | engines: {node: ^16.0.0 || >=18.0.0} 773 | 774 | '@ungap/structured-clone@1.2.0': 775 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 776 | 777 | '@vitejs/plugin-react@4.2.1': 778 | resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} 779 | engines: {node: ^14.18.0 || >=16.0.0} 780 | peerDependencies: 781 | vite: ^4.2.0 || ^5.0.0 782 | 783 | acorn-jsx@5.3.2: 784 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 785 | peerDependencies: 786 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 787 | 788 | acorn@8.11.3: 789 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 790 | engines: {node: '>=0.4.0'} 791 | hasBin: true 792 | 793 | ajv@6.12.6: 794 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 795 | 796 | ansi-regex@5.0.1: 797 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 798 | engines: {node: '>=8'} 799 | 800 | ansi-styles@3.2.1: 801 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 802 | engines: {node: '>=4'} 803 | 804 | ansi-styles@4.3.0: 805 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 806 | engines: {node: '>=8'} 807 | 808 | anymatch@3.1.3: 809 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 810 | engines: {node: '>= 8'} 811 | 812 | argparse@2.0.1: 813 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 814 | 815 | aria-hidden@1.2.4: 816 | resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} 817 | engines: {node: '>=10'} 818 | 819 | array-union@2.1.0: 820 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 821 | engines: {node: '>=8'} 822 | 823 | babel-plugin-macros@3.1.0: 824 | resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} 825 | engines: {node: '>=10', npm: '>=6'} 826 | 827 | balanced-match@1.0.2: 828 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 829 | 830 | base64-arraybuffer@1.0.2: 831 | resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} 832 | engines: {node: '>= 0.6.0'} 833 | 834 | binary-extensions@2.3.0: 835 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 836 | engines: {node: '>=8'} 837 | 838 | brace-expansion@1.1.11: 839 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 840 | 841 | brace-expansion@2.0.1: 842 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 843 | 844 | braces@3.0.3: 845 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 846 | engines: {node: '>=8'} 847 | 848 | browserslist@4.23.0: 849 | resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} 850 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 851 | hasBin: true 852 | 853 | callsites@3.1.0: 854 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 855 | engines: {node: '>=6'} 856 | 857 | camelcase-css@2.0.1: 858 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 859 | engines: {node: '>= 6'} 860 | 861 | camelize@1.0.1: 862 | resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} 863 | 864 | caniuse-lite@1.0.30001618: 865 | resolution: {integrity: sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg==} 866 | 867 | chalk@2.4.2: 868 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 869 | engines: {node: '>=4'} 870 | 871 | chalk@4.1.2: 872 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 873 | engines: {node: '>=10'} 874 | 875 | chokidar@3.6.0: 876 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 877 | engines: {node: '>= 8.10.0'} 878 | 879 | clsx@1.1.1: 880 | resolution: {integrity: sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==} 881 | engines: {node: '>=6'} 882 | 883 | color-convert@1.9.3: 884 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 885 | 886 | color-convert@2.0.1: 887 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 888 | engines: {node: '>=7.0.0'} 889 | 890 | color-name@1.1.3: 891 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 892 | 893 | color-name@1.1.4: 894 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 895 | 896 | concat-map@0.0.1: 897 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 898 | 899 | convert-source-map@1.9.0: 900 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} 901 | 902 | convert-source-map@2.0.0: 903 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 904 | 905 | cosmiconfig@7.1.0: 906 | resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} 907 | engines: {node: '>=10'} 908 | 909 | cross-spawn@7.0.3: 910 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 911 | engines: {node: '>= 8'} 912 | 913 | css-color-keywords@1.0.0: 914 | resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} 915 | engines: {node: '>=4'} 916 | 917 | css-line-break@2.1.0: 918 | resolution: {integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==} 919 | 920 | css-to-react-native@3.2.0: 921 | resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} 922 | 923 | cssesc@3.0.0: 924 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 925 | engines: {node: '>=4'} 926 | hasBin: true 927 | 928 | csstype@3.0.9: 929 | resolution: {integrity: sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==} 930 | 931 | csstype@3.1.3: 932 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 933 | 934 | debug@4.3.4: 935 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 936 | engines: {node: '>=6.0'} 937 | peerDependencies: 938 | supports-color: '*' 939 | peerDependenciesMeta: 940 | supports-color: 941 | optional: true 942 | 943 | deep-is@0.1.4: 944 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 945 | 946 | detect-node-es@1.1.0: 947 | resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} 948 | 949 | dir-glob@3.0.1: 950 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 951 | engines: {node: '>=8'} 952 | 953 | doctrine@3.0.0: 954 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 955 | engines: {node: '>=6.0.0'} 956 | 957 | electron-to-chromium@1.4.768: 958 | resolution: {integrity: sha512-z2U3QcvNuxdkk33YV7R1bVMNq7fL23vq3WfO5BHcqrm4TnDGReouBfYKLEFh5umoK1XACjEwp8mmnhXk2EJigw==} 959 | 960 | error-ex@1.3.2: 961 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 962 | 963 | esbuild@0.20.2: 964 | resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} 965 | engines: {node: '>=12'} 966 | hasBin: true 967 | 968 | escalade@3.1.2: 969 | resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} 970 | engines: {node: '>=6'} 971 | 972 | escape-string-regexp@1.0.5: 973 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 974 | engines: {node: '>=0.8.0'} 975 | 976 | escape-string-regexp@4.0.0: 977 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 978 | engines: {node: '>=10'} 979 | 980 | eslint-plugin-react-hooks@4.6.2: 981 | resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} 982 | engines: {node: '>=10'} 983 | peerDependencies: 984 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 985 | 986 | eslint-plugin-react-refresh@0.4.7: 987 | resolution: {integrity: sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==} 988 | peerDependencies: 989 | eslint: '>=7' 990 | 991 | eslint-scope@7.2.2: 992 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 993 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 994 | 995 | eslint-visitor-keys@3.4.3: 996 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 997 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 998 | 999 | eslint@8.57.0: 1000 | resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} 1001 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1002 | hasBin: true 1003 | 1004 | espree@9.6.1: 1005 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1006 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1007 | 1008 | esquery@1.5.0: 1009 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1010 | engines: {node: '>=0.10'} 1011 | 1012 | esrecurse@4.3.0: 1013 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1014 | engines: {node: '>=4.0'} 1015 | 1016 | estraverse@5.3.0: 1017 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1018 | engines: {node: '>=4.0'} 1019 | 1020 | esutils@2.0.3: 1021 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1022 | engines: {node: '>=0.10.0'} 1023 | 1024 | fast-deep-equal@3.1.3: 1025 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1026 | 1027 | fast-glob@3.3.2: 1028 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1029 | engines: {node: '>=8.6.0'} 1030 | 1031 | fast-json-stable-stringify@2.1.0: 1032 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1033 | 1034 | fast-levenshtein@2.0.6: 1035 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1036 | 1037 | fastq@1.17.1: 1038 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1039 | 1040 | file-entry-cache@6.0.1: 1041 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1042 | engines: {node: ^10.12.0 || >=12.0.0} 1043 | 1044 | fill-range@7.1.1: 1045 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1046 | engines: {node: '>=8'} 1047 | 1048 | find-root@1.1.0: 1049 | resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} 1050 | 1051 | find-up@5.0.0: 1052 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1053 | engines: {node: '>=10'} 1054 | 1055 | flat-cache@3.2.0: 1056 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} 1057 | engines: {node: ^10.12.0 || >=12.0.0} 1058 | 1059 | flatted@3.3.1: 1060 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} 1061 | 1062 | fs.realpath@1.0.0: 1063 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1064 | 1065 | fsevents@2.3.3: 1066 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1067 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1068 | os: [darwin] 1069 | 1070 | function-bind@1.1.2: 1071 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1072 | 1073 | gensync@1.0.0-beta.2: 1074 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1075 | engines: {node: '>=6.9.0'} 1076 | 1077 | get-nonce@1.0.1: 1078 | resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} 1079 | engines: {node: '>=6'} 1080 | 1081 | glob-parent@5.1.2: 1082 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1083 | engines: {node: '>= 6'} 1084 | 1085 | glob-parent@6.0.2: 1086 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1087 | engines: {node: '>=10.13.0'} 1088 | 1089 | glob@7.2.3: 1090 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1091 | deprecated: Glob versions prior to v9 are no longer supported 1092 | 1093 | globals@11.12.0: 1094 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1095 | engines: {node: '>=4'} 1096 | 1097 | globals@13.24.0: 1098 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} 1099 | engines: {node: '>=8'} 1100 | 1101 | globby@11.1.0: 1102 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1103 | engines: {node: '>=10'} 1104 | 1105 | graphemer@1.4.0: 1106 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1107 | 1108 | has-flag@3.0.0: 1109 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1110 | engines: {node: '>=4'} 1111 | 1112 | has-flag@4.0.0: 1113 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1114 | engines: {node: '>=8'} 1115 | 1116 | hasown@2.0.2: 1117 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1118 | engines: {node: '>= 0.4'} 1119 | 1120 | hoist-non-react-statics@3.3.2: 1121 | resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} 1122 | 1123 | html2canvas@1.4.1: 1124 | resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==} 1125 | engines: {node: '>=8.0.0'} 1126 | 1127 | ignore@5.3.1: 1128 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} 1129 | engines: {node: '>= 4'} 1130 | 1131 | immutable@4.3.6: 1132 | resolution: {integrity: sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==} 1133 | 1134 | import-fresh@3.3.0: 1135 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1136 | engines: {node: '>=6'} 1137 | 1138 | imurmurhash@0.1.4: 1139 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1140 | engines: {node: '>=0.8.19'} 1141 | 1142 | inflight@1.0.6: 1143 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1144 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 1145 | 1146 | inherits@2.0.4: 1147 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1148 | 1149 | invariant@2.2.4: 1150 | resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} 1151 | 1152 | is-arrayish@0.2.1: 1153 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1154 | 1155 | is-binary-path@2.1.0: 1156 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1157 | engines: {node: '>=8'} 1158 | 1159 | is-core-module@2.13.1: 1160 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} 1161 | 1162 | is-extglob@2.1.1: 1163 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1164 | engines: {node: '>=0.10.0'} 1165 | 1166 | is-glob@4.0.3: 1167 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1168 | engines: {node: '>=0.10.0'} 1169 | 1170 | is-number@7.0.0: 1171 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1172 | engines: {node: '>=0.12.0'} 1173 | 1174 | is-path-inside@3.0.3: 1175 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1176 | engines: {node: '>=8'} 1177 | 1178 | isexe@2.0.0: 1179 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1180 | 1181 | js-tokens@4.0.0: 1182 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1183 | 1184 | js-yaml@4.1.0: 1185 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1186 | hasBin: true 1187 | 1188 | jsesc@2.5.2: 1189 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 1190 | engines: {node: '>=4'} 1191 | hasBin: true 1192 | 1193 | json-buffer@3.0.1: 1194 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1195 | 1196 | json-parse-even-better-errors@2.3.1: 1197 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1198 | 1199 | json-schema-traverse@0.4.1: 1200 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1201 | 1202 | json-stable-stringify-without-jsonify@1.0.1: 1203 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1204 | 1205 | json5@2.2.3: 1206 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1207 | engines: {node: '>=6'} 1208 | hasBin: true 1209 | 1210 | keyv@4.5.4: 1211 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1212 | 1213 | klona@2.0.6: 1214 | resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} 1215 | engines: {node: '>= 8'} 1216 | 1217 | levn@0.4.1: 1218 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1219 | engines: {node: '>= 0.8.0'} 1220 | 1221 | lines-and-columns@1.2.4: 1222 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1223 | 1224 | locate-path@6.0.0: 1225 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1226 | engines: {node: '>=10'} 1227 | 1228 | lodash.merge@4.6.2: 1229 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1230 | 1231 | loose-envify@1.4.0: 1232 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1233 | hasBin: true 1234 | 1235 | lru-cache@5.1.1: 1236 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1237 | 1238 | merge2@1.4.1: 1239 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1240 | engines: {node: '>= 8'} 1241 | 1242 | micromatch@4.0.5: 1243 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1244 | engines: {node: '>=8.6'} 1245 | 1246 | minimatch@3.1.2: 1247 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1248 | 1249 | minimatch@9.0.3: 1250 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} 1251 | engines: {node: '>=16 || 14 >=14.17'} 1252 | 1253 | ms@2.1.2: 1254 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1255 | 1256 | nanoid@3.3.7: 1257 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1258 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1259 | hasBin: true 1260 | 1261 | natural-compare@1.4.0: 1262 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1263 | 1264 | node-releases@2.0.14: 1265 | resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} 1266 | 1267 | normalize-path@3.0.0: 1268 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1269 | engines: {node: '>=0.10.0'} 1270 | 1271 | object-assign@4.1.1: 1272 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1273 | engines: {node: '>=0.10.0'} 1274 | 1275 | once@1.4.0: 1276 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1277 | 1278 | optionator@0.9.4: 1279 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1280 | engines: {node: '>= 0.8.0'} 1281 | 1282 | p-limit@3.1.0: 1283 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1284 | engines: {node: '>=10'} 1285 | 1286 | p-locate@5.0.0: 1287 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1288 | engines: {node: '>=10'} 1289 | 1290 | parent-module@1.0.1: 1291 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1292 | engines: {node: '>=6'} 1293 | 1294 | parse-json@5.2.0: 1295 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1296 | engines: {node: '>=8'} 1297 | 1298 | path-exists@4.0.0: 1299 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1300 | engines: {node: '>=8'} 1301 | 1302 | path-is-absolute@1.0.1: 1303 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1304 | engines: {node: '>=0.10.0'} 1305 | 1306 | path-key@3.1.1: 1307 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1308 | engines: {node: '>=8'} 1309 | 1310 | path-parse@1.0.7: 1311 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1312 | 1313 | path-type@4.0.0: 1314 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1315 | engines: {node: '>=8'} 1316 | 1317 | picocolors@1.0.1: 1318 | resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} 1319 | 1320 | picomatch@2.3.1: 1321 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1322 | engines: {node: '>=8.6'} 1323 | 1324 | postcss-js@4.0.1: 1325 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 1326 | engines: {node: ^12 || ^14 || >= 16} 1327 | peerDependencies: 1328 | postcss: ^8.4.21 1329 | 1330 | postcss-mixins@9.0.4: 1331 | resolution: {integrity: sha512-XVq5jwQJDRu5M1XGkdpgASqLk37OqkH4JCFDXl/Dn7janOJjCTEKL+36cnRVy7bMtoBzALfO7bV7nTIsFnUWLA==} 1332 | engines: {node: '>=14.0'} 1333 | peerDependencies: 1334 | postcss: ^8.2.14 1335 | 1336 | postcss-nested@6.0.1: 1337 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} 1338 | engines: {node: '>=12.0'} 1339 | peerDependencies: 1340 | postcss: ^8.2.14 1341 | 1342 | postcss-preset-mantine@1.15.0: 1343 | resolution: {integrity: sha512-OKPs6uoORSXlU/GFH1ZtFaslecHBPwuoSikdL5W3WKJm4ZPAQM0mw9x9m3toa/Mo1JhoBmYMM28i+zEdav5Edg==} 1344 | peerDependencies: 1345 | postcss: '>=8.0.0' 1346 | 1347 | postcss-selector-parser@6.0.16: 1348 | resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} 1349 | engines: {node: '>=4'} 1350 | 1351 | postcss-simple-vars@7.0.1: 1352 | resolution: {integrity: sha512-5GLLXaS8qmzHMOjVxqkk1TZPf1jMqesiI7qLhnlyERalG0sMbHIbJqrcnrpmZdKCLglHnRHoEBB61RtGTsj++A==} 1353 | engines: {node: '>=14.0'} 1354 | peerDependencies: 1355 | postcss: ^8.2.1 1356 | 1357 | postcss-value-parser@4.2.0: 1358 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1359 | 1360 | postcss@8.4.38: 1361 | resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} 1362 | engines: {node: ^10 || ^12 || >=14} 1363 | 1364 | prelude-ls@1.2.1: 1365 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1366 | engines: {node: '>= 0.8.0'} 1367 | 1368 | prop-types@15.8.1: 1369 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 1370 | 1371 | punycode@2.3.1: 1372 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1373 | engines: {node: '>=6'} 1374 | 1375 | queue-microtask@1.2.3: 1376 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1377 | 1378 | react-dom@18.3.1: 1379 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} 1380 | peerDependencies: 1381 | react: ^18.3.1 1382 | 1383 | react-icons@5.2.1: 1384 | resolution: {integrity: sha512-zdbW5GstTzXaVKvGSyTaBalt7HSfuK5ovrzlpyiWHAFXndXTdd/1hdDHI4xBM1Mn7YriT6aqESucFl9kEXzrdw==} 1385 | peerDependencies: 1386 | react: '*' 1387 | 1388 | react-is@16.13.1: 1389 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 1390 | 1391 | react-refresh@0.14.2: 1392 | resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} 1393 | engines: {node: '>=0.10.0'} 1394 | 1395 | react-remove-scroll-bar@2.3.6: 1396 | resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} 1397 | engines: {node: '>=10'} 1398 | peerDependencies: 1399 | '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 1400 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1401 | peerDependenciesMeta: 1402 | '@types/react': 1403 | optional: true 1404 | 1405 | react-remove-scroll@2.5.10: 1406 | resolution: {integrity: sha512-m3zvBRANPBw3qxVVjEIPEQinkcwlFZ4qyomuWVpNJdv4c6MvHfXV0C3L9Jx5rr3HeBHKNRX+1jreB5QloDIJjA==} 1407 | engines: {node: '>=10'} 1408 | peerDependencies: 1409 | '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 1410 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1411 | peerDependenciesMeta: 1412 | '@types/react': 1413 | optional: true 1414 | 1415 | react-style-singleton@2.2.1: 1416 | resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} 1417 | engines: {node: '>=10'} 1418 | peerDependencies: 1419 | '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 1420 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1421 | peerDependenciesMeta: 1422 | '@types/react': 1423 | optional: true 1424 | 1425 | react-textarea-autosize@8.3.4: 1426 | resolution: {integrity: sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==} 1427 | engines: {node: '>=10'} 1428 | peerDependencies: 1429 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1430 | 1431 | react@18.3.1: 1432 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} 1433 | engines: {node: '>=0.10.0'} 1434 | 1435 | readdirp@3.6.0: 1436 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1437 | engines: {node: '>=8.10.0'} 1438 | 1439 | regenerator-runtime@0.14.1: 1440 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 1441 | 1442 | resolve-from@4.0.0: 1443 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1444 | engines: {node: '>=4'} 1445 | 1446 | resolve@1.22.8: 1447 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1448 | hasBin: true 1449 | 1450 | reusify@1.0.4: 1451 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1452 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1453 | 1454 | rimraf@3.0.2: 1455 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1456 | deprecated: Rimraf versions prior to v4 are no longer supported 1457 | hasBin: true 1458 | 1459 | rollup@4.17.2: 1460 | resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==} 1461 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1462 | hasBin: true 1463 | 1464 | run-parallel@1.2.0: 1465 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1466 | 1467 | sass@1.77.1: 1468 | resolution: {integrity: sha512-OMEyfirt9XEfyvocduUIOlUSkWOXS/LAt6oblR/ISXCTukyavjex+zQNm51pPCOiFKY1QpWvEH1EeCkgyV3I6w==} 1469 | engines: {node: '>=14.0.0'} 1470 | hasBin: true 1471 | 1472 | scheduler@0.23.2: 1473 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} 1474 | 1475 | semver@6.3.1: 1476 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1477 | hasBin: true 1478 | 1479 | semver@7.6.2: 1480 | resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} 1481 | engines: {node: '>=10'} 1482 | hasBin: true 1483 | 1484 | shallowequal@1.1.0: 1485 | resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} 1486 | 1487 | shebang-command@2.0.0: 1488 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1489 | engines: {node: '>=8'} 1490 | 1491 | shebang-regex@3.0.0: 1492 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1493 | engines: {node: '>=8'} 1494 | 1495 | slash@3.0.0: 1496 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1497 | engines: {node: '>=8'} 1498 | 1499 | source-map-js@1.2.0: 1500 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} 1501 | engines: {node: '>=0.10.0'} 1502 | 1503 | source-map@0.5.7: 1504 | resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} 1505 | engines: {node: '>=0.10.0'} 1506 | 1507 | strip-ansi@6.0.1: 1508 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1509 | engines: {node: '>=8'} 1510 | 1511 | strip-json-comments@3.1.1: 1512 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1513 | engines: {node: '>=8'} 1514 | 1515 | styled-components@6.1.11: 1516 | resolution: {integrity: sha512-Ui0jXPzbp1phYij90h12ksljKGqF8ncGx+pjrNPsSPhbUUjWT2tD1FwGo2LF6USCnbrsIhNngDfodhxbegfEOA==} 1517 | engines: {node: '>= 16'} 1518 | peerDependencies: 1519 | react: '>= 16.8.0' 1520 | react-dom: '>= 16.8.0' 1521 | 1522 | stylis@4.2.0: 1523 | resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} 1524 | 1525 | stylis@4.3.2: 1526 | resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==} 1527 | 1528 | sugarss@4.0.1: 1529 | resolution: {integrity: sha512-WCjS5NfuVJjkQzK10s8WOBY+hhDxxNt/N6ZaGwxFZ+wN3/lKKFSaaKUNecULcTTvE4urLcKaZFQD8vO0mOZujw==} 1530 | engines: {node: '>=12.0'} 1531 | peerDependencies: 1532 | postcss: ^8.3.3 1533 | 1534 | supports-color@5.5.0: 1535 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1536 | engines: {node: '>=4'} 1537 | 1538 | supports-color@7.2.0: 1539 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1540 | engines: {node: '>=8'} 1541 | 1542 | supports-preserve-symlinks-flag@1.0.0: 1543 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1544 | engines: {node: '>= 0.4'} 1545 | 1546 | tabbable@6.2.0: 1547 | resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} 1548 | 1549 | text-segmentation@1.0.3: 1550 | resolution: {integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==} 1551 | 1552 | text-table@0.2.0: 1553 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 1554 | 1555 | to-fast-properties@2.0.0: 1556 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1557 | engines: {node: '>=4'} 1558 | 1559 | to-regex-range@5.0.1: 1560 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1561 | engines: {node: '>=8.0'} 1562 | 1563 | ts-api-utils@1.3.0: 1564 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} 1565 | engines: {node: '>=16'} 1566 | peerDependencies: 1567 | typescript: '>=4.2.0' 1568 | 1569 | tslib@2.6.2: 1570 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 1571 | 1572 | type-check@0.4.0: 1573 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1574 | engines: {node: '>= 0.8.0'} 1575 | 1576 | type-fest@0.20.2: 1577 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 1578 | engines: {node: '>=10'} 1579 | 1580 | typescript@5.4.5: 1581 | resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} 1582 | engines: {node: '>=14.17'} 1583 | hasBin: true 1584 | 1585 | undici-types@5.26.5: 1586 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 1587 | 1588 | update-browserslist-db@1.0.16: 1589 | resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} 1590 | hasBin: true 1591 | peerDependencies: 1592 | browserslist: '>= 4.21.0' 1593 | 1594 | uri-js@4.4.1: 1595 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1596 | 1597 | use-callback-ref@1.3.2: 1598 | resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} 1599 | engines: {node: '>=10'} 1600 | peerDependencies: 1601 | '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 1602 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1603 | peerDependenciesMeta: 1604 | '@types/react': 1605 | optional: true 1606 | 1607 | use-composed-ref@1.3.0: 1608 | resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==} 1609 | peerDependencies: 1610 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1611 | 1612 | use-isomorphic-layout-effect@1.1.2: 1613 | resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} 1614 | peerDependencies: 1615 | '@types/react': '*' 1616 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1617 | peerDependenciesMeta: 1618 | '@types/react': 1619 | optional: true 1620 | 1621 | use-latest@1.2.1: 1622 | resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} 1623 | peerDependencies: 1624 | '@types/react': '*' 1625 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1626 | peerDependenciesMeta: 1627 | '@types/react': 1628 | optional: true 1629 | 1630 | use-sidecar@1.1.2: 1631 | resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} 1632 | engines: {node: '>=10'} 1633 | peerDependencies: 1634 | '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 1635 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 1636 | peerDependenciesMeta: 1637 | '@types/react': 1638 | optional: true 1639 | 1640 | util-deprecate@1.0.2: 1641 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1642 | 1643 | utrie@1.0.2: 1644 | resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==} 1645 | 1646 | vite@5.2.11: 1647 | resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} 1648 | engines: {node: ^18.0.0 || >=20.0.0} 1649 | hasBin: true 1650 | peerDependencies: 1651 | '@types/node': ^18.0.0 || >=20.0.0 1652 | less: '*' 1653 | lightningcss: ^1.21.0 1654 | sass: '*' 1655 | stylus: '*' 1656 | sugarss: '*' 1657 | terser: ^5.4.0 1658 | peerDependenciesMeta: 1659 | '@types/node': 1660 | optional: true 1661 | less: 1662 | optional: true 1663 | lightningcss: 1664 | optional: true 1665 | sass: 1666 | optional: true 1667 | stylus: 1668 | optional: true 1669 | sugarss: 1670 | optional: true 1671 | terser: 1672 | optional: true 1673 | 1674 | which@2.0.2: 1675 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1676 | engines: {node: '>= 8'} 1677 | hasBin: true 1678 | 1679 | word-wrap@1.2.5: 1680 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1681 | engines: {node: '>=0.10.0'} 1682 | 1683 | wrappy@1.0.2: 1684 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1685 | 1686 | yallist@3.1.1: 1687 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 1688 | 1689 | yaml@1.10.2: 1690 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 1691 | engines: {node: '>= 6'} 1692 | 1693 | yocto-queue@0.1.0: 1694 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1695 | engines: {node: '>=10'} 1696 | 1697 | snapshots: 1698 | 1699 | '@ampproject/remapping@2.3.0': 1700 | dependencies: 1701 | '@jridgewell/gen-mapping': 0.3.5 1702 | '@jridgewell/trace-mapping': 0.3.25 1703 | 1704 | '@babel/code-frame@7.24.2': 1705 | dependencies: 1706 | '@babel/highlight': 7.24.5 1707 | picocolors: 1.0.1 1708 | 1709 | '@babel/compat-data@7.24.4': {} 1710 | 1711 | '@babel/core@7.24.5': 1712 | dependencies: 1713 | '@ampproject/remapping': 2.3.0 1714 | '@babel/code-frame': 7.24.2 1715 | '@babel/generator': 7.24.5 1716 | '@babel/helper-compilation-targets': 7.23.6 1717 | '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) 1718 | '@babel/helpers': 7.24.5 1719 | '@babel/parser': 7.24.5 1720 | '@babel/template': 7.24.0 1721 | '@babel/traverse': 7.24.5 1722 | '@babel/types': 7.24.5 1723 | convert-source-map: 2.0.0 1724 | debug: 4.3.4 1725 | gensync: 1.0.0-beta.2 1726 | json5: 2.2.3 1727 | semver: 6.3.1 1728 | transitivePeerDependencies: 1729 | - supports-color 1730 | 1731 | '@babel/generator@7.24.5': 1732 | dependencies: 1733 | '@babel/types': 7.24.5 1734 | '@jridgewell/gen-mapping': 0.3.5 1735 | '@jridgewell/trace-mapping': 0.3.25 1736 | jsesc: 2.5.2 1737 | 1738 | '@babel/helper-compilation-targets@7.23.6': 1739 | dependencies: 1740 | '@babel/compat-data': 7.24.4 1741 | '@babel/helper-validator-option': 7.23.5 1742 | browserslist: 4.23.0 1743 | lru-cache: 5.1.1 1744 | semver: 6.3.1 1745 | 1746 | '@babel/helper-environment-visitor@7.22.20': {} 1747 | 1748 | '@babel/helper-function-name@7.23.0': 1749 | dependencies: 1750 | '@babel/template': 7.24.0 1751 | '@babel/types': 7.24.5 1752 | 1753 | '@babel/helper-hoist-variables@7.22.5': 1754 | dependencies: 1755 | '@babel/types': 7.24.5 1756 | 1757 | '@babel/helper-module-imports@7.24.3': 1758 | dependencies: 1759 | '@babel/types': 7.24.5 1760 | 1761 | '@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5)': 1762 | dependencies: 1763 | '@babel/core': 7.24.5 1764 | '@babel/helper-environment-visitor': 7.22.20 1765 | '@babel/helper-module-imports': 7.24.3 1766 | '@babel/helper-simple-access': 7.24.5 1767 | '@babel/helper-split-export-declaration': 7.24.5 1768 | '@babel/helper-validator-identifier': 7.24.5 1769 | 1770 | '@babel/helper-plugin-utils@7.24.5': {} 1771 | 1772 | '@babel/helper-simple-access@7.24.5': 1773 | dependencies: 1774 | '@babel/types': 7.24.5 1775 | 1776 | '@babel/helper-split-export-declaration@7.24.5': 1777 | dependencies: 1778 | '@babel/types': 7.24.5 1779 | 1780 | '@babel/helper-string-parser@7.24.1': {} 1781 | 1782 | '@babel/helper-validator-identifier@7.24.5': {} 1783 | 1784 | '@babel/helper-validator-option@7.23.5': {} 1785 | 1786 | '@babel/helpers@7.24.5': 1787 | dependencies: 1788 | '@babel/template': 7.24.0 1789 | '@babel/traverse': 7.24.5 1790 | '@babel/types': 7.24.5 1791 | transitivePeerDependencies: 1792 | - supports-color 1793 | 1794 | '@babel/highlight@7.24.5': 1795 | dependencies: 1796 | '@babel/helper-validator-identifier': 7.24.5 1797 | chalk: 2.4.2 1798 | js-tokens: 4.0.0 1799 | picocolors: 1.0.1 1800 | 1801 | '@babel/parser@7.24.5': 1802 | dependencies: 1803 | '@babel/types': 7.24.5 1804 | 1805 | '@babel/plugin-transform-react-jsx-self@7.24.5(@babel/core@7.24.5)': 1806 | dependencies: 1807 | '@babel/core': 7.24.5 1808 | '@babel/helper-plugin-utils': 7.24.5 1809 | 1810 | '@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.5)': 1811 | dependencies: 1812 | '@babel/core': 7.24.5 1813 | '@babel/helper-plugin-utils': 7.24.5 1814 | 1815 | '@babel/runtime@7.24.5': 1816 | dependencies: 1817 | regenerator-runtime: 0.14.1 1818 | 1819 | '@babel/template@7.24.0': 1820 | dependencies: 1821 | '@babel/code-frame': 7.24.2 1822 | '@babel/parser': 7.24.5 1823 | '@babel/types': 7.24.5 1824 | 1825 | '@babel/traverse@7.24.5': 1826 | dependencies: 1827 | '@babel/code-frame': 7.24.2 1828 | '@babel/generator': 7.24.5 1829 | '@babel/helper-environment-visitor': 7.22.20 1830 | '@babel/helper-function-name': 7.23.0 1831 | '@babel/helper-hoist-variables': 7.22.5 1832 | '@babel/helper-split-export-declaration': 7.24.5 1833 | '@babel/parser': 7.24.5 1834 | '@babel/types': 7.24.5 1835 | debug: 4.3.4 1836 | globals: 11.12.0 1837 | transitivePeerDependencies: 1838 | - supports-color 1839 | 1840 | '@babel/types@7.24.5': 1841 | dependencies: 1842 | '@babel/helper-string-parser': 7.24.1 1843 | '@babel/helper-validator-identifier': 7.24.5 1844 | to-fast-properties: 2.0.0 1845 | 1846 | '@emotion/babel-plugin@11.11.0': 1847 | dependencies: 1848 | '@babel/helper-module-imports': 7.24.3 1849 | '@babel/runtime': 7.24.5 1850 | '@emotion/hash': 0.9.1 1851 | '@emotion/memoize': 0.8.1 1852 | '@emotion/serialize': 1.1.4 1853 | babel-plugin-macros: 3.1.0 1854 | convert-source-map: 1.9.0 1855 | escape-string-regexp: 4.0.0 1856 | find-root: 1.1.0 1857 | source-map: 0.5.7 1858 | stylis: 4.2.0 1859 | 1860 | '@emotion/cache@11.11.0': 1861 | dependencies: 1862 | '@emotion/memoize': 0.8.1 1863 | '@emotion/sheet': 1.2.2 1864 | '@emotion/utils': 1.2.1 1865 | '@emotion/weak-memoize': 0.3.1 1866 | stylis: 4.2.0 1867 | 1868 | '@emotion/hash@0.9.1': {} 1869 | 1870 | '@emotion/is-prop-valid@1.2.2': 1871 | dependencies: 1872 | '@emotion/memoize': 0.8.1 1873 | 1874 | '@emotion/memoize@0.8.1': {} 1875 | 1876 | '@emotion/react@11.11.4(@types/react@18.3.2)(react@18.3.1)': 1877 | dependencies: 1878 | '@babel/runtime': 7.24.5 1879 | '@emotion/babel-plugin': 11.11.0 1880 | '@emotion/cache': 11.11.0 1881 | '@emotion/serialize': 1.1.4 1882 | '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1) 1883 | '@emotion/utils': 1.2.1 1884 | '@emotion/weak-memoize': 0.3.1 1885 | hoist-non-react-statics: 3.3.2 1886 | react: 18.3.1 1887 | optionalDependencies: 1888 | '@types/react': 18.3.2 1889 | 1890 | '@emotion/serialize@1.1.4': 1891 | dependencies: 1892 | '@emotion/hash': 0.9.1 1893 | '@emotion/memoize': 0.8.1 1894 | '@emotion/unitless': 0.8.1 1895 | '@emotion/utils': 1.2.1 1896 | csstype: 3.1.3 1897 | 1898 | '@emotion/sheet@1.2.2': {} 1899 | 1900 | '@emotion/unitless@0.8.1': {} 1901 | 1902 | '@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.3.1)': 1903 | dependencies: 1904 | react: 18.3.1 1905 | 1906 | '@emotion/utils@1.2.1': {} 1907 | 1908 | '@emotion/weak-memoize@0.3.1': {} 1909 | 1910 | '@esbuild/aix-ppc64@0.20.2': 1911 | optional: true 1912 | 1913 | '@esbuild/android-arm64@0.20.2': 1914 | optional: true 1915 | 1916 | '@esbuild/android-arm@0.20.2': 1917 | optional: true 1918 | 1919 | '@esbuild/android-x64@0.20.2': 1920 | optional: true 1921 | 1922 | '@esbuild/darwin-arm64@0.20.2': 1923 | optional: true 1924 | 1925 | '@esbuild/darwin-x64@0.20.2': 1926 | optional: true 1927 | 1928 | '@esbuild/freebsd-arm64@0.20.2': 1929 | optional: true 1930 | 1931 | '@esbuild/freebsd-x64@0.20.2': 1932 | optional: true 1933 | 1934 | '@esbuild/linux-arm64@0.20.2': 1935 | optional: true 1936 | 1937 | '@esbuild/linux-arm@0.20.2': 1938 | optional: true 1939 | 1940 | '@esbuild/linux-ia32@0.20.2': 1941 | optional: true 1942 | 1943 | '@esbuild/linux-loong64@0.20.2': 1944 | optional: true 1945 | 1946 | '@esbuild/linux-mips64el@0.20.2': 1947 | optional: true 1948 | 1949 | '@esbuild/linux-ppc64@0.20.2': 1950 | optional: true 1951 | 1952 | '@esbuild/linux-riscv64@0.20.2': 1953 | optional: true 1954 | 1955 | '@esbuild/linux-s390x@0.20.2': 1956 | optional: true 1957 | 1958 | '@esbuild/linux-x64@0.20.2': 1959 | optional: true 1960 | 1961 | '@esbuild/netbsd-x64@0.20.2': 1962 | optional: true 1963 | 1964 | '@esbuild/openbsd-x64@0.20.2': 1965 | optional: true 1966 | 1967 | '@esbuild/sunos-x64@0.20.2': 1968 | optional: true 1969 | 1970 | '@esbuild/win32-arm64@0.20.2': 1971 | optional: true 1972 | 1973 | '@esbuild/win32-ia32@0.20.2': 1974 | optional: true 1975 | 1976 | '@esbuild/win32-x64@0.20.2': 1977 | optional: true 1978 | 1979 | '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': 1980 | dependencies: 1981 | eslint: 8.57.0 1982 | eslint-visitor-keys: 3.4.3 1983 | 1984 | '@eslint-community/regexpp@4.10.0': {} 1985 | 1986 | '@eslint/eslintrc@2.1.4': 1987 | dependencies: 1988 | ajv: 6.12.6 1989 | debug: 4.3.4 1990 | espree: 9.6.1 1991 | globals: 13.24.0 1992 | ignore: 5.3.1 1993 | import-fresh: 3.3.0 1994 | js-yaml: 4.1.0 1995 | minimatch: 3.1.2 1996 | strip-json-comments: 3.1.1 1997 | transitivePeerDependencies: 1998 | - supports-color 1999 | 2000 | '@eslint/js@8.57.0': {} 2001 | 2002 | '@floating-ui/core@1.6.1': 2003 | dependencies: 2004 | '@floating-ui/utils': 0.2.2 2005 | 2006 | '@floating-ui/dom@1.6.5': 2007 | dependencies: 2008 | '@floating-ui/core': 1.6.1 2009 | '@floating-ui/utils': 0.2.2 2010 | 2011 | '@floating-ui/react-dom@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2012 | dependencies: 2013 | '@floating-ui/dom': 1.6.5 2014 | react: 18.3.1 2015 | react-dom: 18.3.1(react@18.3.1) 2016 | 2017 | '@floating-ui/react@0.19.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2018 | dependencies: 2019 | '@floating-ui/react-dom': 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2020 | aria-hidden: 1.2.4 2021 | react: 18.3.1 2022 | react-dom: 18.3.1(react@18.3.1) 2023 | tabbable: 6.2.0 2024 | 2025 | '@floating-ui/utils@0.2.2': {} 2026 | 2027 | '@fortawesome/fontawesome-common-types@6.5.2': {} 2028 | 2029 | '@fortawesome/fontawesome-svg-core@6.5.2': 2030 | dependencies: 2031 | '@fortawesome/fontawesome-common-types': 6.5.2 2032 | 2033 | '@fortawesome/free-solid-svg-icons@6.5.2': 2034 | dependencies: 2035 | '@fortawesome/fontawesome-common-types': 6.5.2 2036 | 2037 | '@fortawesome/react-fontawesome@0.2.0(@fortawesome/fontawesome-svg-core@6.5.2)(react@18.3.1)': 2038 | dependencies: 2039 | '@fortawesome/fontawesome-svg-core': 6.5.2 2040 | prop-types: 15.8.1 2041 | react: 18.3.1 2042 | 2043 | '@humanwhocodes/config-array@0.11.14': 2044 | dependencies: 2045 | '@humanwhocodes/object-schema': 2.0.3 2046 | debug: 4.3.4 2047 | minimatch: 3.1.2 2048 | transitivePeerDependencies: 2049 | - supports-color 2050 | 2051 | '@humanwhocodes/module-importer@1.0.1': {} 2052 | 2053 | '@humanwhocodes/object-schema@2.0.3': {} 2054 | 2055 | '@jridgewell/gen-mapping@0.3.5': 2056 | dependencies: 2057 | '@jridgewell/set-array': 1.2.1 2058 | '@jridgewell/sourcemap-codec': 1.4.15 2059 | '@jridgewell/trace-mapping': 0.3.25 2060 | 2061 | '@jridgewell/resolve-uri@3.1.2': {} 2062 | 2063 | '@jridgewell/set-array@1.2.1': {} 2064 | 2065 | '@jridgewell/sourcemap-codec@1.4.15': {} 2066 | 2067 | '@jridgewell/trace-mapping@0.3.25': 2068 | dependencies: 2069 | '@jridgewell/resolve-uri': 3.1.2 2070 | '@jridgewell/sourcemap-codec': 1.4.15 2071 | 2072 | '@mantine/core@6.0.21(@emotion/react@11.11.4(@types/react@18.3.2)(react@18.3.1))(@mantine/hooks@6.0.21(react@18.3.1))(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2073 | dependencies: 2074 | '@floating-ui/react': 0.19.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2075 | '@mantine/hooks': 6.0.21(react@18.3.1) 2076 | '@mantine/styles': 6.0.21(@emotion/react@11.11.4(@types/react@18.3.2)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2077 | '@mantine/utils': 6.0.21(react@18.3.1) 2078 | '@radix-ui/react-scroll-area': 1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2079 | react: 18.3.1 2080 | react-dom: 18.3.1(react@18.3.1) 2081 | react-remove-scroll: 2.5.10(@types/react@18.3.2)(react@18.3.1) 2082 | react-textarea-autosize: 8.3.4(@types/react@18.3.2)(react@18.3.1) 2083 | transitivePeerDependencies: 2084 | - '@emotion/react' 2085 | - '@types/react' 2086 | 2087 | '@mantine/form@7.9.1(react@18.3.1)': 2088 | dependencies: 2089 | fast-deep-equal: 3.1.3 2090 | klona: 2.0.6 2091 | react: 18.3.1 2092 | 2093 | '@mantine/hooks@6.0.21(react@18.3.1)': 2094 | dependencies: 2095 | react: 18.3.1 2096 | 2097 | '@mantine/modals@6.0.21(@mantine/core@6.0.21(@emotion/react@11.11.4(@types/react@18.3.2)(react@18.3.1))(@mantine/hooks@6.0.21(react@18.3.1))(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@6.0.21(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2098 | dependencies: 2099 | '@mantine/core': 6.0.21(@emotion/react@11.11.4(@types/react@18.3.2)(react@18.3.1))(@mantine/hooks@6.0.21(react@18.3.1))(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2100 | '@mantine/hooks': 6.0.21(react@18.3.1) 2101 | '@mantine/utils': 6.0.21(react@18.3.1) 2102 | react: 18.3.1 2103 | react-dom: 18.3.1(react@18.3.1) 2104 | 2105 | '@mantine/styles@6.0.21(@emotion/react@11.11.4(@types/react@18.3.2)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2106 | dependencies: 2107 | '@emotion/react': 11.11.4(@types/react@18.3.2)(react@18.3.1) 2108 | clsx: 1.1.1 2109 | csstype: 3.0.9 2110 | react: 18.3.1 2111 | react-dom: 18.3.1(react@18.3.1) 2112 | 2113 | '@mantine/utils@6.0.21(react@18.3.1)': 2114 | dependencies: 2115 | react: 18.3.1 2116 | 2117 | '@nodelib/fs.scandir@2.1.5': 2118 | dependencies: 2119 | '@nodelib/fs.stat': 2.0.5 2120 | run-parallel: 1.2.0 2121 | 2122 | '@nodelib/fs.stat@2.0.5': {} 2123 | 2124 | '@nodelib/fs.walk@1.2.8': 2125 | dependencies: 2126 | '@nodelib/fs.scandir': 2.1.5 2127 | fastq: 1.17.1 2128 | 2129 | '@radix-ui/number@1.0.0': 2130 | dependencies: 2131 | '@babel/runtime': 7.24.5 2132 | 2133 | '@radix-ui/primitive@1.0.0': 2134 | dependencies: 2135 | '@babel/runtime': 7.24.5 2136 | 2137 | '@radix-ui/react-compose-refs@1.0.0(react@18.3.1)': 2138 | dependencies: 2139 | '@babel/runtime': 7.24.5 2140 | react: 18.3.1 2141 | 2142 | '@radix-ui/react-context@1.0.0(react@18.3.1)': 2143 | dependencies: 2144 | '@babel/runtime': 7.24.5 2145 | react: 18.3.1 2146 | 2147 | '@radix-ui/react-direction@1.0.0(react@18.3.1)': 2148 | dependencies: 2149 | '@babel/runtime': 7.24.5 2150 | react: 18.3.1 2151 | 2152 | '@radix-ui/react-presence@1.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2153 | dependencies: 2154 | '@babel/runtime': 7.24.5 2155 | '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1) 2156 | '@radix-ui/react-use-layout-effect': 1.0.0(react@18.3.1) 2157 | react: 18.3.1 2158 | react-dom: 18.3.1(react@18.3.1) 2159 | 2160 | '@radix-ui/react-primitive@1.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2161 | dependencies: 2162 | '@babel/runtime': 7.24.5 2163 | '@radix-ui/react-slot': 1.0.1(react@18.3.1) 2164 | react: 18.3.1 2165 | react-dom: 18.3.1(react@18.3.1) 2166 | 2167 | '@radix-ui/react-scroll-area@1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': 2168 | dependencies: 2169 | '@babel/runtime': 7.24.5 2170 | '@radix-ui/number': 1.0.0 2171 | '@radix-ui/primitive': 1.0.0 2172 | '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1) 2173 | '@radix-ui/react-context': 1.0.0(react@18.3.1) 2174 | '@radix-ui/react-direction': 1.0.0(react@18.3.1) 2175 | '@radix-ui/react-presence': 1.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2176 | '@radix-ui/react-primitive': 1.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 2177 | '@radix-ui/react-use-callback-ref': 1.0.0(react@18.3.1) 2178 | '@radix-ui/react-use-layout-effect': 1.0.0(react@18.3.1) 2179 | react: 18.3.1 2180 | react-dom: 18.3.1(react@18.3.1) 2181 | 2182 | '@radix-ui/react-slot@1.0.1(react@18.3.1)': 2183 | dependencies: 2184 | '@babel/runtime': 7.24.5 2185 | '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1) 2186 | react: 18.3.1 2187 | 2188 | '@radix-ui/react-use-callback-ref@1.0.0(react@18.3.1)': 2189 | dependencies: 2190 | '@babel/runtime': 7.24.5 2191 | react: 18.3.1 2192 | 2193 | '@radix-ui/react-use-layout-effect@1.0.0(react@18.3.1)': 2194 | dependencies: 2195 | '@babel/runtime': 7.24.5 2196 | react: 18.3.1 2197 | 2198 | '@rollup/rollup-android-arm-eabi@4.17.2': 2199 | optional: true 2200 | 2201 | '@rollup/rollup-android-arm64@4.17.2': 2202 | optional: true 2203 | 2204 | '@rollup/rollup-darwin-arm64@4.17.2': 2205 | optional: true 2206 | 2207 | '@rollup/rollup-darwin-x64@4.17.2': 2208 | optional: true 2209 | 2210 | '@rollup/rollup-linux-arm-gnueabihf@4.17.2': 2211 | optional: true 2212 | 2213 | '@rollup/rollup-linux-arm-musleabihf@4.17.2': 2214 | optional: true 2215 | 2216 | '@rollup/rollup-linux-arm64-gnu@4.17.2': 2217 | optional: true 2218 | 2219 | '@rollup/rollup-linux-arm64-musl@4.17.2': 2220 | optional: true 2221 | 2222 | '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': 2223 | optional: true 2224 | 2225 | '@rollup/rollup-linux-riscv64-gnu@4.17.2': 2226 | optional: true 2227 | 2228 | '@rollup/rollup-linux-s390x-gnu@4.17.2': 2229 | optional: true 2230 | 2231 | '@rollup/rollup-linux-x64-gnu@4.17.2': 2232 | optional: true 2233 | 2234 | '@rollup/rollup-linux-x64-musl@4.17.2': 2235 | optional: true 2236 | 2237 | '@rollup/rollup-win32-arm64-msvc@4.17.2': 2238 | optional: true 2239 | 2240 | '@rollup/rollup-win32-ia32-msvc@4.17.2': 2241 | optional: true 2242 | 2243 | '@rollup/rollup-win32-x64-msvc@4.17.2': 2244 | optional: true 2245 | 2246 | '@tabler/icons-react@2.47.0(react@18.3.1)': 2247 | dependencies: 2248 | '@tabler/icons': 2.47.0 2249 | prop-types: 15.8.1 2250 | react: 18.3.1 2251 | 2252 | '@tabler/icons@2.47.0': {} 2253 | 2254 | '@types/babel__core@7.20.5': 2255 | dependencies: 2256 | '@babel/parser': 7.24.5 2257 | '@babel/types': 7.24.5 2258 | '@types/babel__generator': 7.6.8 2259 | '@types/babel__template': 7.4.4 2260 | '@types/babel__traverse': 7.20.5 2261 | 2262 | '@types/babel__generator@7.6.8': 2263 | dependencies: 2264 | '@babel/types': 7.24.5 2265 | 2266 | '@types/babel__template@7.4.4': 2267 | dependencies: 2268 | '@babel/parser': 7.24.5 2269 | '@babel/types': 7.24.5 2270 | 2271 | '@types/babel__traverse@7.20.5': 2272 | dependencies: 2273 | '@babel/types': 7.24.5 2274 | 2275 | '@types/estree@1.0.5': {} 2276 | 2277 | '@types/json-schema@7.0.15': {} 2278 | 2279 | '@types/node@20.12.12': 2280 | dependencies: 2281 | undici-types: 5.26.5 2282 | 2283 | '@types/parse-json@4.0.2': {} 2284 | 2285 | '@types/prop-types@15.7.12': {} 2286 | 2287 | '@types/react-dom@18.3.0': 2288 | dependencies: 2289 | '@types/react': 18.3.2 2290 | 2291 | '@types/react@18.3.2': 2292 | dependencies: 2293 | '@types/prop-types': 15.7.12 2294 | csstype: 3.1.3 2295 | 2296 | '@types/semver@7.5.8': {} 2297 | 2298 | '@types/stylis@4.2.5': {} 2299 | 2300 | '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': 2301 | dependencies: 2302 | '@eslint-community/regexpp': 4.10.0 2303 | '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) 2304 | '@typescript-eslint/scope-manager': 6.21.0 2305 | '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) 2306 | '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) 2307 | '@typescript-eslint/visitor-keys': 6.21.0 2308 | debug: 4.3.4 2309 | eslint: 8.57.0 2310 | graphemer: 1.4.0 2311 | ignore: 5.3.1 2312 | natural-compare: 1.4.0 2313 | semver: 7.6.2 2314 | ts-api-utils: 1.3.0(typescript@5.4.5) 2315 | optionalDependencies: 2316 | typescript: 5.4.5 2317 | transitivePeerDependencies: 2318 | - supports-color 2319 | 2320 | '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5)': 2321 | dependencies: 2322 | '@typescript-eslint/scope-manager': 6.21.0 2323 | '@typescript-eslint/types': 6.21.0 2324 | '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) 2325 | '@typescript-eslint/visitor-keys': 6.21.0 2326 | debug: 4.3.4 2327 | eslint: 8.57.0 2328 | optionalDependencies: 2329 | typescript: 5.4.5 2330 | transitivePeerDependencies: 2331 | - supports-color 2332 | 2333 | '@typescript-eslint/scope-manager@6.21.0': 2334 | dependencies: 2335 | '@typescript-eslint/types': 6.21.0 2336 | '@typescript-eslint/visitor-keys': 6.21.0 2337 | 2338 | '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': 2339 | dependencies: 2340 | '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) 2341 | '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) 2342 | debug: 4.3.4 2343 | eslint: 8.57.0 2344 | ts-api-utils: 1.3.0(typescript@5.4.5) 2345 | optionalDependencies: 2346 | typescript: 5.4.5 2347 | transitivePeerDependencies: 2348 | - supports-color 2349 | 2350 | '@typescript-eslint/types@6.21.0': {} 2351 | 2352 | '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': 2353 | dependencies: 2354 | '@typescript-eslint/types': 6.21.0 2355 | '@typescript-eslint/visitor-keys': 6.21.0 2356 | debug: 4.3.4 2357 | globby: 11.1.0 2358 | is-glob: 4.0.3 2359 | minimatch: 9.0.3 2360 | semver: 7.6.2 2361 | ts-api-utils: 1.3.0(typescript@5.4.5) 2362 | optionalDependencies: 2363 | typescript: 5.4.5 2364 | transitivePeerDependencies: 2365 | - supports-color 2366 | 2367 | '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': 2368 | dependencies: 2369 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) 2370 | '@types/json-schema': 7.0.15 2371 | '@types/semver': 7.5.8 2372 | '@typescript-eslint/scope-manager': 6.21.0 2373 | '@typescript-eslint/types': 6.21.0 2374 | '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) 2375 | eslint: 8.57.0 2376 | semver: 7.6.2 2377 | transitivePeerDependencies: 2378 | - supports-color 2379 | - typescript 2380 | 2381 | '@typescript-eslint/visitor-keys@6.21.0': 2382 | dependencies: 2383 | '@typescript-eslint/types': 6.21.0 2384 | eslint-visitor-keys: 3.4.3 2385 | 2386 | '@ungap/structured-clone@1.2.0': {} 2387 | 2388 | '@vitejs/plugin-react@4.2.1(vite@5.2.11(@types/node@20.12.12)(sass@1.77.1)(sugarss@4.0.1(postcss@8.4.38)))': 2389 | dependencies: 2390 | '@babel/core': 7.24.5 2391 | '@babel/plugin-transform-react-jsx-self': 7.24.5(@babel/core@7.24.5) 2392 | '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.5) 2393 | '@types/babel__core': 7.20.5 2394 | react-refresh: 0.14.2 2395 | vite: 5.2.11(@types/node@20.12.12)(sass@1.77.1)(sugarss@4.0.1(postcss@8.4.38)) 2396 | transitivePeerDependencies: 2397 | - supports-color 2398 | 2399 | acorn-jsx@5.3.2(acorn@8.11.3): 2400 | dependencies: 2401 | acorn: 8.11.3 2402 | 2403 | acorn@8.11.3: {} 2404 | 2405 | ajv@6.12.6: 2406 | dependencies: 2407 | fast-deep-equal: 3.1.3 2408 | fast-json-stable-stringify: 2.1.0 2409 | json-schema-traverse: 0.4.1 2410 | uri-js: 4.4.1 2411 | 2412 | ansi-regex@5.0.1: {} 2413 | 2414 | ansi-styles@3.2.1: 2415 | dependencies: 2416 | color-convert: 1.9.3 2417 | 2418 | ansi-styles@4.3.0: 2419 | dependencies: 2420 | color-convert: 2.0.1 2421 | 2422 | anymatch@3.1.3: 2423 | dependencies: 2424 | normalize-path: 3.0.0 2425 | picomatch: 2.3.1 2426 | 2427 | argparse@2.0.1: {} 2428 | 2429 | aria-hidden@1.2.4: 2430 | dependencies: 2431 | tslib: 2.6.2 2432 | 2433 | array-union@2.1.0: {} 2434 | 2435 | babel-plugin-macros@3.1.0: 2436 | dependencies: 2437 | '@babel/runtime': 7.24.5 2438 | cosmiconfig: 7.1.0 2439 | resolve: 1.22.8 2440 | 2441 | balanced-match@1.0.2: {} 2442 | 2443 | base64-arraybuffer@1.0.2: {} 2444 | 2445 | binary-extensions@2.3.0: {} 2446 | 2447 | brace-expansion@1.1.11: 2448 | dependencies: 2449 | balanced-match: 1.0.2 2450 | concat-map: 0.0.1 2451 | 2452 | brace-expansion@2.0.1: 2453 | dependencies: 2454 | balanced-match: 1.0.2 2455 | 2456 | braces@3.0.3: 2457 | dependencies: 2458 | fill-range: 7.1.1 2459 | 2460 | browserslist@4.23.0: 2461 | dependencies: 2462 | caniuse-lite: 1.0.30001618 2463 | electron-to-chromium: 1.4.768 2464 | node-releases: 2.0.14 2465 | update-browserslist-db: 1.0.16(browserslist@4.23.0) 2466 | 2467 | callsites@3.1.0: {} 2468 | 2469 | camelcase-css@2.0.1: {} 2470 | 2471 | camelize@1.0.1: {} 2472 | 2473 | caniuse-lite@1.0.30001618: {} 2474 | 2475 | chalk@2.4.2: 2476 | dependencies: 2477 | ansi-styles: 3.2.1 2478 | escape-string-regexp: 1.0.5 2479 | supports-color: 5.5.0 2480 | 2481 | chalk@4.1.2: 2482 | dependencies: 2483 | ansi-styles: 4.3.0 2484 | supports-color: 7.2.0 2485 | 2486 | chokidar@3.6.0: 2487 | dependencies: 2488 | anymatch: 3.1.3 2489 | braces: 3.0.3 2490 | glob-parent: 5.1.2 2491 | is-binary-path: 2.1.0 2492 | is-glob: 4.0.3 2493 | normalize-path: 3.0.0 2494 | readdirp: 3.6.0 2495 | optionalDependencies: 2496 | fsevents: 2.3.3 2497 | 2498 | clsx@1.1.1: {} 2499 | 2500 | color-convert@1.9.3: 2501 | dependencies: 2502 | color-name: 1.1.3 2503 | 2504 | color-convert@2.0.1: 2505 | dependencies: 2506 | color-name: 1.1.4 2507 | 2508 | color-name@1.1.3: {} 2509 | 2510 | color-name@1.1.4: {} 2511 | 2512 | concat-map@0.0.1: {} 2513 | 2514 | convert-source-map@1.9.0: {} 2515 | 2516 | convert-source-map@2.0.0: {} 2517 | 2518 | cosmiconfig@7.1.0: 2519 | dependencies: 2520 | '@types/parse-json': 4.0.2 2521 | import-fresh: 3.3.0 2522 | parse-json: 5.2.0 2523 | path-type: 4.0.0 2524 | yaml: 1.10.2 2525 | 2526 | cross-spawn@7.0.3: 2527 | dependencies: 2528 | path-key: 3.1.1 2529 | shebang-command: 2.0.0 2530 | which: 2.0.2 2531 | 2532 | css-color-keywords@1.0.0: {} 2533 | 2534 | css-line-break@2.1.0: 2535 | dependencies: 2536 | utrie: 1.0.2 2537 | 2538 | css-to-react-native@3.2.0: 2539 | dependencies: 2540 | camelize: 1.0.1 2541 | css-color-keywords: 1.0.0 2542 | postcss-value-parser: 4.2.0 2543 | 2544 | cssesc@3.0.0: {} 2545 | 2546 | csstype@3.0.9: {} 2547 | 2548 | csstype@3.1.3: {} 2549 | 2550 | debug@4.3.4: 2551 | dependencies: 2552 | ms: 2.1.2 2553 | 2554 | deep-is@0.1.4: {} 2555 | 2556 | detect-node-es@1.1.0: {} 2557 | 2558 | dir-glob@3.0.1: 2559 | dependencies: 2560 | path-type: 4.0.0 2561 | 2562 | doctrine@3.0.0: 2563 | dependencies: 2564 | esutils: 2.0.3 2565 | 2566 | electron-to-chromium@1.4.768: {} 2567 | 2568 | error-ex@1.3.2: 2569 | dependencies: 2570 | is-arrayish: 0.2.1 2571 | 2572 | esbuild@0.20.2: 2573 | optionalDependencies: 2574 | '@esbuild/aix-ppc64': 0.20.2 2575 | '@esbuild/android-arm': 0.20.2 2576 | '@esbuild/android-arm64': 0.20.2 2577 | '@esbuild/android-x64': 0.20.2 2578 | '@esbuild/darwin-arm64': 0.20.2 2579 | '@esbuild/darwin-x64': 0.20.2 2580 | '@esbuild/freebsd-arm64': 0.20.2 2581 | '@esbuild/freebsd-x64': 0.20.2 2582 | '@esbuild/linux-arm': 0.20.2 2583 | '@esbuild/linux-arm64': 0.20.2 2584 | '@esbuild/linux-ia32': 0.20.2 2585 | '@esbuild/linux-loong64': 0.20.2 2586 | '@esbuild/linux-mips64el': 0.20.2 2587 | '@esbuild/linux-ppc64': 0.20.2 2588 | '@esbuild/linux-riscv64': 0.20.2 2589 | '@esbuild/linux-s390x': 0.20.2 2590 | '@esbuild/linux-x64': 0.20.2 2591 | '@esbuild/netbsd-x64': 0.20.2 2592 | '@esbuild/openbsd-x64': 0.20.2 2593 | '@esbuild/sunos-x64': 0.20.2 2594 | '@esbuild/win32-arm64': 0.20.2 2595 | '@esbuild/win32-ia32': 0.20.2 2596 | '@esbuild/win32-x64': 0.20.2 2597 | 2598 | escalade@3.1.2: {} 2599 | 2600 | escape-string-regexp@1.0.5: {} 2601 | 2602 | escape-string-regexp@4.0.0: {} 2603 | 2604 | eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): 2605 | dependencies: 2606 | eslint: 8.57.0 2607 | 2608 | eslint-plugin-react-refresh@0.4.7(eslint@8.57.0): 2609 | dependencies: 2610 | eslint: 8.57.0 2611 | 2612 | eslint-scope@7.2.2: 2613 | dependencies: 2614 | esrecurse: 4.3.0 2615 | estraverse: 5.3.0 2616 | 2617 | eslint-visitor-keys@3.4.3: {} 2618 | 2619 | eslint@8.57.0: 2620 | dependencies: 2621 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) 2622 | '@eslint-community/regexpp': 4.10.0 2623 | '@eslint/eslintrc': 2.1.4 2624 | '@eslint/js': 8.57.0 2625 | '@humanwhocodes/config-array': 0.11.14 2626 | '@humanwhocodes/module-importer': 1.0.1 2627 | '@nodelib/fs.walk': 1.2.8 2628 | '@ungap/structured-clone': 1.2.0 2629 | ajv: 6.12.6 2630 | chalk: 4.1.2 2631 | cross-spawn: 7.0.3 2632 | debug: 4.3.4 2633 | doctrine: 3.0.0 2634 | escape-string-regexp: 4.0.0 2635 | eslint-scope: 7.2.2 2636 | eslint-visitor-keys: 3.4.3 2637 | espree: 9.6.1 2638 | esquery: 1.5.0 2639 | esutils: 2.0.3 2640 | fast-deep-equal: 3.1.3 2641 | file-entry-cache: 6.0.1 2642 | find-up: 5.0.0 2643 | glob-parent: 6.0.2 2644 | globals: 13.24.0 2645 | graphemer: 1.4.0 2646 | ignore: 5.3.1 2647 | imurmurhash: 0.1.4 2648 | is-glob: 4.0.3 2649 | is-path-inside: 3.0.3 2650 | js-yaml: 4.1.0 2651 | json-stable-stringify-without-jsonify: 1.0.1 2652 | levn: 0.4.1 2653 | lodash.merge: 4.6.2 2654 | minimatch: 3.1.2 2655 | natural-compare: 1.4.0 2656 | optionator: 0.9.4 2657 | strip-ansi: 6.0.1 2658 | text-table: 0.2.0 2659 | transitivePeerDependencies: 2660 | - supports-color 2661 | 2662 | espree@9.6.1: 2663 | dependencies: 2664 | acorn: 8.11.3 2665 | acorn-jsx: 5.3.2(acorn@8.11.3) 2666 | eslint-visitor-keys: 3.4.3 2667 | 2668 | esquery@1.5.0: 2669 | dependencies: 2670 | estraverse: 5.3.0 2671 | 2672 | esrecurse@4.3.0: 2673 | dependencies: 2674 | estraverse: 5.3.0 2675 | 2676 | estraverse@5.3.0: {} 2677 | 2678 | esutils@2.0.3: {} 2679 | 2680 | fast-deep-equal@3.1.3: {} 2681 | 2682 | fast-glob@3.3.2: 2683 | dependencies: 2684 | '@nodelib/fs.stat': 2.0.5 2685 | '@nodelib/fs.walk': 1.2.8 2686 | glob-parent: 5.1.2 2687 | merge2: 1.4.1 2688 | micromatch: 4.0.5 2689 | 2690 | fast-json-stable-stringify@2.1.0: {} 2691 | 2692 | fast-levenshtein@2.0.6: {} 2693 | 2694 | fastq@1.17.1: 2695 | dependencies: 2696 | reusify: 1.0.4 2697 | 2698 | file-entry-cache@6.0.1: 2699 | dependencies: 2700 | flat-cache: 3.2.0 2701 | 2702 | fill-range@7.1.1: 2703 | dependencies: 2704 | to-regex-range: 5.0.1 2705 | 2706 | find-root@1.1.0: {} 2707 | 2708 | find-up@5.0.0: 2709 | dependencies: 2710 | locate-path: 6.0.0 2711 | path-exists: 4.0.0 2712 | 2713 | flat-cache@3.2.0: 2714 | dependencies: 2715 | flatted: 3.3.1 2716 | keyv: 4.5.4 2717 | rimraf: 3.0.2 2718 | 2719 | flatted@3.3.1: {} 2720 | 2721 | fs.realpath@1.0.0: {} 2722 | 2723 | fsevents@2.3.3: 2724 | optional: true 2725 | 2726 | function-bind@1.1.2: {} 2727 | 2728 | gensync@1.0.0-beta.2: {} 2729 | 2730 | get-nonce@1.0.1: {} 2731 | 2732 | glob-parent@5.1.2: 2733 | dependencies: 2734 | is-glob: 4.0.3 2735 | 2736 | glob-parent@6.0.2: 2737 | dependencies: 2738 | is-glob: 4.0.3 2739 | 2740 | glob@7.2.3: 2741 | dependencies: 2742 | fs.realpath: 1.0.0 2743 | inflight: 1.0.6 2744 | inherits: 2.0.4 2745 | minimatch: 3.1.2 2746 | once: 1.4.0 2747 | path-is-absolute: 1.0.1 2748 | 2749 | globals@11.12.0: {} 2750 | 2751 | globals@13.24.0: 2752 | dependencies: 2753 | type-fest: 0.20.2 2754 | 2755 | globby@11.1.0: 2756 | dependencies: 2757 | array-union: 2.1.0 2758 | dir-glob: 3.0.1 2759 | fast-glob: 3.3.2 2760 | ignore: 5.3.1 2761 | merge2: 1.4.1 2762 | slash: 3.0.0 2763 | 2764 | graphemer@1.4.0: {} 2765 | 2766 | has-flag@3.0.0: {} 2767 | 2768 | has-flag@4.0.0: {} 2769 | 2770 | hasown@2.0.2: 2771 | dependencies: 2772 | function-bind: 1.1.2 2773 | 2774 | hoist-non-react-statics@3.3.2: 2775 | dependencies: 2776 | react-is: 16.13.1 2777 | 2778 | html2canvas@1.4.1: 2779 | dependencies: 2780 | css-line-break: 2.1.0 2781 | text-segmentation: 1.0.3 2782 | 2783 | ignore@5.3.1: {} 2784 | 2785 | immutable@4.3.6: {} 2786 | 2787 | import-fresh@3.3.0: 2788 | dependencies: 2789 | parent-module: 1.0.1 2790 | resolve-from: 4.0.0 2791 | 2792 | imurmurhash@0.1.4: {} 2793 | 2794 | inflight@1.0.6: 2795 | dependencies: 2796 | once: 1.4.0 2797 | wrappy: 1.0.2 2798 | 2799 | inherits@2.0.4: {} 2800 | 2801 | invariant@2.2.4: 2802 | dependencies: 2803 | loose-envify: 1.4.0 2804 | 2805 | is-arrayish@0.2.1: {} 2806 | 2807 | is-binary-path@2.1.0: 2808 | dependencies: 2809 | binary-extensions: 2.3.0 2810 | 2811 | is-core-module@2.13.1: 2812 | dependencies: 2813 | hasown: 2.0.2 2814 | 2815 | is-extglob@2.1.1: {} 2816 | 2817 | is-glob@4.0.3: 2818 | dependencies: 2819 | is-extglob: 2.1.1 2820 | 2821 | is-number@7.0.0: {} 2822 | 2823 | is-path-inside@3.0.3: {} 2824 | 2825 | isexe@2.0.0: {} 2826 | 2827 | js-tokens@4.0.0: {} 2828 | 2829 | js-yaml@4.1.0: 2830 | dependencies: 2831 | argparse: 2.0.1 2832 | 2833 | jsesc@2.5.2: {} 2834 | 2835 | json-buffer@3.0.1: {} 2836 | 2837 | json-parse-even-better-errors@2.3.1: {} 2838 | 2839 | json-schema-traverse@0.4.1: {} 2840 | 2841 | json-stable-stringify-without-jsonify@1.0.1: {} 2842 | 2843 | json5@2.2.3: {} 2844 | 2845 | keyv@4.5.4: 2846 | dependencies: 2847 | json-buffer: 3.0.1 2848 | 2849 | klona@2.0.6: {} 2850 | 2851 | levn@0.4.1: 2852 | dependencies: 2853 | prelude-ls: 1.2.1 2854 | type-check: 0.4.0 2855 | 2856 | lines-and-columns@1.2.4: {} 2857 | 2858 | locate-path@6.0.0: 2859 | dependencies: 2860 | p-locate: 5.0.0 2861 | 2862 | lodash.merge@4.6.2: {} 2863 | 2864 | loose-envify@1.4.0: 2865 | dependencies: 2866 | js-tokens: 4.0.0 2867 | 2868 | lru-cache@5.1.1: 2869 | dependencies: 2870 | yallist: 3.1.1 2871 | 2872 | merge2@1.4.1: {} 2873 | 2874 | micromatch@4.0.5: 2875 | dependencies: 2876 | braces: 3.0.3 2877 | picomatch: 2.3.1 2878 | 2879 | minimatch@3.1.2: 2880 | dependencies: 2881 | brace-expansion: 1.1.11 2882 | 2883 | minimatch@9.0.3: 2884 | dependencies: 2885 | brace-expansion: 2.0.1 2886 | 2887 | ms@2.1.2: {} 2888 | 2889 | nanoid@3.3.7: {} 2890 | 2891 | natural-compare@1.4.0: {} 2892 | 2893 | node-releases@2.0.14: {} 2894 | 2895 | normalize-path@3.0.0: {} 2896 | 2897 | object-assign@4.1.1: {} 2898 | 2899 | once@1.4.0: 2900 | dependencies: 2901 | wrappy: 1.0.2 2902 | 2903 | optionator@0.9.4: 2904 | dependencies: 2905 | deep-is: 0.1.4 2906 | fast-levenshtein: 2.0.6 2907 | levn: 0.4.1 2908 | prelude-ls: 1.2.1 2909 | type-check: 0.4.0 2910 | word-wrap: 1.2.5 2911 | 2912 | p-limit@3.1.0: 2913 | dependencies: 2914 | yocto-queue: 0.1.0 2915 | 2916 | p-locate@5.0.0: 2917 | dependencies: 2918 | p-limit: 3.1.0 2919 | 2920 | parent-module@1.0.1: 2921 | dependencies: 2922 | callsites: 3.1.0 2923 | 2924 | parse-json@5.2.0: 2925 | dependencies: 2926 | '@babel/code-frame': 7.24.2 2927 | error-ex: 1.3.2 2928 | json-parse-even-better-errors: 2.3.1 2929 | lines-and-columns: 1.2.4 2930 | 2931 | path-exists@4.0.0: {} 2932 | 2933 | path-is-absolute@1.0.1: {} 2934 | 2935 | path-key@3.1.1: {} 2936 | 2937 | path-parse@1.0.7: {} 2938 | 2939 | path-type@4.0.0: {} 2940 | 2941 | picocolors@1.0.1: {} 2942 | 2943 | picomatch@2.3.1: {} 2944 | 2945 | postcss-js@4.0.1(postcss@8.4.38): 2946 | dependencies: 2947 | camelcase-css: 2.0.1 2948 | postcss: 8.4.38 2949 | 2950 | postcss-mixins@9.0.4(postcss@8.4.38): 2951 | dependencies: 2952 | fast-glob: 3.3.2 2953 | postcss: 8.4.38 2954 | postcss-js: 4.0.1(postcss@8.4.38) 2955 | postcss-simple-vars: 7.0.1(postcss@8.4.38) 2956 | sugarss: 4.0.1(postcss@8.4.38) 2957 | 2958 | postcss-nested@6.0.1(postcss@8.4.38): 2959 | dependencies: 2960 | postcss: 8.4.38 2961 | postcss-selector-parser: 6.0.16 2962 | 2963 | postcss-preset-mantine@1.15.0(postcss@8.4.38): 2964 | dependencies: 2965 | postcss: 8.4.38 2966 | postcss-mixins: 9.0.4(postcss@8.4.38) 2967 | postcss-nested: 6.0.1(postcss@8.4.38) 2968 | 2969 | postcss-selector-parser@6.0.16: 2970 | dependencies: 2971 | cssesc: 3.0.0 2972 | util-deprecate: 1.0.2 2973 | 2974 | postcss-simple-vars@7.0.1(postcss@8.4.38): 2975 | dependencies: 2976 | postcss: 8.4.38 2977 | 2978 | postcss-value-parser@4.2.0: {} 2979 | 2980 | postcss@8.4.38: 2981 | dependencies: 2982 | nanoid: 3.3.7 2983 | picocolors: 1.0.1 2984 | source-map-js: 1.2.0 2985 | 2986 | prelude-ls@1.2.1: {} 2987 | 2988 | prop-types@15.8.1: 2989 | dependencies: 2990 | loose-envify: 1.4.0 2991 | object-assign: 4.1.1 2992 | react-is: 16.13.1 2993 | 2994 | punycode@2.3.1: {} 2995 | 2996 | queue-microtask@1.2.3: {} 2997 | 2998 | react-dom@18.3.1(react@18.3.1): 2999 | dependencies: 3000 | loose-envify: 1.4.0 3001 | react: 18.3.1 3002 | scheduler: 0.23.2 3003 | 3004 | react-icons@5.2.1(react@18.3.1): 3005 | dependencies: 3006 | react: 18.3.1 3007 | 3008 | react-is@16.13.1: {} 3009 | 3010 | react-refresh@0.14.2: {} 3011 | 3012 | react-remove-scroll-bar@2.3.6(@types/react@18.3.2)(react@18.3.1): 3013 | dependencies: 3014 | react: 18.3.1 3015 | react-style-singleton: 2.2.1(@types/react@18.3.2)(react@18.3.1) 3016 | tslib: 2.6.2 3017 | optionalDependencies: 3018 | '@types/react': 18.3.2 3019 | 3020 | react-remove-scroll@2.5.10(@types/react@18.3.2)(react@18.3.1): 3021 | dependencies: 3022 | react: 18.3.1 3023 | react-remove-scroll-bar: 2.3.6(@types/react@18.3.2)(react@18.3.1) 3024 | react-style-singleton: 2.2.1(@types/react@18.3.2)(react@18.3.1) 3025 | tslib: 2.6.2 3026 | use-callback-ref: 1.3.2(@types/react@18.3.2)(react@18.3.1) 3027 | use-sidecar: 1.1.2(@types/react@18.3.2)(react@18.3.1) 3028 | optionalDependencies: 3029 | '@types/react': 18.3.2 3030 | 3031 | react-style-singleton@2.2.1(@types/react@18.3.2)(react@18.3.1): 3032 | dependencies: 3033 | get-nonce: 1.0.1 3034 | invariant: 2.2.4 3035 | react: 18.3.1 3036 | tslib: 2.6.2 3037 | optionalDependencies: 3038 | '@types/react': 18.3.2 3039 | 3040 | react-textarea-autosize@8.3.4(@types/react@18.3.2)(react@18.3.1): 3041 | dependencies: 3042 | '@babel/runtime': 7.24.5 3043 | react: 18.3.1 3044 | use-composed-ref: 1.3.0(react@18.3.1) 3045 | use-latest: 1.2.1(@types/react@18.3.2)(react@18.3.1) 3046 | transitivePeerDependencies: 3047 | - '@types/react' 3048 | 3049 | react@18.3.1: 3050 | dependencies: 3051 | loose-envify: 1.4.0 3052 | 3053 | readdirp@3.6.0: 3054 | dependencies: 3055 | picomatch: 2.3.1 3056 | 3057 | regenerator-runtime@0.14.1: {} 3058 | 3059 | resolve-from@4.0.0: {} 3060 | 3061 | resolve@1.22.8: 3062 | dependencies: 3063 | is-core-module: 2.13.1 3064 | path-parse: 1.0.7 3065 | supports-preserve-symlinks-flag: 1.0.0 3066 | 3067 | reusify@1.0.4: {} 3068 | 3069 | rimraf@3.0.2: 3070 | dependencies: 3071 | glob: 7.2.3 3072 | 3073 | rollup@4.17.2: 3074 | dependencies: 3075 | '@types/estree': 1.0.5 3076 | optionalDependencies: 3077 | '@rollup/rollup-android-arm-eabi': 4.17.2 3078 | '@rollup/rollup-android-arm64': 4.17.2 3079 | '@rollup/rollup-darwin-arm64': 4.17.2 3080 | '@rollup/rollup-darwin-x64': 4.17.2 3081 | '@rollup/rollup-linux-arm-gnueabihf': 4.17.2 3082 | '@rollup/rollup-linux-arm-musleabihf': 4.17.2 3083 | '@rollup/rollup-linux-arm64-gnu': 4.17.2 3084 | '@rollup/rollup-linux-arm64-musl': 4.17.2 3085 | '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2 3086 | '@rollup/rollup-linux-riscv64-gnu': 4.17.2 3087 | '@rollup/rollup-linux-s390x-gnu': 4.17.2 3088 | '@rollup/rollup-linux-x64-gnu': 4.17.2 3089 | '@rollup/rollup-linux-x64-musl': 4.17.2 3090 | '@rollup/rollup-win32-arm64-msvc': 4.17.2 3091 | '@rollup/rollup-win32-ia32-msvc': 4.17.2 3092 | '@rollup/rollup-win32-x64-msvc': 4.17.2 3093 | fsevents: 2.3.3 3094 | 3095 | run-parallel@1.2.0: 3096 | dependencies: 3097 | queue-microtask: 1.2.3 3098 | 3099 | sass@1.77.1: 3100 | dependencies: 3101 | chokidar: 3.6.0 3102 | immutable: 4.3.6 3103 | source-map-js: 1.2.0 3104 | 3105 | scheduler@0.23.2: 3106 | dependencies: 3107 | loose-envify: 1.4.0 3108 | 3109 | semver@6.3.1: {} 3110 | 3111 | semver@7.6.2: {} 3112 | 3113 | shallowequal@1.1.0: {} 3114 | 3115 | shebang-command@2.0.0: 3116 | dependencies: 3117 | shebang-regex: 3.0.0 3118 | 3119 | shebang-regex@3.0.0: {} 3120 | 3121 | slash@3.0.0: {} 3122 | 3123 | source-map-js@1.2.0: {} 3124 | 3125 | source-map@0.5.7: {} 3126 | 3127 | strip-ansi@6.0.1: 3128 | dependencies: 3129 | ansi-regex: 5.0.1 3130 | 3131 | strip-json-comments@3.1.1: {} 3132 | 3133 | styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1): 3134 | dependencies: 3135 | '@emotion/is-prop-valid': 1.2.2 3136 | '@emotion/unitless': 0.8.1 3137 | '@types/stylis': 4.2.5 3138 | css-to-react-native: 3.2.0 3139 | csstype: 3.1.3 3140 | postcss: 8.4.38 3141 | react: 18.3.1 3142 | react-dom: 18.3.1(react@18.3.1) 3143 | shallowequal: 1.1.0 3144 | stylis: 4.3.2 3145 | tslib: 2.6.2 3146 | 3147 | stylis@4.2.0: {} 3148 | 3149 | stylis@4.3.2: {} 3150 | 3151 | sugarss@4.0.1(postcss@8.4.38): 3152 | dependencies: 3153 | postcss: 8.4.38 3154 | 3155 | supports-color@5.5.0: 3156 | dependencies: 3157 | has-flag: 3.0.0 3158 | 3159 | supports-color@7.2.0: 3160 | dependencies: 3161 | has-flag: 4.0.0 3162 | 3163 | supports-preserve-symlinks-flag@1.0.0: {} 3164 | 3165 | tabbable@6.2.0: {} 3166 | 3167 | text-segmentation@1.0.3: 3168 | dependencies: 3169 | utrie: 1.0.2 3170 | 3171 | text-table@0.2.0: {} 3172 | 3173 | to-fast-properties@2.0.0: {} 3174 | 3175 | to-regex-range@5.0.1: 3176 | dependencies: 3177 | is-number: 7.0.0 3178 | 3179 | ts-api-utils@1.3.0(typescript@5.4.5): 3180 | dependencies: 3181 | typescript: 5.4.5 3182 | 3183 | tslib@2.6.2: {} 3184 | 3185 | type-check@0.4.0: 3186 | dependencies: 3187 | prelude-ls: 1.2.1 3188 | 3189 | type-fest@0.20.2: {} 3190 | 3191 | typescript@5.4.5: {} 3192 | 3193 | undici-types@5.26.5: {} 3194 | 3195 | update-browserslist-db@1.0.16(browserslist@4.23.0): 3196 | dependencies: 3197 | browserslist: 4.23.0 3198 | escalade: 3.1.2 3199 | picocolors: 1.0.1 3200 | 3201 | uri-js@4.4.1: 3202 | dependencies: 3203 | punycode: 2.3.1 3204 | 3205 | use-callback-ref@1.3.2(@types/react@18.3.2)(react@18.3.1): 3206 | dependencies: 3207 | react: 18.3.1 3208 | tslib: 2.6.2 3209 | optionalDependencies: 3210 | '@types/react': 18.3.2 3211 | 3212 | use-composed-ref@1.3.0(react@18.3.1): 3213 | dependencies: 3214 | react: 18.3.1 3215 | 3216 | use-isomorphic-layout-effect@1.1.2(@types/react@18.3.2)(react@18.3.1): 3217 | dependencies: 3218 | react: 18.3.1 3219 | optionalDependencies: 3220 | '@types/react': 18.3.2 3221 | 3222 | use-latest@1.2.1(@types/react@18.3.2)(react@18.3.1): 3223 | dependencies: 3224 | react: 18.3.1 3225 | use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.2)(react@18.3.1) 3226 | optionalDependencies: 3227 | '@types/react': 18.3.2 3228 | 3229 | use-sidecar@1.1.2(@types/react@18.3.2)(react@18.3.1): 3230 | dependencies: 3231 | detect-node-es: 1.1.0 3232 | react: 18.3.1 3233 | tslib: 2.6.2 3234 | optionalDependencies: 3235 | '@types/react': 18.3.2 3236 | 3237 | util-deprecate@1.0.2: {} 3238 | 3239 | utrie@1.0.2: 3240 | dependencies: 3241 | base64-arraybuffer: 1.0.2 3242 | 3243 | vite@5.2.11(@types/node@20.12.12)(sass@1.77.1)(sugarss@4.0.1(postcss@8.4.38)): 3244 | dependencies: 3245 | esbuild: 0.20.2 3246 | postcss: 8.4.38 3247 | rollup: 4.17.2 3248 | optionalDependencies: 3249 | '@types/node': 20.12.12 3250 | fsevents: 2.3.3 3251 | sass: 1.77.1 3252 | sugarss: 4.0.1(postcss@8.4.38) 3253 | 3254 | which@2.0.2: 3255 | dependencies: 3256 | isexe: 2.0.0 3257 | 3258 | word-wrap@1.2.5: {} 3259 | 3260 | wrappy@1.0.2: {} 3261 | 3262 | yallist@3.1.1: {} 3263 | 3264 | yaml@1.10.2: {} 3265 | 3266 | yocto-queue@0.1.0: {} 3267 | -------------------------------------------------------------------------------- /web/src/assets/fonts/digital-7.ttf: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ec3ac662132b9a60e3b09b8a971a131a55aeee1447146aa38ea7b32d777bc3c8 3 | size 34360 4 | -------------------------------------------------------------------------------- /web/src/components/HUDSettings.tsx: -------------------------------------------------------------------------------- 1 | import React, { useState, useEffect } from 'react'; 2 | import { Drawer, Group, ColorInput, Select, Accordion, Avatar, Button, Title, Tabs, Text, Slider } from '@mantine/core'; 3 | import { FaMicrophoneSlash, FaMicrophone, FaWalkieTalkie, FaHeart, FaShield, FaGasPump } from "react-icons/fa6"; 4 | import { TbLungsFilled } from 'react-icons/tb'; 5 | import { MdLocalDrink, MdRestaurant } from "react-icons/md"; 6 | import { PiEngineFill } from "react-icons/pi"; 7 | import { IoSettingsOutline } from "react-icons/io5"; 8 | import { fetchNui } from "../utils/fetchNui"; 9 | import { useNuiEvent } from "../hooks/useNuiEvent"; 10 | 11 | interface HUDSettingsProps { 12 | opened: boolean; 13 | onClose: () => void; 14 | colors: any; 15 | setColors: (colors: any) => void; 16 | position: string; 17 | setPosition: (position: string) => void; 18 | hudType: string; 19 | setHudType: (hudType: string) => void; 20 | vehicleType: string; 21 | setVehicleType: (vehicleType: string) => void; 22 | } 23 | 24 | const defaultColors = { 25 | voiceInactive: '#6c757d', 26 | voiceActive: '#ffd43b', 27 | voiceRadio: '#1c7ed6', 28 | health: '#51cf66', 29 | armor: '#74c0fc', 30 | oxygen: '#339af0', 31 | hunger: '#fcc419', 32 | thirst: '#22b8cf', 33 | stress: '#ff6b6b', 34 | engine: '#6c757d', 35 | fuel: '#6c757d', 36 | }; 37 | 38 | const HUDSettings: React.FC = ({ opened, onClose, colors, setColors, position, setPosition, hudType, setHudType, vehicleType, setVehicleType }) => { 39 | const [cinematicEnabled, setCinematicEnabled] = useState('disabled'); 40 | 41 | useEffect(() => { 42 | fetchNui('getCinematicBarsState') 43 | }, []); 44 | 45 | const resetColors = () => { 46 | setColors(defaultColors); 47 | handleColorChange(defaultColors); 48 | }; 49 | 50 | const handleColorChange = (updatedColors: any) => { 51 | setColors(updatedColors); 52 | fetchNui('updateColors', { colors: updatedColors }) 53 | }; 54 | 55 | const handleHudTypeChange = (value: string) => { 56 | setHudType(value || 'circle'); 57 | fetchNui('updateHudType', { hudType: value || 'circle' }) 58 | }; 59 | 60 | const handlePositionChange = (value: string) => { 61 | setPosition(value || 'left'); 62 | fetchNui('updateHudPosition', { hudPosition: value || 'left' }) 63 | }; 64 | 65 | const handleClose = () => { 66 | fetchNui('hideHudMenu') 67 | .then(() => { 68 | onClose(); 69 | }) 70 | .catch((error) => { 71 | console.error('Failed to hide HUD menu:', error); 72 | onClose(); 73 | }); 74 | }; 75 | 76 | const handleCinematicToggle = (isEnabled: boolean) => { 77 | setCinematicEnabled(isEnabled ? 'enabled' : 'disabled'); 78 | fetchNui('toggleCinematicBars', { enabled: isEnabled }) 79 | }; 80 | 81 | return ( 82 | 83 | 84 | 85 | 86 | 87 | HUD Settings 88 | 89 | 90 | 91 | 92 | Player 93 | Vehicle 94 | Voice 95 | 96 | 97 | 98 | 99 | 122 |