diff --git a/resources/[phone]/roadphone/.fxap b/resources/[phone]/roadphone/.fxap
new file mode 100644
index 000000000..1bdb9f2f9
Binary files /dev/null and b/resources/[phone]/roadphone/.fxap differ
diff --git a/resources/[phone]/roadphone/API.lua b/resources/[phone]/roadphone/API.lua
new file mode 100644
index 000000000..c9cc8c894
--- /dev/null
+++ b/resources/[phone]/roadphone/API.lua
@@ -0,0 +1,25 @@
+Cfg = {}
+
+--REQUIRED
+
+Cfg.uploadMethodKey = 'BpyLtdfJXjnzqW3v7MdInuZVCHrpRQkq' --API Key for the upload method (https://www.fivemanage.com/ or https://fivemerr.com/)
+
+
+--OPTIONAL
+Cfg.CryptoWebhook = 'DISCORD WEBHOOK' --Webhook for crypto app
+Cfg.MessageWebhook = 'DISCORD WEBHOOK' --Webhook for messages app
+Cfg.ValetWebhook = 'DISCORD WEBHOOK' --Webhook for valet app
+Cfg.TweetWaveWebhook = 'DISCORD WEBHOOK' --Webhook for tweetwave app
+Cfg.MailWebhook = 'DISCORD WEBHOOK' --Webhook for mail app
+Cfg.BankWebhook = 'DISCORD WEBHOOK' --Webhook for bank app
+Cfg.AdvertisingWebhook = 'DISCORD WEBHOOK' --Webhook for advertising app
+Cfg.ConnectWebhook = 'DISCORD WEBHOOK' --Webhook for connect app
+Cfg.ServiceWebhook = 'DISCORD WEBHOOK' --Webhook for service app
+Cfg.DarkchatWebhook = 'DISCORD WEBHOOK' --Webhook for darkchat app
+Cfg.CallWebhook = 'DISCORD_WEBHOOK' --Webhook for calls
+Cfg.TweetWaveCommentsWebhook = 'DISCORD_WEBHOOK' --Webhook for tweetwave comments
+Cfg.ConnectCommentsWebhook = 'DISCORD_WEBHOOK' --Webhook for connect comments
+
+Cfg.YellowPageFee = 0 --Yellow page fee
+Cfg.BankPayTax = 0.05 --Bank pay tax 0.05 = 5%
+Cfg.MinimumBankTransfer = 10000 --Minimum bank transfer to send a webhook
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/addons/jobcalls/client/client.lua b/resources/[phone]/roadphone/addons/jobcalls/client/client.lua
new file mode 100644
index 000000000..98464b53d
Binary files /dev/null and b/resources/[phone]/roadphone/addons/jobcalls/client/client.lua differ
diff --git a/resources/[phone]/roadphone/addons/jobcalls/config.lua b/resources/[phone]/roadphone/addons/jobcalls/config.lua
new file mode 100644
index 000000000..4c5a0db77
--- /dev/null
+++ b/resources/[phone]/roadphone/addons/jobcalls/config.lua
@@ -0,0 +1,239 @@
+JobCalls = {}
+
+JobCalls.Positions = {
+ {
+ name = "Police",
+ coords = vector3(1825.22, 3670.96, 34.4), --- SD
+ vector3(1825.2719, 3670.9895, 34.4050),
+ number = 911,
+ needjob = "police",
+ useMarker = true,
+ marker = {
+ drawDistance = 10.0,
+ type = 25,
+ size = {x = 1.0, y = 1.0, z = 1.0},
+ color = {r = 50, g = 50, b = 204}
+ },
+ blip = {
+ active = false,
+ name = "Police Control center",
+ sprite = 60,
+ color = 38,
+ scale = 0.8,
+ display = 4
+ }
+ },
+ {
+ name = "Marshals",
+ coords = vector3(-451.4551, 6009.3691, 31.9537),
+ number = 916,
+ needjob = "marshal",
+ useMarker = true,
+ marker = {
+ drawDistance = 10.0,
+ type = 25,
+ size = {x = 1.0, y = 1.0, z = 1.0},
+ color = {r = 50, g = 50, b = 204}
+ },
+ blip = {
+ active = false,
+ name = "Police Control center",
+ sprite = 60,
+ color = 38,
+ scale = 0.8,
+ display = 4
+ }
+ },
+ {
+ name = "Ambulance",
+ coords = vector3(-1850.4585, -335.7708, 49.4513),
+ number = 912,
+ needjob = "ambulance",
+ useMarker =true,
+ marker = {
+ drawDistance = 10.0,
+ type = 25,
+ size = {x = 1.0, y = 1.0, z = 1.0},
+ color = {r = 50, g = 50, b = 204}
+ },
+ blip = {
+ active = false,
+ name = "Ambulance Control center",
+ sprite = 61,
+ color = 1,
+ scale = 0.8,
+ display = 4
+ }
+ },
+ {
+ name = "PHP",
+ coords = vector3(-922.4119, -2034.5383, 9.5075),
+ number = 5556969,
+ needjob = "mechanic",
+ useMarker = true,
+ marker = {
+ drawDistance = 10.0,
+ type = 25,
+ size = {x = 1.0, y = 1.0, z = 1.0},
+ color = {r = 50, g = 50, b = 204}
+ },
+ blip = {
+ active = false,
+ name = "Petrol Head Control Center",
+ sprite = 60,
+ color = 38,
+ scale = 0.8,
+ display = 4
+ }
+ },
+ {
+ name = "Taxi",
+ coords = vector3(-1249.6287, -285.1877, 37.7370),
+ number = 555,
+ needjob = "cab",
+ useMarker = true,
+ marker = {
+ drawDistance = 10.0,
+ type = 25,
+ size = {x = 1.0, y = 1.0, z = 1.0},
+ color = {r = 50, g = 50, b = 204}
+ },
+ blip = {
+ active = false,
+ name = "Taxi Control Center",
+ sprite = 60,
+ color = 38,
+ scale = 0.8,
+ display = 4
+ }
+ },
+ {
+ name = "Kayas",
+ coords = vector3(1532.6082, 3781.7351, 34.5125),
+ number = 5553022,
+ needjob = "kayas",
+ useMarker = true,
+ marker = {
+ drawDistance = 10.0,
+ type = 25,
+ size = {x = 1.0, y = 1.0, z = 1.0},
+ color = {r = 50, g = 50, b = 204}
+ },
+ blip = {
+ active = false,
+ name = "Kayas Control Center",
+ sprite = 60,
+ color = 38,
+ scale = 0.8,
+ display = 4
+ }
+ },
+ {
+ name = "Santoro",
+ coords = vector3(162.3750, 268.6166, 109.9737),
+ number = 69,
+ needjob = "sud",
+ useMarker = true,
+ marker = {
+ drawDistance = 10.0,
+ type = 25,
+ size = {x = 1.0, y = 1.0, z = 1.0},
+ color = {r = 50, g = 50, b = 204}
+ },
+ blip = {
+ active = false,
+ name = "Santoro Control Center",
+ sprite = 60,
+ color = 38,
+ scale = 0.8,
+ display = 4
+ }
+ },
+ {
+ name = "Cute",
+ coords = vector3(-293.9437, -76.8990, 49.5045),
+ number = 5557185,
+ needjob = "cute",
+ useMarker = true,
+ marker = {
+ drawDistance = 10.0,
+ type = 25,
+ size = {x = 1.0, y = 1.0, z = 1.0},
+ color = {r = 50, g = 50, b = 204}
+ },
+ blip = {
+ active = false,
+ name = "Coffee Cute Control Center",
+ sprite = 60,
+ color = 38,
+ scale = 0.8,
+ display = 4
+ }
+ },
+ {
+ name = "pdm",
+ coords = vector3(-18.68, -1107.21, 28.0),
+ number = 5558167,
+ needjob = "pdm",
+ useMarker = true,
+ marker = {
+ drawDistance = 10.0,
+ type = 25,
+ size = {x = 1.0, y = 1.0, z = 1.0},
+ color = {r = 50, g = 50, b = 204}
+ },
+ blip = {
+ active = false,
+ name = "PDM Control Center",
+ sprite = 60,
+ color = 38,
+ scale = 0.8,
+ display = 4
+ }
+ },
+
+ {
+ name = "ammunation",
+ coords = vector3(8.22, -1110.27, 29.11),
+ number = 5558168,
+ needjob = "ammu",
+ useMarker = true,
+ marker = {
+ drawDistance = 10.0,
+ type = 25,
+ size = {x = 1.0, y = 1.0, z = 1.0},
+ color = {r = 50, g = 50, b = 204}
+ },
+ blip = {
+ active = false,
+ name = "Ammunation Control Center",
+ sprite = 60,
+ color = 38,
+ scale = 0.8,
+ display = 4
+ }
+ },
+ {
+ name = "spautohaus",
+ coords = vector3(1922.62, 3724.2, 32.57),
+ number = 5553006,
+ needjob = "spah",
+ useMarker = true,
+ marker = {
+ drawDistance = 10.0,
+ type = 25,
+ size = {x = 1.0, y = 1.0, z = 1.0},
+ color = {r = 50, g = 50, b = 204}
+ },
+ blip = {
+ active = false,
+ name = "SP Autohaus Control Center",
+ sprite = 60,
+ color = 38,
+ scale = 0.8,
+ display = 4
+ }
+ },
+
+
+}
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/addons/jobcalls/server/server.lua b/resources/[phone]/roadphone/addons/jobcalls/server/server.lua
new file mode 100644
index 000000000..a6ebc0796
Binary files /dev/null and b/resources/[phone]/roadphone/addons/jobcalls/server/server.lua differ
diff --git a/resources/[phone]/roadphone/addons/roadpods/client/client.lua b/resources/[phone]/roadphone/addons/roadpods/client/client.lua
new file mode 100644
index 000000000..95373bf1d
Binary files /dev/null and b/resources/[phone]/roadphone/addons/roadpods/client/client.lua differ
diff --git a/resources/[phone]/roadphone/addons/roadpods/config.lua b/resources/[phone]/roadphone/addons/roadpods/config.lua
new file mode 100644
index 000000000..af590fa8f
--- /dev/null
+++ b/resources/[phone]/roadphone/addons/roadpods/config.lua
@@ -0,0 +1,10 @@
+RoadPods = {}
+
+RoadPods.Items = {
+ "roadpods",
+}
+
+RoadPods.NeedItem = true
+
+RoadPods.ForceRoadPods = false --If you set this to true, you can not use the Music App without RoadPods.
+RoadPods.ForceRoadPodsLink = false --If you set this to true, you can not use the Music Link Feature without RoadPods.
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/addons/roadpods/server/server.lua b/resources/[phone]/roadphone/addons/roadpods/server/server.lua
new file mode 100644
index 000000000..4b4355a15
Binary files /dev/null and b/resources/[phone]/roadphone/addons/roadpods/server/server.lua differ
diff --git a/resources/[phone]/roadphone/client/advertising.lua b/resources/[phone]/roadphone/client/advertising.lua
new file mode 100644
index 000000000..53528b0d1
Binary files /dev/null and b/resources/[phone]/roadphone/client/advertising.lua differ
diff --git a/resources/[phone]/roadphone/client/animation.lua b/resources/[phone]/roadphone/client/animation.lua
new file mode 100644
index 000000000..e3a34f8ed
--- /dev/null
+++ b/resources/[phone]/roadphone/client/animation.lua
@@ -0,0 +1,164 @@
+local phoneProp = 0
+local propCreated = false
+local currentStatus = 'out'
+local lastDict = nil
+local lastAnim = nil
+local lastProp = nil
+
+local ANIMS = {
+ ['cellphone@'] = {
+ ['out'] = {
+ ['text'] = 'cellphone_call_to_text',
+ ['call'] = 'cellphone_call_listen_base'
+ },
+ ['text'] = {
+ ['out'] = 'cellphone_text_out',
+ ['text'] = 'cellphone_text_in',
+ ['call'] = 'cellphone_text_to_call'
+ },
+ ['call'] = {
+ ['out'] = 'cellphone_call_out',
+ ['text'] = 'cellphone_call_to_text',
+ ['call'] = 'cellphone_text_to_call'
+ }
+ },
+ ['anim@cellphone@in_car@ps'] = {
+ ['out'] = {
+ ['text'] = 'cellphone_text_in',
+ ['call'] = 'cellphone_call_in'
+ },
+ ['text'] = {
+ ['out'] = 'cellphone_text_out',
+ ['text'] = 'cellphone_text_in',
+ ['call'] = 'cellphone_text_to_call'
+ },
+ ['call'] = {
+ ['out'] = 'cellphone_horizontal_exit',
+ ['text'] = 'cellphone_call_to_text',
+ ['call'] = 'cellphone_text_to_call'
+ }
+ }
+}
+
+function newPhoneProp(prop)
+
+ local phoneModel = selectPhoneProp(prop)
+
+ deletePhone()
+
+ if not propCreated then
+ RequestModel(phoneModel)
+ while not HasModelLoaded(phoneModel) do
+ Wait(1)
+ end
+
+ local playerPed = PlayerPedId()
+ phoneProp = CreateObject(phoneModel, 1.0, 1.0, 1.0, 1, 1, 0)
+
+ local bone = GetPedBoneIndex(playerPed, 28422)
+ AttachEntityToEntity(phoneProp, playerPed, bone, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1, 1, 0, 0, 2, 1)
+ propCreated = true
+ end
+end
+
+function deletePhone()
+ if phoneProp ~= 0 then
+ DeleteEntity(phoneProp)
+ phoneProp = 0
+ propCreated = false
+ end
+end
+
+--[[
+ out || text || Call ||
+--]]
+function PhonePlayAnim(status, freeze, force, prop)
+ if currentStatus == status and force ~= true then
+ return
+ end
+
+ local myPedId = PlayerPedId()
+
+ GiveWeaponToPed(myPedId, 0xA2719263, 0, 0, 1)
+
+ local freeze = freeze or false
+
+ local dict = "cellphone@"
+ if IsPedInAnyVehicle(myPedId, false) then
+ dict = "anim@cellphone@in_car@ps"
+ end
+ loadAnimDict(dict)
+
+ local anim = ANIMS[dict][currentStatus][status]
+ if currentStatus ~= 'out' then
+ StopAnimTask(myPedId, lastDict, lastAnim, 1.0)
+ end
+ local flag = 50
+ if freeze == true then
+ flag = 14
+ end
+ TaskPlayAnim(myPedId, dict, anim, 3.0, -1, -1, flag, 0, false, false, false)
+
+ if status ~= 'out' and currentStatus == 'out' then
+ Wait(380)
+ newPhoneProp(prop)
+ end
+
+ lastDict = dict
+ lastAnim = anim
+ currentStatus = status
+
+ if status == 'out' then
+ Wait(180)
+ deletePhone()
+ StopAnimTask(myPedId, lastDict, lastAnim, 1.0)
+ end
+end
+
+function PhonePlayOut()
+ PhonePlayAnim('out')
+end
+
+function PhonePlayText(prop)
+ PhonePlayAnim('text', false, false, prop)
+end
+
+function PhonePlayCall(freeze)
+ PhonePlayAnim('call', freeze, false, "phone")
+end
+
+function PhonePlayIn(prop)
+ if currentStatus == 'out' then
+ PhonePlayText(prop)
+ end
+end
+
+function loadAnimDict(dict)
+ RequestAnimDict(dict)
+ while not HasAnimDictLoaded(dict) do
+ Wait(1)
+ end
+end
+
+function getAnimationStatus()
+ return currentStatus
+end
+
+function selectPhoneProp(propname)
+ local phoneModel = "prop_phone_ing_03"
+
+ if Config.UsePhoneProps then
+ local phoneModels = {
+ ["phone"] = "phonesilver",
+ ["purple_phone"] = "phonepurple",
+ ["green_phone"] = "phonegreen",
+ ["blue_phone"] = "phonelightblue",
+ ["red_phone"] = "phonered",
+ ['black_phone'] = "phoneblack"
+ }
+
+ phoneModel = phoneModels[propname] or phoneModels[lastProp] or phoneModel
+ end
+
+ return phoneModel
+end
diff --git a/resources/[phone]/roadphone/client/anonymtell.lua b/resources/[phone]/roadphone/client/anonymtell.lua
new file mode 100644
index 000000000..4ee9328b4
Binary files /dev/null and b/resources/[phone]/roadphone/client/anonymtell.lua differ
diff --git a/resources/[phone]/roadphone/client/billing.lua b/resources/[phone]/roadphone/client/billing.lua
new file mode 100644
index 000000000..87d9cfe69
Binary files /dev/null and b/resources/[phone]/roadphone/client/billing.lua differ
diff --git a/resources/[phone]/roadphone/client/camera.lua b/resources/[phone]/roadphone/client/camera.lua
new file mode 100644
index 000000000..e73fc27e3
Binary files /dev/null and b/resources/[phone]/roadphone/client/camera.lua differ
diff --git a/resources/[phone]/roadphone/client/client.lua b/resources/[phone]/roadphone/client/client.lua
new file mode 100644
index 000000000..b2de154e6
Binary files /dev/null and b/resources/[phone]/roadphone/client/client.lua differ
diff --git a/resources/[phone]/roadphone/client/clientAPI.lua b/resources/[phone]/roadphone/client/clientAPI.lua
new file mode 100644
index 000000000..80232c79a
--- /dev/null
+++ b/resources/[phone]/roadphone/client/clientAPI.lua
@@ -0,0 +1,368 @@
+if Config.RegisterKeyMapping then
+ RegisterKeyMapping('TogglePhone', Lang:t('info.openphone'), 'keyboard', Config.OpenKey)
+else
+ CreateThread(function()
+ while true do
+ if IsControlJustReleased(0, Config.OpenKeyNumber) then
+ openPhone()
+ end
+ Wait(0)
+ end
+ end)
+end
+
+local isInFocus = false
+local isBlocked = false
+
+function sendNotification(text)
+
+ TriggerEvent('QBCore:Notify', text) --You can edit this event to any Notification System you want
+
+end
+
+function blockPhone()
+
+ if isBlocked then
+ return true
+ end
+
+ return false --return true if you want to block that anyone can open the phone
+
+end
+
+function GiveCarKeys(plate, model)
+
+ TriggerEvent("qb-vehiclekeys:client:AddKeys", plate)
+
+end
+CreateThread(function()
+ while true do
+ if getHandyActive() then
+ if not getFlashLight() then
+ DisableControlAction(0, 1, true)
+ DisableControlAction(0, 2, true)
+ end
+ DisableControlAction(0, 304, true)
+ DisableControlAction(0, 101, true)
+ DisableControlAction(0, 74, true)
+ DisableControlAction(0, 303, true)
+ DisableControlAction(0, 311, true)
+ DisableControlAction(0, 24, true)
+ DisableControlAction(0, 25, true)
+ DisableControlAction(0, 29, true)
+ DisableControlAction(0, 322, true)
+ DisableControlAction(0, 200, true)
+ DisableControlAction(0, 202, true)
+ DisableControlAction(0, 177, true)
+ DisableControlAction(0, 37, true)
+ DisableControlAction(0, 245, true)
+ DisableControlAction(0, 263, true)
+ DisableControlAction(0, 45, true)
+ DisableControlAction(0, 80, true)
+ DisableControlAction(0, 140, true)
+ DisableControlAction(0, 0, true)
+ DisableControlAction(0, 69, true)
+ DisableControlAction(0, 70, true)
+ DisableControlAction(0, 36, true)
+ DisableControlAction(0, 326, true)
+ DisableControlAction(0, 341, true)
+ DisableControlAction(0, 343, true)
+ DisableControlAction(0, 257, true)
+ DisableControlAction(0, 22, true)
+ DisableControlAction(0, 44, true)
+ DisableControlAction(0, 288, true)
+ DisableControlAction(0, 289, true)
+ DisableControlAction(0, 170, true)
+ DisableControlAction(0, 167, true)
+ DisableControlAction(0, 26, true)
+ DisableControlAction(0, 73, true)
+ DisableControlAction(2, 199, true)
+ DisableControlAction(0, 47, true)
+ DisableControlAction(0, 264, true)
+ DisableControlAction(0, 257, true)
+ DisableControlAction(0, 140, true)
+ DisableControlAction(0, 121, true)
+ DisableControlAction(0, 114, true)
+ DisableControlAction(0, 81, true)
+ DisableControlAction(0, 82, true)
+ DisableControlAction(0, 99, true)
+ DisableControlAction(0, 330, true)
+ DisableControlAction(0, 331, true)
+ DisableControlAction(0, 100, true)
+ DisableControlAction(0, 141, true)
+ DisableControlAction(0, 142, true)
+ DisableControlAction(0, 143, true)
+ DisableControlAction(0, 106, true)
+ DisableControlAction(0, 115, true)
+ DisableControlAction(0, 91, true)
+ DisableControlAction(0, 92, true)
+ DisableControlAction(0, 245, true)
+ DisableControlAction(0, 44, true)
+ DisableControlAction(0, 157, true)
+ DisableControlAction(0, 158, true)
+ DisableControlAction(0, 160, true)
+ DisableControlAction(0, 164, true)
+ DisableControlAction(0, 165, true)
+ DisableControlAction(0, 159, true)
+ DisableControlAction(0, 161, true)
+ DisableControlAction(0, 162, true)
+ DisableControlAction(0, 163, true)
+ DisableControlAction(0, 182, true)
+ end
+ Wait(0)
+ end
+end)
+
+function checkPlayerDead()
+ local PlayerData = QBCore.Functions.GetPlayerData()
+
+ if Config.VisnAre then
+ local dead = exports['visn_are']:GetHealthBuffer().unconscious
+
+ return dead
+ end
+
+ if not PlayerData or not PlayerData.metadata then
+ return false
+ end
+
+ return PlayerData.metadata['isdead']
+end
+
+function ShowHelpNotification(msg, thisFrame, beep, duration)
+ AddTextEntry('HelpNotification', msg)
+
+ if thisFrame then
+ DisplayHelpTextThisFrame('HelpNotification', false)
+ else
+ if beep == nil then
+ beep = true
+ end
+ BeginTextCommandDisplayHelp('HelpNotification')
+ EndTextCommandDisplayHelp(0, false, beep, duration or -1)
+ end
+end
+
+CreateThread(function()
+ while true do
+ Wait(500)
+ if NetworkIsPlayerActive(PlayerId()) then
+ TriggerServerEvent('roadphone:playerLoad', GetPlayerServerId(PlayerId()))
+ break
+ end
+ end
+end)
+
+
+RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
+
+ CreateThread(function()
+ if Config.RemoveFromRadioWhenDead then
+ while true do
+ Wait(2000)
+ if checkPlayerDead() and isInRadio() then
+ TriggerEvent("roadphone:client:leaveradio")
+ end
+ end
+ end
+ end)
+
+end)
+
+RegisterNUICallback('inputfocus', function(data, cb) -- Do not change anything here!
+
+ isInFocus = data.focus
+
+ if isInFocus then
+ SetNuiFocusKeepInput(false)
+ else
+ SetNuiFocusKeepInput(true)
+ end
+
+ cb('ok')
+end)
+
+function setRadioChannel(frequenz, playername)
+ if Config.UseMumbleVoip then
+ exports[Config.MumbleExport]:addPlayerToRadio(frequenz)
+ exports[Config.MumbleExport]:SetMumbleProperty("radioEnabled", true)
+ elseif Config.UseTokoVoip then
+ local radiochannel = exports.tokovoip_script:getPlayerData(playername, "radio:channel")
+ exports.tokovoip_script:removePlayerFromRadio(radiochannel)
+ exports.tokovoip_script:setPlayerData(playername, "radio:channel", frequenz, true)
+ exports.tokovoip_script:addPlayerToRadio(frequenz)
+ elseif Config.UseSaltyChat then
+ exports['saltychat']:SetRadioChannel(frequenz, true)
+ elseif Config.UsePmaVoice then
+ exports[Config.PMAVoiceExport]:addPlayerToRadio(frequenz)
+ exports[Config.PMAVoiceExport]:setVoiceProperty('radioEnabled', true)
+ exports[Config.PMAVoiceExport]:setVoiceProperty('micClicks', true)
+ elseif Config.UseYacaVoice then
+ exports['yaca-voice']:enableRadio(true)
+ exports['yaca-voice']:changeRadioFrequency(frequenz)
+ end
+
+ TriggerEvent("roadphone:sendNotification", {
+ apptitle = "APP_RADIO_NAME",
+ title = Lang:t('info.radiojoined', { value = frequenz }),
+ message = nil,
+ img = "/public/img/Apps/light_mode/radio.webp"
+ })
+
+ setInRadio(true)
+end
+
+AddEventHandler("roadphone:client:call:eventnumber", function(number)
+
+ if tostring(number) == "77777" then --CHECK WHICH NUMBER IS CALLED
+
+ --YOUR CODE
+
+ end
+
+end)
+
+RegisterNUICallback('sendDispatch', function(data, cb)
+ TriggerServerEvent("roadphone:sendDispatch", GetPlayerServerId(PlayerId()), data.text, data.job, nil, false, data.image)
+ cb('ok')
+end)
+
+function clientSideInventoryValidation() -- DONT USE THIS FUNCTION IF YOU DONT KNOW WHAT YOU ARE DOING
+
+ --YOUR CODE
+
+ return 'PHONEITEM' --needs to return colored phone items name from config.lua = phone will open | false = phone will not open
+
+end
+
+
+function testMail()
+ local data = {
+ sender = 'RoadShop',
+ subject = "RoadShop TEST",
+ message = "Mails from scripts come back even better than before now even with Color support.
+ Support for line breaks and button support ^^",
+ button = {
+ buttonEvent = "qb-drugs:client:setLocation",
+ buttonData = "test",
+ buttonname = "test"
+ }
+ }
+
+ TriggerServerEvent("roadphone:receiveMail", data)
+end
+
+function playRoadSound(type)
+
+ if type == 'message' then
+
+ PlaySound(-1, "Menu_Accept", "Phone_SoundSet_Default", 0, 0, 1)
+ Wait(300)
+ PlaySound(-1, "Menu_Accept", "Phone_SoundSet_Default", 0, 0, 1)
+ Wait(300)
+ PlaySound(-1, "Menu_Accept", "Phone_SoundSet_Default", 0, 0, 1)
+
+ elseif type == 'dispatch' then
+
+ PlaySound(-1, "Menu_Accept", "Phone_SoundSet_Default", 0, 0, 1)
+ Wait(300)
+ PlaySound(-1, "Menu_Accept", "Phone_SoundSet_Default", 0, 0, 1)
+ Wait(300)
+ PlaySound(-1, "Menu_Accept", "Phone_SoundSet_Default", 0, 0, 1)
+
+ end
+
+
+end
+
+
+
+RegisterNUICallback('app_custom_event', function(data, cb)
+
+ local app = data.app
+
+ if app == "APPNAME" then
+
+ --Your Code
+
+ end
+
+
+ cb('ok')
+
+end)
+
+exports('isBlocked', function()
+
+ return blockPhone()
+
+end)
+
+
+exports('blockPhone', function()
+
+ isBlocked = true
+ return true
+
+end)
+
+exports('unblockPhone', function()
+
+ isBlocked = false
+ return false
+
+end)
+
+exports('inputFocus', function(boolean)
+
+ isInFocus = boolean
+
+ if isInFocus then
+ SetNuiFocusKeepInput(false)
+ else
+ SetNuiFocusKeepInput(true)
+ end
+
+end)
+
+
+function temperatureRanges(weatherType)
+ local temperatureRanges = {
+ ExtraSunny = {90, 110},
+ Clear = {80, 95},
+ Neutral = {80, 95},
+ Smog = {90, 95},
+ Foggy = {80, 90},
+ Clouds = {80, 90},
+ Overcast = {80, 80},
+ Clearing = {75, 85},
+ Raining = {75, 90},
+ ThunderStorm = {75, 90},
+ Blizzard = {-15, 10},
+ Snowing = {0, 32},
+ Snowlight = {0, 32},
+ Christmas = {-5, 15},
+ Halloween = {50, 80}
+ }
+
+ -- Fetch the range and get a random temperature within that range
+ local minTemp, maxTemp = table.unpack(temperatureRanges[weatherType])
+ local randomTemperature = getRandomInt(minTemp, maxTemp)
+
+ -- Convert to Celsius if necessary
+ if not Config.Fahrenheit then
+ randomTemperature = (randomTemperature - 32) * 5 / 9
+ end
+
+ -- Format and return temperature with unit
+ return string.format('%.0f°%s', randomTemperature, Config.Fahrenheit and 'F' or 'C')
+end
+
+CreateThread(function()
+ while true do
+ Wait(3000)
+
+ TriggerEvent('roadphone:checkWeather')
+
+ Wait(120000)
+ end
+end)
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/client/connect.lua b/resources/[phone]/roadphone/client/connect.lua
new file mode 100644
index 000000000..ceec526d3
Binary files /dev/null and b/resources/[phone]/roadphone/client/connect.lua differ
diff --git a/resources/[phone]/roadphone/client/darkchat.lua b/resources/[phone]/roadphone/client/darkchat.lua
new file mode 100644
index 000000000..bdbc6b553
Binary files /dev/null and b/resources/[phone]/roadphone/client/darkchat.lua differ
diff --git a/resources/[phone]/roadphone/client/mail.lua b/resources/[phone]/roadphone/client/mail.lua
new file mode 100644
index 000000000..c22b279ae
Binary files /dev/null and b/resources/[phone]/roadphone/client/mail.lua differ
diff --git a/resources/[phone]/roadphone/client/music.lua b/resources/[phone]/roadphone/client/music.lua
new file mode 100644
index 000000000..374685ac1
Binary files /dev/null and b/resources/[phone]/roadphone/client/music.lua differ
diff --git a/resources/[phone]/roadphone/client/news.lua b/resources/[phone]/roadphone/client/news.lua
new file mode 100644
index 000000000..297b5515a
Binary files /dev/null and b/resources/[phone]/roadphone/client/news.lua differ
diff --git a/resources/[phone]/roadphone/client/notes.lua b/resources/[phone]/roadphone/client/notes.lua
new file mode 100644
index 000000000..ef2c358c1
Binary files /dev/null and b/resources/[phone]/roadphone/client/notes.lua differ
diff --git a/resources/[phone]/roadphone/client/roaddrop.lua b/resources/[phone]/roadphone/client/roaddrop.lua
new file mode 100644
index 000000000..24b534ca8
Binary files /dev/null and b/resources/[phone]/roadphone/client/roaddrop.lua differ
diff --git a/resources/[phone]/roadphone/client/service.lua b/resources/[phone]/roadphone/client/service.lua
new file mode 100644
index 000000000..a524e3c4a
Binary files /dev/null and b/resources/[phone]/roadphone/client/service.lua differ
diff --git a/resources/[phone]/roadphone/client/taxi.lua b/resources/[phone]/roadphone/client/taxi.lua
new file mode 100644
index 000000000..e6a518842
Binary files /dev/null and b/resources/[phone]/roadphone/client/taxi.lua differ
diff --git a/resources/[phone]/roadphone/client/tweetwave.lua b/resources/[phone]/roadphone/client/tweetwave.lua
new file mode 100644
index 000000000..427bf9623
Binary files /dev/null and b/resources/[phone]/roadphone/client/tweetwave.lua differ
diff --git a/resources/[phone]/roadphone/client/valet.lua b/resources/[phone]/roadphone/client/valet.lua
new file mode 100644
index 000000000..e59be09c7
--- /dev/null
+++ b/resources/[phone]/roadphone/client/valet.lua
@@ -0,0 +1,243 @@
+local inVehicle = false
+local fizzPed = nil
+local spawnRadius = Config.ValetRadius
+local mechBlip = nil
+
+RegisterNUICallback('searchCar', function(data, cb)
+ QBCore.Functions.TriggerCallback("roadphone:valet:loadVehicle", function(vehicle, coords)
+
+ if not vehicle and not coords then
+ return
+ end
+
+ if vehicle == false then
+ if coords then
+ SetNewWaypoint(coords.x, coords.y)
+ TriggerEvent("roadphone:sendNotification", {
+ apptitle = 'APP_VALET_NAME',
+ title = 'APP_VALET_TITLE_WAYPOINT',
+ img = "/public/img/Apps/light_mode/valet.webp"
+ })
+
+ end
+ return;
+ end
+
+ local plate = vehicle[1].plate
+
+ local gameVehicles = GetGamePool('CVehicle')
+
+ for i = 1, #gameVehicles do
+ local vehicle = gameVehicles[i]
+
+ if DoesEntityExist(vehicle) then
+ if GetVehicleNumberPlateText(vehicle) == plate then
+ local vehicleCoords = GetEntityCoords(vehicle)
+ SetNewWaypoint(vehicleCoords.x, vehicleCoords.y)
+
+ TriggerEvent("roadphone:sendNotification", {
+ apptitle = "APP_VALET_NAME",
+ title = "APP_VALET_TITLE_WAYPOINT",
+ img = "/public/img/Apps/light_mode/valet.webp"
+ })
+ cb('ok')
+ return
+ end
+ end
+ end
+
+ TriggerEvent("roadphone:sendNotification", {
+ apptitle = "APP_VALET_NAME",
+ title = "APP_VALET_TITLE_CARNOTOUT",
+ img = "/public/img/Apps/light_mode/valet.webp"
+ })
+ end, data.plate)
+
+ cb('ok')
+end)
+
+RegisterNUICallback("deliverormarkcar", function(data, cb)
+ QBCore.Functions.TriggerCallback("roadphone:valet:loadVehicle", function(vehicle, coords)
+
+ if not vehicle and not coords then
+ return
+ end
+
+ if vehicle == false then
+ if coords then
+ SetNewWaypoint(coords.x, coords.y)
+ TriggerEvent("roadphone:sendNotification", {
+ apptitle = 'APP_VALET_NAME',
+ title = 'APP_VALET_TITLE_WAYPOINT',
+ img = "/public/img/Apps/light_mode/valet.webp"
+ })
+
+ end
+ return;
+ end
+
+ local plate = vehicle[1].plate
+
+ local gameVehicles = GetGamePool('CVehicle')
+
+ for i = 1, #gameVehicles do
+ local vehicle = gameVehicles[i]
+
+ if DoesEntityExist(vehicle) then
+ if GetVehicleNumberPlateText(vehicle) == plate then
+ local vehicleCoords = GetEntityCoords(vehicle)
+ SetNewWaypoint(vehicleCoords.x, vehicleCoords.y)
+ TriggerEvent("roadphone:sendNotification", {
+ apptitle = 'APP_VALET_NAME',
+ title = 'APP_VALET_TITLE_WAYPOINT',
+ img = "/public/img/Apps/light_mode/valet.webp"
+ })
+ cb('ok')
+ return
+ end
+ end
+ end
+
+ QBCore.Functions.TriggerCallback("roadphone:valet:checkMoney", function(cb)
+
+ if cb then
+ SpawnVehicle(vehicle[1].vehicle, plate, json.decode(vehicle[1].mods))
+ end
+ end)
+
+ end, data.plate)
+
+ cb('ok')
+
+end)
+
+function SpawnVehicle(vehicle, plate, mods)
+
+ local player = PlayerPedId()
+ local playerPos = GetEntityCoords(player)
+ local found, spawnPos, spawnHeading = GetClosestVehicleNodeWithHeading(playerPos.x + math.random(-100, 100),
+ playerPos.y + math.random(-100, 100), playerPos.z, 0, 3, 0)
+
+ local driverhash = GetHashKey(Config.ValetPedModel)
+ local vehhash = GetHashKey(vehicle)
+
+ while not HasModelLoaded(driverhash) and RequestModel(driverhash) or not HasModelLoaded(vehhash) and
+ RequestModel(vehhash) do
+ RequestModel(driverhash)
+ RequestModel(vehhash)
+ Wait(0)
+ end
+
+ Wait(500)
+
+ QBCore.Functions.SpawnVehicle(vehicle, function(callback_vehicle)
+
+ QBCore.Functions.SetVehicleProperties(callback_vehicle, mods)
+ SetVehicleEngineOn(callback_vehicle, true)
+
+ fizzPed = CreatePedInsideVehicle(callback_vehicle, 26, driverhash, -1, true, false)
+ mechBlip = AddBlipForEntity(callback_vehicle)
+ SetBlipSprite(mechBlip, 225) -- Blip Spawning.
+ SetBlipFlashes(mechBlip, true)
+ SetBlipColour(mechBlip, 0)
+ SetBlipFlashes(mechBlip, false)
+ BeginTextCommandSetBlipName("STRING")
+ AddTextComponentString(plate)
+ EndTextCommandSetBlipName(mechBlip)
+
+ inVehicle = true
+ GiveCarKeys(GetVehicleNumberPlateText(callback_vehicle), vehicle.model)
+ TriggerServerEvent("roadphone:valetCarSetOutside", plate, vehicle)
+ TaskVehicle(callback_vehicle)
+ end, spawnPos, true)
+
+end
+
+function TaskVehicle(vehicle)
+ while inVehicle do
+ Wait(750)
+ local pedcoords = GetEntityCoords(PlayerPedId())
+ local plycoords = GetEntityCoords(fizzPed)
+ local dist = GetDistanceBetweenCoords(plycoords, pedcoords.x, pedcoords.y, pedcoords.z, false)
+
+ if dist <= 25.0 then
+ TaskVehicleDriveToCoord(fizzPed, vehicle, pedcoords.x, pedcoords.y, pedcoords.z, 10.0, 1, vehhash, 786475,
+ 5.0, 1)
+ SetVehicleFixed(vehicle)
+ if dist <= 7.5 then
+ LeaveIt(vehicle)
+ break
+ else
+ Wait(500)
+ end
+ else
+ TaskVehicleDriveToCoord(fizzPed, vehicle, pedcoords.x, pedcoords.y, pedcoords.z, 15.0, 1, vehhash, 786475,
+ 5.0, 1)
+ Wait(500)
+ end
+ end
+end
+
+function LeaveIt(vehicle)
+ TaskLeaveVehicle(fizzPed, vehicle, 14)
+ inVehicle = false
+ while IsPedInAnyVehicle(fizzPed, false) do
+ Wait(0)
+ end
+
+ Wait(500)
+ TaskWanderStandard(fizzPed, 10.0, 10)
+ Wait(10000)
+ DeleteEntity(fizzPed)
+ RemoveBlip(mechBlip)
+ mechBlip = nil
+ fizzPed = nil
+end
+
+
+RegisterNUICallback("getCars", function(data, cb)
+ QBCore.Functions.TriggerCallback("roadphone:valet:getCars", function(data)
+
+ for i = 1, #data do
+ if(data[i]) then
+ local vehiclename = data[i].vehicle
+
+ local vehiclemodelnames = getVehicleNames()
+
+ for k, v in pairs(vehiclemodelnames) do
+ if v[1] == model then
+ vehiclename = v[2]
+ end
+ end
+
+ data[i].vehicle = {}
+ data[i].vehicle.model = vehiclename
+ end
+ end
+
+ SendNUIMessage({
+ event = "setValetCars",
+ cars = data
+ })
+ end)
+ cb('ok')
+end)
+
+
+if Config.CarDebug then
+ CreateThread(function()
+
+ while true do
+
+ Wait(8000)
+
+ if IsPedInAnyVehicle(PlayerPedId(), false) then
+ local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
+
+ print("[DEBUG] Car Name: " .. GetDisplayNameFromVehicleModel(GetEntityModel(vehicle)))
+ end
+
+ end
+
+ end)
+end
diff --git a/resources/[phone]/roadphone/client/vehicle_names.lua b/resources/[phone]/roadphone/client/vehicle_names.lua
new file mode 100644
index 000000000..da875a13d
--- /dev/null
+++ b/resources/[phone]/roadphone/client/vehicle_names.lua
@@ -0,0 +1,10 @@
+--https://forum.cfx.re/t/help-creating-a-addtextentry-script/230504/5
+
+local vehicle_names = {
+ {'vehicle_spawnname', 'displayed_name'}, --spawnName = vehicle.meta carname. displayed_name = displayed name in the menu
+ --example: {'pista', 'Ferrari 458 Pista'},
+}
+
+function getVehicleNames()
+ return vehicle_names
+end
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/client/voicememos.lua b/resources/[phone]/roadphone/client/voicememos.lua
new file mode 100644
index 000000000..c242acfab
Binary files /dev/null and b/resources/[phone]/roadphone/client/voicememos.lua differ
diff --git a/resources/[phone]/roadphone/config.lua b/resources/[phone]/roadphone/config.lua
new file mode 100644
index 000000000..b9ca59a56
--- /dev/null
+++ b/resources/[phone]/roadphone/config.lua
@@ -0,0 +1,149 @@
+QBCore = exports['qb-core']:GetCoreObject()
+
+-- Configuration
+
+Config = {}
+
+-- Upload Methods
+Config.uploadMethod = 'fivemanage' -- Options: fivemanage, fivemerr (Setup API_KEY in API.lua)
+
+-- RoadShop scripts
+Config.RoadPad = false -- Enable if using RoadPad
+Config.RoadCarPlay = false -- Enable if using RoadCarPlay
+Config.SimCardDLC = true -- Enable if using RoadPhone SimCard DLC
+
+-- Phone Settings
+Config.PhoneCommand = "TogglePhone"
+Config.NeedItem = true -- Requires an item to open the phone
+Config.RegisterKeyMapping = true -- If false, the phone can only be closed using ESC
+Config.OpenKey = 'f1' -- Works if RegisterKeyMapping is true
+Config.OpenKeyNumber = 288 -- Works if RegisterKeyMapping is false
+
+-- Locale Settings
+Config.Fahrenheit = false -- Use Fahrenheit instead of Celsius
+
+-- Items Configuration
+Config.Items = {
+ "purple_phone",
+ "green_phone",
+ "red_phone",
+ "blue_phone",
+ "black_phone"
+}
+
+-- Target System
+Config.UseTarget = false
+Config.TargetSystem = "qb-target" -- Options: qb-target, ox_target
+
+-- Voice Chat Integration
+Config.MumbleExport = "mumble-voip"
+Config.PMAVoiceExport = "pma-voice"
+Config.SaltyExport = "saltychat"
+
+
+Config.UsePmaVoice = false
+Config.UseMumbleVoip = false
+Config.UseSaltyChat = false --https://saltyhub.net/
+Config.UseTokoVoip = false
+Config.UseYacaVoice = true
+Config.SaltyChatFix = false -- Fix issues with SaltyChat if true
+
+-- Event Numbers
+Config.EventNumbers = {
+ ['77777'] = false
+}
+
+-- Addons
+Config.Addons = {
+ ['jobcalls'] = true
+ ['roadpods'] = true
+}
+
+-- Valet Configuration
+Config.ValetServerSideCheck = true
+Config.ValetPedModel = "s_m_y_valet_01"
+Config.ValetRadius = 500.0
+Config.ValetDeliveryPrice = 500
+Config.OwnedVehiclesTable = "player_vehicles"
+
+-- Walkable Camera
+Config.WalkableCamera = true -- Disable walkable camera if false
+
+-- Crypto Settings
+Config.Crypto = true
+
+-- Radio Settings
+Config.RemoveFromRadioWhenDead = true
+Config.RadioNeedItem = true
+Config.RadioItems = {
+ "radio"
+}
+Config.lockedRadioChannels = {
+ { frq = 1, jobhasaccess = {"police"} },
+ { frq = 2, jobhasaccess = {"ambulance"} },
+ { frq = 3, jobhasaccess = {"police", "ambulance","marshal"} },
+ { frq = 4, jobhasaccess = {"marshal"} },
+}
+
+-- Camera App
+Config.CameraDelay = 2000 -- Delay between taking pictures
+
+-- Taxi Configuration
+Config.TaxiPrice = 100 -- Price per kilometer
+Config.TaxiJob = "taxi"
+Config.TaxiSociety = "society_taxi"
+Config.TaxiSocietyEnabled = false --money goes to society account instead of player account
+
+-- Rent Configuration
+Config.RentVehicleSpawnRadius = 500.0
+Config.RentVehicleModel = "s_m_y_valet_01"
+
+-- Billing Systems
+Config.myBilling = false
+Config.okokBilling = false
+Config.JaksamBilling = false
+Config.bcsCompanyManager = false
+Config.codemBilling = false --Codem Billing v1
+Config.codemBilling2 = false --Codem Billing v2
+
+
+--Billing Resource folder name
+Config.codemBilling2Folder = "codem-billing"
+
+-- Inventory Integration
+Config.codeMInventory = false
+
+-- Banking System
+Config.okokBanking = false
+
+-- Garage Systems
+Config.JGAdvancedGarages = true
+Config.cdGarages = false
+
+-- Miscellaneous Integrations
+Config.VisnAre = false
+Config.MXSurround = false
+
+-- Custom Props
+Config.UsePhoneProps = true
+
+-- Database Configurations
+Config.UserTable = "players"
+Config.CarDebug = false
+
+-- Data Management
+Config.clearDataTwoWeeks = true -- Clear image data after two weeks
+
+-- Server Info Display
+Config.ShowServerInfo = true
+Config.AppNotifys = true
+
+-- Client-Side Inventory Validation
+Config.ClientSideInventoryValidation = false -- Use with caution
+
+-- Flashlight Sync / USE WITH CAUSION HIGH CLIENT & SERVER PERFORMANCE IMPACT
+Config.SyncFlashlight = false -- Sync flashlight with other players
+
+Config.CallCheckExperimental = true -- Experimental call check
+
+Config.CallControl = true -- Enable call control / example: Accept, Decline, End Call with Enter and Backspace
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/fxmanifest.lua b/resources/[phone]/roadphone/fxmanifest.lua
new file mode 100644
index 000000000..1113fb1d3
--- /dev/null
+++ b/resources/[phone]/roadphone/fxmanifest.lua
@@ -0,0 +1,149 @@
+fx_version 'bodacious'
+
+game 'gta5'
+
+author 'RoadShop | https://fivem.roadshop.org'
+description 'RoadPhone-Pro FiveM Phone'
+version '1.6.5'
+
+lua54 'yes'
+
+data_file 'DLC_ITYP_REQUEST' 'stream/prop/phonesilver.ytyp'
+data_file 'DLC_ITYP_REQUEST' 'stream/prop/phonegreen.ytyp'
+data_file 'DLC_ITYP_REQUEST' 'stream/prop/phoneblack.ytyp'
+data_file 'DLC_ITYP_REQUEST' 'stream/prop/phonelightblue.ytyp'
+data_file 'DLC_ITYP_REQUEST' 'stream/prop/phonepurple.ytyp'
+data_file 'DLC_ITYP_REQUEST' 'stream/prop/phonered.ytyp'
+
+ui_page 'public/index.html'
+
+files {
+ 'public/index.html',
+ 'public/assets/*.*',
+ 'public/img/*.*',
+ 'public/img/**/*.*',
+ 'public/img/**/**/*.*',
+ 'public/static/sounds/*.ogg',
+ 'public/static/sounds/ringtones/*.ogg',
+ 'public/static/sounds/ringtones/*.mp3',
+ 'public/static/sounds/clock/*.mp3',
+ 'public/static/sounds/*.mp3',
+ 'public/custom_apps/*.js',
+ 'public/static/config/config.json'
+}
+
+shared_scripts {
+ '@qb-core/shared/locale.lua',
+ 'config.lua',
+ 'locales/en.lua',
+ 'addons/**/config.lua'
+}
+
+client_scripts {
+ 'client/client.lua',
+ 'client/clientAPI.lua',
+ 'client/animation.lua',
+ 'client/music.lua',
+ 'client/notes.lua',
+ 'client/camera.lua',
+ 'client/connect.lua',
+ 'client/anonymtell.lua',
+ 'client/tweetwave.lua',
+ 'client/service.lua',
+ 'client/valet.lua',
+ 'client/mail.lua',
+ 'client/news.lua',
+ 'client/advertising.lua',
+ 'client/vehicle_names.lua',
+ 'client/billing.lua',
+ 'client/roaddrop.lua',
+ 'client/voicememos.lua',
+ 'client/darkchat.lua',
+ 'client/taxi.lua',
+ 'addons/**/client/*.lua'
+}
+
+server_scripts {
+ --'@oxmysql/lib/MySQL.lua',
+ '@mysql-async/lib/MySQL.lua',
+ 'API.lua',
+ 'server/server.lua',
+ 'server/serverAPI/serverAPI.lua',
+ 'server/service.lua',
+ 'server/tweetwave.lua',
+ 'server/serverAPI/valet.lua',
+ 'server/mail_app.lua',
+ 'server/versioncheck.lua',
+ 'server/serverAPI/billing.lua',
+ 'server/serverAPI/bank.lua',
+ 'server/serverAPI/webhooks.lua',
+ 'server/crypto.lua',
+ 'server/news.lua',
+ 'server/messages.lua',
+ 'server/anonymtell.lua',
+ 'server/connect.lua',
+ 'server/advertising.lua',
+ 'server/notes.lua',
+ 'server/roaddrop.lua',
+ 'server/voicememos.lua',
+ 'server/music.lua',
+ 'server/darkchat.lua',
+ 'server/taxi.lua',
+ 'addons/**/server/*.lua'
+}
+
+escrow_ignore {
+ 'config.lua',
+ 'API.lua',
+ 'locales/*.lua',
+ 'client/clientAPI.lua',
+ 'client/vehicle_names.lua',
+ 'server/billing.lua',
+ 'server/serverAPI/*.lua',
+ 'client/animation.lua',
+ 'addons/**/config.lua',
+ 'client/valet.lua'
+}
+
+dependencies {
+ '/server:13227',
+ '/onesync',
+ 'qb-core',
+ 'xsound'
+}
+
+exports {
+ 'isFlightmode',
+ 'isDisabled',
+ 'isFlashlight',
+ 'togglePhone',
+ 'isPhoneOpen',
+ 'getPhoneNumber',
+ 'sendMessage',
+ 'isPlayerMuted',
+ 'startCall',
+ 'sendMail',
+ 'sendMailOffline',
+ 'sendNotification',
+ 'sendDispatch',
+ 'isBlocked',
+ 'unblockPhone',
+ 'blockPhone',
+ 'inputFocus',
+ 'setHeaderBlack',
+ 'SendMessageNUI'
+}
+
+server_exports {
+ 'addcrypto',
+ 'removecrypto',
+ 'checkcryptoamount',
+ 'getPlayerFromPhone',
+ 'getNumberFromIdentifier',
+ 'sendAirdrop',
+ 'addBankTransaction',
+ 'sendMailOffline',
+ 'sendDispatch',
+ 'sendDispatchAnonym'
+}
+dependency '/assetpacks'
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/locales/cs.lua b/resources/[phone]/roadphone/locales/cs.lua
new file mode 100644
index 000000000..ad6043c2f
--- /dev/null
+++ b/resources/[phone]/roadphone/locales/cs.lua
@@ -0,0 +1,80 @@
+local Translations = {
+ error = {},
+ success = {},
+ info = {
+ ['openphone'] = 'Otevřít telefon',
+ ['nophone'] = 'Nemáte telefon.',
+ ['noroadpods'] = 'You do not own roadpods.',
+ ['day_saturday'] = 'Sobota',
+ ['day_sunday'] = 'Neděle',
+ ['day_monday'] = 'Pondělí',
+ ['day_tuesday'] = 'Úterý',
+ ['day_wednesday'] = 'Středa',
+ ['day_thursday'] = 'Čtvrtek',
+ ['day_friday'] = 'Pátek',
+ ['radiojoined'] = 'Vstoupili jste do rádia %{value}',
+ ['fixphone'] = 'Pokud tato zpráva nezmizí během několika sekund, napište /fixphone.',
+ ['message_app_new_message'] = 'Nová zpráva od %{value}',
+ ["message_app_new_groupmessage"] = "Nová zpráva do skupiny",
+ ['mail_received'] = " poslal vám email.",
+ ["billing_paid"] = "Faktura byla zaplacena $",
+ ["billing_notmoney"] = "Nemáte dostatek peněz.",
+ ['bill_paid'] = 'Faktura na ',
+ ['bill_paid2'] = '$ byla zaplacena.',
+ ['society_bill_paid'] = 'Jedna z vašich faktur na ',
+ ['society_bill_paid2'] = '$ byla zaplacena.',
+ ['valet_car_delivered'] = "Auto doručeno",
+ ['valet_car_delivered_2'] = " má své auto doručeno za %{value} $",
+ ['messages_app_newgroup_name'] = "Nová skupina",
+ ["command_required_information"] = "Nenapsali jste požadované informace",
+ ['wave_verify'] = "Ověřili jste hráče",
+ ['wave_remove_verify'] = "Hráč již není ověřen",
+ ['connect_verify'] = "Ověřili jste hráče",
+ ['connect_remove_verify'] = "Hráč již není ověřen",
+ ['crypto_error_buymore'] = "Buy Crypto worth more than 1$",
+ ['crypto_error_sellmore'] = "Sell Crypto worth more than 1$",
+ ['crypto_error_nomoney'] = "You don't have enough money to buy Crypto.",
+ ['crypto_error_nocrypto'] = "You do not have enough crypto to sell.",
+ ['crypto_please_wait_sell'] = "Please wait before sell crypto again.",
+ ['crypto_please_wait_buy'] = "Please wait before buy crypto again.",
+ ['bank_money_transaction'] = "Peníze byly odeslány %{value}.",
+ ['control_center_already_in_use'] = "Toto číslo je již používáno!",
+ ['control_center_leave'] = "Opustili jste kontrolní centrum pro %{value}!",
+ ['control_center_take_control'] = "Stiskněte E, abyste převzali kontrolu nad kontrolním centrem pro %{value}.",
+ ['control_center_taken_control'] = "Převzali jste kontrolu nad kontrolním centrem pro %{value}!",
+ ['control_center_cannot_leave'] = "V současné době nemůžete opustit kontrolní centrum.",
+ ['voice_memos_default_name'] = "New recording",
+ ['messages_groupchat_added'] = "Byli jste přidáni do skupinového chatu %{value}.",
+ ['taxi_app_canceled'] = "Cancelled",
+ ['taxi_app_canceled_text'] = "The taxi driver has cancelled your ride",
+ ['taxi_app_finished'] = "Finished",
+ ['taxi_app_finished_text'] = "You are at your destination",
+ ['taxi_app_finished_text_driver'] = "You left the customer at the location",
+ ['taxi_app_pickedup'] = "Picked Up",
+ ['taxi_app_pickedup_text'] = "Taxi driver picked you up from your location",
+ ['taxi_app_driver_on_way'] = "Driver on the way",
+ ['taxi_app_driver_on_way_text'] = "Taxi driver is on the way",
+ ['taxi_app_driver_got_job'] = "Got the job!",
+ ['taxi_app_driver_got_job_text'] = "Lets drive to the customer!",
+ ['taxi_app_new_job'] = "New Job!",
+ ['taxi_app_new_job_text'] = "New job available!",
+ ['taxi_app_bank_transaction'] = "Taxi earnings",
+ ['taxi_app_customer_not_in_vehicle'] = "Not in Vehicle",
+ ['taxi_app_customer_not_in_vehicle_text'] = "The customer is not in your vehicle",
+ ['taxi_app_driver_not_in_car'] = "Not in Car",
+ ['taxi_app_driver_not_in_car_text'] = "You must be in a car to accept a job",
+ ['taxi_app_salary'] = "Salary",
+ ['taxi_app_salary_text'] = "You got %{value} $ for the cab ride.",
+ ['bank_app_received_money_text'] = "You have received %{value} $.",
+ ['bank_app_sent_money_text'] = "You have sent %{value} $.",
+ ['call_already_blocked'] = "Person is already blocked.",
+ ['messages_cannot_send_blocked'] = "You cannot send messages to people you have blocked.",
+ ['system_mail'] = "System@cloud.org"
+ },
+ text = {}
+}
+
+Lang = Locale:new({
+ phrases = Translations,
+ warnOnMissing = true
+})
diff --git a/resources/[phone]/roadphone/locales/de.lua b/resources/[phone]/roadphone/locales/de.lua
new file mode 100644
index 000000000..85f657fac
--- /dev/null
+++ b/resources/[phone]/roadphone/locales/de.lua
@@ -0,0 +1,81 @@
+local Translations = {
+ error = {},
+ success = {},
+ info = {
+ ['openphone'] = 'Telefon öffnen',
+ ['nophone'] = 'Du besitzt kein Telefon.',
+ ['noroadpods'] = 'Du besitzt keine RoadPods.',
+ ['day_saturday'] = 'Samstag',
+ ['day_sunday'] = 'Sonntag',
+ ['day_monday'] = 'Montag',
+ ['day_tuesday'] = 'Dienstag',
+ ['day_wednesday'] = 'Mittwoch',
+ ['day_thursday'] = 'Donnerstag',
+ ['day_friday'] = 'Freitag',
+ ['radiojoined'] = 'Du hast den Radiokanal %{value} betreten',
+ ['fixphone'] = 'Wenn diese Nachricht in ein paar Sekunden nicht verschwindet, tippe /fixphone.',
+ ['message_app_new_message'] = 'Neue Nachricht von %{value} ',
+ ["message_app_new_groupmessage"] = "Neue Nachricht in der Gruppe",
+ ['mail_received'] = " hat dir eine E-Mail geschickt.",
+ ["billing_paid"] = "Die Rechnung wurde bezahlt: €",
+ ["billing_notmoney"] = "Du hast nicht genug Geld.",
+ ['bill_paid'] = '~g~Die Rechnung im Wert von ~w~',
+ ['bill_paid2'] = '€ ~g~wurde bezahlt.',
+ ['society_bill_paid'] = '~g~Eine von dir ausgestellte Rechnung im Wert von ~w~',
+ ['society_bill_paid2'] = '€ ~g~wurde bezahlt.',
+ ['valet_car_delivered'] = "Auto zugestellt",
+ ['valet_car_delivered_2'] = " hat sein Auto zugestellt bekommen, für %{value} €",
+ ['messages_app_newgroup_name'] = "Neue Gruppe",
+ ["command_required_information"] = "Du hast die erforderlichen Informationen nicht angegeben.",
+ ['wave_verify'] = "Du hast den Spieler verifiziert.",
+ ['wave_remove_verify'] = "Der Spieler ist jetzt nicht mehr verifiziert.",
+ ['connect_verify'] = "Du hast den Spieler verifiziert.",
+ ['connect_remove_verify'] = "Der Spieler ist jetzt nicht mehr verifiziert.",
+ ['crypto_error_buymore'] = "Kaufe Kryptowährung im Wert von mehr als 1€.",
+ ['crypto_error_sellmore'] = "Verkaufe Kryptowährung im Wert von mehr als 1€.",
+ ['crypto_error_nomoney'] = "Du hast nicht genug Geld, um Kryptowährung zu kaufen.",
+ ['crypto_error_nocrypto'] = "Du hast nicht genug Kryptowährung zum Verkaufen.",
+ ['crypto_please_wait_sell'] = "Bitte warte, bevor du erneut Kryptowährung verkaufst.",
+ ['crypto_please_wait_buy'] = "Bitte warte, bevor du erneut Kryptowährung kaufst.",
+ ['bank_money_transaction'] = "Geld an %{value} gesendet.",
+ ['control_center_already_in_use'] = "Diese Nummer ist bereits in Benutzung!",
+ ['control_center_leave'] = "Du hast die Leitstelle für die %{value} verlassen!",
+ ['control_center_take_control'] = "Drücke E um die Leitstelle für die %{value} zu übernehmen.",
+ ['control_center_taken_control'] = "Du hast die Leitstelle für die %{value} übernommen!",
+ ['control_center_cannot_leave'] = "Du kannst aktuell die Leitstelle nicht verlassen.",
+ ['messages_groupchat_added'] = "Du wurdest zur Gruppe %{value} hinzugefügt.",
+ ['voice_memos_default_name'] = "Neue Aufnahme",
+ ['message_app_already_in_group'] = "Du bist bereits in dieser Gruppe.",
+ ['taxi_app_canceled'] = "Abgebrochen",
+ ['taxi_app_canceled_text'] = "Der Taxifahrer hat deine Fahrt abgebrochen",
+ ['taxi_app_finished'] = "Beendet",
+ ['taxi_app_finished_text'] = "Du bist an deinem Ziel angekommen",
+ ['taxi_app_finished_text_driver'] = "Du hast den Kunden am Zielort abgesetzt",
+ ['taxi_app_pickedup'] = "Abgeholt",
+ ['taxi_app_pickedup_text'] = "Der Taxifahrer hat dich an deinem Standort abgeholt",
+ ['taxi_app_driver_on_way'] = "Fahrer unterwegs",
+ ['taxi_app_driver_on_way_text'] = "Der Taxifahrer ist unterwegs",
+ ['taxi_app_driver_got_job'] = "Auftrag erhalten!",
+ ['taxi_app_driver_got_job_text'] = "Lass uns zum Kunden fahren!",
+ ['taxi_app_new_job'] = "Neuer Auftrag!",
+ ['taxi_app_new_job_text'] = "Ein neuer Auftrag ist verfügbar!",
+ ['taxi_app_bank_transaction'] = "Taxi-Einnahmen",
+ ['taxi_app_customer_not_in_vehicle'] = "Nicht im Fahrzeug",
+ ['taxi_app_customer_not_in_vehicle_text'] = "Der Kunde befindet sich nicht in deinem Fahrzeug",
+ ['taxi_app_driver_not_in_car'] = "Nicht im Auto",
+ ['taxi_app_driver_not_in_car_text'] = "Du musst in einem Auto sein, um einen Auftrag anzunehmen",
+ ['taxi_app_salary'] = "Gehalt",
+ ['taxi_app_salary_text'] = "Du hast %{value} € für die Taxifahrt erhalten.",
+ ['bank_app_received_money_text'] = "Du hast %{value} € erhalten.",
+ ['bank_app_sent_money_text'] = "Du hast %{value} € gesendet.",
+ ['call_already_blocked'] = "Person wurde bereits blockiert.",
+ ['messages_cannot_send_blocked'] = "Du kannst personen die du blockiert hast keine Nachricht schreiben.",
+ ['system_mail'] = "System@cloud.org"
+},
+text = {},
+}
+
+Lang = Locale:new({
+phrases = Translations,
+warnOnMissing = true
+})
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/locales/el.lua b/resources/[phone]/roadphone/locales/el.lua
new file mode 100644
index 000000000..561c8d1da
--- /dev/null
+++ b/resources/[phone]/roadphone/locales/el.lua
@@ -0,0 +1,81 @@
+local Translations = {
+ error = {},
+ success = {},
+ info = {
+ ['openphone'] = 'Άνοξε το κινητό',
+ ['nophone'] = 'Δεν έχεις κινητό.',
+ ['noroadpods'] = 'Δεν έχεις roadpods.',
+ ['day_saturday'] = 'Σάββατο',
+ ['day_sunday'] = 'Κυριακή',
+ ['day_monday'] = 'Δευτέρα',
+ ['day_tuesday'] = 'Τρίτη',
+ ['day_wednesday'] = 'Τετάρτη',
+ ['day_thursday'] = 'Πέμπτη',
+ ['day_friday'] = 'Παρασκευή',
+ ['radiojoined'] = 'Συνδέθηκες στον ασύρματο %{value}',
+ ['fixphone'] = 'Αν δεν φύγει το μύνημα γράψε /fixphone.',
+ ['message_app_new_message'] = 'Νέο μύνημα από %{value}',
+ ["message_app_new_groupmessage"] = "Νέο μύνημα στην ομαδική",
+ ['mail_received'] = " Σας έστειλε ένα e-mail.",
+ ["billing_paid"] = "Η Απόδειξη πληρώθηκε $",
+ ["billing_notmoney"] = "Δεν έχεις αρκετά χρήματα.",
+ ['bill_paid'] = 'πληρωμένος λογαριασμός ',
+ ['bill_paid2'] = '$ πληρώθηκε.',
+ ['society_bill_paid'] = 'Ένας από τους λογαριασμούς σας ',
+ ['society_bill_paid2'] = '$ πληρώθηκε.',
+ ['valet_car_delivered'] = "Παράδοση αυτοκινήτου",
+ ['valet_car_delivered_2'] = " παραδόθηκε το αυτοκίνητό του, για %{value} $",
+ ['messages_app_newgroup_name'] = "Νέα Ομαδική",
+ ["command_required_information"] = "Δεν γράψατε τις απαιτούμενες πληροφορίες",
+ ['wave_verify'] = "Έγινε επαλήθευση",
+ ['wave_remove_verify'] = "Δεν έισαι πλέον επαληθευμένος",
+ ['connect_verify'] = "Έγινε επαλήθευση",
+ ['connect_remove_verify'] = "Δεν έισαι πλέον επαληθευμένος",
+ ['crypto_error_buymore'] = "Αγοράστε Crypto που αξίζει περισσότερο από 1$",
+ ['crypto_error_sellmore'] = "Πουλήστε το Crypto που αξίζει περισσότερο από 1$",
+ ['crypto_error_nomoney'] = "Δεν έχετε αρκετά χρήματα για να αγοράσετε Crypto.",
+ ['crypto_error_nocrypto'] = "Δεν έχετε αρκετά κρυπτονομίσματα για να πουλήσετε.",
+ ['crypto_please_wait_sell'] = "Περιμένετε πριν πουλήσετε ξανά κρυπτονομίσματα.",
+ ['crypto_please_wait_buy'] = "Περιμένετε πριν αγοράσετε ξανά crypto.",
+ ['bank_money_transaction'] = "Τα χρήματα αποστέλλονται σε %{value}.",
+ ['control_center_already_in_use'] = "Αυτός ο αριθμός χρησιμοποιείται ήδη!",
+ ['control_center_leave'] = "Αφήσατε το κέντρο ελέγχου για το %{value}!",
+ ['control_center_take_control'] = "Πατήστε E για να αναλάβετε το κέντρο ελέγχου για το %{value}.",
+ ['control_center_taken_control'] = "Έχετε αναλάβει το κέντρο ελέγχου για το %{value} !",
+ ['control_center_cannot_leave'] = "Αυτήν τη στιγμή δεν μπορείτε να φύγετε από το κέντρο ελέγχου.",
+ ['messages_groupchat_added'] = "Έχετε προστεθεί στο %{value} group.",
+ ['voice_memos_default_name'] = "Νέα ηχογράφηση",
+ ['message_app_already_in_group'] = "Είστε ήδη σε αυτήν την ομαδική.",
+ ['taxi_app_canceled'] = "Cancelled",
+ ['taxi_app_canceled_text'] = "The taxi driver has cancelled your ride",
+ ['taxi_app_finished'] = "Finished",
+ ['taxi_app_finished_text'] = "You are at your destination",
+ ['taxi_app_finished_text_driver'] = "You left the customer at the location",
+ ['taxi_app_pickedup'] = "Picked Up",
+ ['taxi_app_pickedup_text'] = "Taxi driver picked you up from your location",
+ ['taxi_app_driver_on_way'] = "Driver on the way",
+ ['taxi_app_driver_on_way_text'] = "Taxi driver is on the way",
+ ['taxi_app_driver_got_job'] = "Got the job!",
+ ['taxi_app_driver_got_job_text'] = "Lets drive to the customer!",
+ ['taxi_app_new_job'] = "New Job!",
+ ['taxi_app_new_job_text'] = "New job available!",
+ ['taxi_app_bank_transaction'] = "Taxi earnings",
+ ['taxi_app_customer_not_in_vehicle'] = "Not in Vehicle",
+ ['taxi_app_customer_not_in_vehicle_text'] = "The customer is not in your vehicle",
+ ['taxi_app_driver_not_in_car'] = "Not in Car",
+ ['taxi_app_driver_not_in_car_text'] = "You must be in a car to accept a job",
+ ['taxi_app_salary'] = "Salary",
+ ['taxi_app_salary_text'] = "You got %{value} $ for the cab ride.",
+ ['bank_app_received_money_text'] = "You have received %{value} $.",
+ ['bank_app_sent_money_text'] = "You have sent %{value} $.",
+ ['call_already_blocked'] = "Person is already blocked.",
+ ['messages_cannot_send_blocked'] = "You cannot send messages to people you have blocked.",
+ ['system_mail'] = "System@cloud.org"
+},
+text = {},
+}
+
+Lang = Locale:new({
+phrases = Translations,
+warnOnMissing = true
+})
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/locales/en.lua b/resources/[phone]/roadphone/locales/en.lua
new file mode 100644
index 000000000..377e51bfe
--- /dev/null
+++ b/resources/[phone]/roadphone/locales/en.lua
@@ -0,0 +1,82 @@
+local Translations = {
+ error = {},
+ success = {},
+ info = {
+ ['openphone'] = 'Open phone',
+ ['nophone'] = 'You do not own a phone.',
+ ['noroadpods'] = 'You do not own roadpods.',
+ ['day_saturday'] = 'Saturday',
+ ['day_sunday'] = 'Sunday',
+ ['day_monday'] = 'Monday',
+ ['day_tuesday'] = 'Tuesday',
+ ['day_wednesday'] = 'Wednesday',
+ ['day_thursday'] = 'Thursday',
+ ['day_friday'] = 'Friday',
+ ['radiojoined'] = 'You have entered the radio %{value}',
+ ['fixphone'] = 'If this message is not gone in a few seconds type /fixphone.',
+ ['message_app_new_message'] = 'New Message from %{value}',
+ ["message_app_new_groupmessage"] = "New message to the group",
+ ['mail_received'] = " has sent you an email.",
+ ["billing_paid"] = "The bill has been paid $",
+ ["billing_notmoney"] = "You don't have enough money.",
+ ['bill_paid'] = 'The bill of ',
+ ['bill_paid2'] = '$ was paid.',
+ ['society_bill_paid'] = 'One of your bills of ',
+ ['society_bill_paid2'] = '$ was paid.',
+ ['valet_car_delivered'] = "Car delivered",
+ ['valet_car_delivered_2'] = " has his car delivered, for %{value} $",
+ ['messages_app_newgroup_name'] = "New Group",
+ ["command_required_information"] = "You did not write the required information",
+ ['wave_verify'] = "You have verified the player",
+ ['wave_remove_verify'] = "The player is now no longer verified",
+ ['connect_verify'] = "You have verified the player",
+ ['connect_remove_verify'] = "The player is now no longer verified",
+ ['crypto_error_buymore'] = "Buy Crypto worth more than 1$",
+ ['crypto_error_sellmore'] = "Sell Crypto worth more than 1$",
+ ['crypto_error_nomoney'] = "You don't have enough money to buy Crypto.",
+ ['crypto_error_nocrypto'] = "You do not have enough crypto to sell.",
+ ['crypto_please_wait_sell'] = "Please wait before sell crypto again.",
+ ['crypto_please_wait_buy'] = "Please wait before buy crypto again.",
+ ['bank_money_transaction'] = "Money sent to %{value}.",
+ ['control_center_already_in_use'] = "This number is already in use!",
+ ['control_center_leave'] = "You left the control center for the %{value}!",
+ ['control_center_take_control'] = "Press E to take over the control center for the %{value}.",
+ ['control_center_taken_control'] = "You have taken over the control center for the %{value} !",
+ ['control_center_cannot_leave'] = "You cannot currently leave the control center.",
+ ['messages_groupchat_added'] = "You have been added to the %{value} group.",
+ ['voice_memos_default_name'] = "New Recording",
+ ['message_app_already_in_group'] = "You are already in this group.",
+ ['taxi_app_canceled'] = "Cancelled",
+ ['taxi_app_canceled_text'] = "The taxi driver has cancelled your ride",
+ ['taxi_app_finished'] = "Finished",
+ ['taxi_app_finished_text'] = "You are at your destination",
+ ['taxi_app_finished_text_driver'] = "You left the customer at the location",
+ ['taxi_app_pickedup'] = "Picked Up",
+ ['taxi_app_pickedup_text'] = "Taxi driver picked you up from your location",
+ ['taxi_app_driver_on_way'] = "Driver on the way",
+ ['taxi_app_driver_on_way_text'] = "Taxi driver is on the way",
+ ['taxi_app_driver_got_job'] = "Got the job!",
+ ['taxi_app_driver_got_job_text'] = "Lets drive to the customer!",
+ ['taxi_app_new_job'] = "New Job!",
+ ['taxi_app_new_job_text'] = "New job available!",
+ ['taxi_app_bank_transaction'] = "Taxi earnings",
+ ['taxi_app_customer_not_in_vehicle'] = "Not in Vehicle",
+ ['taxi_app_customer_not_in_vehicle_text'] = "The customer is not in your vehicle",
+ ['taxi_app_driver_not_in_car'] = "Not in Car",
+ ['taxi_app_driver_not_in_car_text'] = "You must be in a car to accept a job",
+ ['taxi_app_salary'] = "Salary",
+ ['taxi_app_salary_text'] = "You got %{value} $ for the cab ride.",
+ ['bank_app_received_money_text'] = "You have received %{value} $.",
+ ['bank_app_sent_money_text'] = "You have sent %{value} $.",
+ ['call_already_blocked'] = "Person is already blocked.",
+ ['messages_cannot_send_blocked'] = "You cannot send messages to people you have blocked.",
+ ['system_mail'] = "System@cloud.org"
+
+},
+text = {},
+}
+
+Lang = Locale:new({
+phrases = Translations,
+warnOnMissing = true
+})
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/locales/es.lua b/resources/[phone]/roadphone/locales/es.lua
new file mode 100644
index 000000000..5e4fb8d1d
--- /dev/null
+++ b/resources/[phone]/roadphone/locales/es.lua
@@ -0,0 +1,81 @@
+local Translations = {
+ error = {},
+ success = {},
+ info = {
+ ['openphone'] = 'Abrrir Teléfono',
+ ['nophone'] = 'No tienes un teléfono.',
+ ['noroadpods'] = 'You do not own roadpods.',
+ ['day_saturday'] = 'Sábado',
+ ['day_sunday'] = 'Domingo',
+ ['day_monday'] = 'Lunes',
+ ['day_tuesday'] = 'Martes',
+ ['day_wednesday'] = 'Miércoles',
+ ['day_thursday'] = 'Jueves',
+ ['day_friday'] = 'Viernes',
+ ['radiojoined'] = 'Has ingresado al radio %{value}',
+ ['fixphone'] = 'Si este mensaje no desaparece en unos segundos, escribe /fixphone.',
+ ['message_app_new_message'] = 'Nuevo mensaje de %{value}',
+ ["message_app_new_groupmessage"] = "Nuevo mensaje en el grupo",
+ ['mail_received'] = " te ha enviado un correo electrónico.",
+ ["billing_paid"] = "La factura ha sido pagada $",
+ ["billing_notmoney"] = "No tienes suficiente dinero.",
+ ['bill_paid'] = 'La factura de ',
+ ['bill_paid2'] = '$ fue pagada.',
+ ['society_bill_paid'] = 'Una de tus facturas de ',
+ ['society_bill_paid2'] = '$ fue pagada.',
+ ['valet_car_delivered'] = "Coche entregado",
+ ['valet_car_delivered_2'] = " ha recibido su coche, por %{value} $",
+ ['messages_app_newgroup_name'] = "Nuevo Grupo",
+ ["command_required_information"] = "No escribiste la información requerida",
+ ['wave_verify'] = "Has verificado al jugador",
+ ['wave_remove_verify'] = "El jugador ya no está verificado",
+ ['connect_verify'] = "Has verificado al jugador",
+ ['connect_remove_verify'] = "El jugador ya no está verificado",
+ ['crypto_error_buymore'] = "Compra criptomonedas por un valor de más de 1$",
+ ['crypto_error_sellmore'] = "Vende criptomonedas por un valor de más de 1$",
+ ['crypto_error_nomoney'] = "No tienes suficiente dinero para comprar criptomonedas.",
+ ['crypto_error_nocrypto'] = "No tienes suficiente criptomoneda para vender.",
+ ['crypto_please_wait_sell'] = "Espera antes de vender criptomonedas nuevamente.",
+ ['crypto_please_wait_buy'] = "Espera antes de comprar criptomonedas nuevamente.",
+ ['bank_money_transaction'] = "Dinero enviado a %{value}.",
+ ['control_center_already_in_use'] = "This number is already in use!",
+ ['control_center_leave'] = "You left the control center for the %{value}!",
+ ['control_center_take_control'] = "Press E to take over the control center for the %{value}.",
+ ['control_center_taken_control'] = "You have taken over the control center for the %{value} !",
+ ['control_center_cannot_leave'] = "You cannot currently leave the control center.",
+ ['messages_groupchat_added'] = "You have been added to the %{value} group.",
+ ['voice_memos_default_name'] = "New Recording",
+ ['message_app_already_in_group'] = "You are already in this group.",
+ ['taxi_app_canceled'] = "Cancelled",
+ ['taxi_app_canceled_text'] = "The taxi driver has cancelled your ride",
+ ['taxi_app_finished'] = "Finished",
+ ['taxi_app_finished_text'] = "You are at your destination",
+ ['taxi_app_finished_text_driver'] = "You left the customer at the location",
+ ['taxi_app_pickedup'] = "Picked Up",
+ ['taxi_app_pickedup_text'] = "Taxi driver picked you up from your location",
+ ['taxi_app_driver_on_way'] = "Driver on the way",
+ ['taxi_app_driver_on_way_text'] = "Taxi driver is on the way",
+ ['taxi_app_driver_got_job'] = "Got the job!",
+ ['taxi_app_driver_got_job_text'] = "Lets drive to the customer!",
+ ['taxi_app_new_job'] = "New Job!",
+ ['taxi_app_new_job_text'] = "New job available!",
+ ['taxi_app_bank_transaction'] = "Taxi earnings",
+ ['taxi_app_customer_not_in_vehicle'] = "Not in Vehicle",
+ ['taxi_app_customer_not_in_vehicle_text'] = "The customer is not in your vehicle",
+ ['taxi_app_driver_not_in_car'] = "Not in Car",
+ ['taxi_app_driver_not_in_car_text'] = "You must be in a car to accept a job",
+ ['taxi_app_salary'] = "Salary",
+ ['taxi_app_salary_text'] = "You got %{value} $ for the cab ride.",
+ ['bank_app_received_money_text'] = "You have received %{value} $.",
+ ['bank_app_sent_money_text'] = "You have sent %{value} $.",
+ ['call_already_blocked'] = "Person is already blocked.",
+ ['messages_cannot_send_blocked'] = "You cannot send messages to people you have blocked.",
+ ['system_mail'] = "System@cloud.org"
+},
+text = {},
+}
+
+Lang = Locale:new({
+phrases = Translations,
+warnOnMissing = true
+})
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/locales/fr.lua b/resources/[phone]/roadphone/locales/fr.lua
new file mode 100644
index 000000000..722c4c69e
--- /dev/null
+++ b/resources/[phone]/roadphone/locales/fr.lua
@@ -0,0 +1,82 @@
+local Translations = {
+ error = {},
+ success = {},
+ info = {
+ ['openphone'] = 'Ouvrir le téléphone',
+ ['nophone'] = 'Vous ne possédez pas de téléphone.',
+ ['noroadpods'] = 'You do not own roadpods.',
+ ['day_saturday'] = 'Samedi',
+ ['day_sunday'] = 'dimanche',
+ ['day_monday'] = 'lundi',
+ ['day_tuesday'] = 'mardi',
+ ['day_wednesday'] = 'mercredi',
+ ['day_thursday'] = 'jeudi',
+ ['day_friday'] = 'vendredi',
+ ['radiojoined'] = 'Vous avez entré la radio %{value}',
+ ['fixphone'] = 'Si ce message ne disparaît pas dans quelques secondes, tapez /fixphone.',
+ ['message_app_new_message'] = 'Nouveau message de %{value}',
+ ["message_app_new_groupmessage"] = "Nouveau message au groupe",
+ ['mail_received'] = " vous a envoyé un e-mail.",
+ ["billing_paid"] = "La facture a été payée $",
+ ["billing_notmoney"] = "Vous n'avez pas assez d'argent.",
+ ['bill_paid'] = 'La facture de ',
+ ['bill_paid2'] = '$ a été payé.',
+ ['society_bill_paid'] = 'Une de vos factures de ',
+ ['society_bill_paid2'] = '$ a été payé.',
+ ['valet_car_delivered'] = "Voiture livrée",
+ ['valet_car_delivered_2'] = " se fait livrer sa voiture, pour %{value} $",
+ ['messages_app_newgroup_name'] = "Nouveau groupe",
+ ["command_required_information"] = "Vous n'avez pas écrit les informations requises",
+ ['wave_verify'] = "Vous avez vérifié le joueur",
+ ['wave_remove_verify'] = "Le joueur n'est plus vérifié",
+ ['connect_verify'] = "Vous avez vérifié le joueur",
+ ['connect_remove_verify'] = "Le joueur n'est plus vérifié",
+ ['crypto_error_buymore'] = "Achetez des cryptos d'une valeur supérieure à 1 $",
+ ['crypto_error_sellmore'] = "Vendre des cryptos d'une valeur supérieure à 1 $",
+ ['crypto_error_nomoney'] = "Vous n'avez pas assez d'argent pour acheter Crypto.",
+ ['crypto_error_nocrypto'] = "Vous n'avez pas assez de crypto à vendre.",
+ ['crypto_Please_wait_sell'] = "Veuillez patienter avant de revendre la crypto.",
+ ['crypto_Please_wait_buy'] = "Veuillez patienter avant d'acheter à nouveau la crypto.",
+ ['bank_money_transaction'] = "Argent envoyé à %{value}.",
+ ['control_center_already_in_use'] = "This number is already in use!",
+ ['control_center_leave'] = "You left the control center for the %{value}!",
+ ['control_center_take_control'] = "Press E to take over the control center for the %{value}.",
+ ['control_center_taken_control'] = "You have taken over the control center for the %{value} !",
+ ['control_center_cannot_leave'] = "You cannot currently leave the control center.",
+ ['messages_groupchat_added'] = "You have been added to the %{value} group.",
+ ['voice_memos_default_name'] = "New Recording",
+ ['message_app_already_in_group'] = "You are already in this group.",
+ ['taxi_app_canceled'] = "Cancelled",
+ ['taxi_app_canceled_text'] = "The taxi driver has cancelled your ride",
+ ['taxi_app_finished'] = "Finished",
+ ['taxi_app_finished_text'] = "You are at your destination",
+ ['taxi_app_finished_text_driver'] = "You left the customer at the location",
+ ['taxi_app_pickedup'] = "Picked Up",
+ ['taxi_app_pickedup_text'] = "Taxi driver picked you up from your location",
+ ['taxi_app_driver_on_way'] = "Driver on the way",
+ ['taxi_app_driver_on_way_text'] = "Taxi driver is on the way",
+ ['taxi_app_driver_got_job'] = "Got the job!",
+ ['taxi_app_driver_got_job_text'] = "Lets drive to the customer!",
+ ['taxi_app_new_job'] = "New Job!",
+ ['taxi_app_new_job_text'] = "New job available!",
+ ['taxi_app_bank_transaction'] = "Taxi earnings",
+ ['taxi_app_customer_not_in_vehicle'] = "Not in Vehicle",
+ ['taxi_app_customer_not_in_vehicle_text'] = "The customer is not in your vehicle",
+ ['taxi_app_driver_not_in_car'] = "Not in Car",
+ ['taxi_app_driver_not_in_car_text'] = "You must be in a car to accept a job",
+ ['taxi_app_salary'] = "Salary",
+ ['taxi_app_salary_text'] = "You got %{value} $ for the cab ride.",
+ ['bank_app_received_money_text'] = "You have received %{value} $.",
+ ['bank_app_sent_money_text'] = "You have sent %{value} $.",
+ ['call_already_blocked'] = "Person is already blocked.",
+ ['messages_cannot_send_blocked'] = "You cannot send messages to people you have blocked.",
+ ['system_mail'] = "System@cloud.org"
+
+},
+text = {},
+}
+
+Lang = Locale:new({
+phrases = Translations,
+warnOnMissing = true
+})
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/locales/it.lua b/resources/[phone]/roadphone/locales/it.lua
new file mode 100644
index 000000000..068e64563
--- /dev/null
+++ b/resources/[phone]/roadphone/locales/it.lua
@@ -0,0 +1,83 @@
+local Translations = {
+ error = {},
+ success = {},
+ info = {
+ ['openphone'] = 'Apri il telefono',
+ ['nophone'] = 'Non possiedi un telefono.',
+ ['noroadpods'] = 'Non possiedi roadpods.',
+ ['day_saturday'] = 'Sabato',
+ ['day_sunday'] = 'Domenica',
+ ['day_monday'] = 'Lunedì',
+ ['day_tuesday'] = 'Martedì',
+ ['day_wednesday'] = 'Mercoledì',
+ ['day_thursday'] = 'Giovedì',
+ ['day_friday'] = 'Venerdì',
+ ['radiojoined'] = 'Sei entrato nella radio %s',
+ ['fixphone'] = 'Se questo messaggio non scompare in pochi secondi, digita /fixphone.',
+ ['message_app_new_message'] = 'Nuovo messaggio da %s',
+ ["message_app_new_groupmessage"] = "Nuovo messaggio al gruppo",
+ ['mail_received'] = " ti ha inviato un'email.",
+ ["billing_paid"] = "La fattura è stata pagata $",
+ ["billing_notmoney"] = "Non hai abbastanza soldi.",
+ ['bill_paid'] = 'La fattura di ',
+ ['bill_paid2'] = '$ è stata pagata.',
+ ['society_bill_paid'] = 'Una delle tue fatture di ',
+ ['society_bill_paid2'] = '$ è stata pagata.',
+ ['valet_car_delivered'] = "Auto consegnata",
+ ['valet_car_delivered_2'] = " ha ricevuto la sua auto consegnata, per %s $",
+ ['messages_app_newgroup_name'] = "Nuovo gruppo",
+ ["command_required_information"] = "Non hai scritto le informazioni richieste",
+ ['wave_verify'] = "Hai verificato il giocatore",
+ ['wave_remove_verify'] = "Il giocatore non è più verificato",
+ ['connect_verify'] = "Hai verificato il giocatore",
+ ['connect_remove_verify'] = "Il giocatore non è più verificato",
+ ['crypto_error_buymore'] = "Compra criptovalute per un valore superiore a 1$",
+ ['crypto_error_sellmore'] = "Vendi criptovalute per un valore superiore a 1$",
+ ['crypto_error_nomoney'] = "Non hai abbastanza soldi per comprare criptovalute.",
+ ['crypto_error_nocrypto'] = "Non hai abbastanza criptovaluta da vendere.",
+ ['crypto_please_wait_sell'] = "Attendi prima di vendere di nuovo criptovalute.",
+ ['crypto_please_wait_buy'] = "Attendi prima di comprare di nuovo criptovalute.",
+ ['bank_money_transaction'] = "Denaro inviato a %s.",
+ ['control_center_already_in_use'] = "Questo numero è già in uso!",
+ ['control_center_leave'] = "Hai lasciato il centro di controllo per il %s!",
+ ['control_center_take_control'] = "Premi E per prendere il controllo del centro di controllo per il %s.",
+ ['control_center_taken_control'] = "Hai preso il controllo del centro di controllo per il %s!",
+ ['control_center_cannot_leave'] = "Attualmente non puoi lasciare il centro di controllo.",
+ ['messages_groupchat_added'] = "Sei stato aggiunto al gruppo %s.",
+ ['voice_memos_default_name'] = "Nuova registrazione",
+ ['message_app_already_in_group'] = "Sei già in questo gruppo.",
+ ['nobattery'] = "Il telefono non ha batteria",
+ ['taxi_app_canceled'] = "Annullato",
+ ['taxi_app_canceled_text'] = "L'autista del taxi ha annullato il viaggio",
+ ['taxi_app_finished'] = "Completato",
+ ['taxi_app_finished_text'] = "Sei arrivato a destinazione",
+ ['taxi_app_finished_text_driver'] = "Hai lasciato il cliente nella posizione",
+ ['taxi_app_pickedup'] = "Preso",
+ ['taxi_app_pickedup_text'] = "L'autista del taxi ti ha preso dalla tua posizione",
+ ['taxi_app_driver_on_way'] = "Autista in arrivo",
+ ['taxi_app_driver_on_way_text'] = "L'autista del taxi è in arrivo",
+ ['taxi_app_driver_got_job'] = "Lavoro ricevuto!",
+ ['taxi_app_driver_got_job_text'] = "Andiamo verso il cliente!",
+ ['taxi_app_new_job'] = "Nuovo lavoro!",
+ ['taxi_app_new_job_text'] = "Nuovo lavoro disponibile!",
+ ['taxi_app_bank_transaction'] = "Guadagni del taxi",
+ ['taxi_app_customer_not_in_vehicle'] = "Cliente non nel veicolo",
+ ['taxi_app_customer_not_in_vehicle_text'] = "Il cliente non è nel tuo veicolo",
+ ['taxi_app_driver_not_in_car'] = "Non in macchina",
+ ['taxi_app_driver_not_in_car_text'] = "Devi essere in macchina per accettare un lavoro",
+ ['taxi_app_salary'] = "Stipendio",
+ ['taxi_app_salary_text'] = "Hai ricevuto %s $ per il viaggio in taxi.",
+ ['bank_app_received_money_text'] = "Hai ricevuto %s $.",
+ ['bank_app_sent_money_text'] = "Hai inviato %s $.",
+ ['billing_not_provided'] = "Not provided",
+ ['call_already_blocked'] = "Person is already blocked.",
+ ['messages_cannot_send_blocked'] = "You cannot send messages to people you have blocked.",
+ ['system_mail'] = "System@cloud.org"
+},
+text = {},
+}
+
+Lang = Locale:new({
+phrases = Translations,
+warnOnMissing = true
+})
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/locales/pl.lua b/resources/[phone]/roadphone/locales/pl.lua
new file mode 100644
index 000000000..fe114ff8f
--- /dev/null
+++ b/resources/[phone]/roadphone/locales/pl.lua
@@ -0,0 +1,81 @@
+local Translations = {
+ error = {},
+ success = {},
+ info = {
+ ['openphone'] = 'Otwórz telefon',
+ ['nophone'] = 'Nie masz telefonu.',
+ ['noroadpods'] = 'You do not own roadpods.',
+ ['day_saturday'] = 'Sobota',
+ ['day_sunday'] = 'niedziela',
+ ['day_monday'] = 'Poniedziałek',
+ ['day_tuesday'] = 'wtorek',
+ ['day_wednesday'] = 'Środa',
+ ['day_thursday'] = 'Czwartek',
+ ['day_friday'] = 'Piątek',
+ ['radiojoined'] = 'Wszedłeś do radia %{value}',
+ ['fixphone'] = 'Jeśli ta wiadomość nie zniknie w ciągu kilku sekund, wpisz /fixphone.',
+ ['message_app_new_message'] = 'Nowa wiadomość od %{value}',
+ ["message_app_new_groupmessage"] = "Nowa wiadomość do grupy",
+ ['mail_received'] = "wysłał Ci wiadomość e-mail.",
+ ["billing_paid"] = "Rachunek został zapłacony $",
+ ["billing_notmoney"] = "Nie masz wystarczającej ilości pieniędzy.",
+ ['bill_paid'] = 'Rachunek ',
+ ['bill_paid2'] = '$ zostało zapłacone.',
+ ['society_bill_paid'] = 'Jeden z twoich rachunków ',
+ ['society_bill_paid2'] = '$ zostało zapłacone.',
+ ['valet_car_delivered'] = "Samochód dostarczony",
+ ['valet_car_delivered_2'] = "dostarczono mu samochód za %{value} $",
+ ['messages_app_newgroup_name'] = "Nowa grupa",
+ ["command_required_information"] = "Nie wpisałeś wymaganych informacji",
+ ['wave_verify'] = "Zweryfikowałeś gracza",
+ ['wave_remove_verify'] = "Gracz nie jest już zweryfikowany",
+ ['connect_verify'] = "Zweryfikowałeś gracza",
+ ['connect_remove_verify'] = "Odtwarzacz nie jest już zweryfikowany",
+ ['crypto_error_buymore'] = "Kup Crypto warte więcej niż 1$",
+ ['crypto_error_sellmore'] = "Sprzedaj krypto warte więcej niż 1 $",
+ ['crypto_error_nomoney'] = "Nie masz wystarczającej ilości pieniędzy, aby kupić Crypto.",
+ ['crypto_error_nocrypto'] = "Nie masz wystarczającej ilości kryptowalut do sprzedaży.",
+ ['crypto_please_wait_sell'] = "Proszę zaczekać przed ponowną sprzedażą kryptowaluty.",
+ ['crypto_please_wait_buy'] = "Zaczekaj, zanim ponownie kupisz kryptowalutę.",
+ ['bank_money_transaction'] = "Pieniądze wysłane do %{value}.",
+ ['control_center_already_in_use'] = "This number is already in use!",
+ ['control_center_leave'] = "You left the control center for the %{value}!",
+ ['control_center_take_control'] = "Press E to take over the control center for the %{value}.",
+ ['control_center_taken_control'] = "You have taken over the control center for the %{value} !",
+ ['control_center_cannot_leave'] = "You cannot currently leave the control center.",
+ ['messages_groupchat_added'] = "You have been added to the %{value} group.",
+ ['voice_memos_default_name'] = "New Recording",
+ ['message_app_already_in_group'] = "You are already in this group.",
+ ['taxi_app_canceled'] = "Cancelled",
+ ['taxi_app_canceled_text'] = "The taxi driver has cancelled your ride",
+ ['taxi_app_finished'] = "Finished",
+ ['taxi_app_finished_text'] = "You are at your destination",
+ ['taxi_app_finished_text_driver'] = "You left the customer at the location",
+ ['taxi_app_pickedup'] = "Picked Up",
+ ['taxi_app_pickedup_text'] = "Taxi driver picked you up from your location",
+ ['taxi_app_driver_on_way'] = "Driver on the way",
+ ['taxi_app_driver_on_way_text'] = "Taxi driver is on the way",
+ ['taxi_app_driver_got_job'] = "Got the job!",
+ ['taxi_app_driver_got_job_text'] = "Lets drive to the customer!",
+ ['taxi_app_new_job'] = "New Job!",
+ ['taxi_app_new_job_text'] = "New job available!",
+ ['taxi_app_bank_transaction'] = "Taxi earnings",
+ ['taxi_app_customer_not_in_vehicle'] = "Not in Vehicle",
+ ['taxi_app_customer_not_in_vehicle_text'] = "The customer is not in your vehicle",
+ ['taxi_app_driver_not_in_car'] = "Not in Car",
+ ['taxi_app_driver_not_in_car_text'] = "You must be in a car to accept a job",
+ ['taxi_app_salary'] = "Salary",
+ ['taxi_app_salary_text'] = "You got %{value} $ for the cab ride.",
+ ['bank_app_received_money_text'] = "You have received %{value} $.",
+ ['bank_app_sent_money_text'] = "You have sent %{value} $.",
+ ['call_already_blocked'] = "Person is already blocked.",
+ ['messages_cannot_send_blocked'] = "You cannot send messages to people you have blocked.",
+ ['system_mail'] = "System@cloud.org"
+},
+text = {},
+}
+
+Lang = Locale:new({
+phrases = Translations,
+warnOnMissing = true
+})
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/locales/tr.lua b/resources/[phone]/roadphone/locales/tr.lua
new file mode 100644
index 000000000..cceeab776
--- /dev/null
+++ b/resources/[phone]/roadphone/locales/tr.lua
@@ -0,0 +1,81 @@
+local Translations = {
+ error = {},
+ success = {},
+ info = {
+ ['openphone'] = 'Telefonu aç.',
+ ['nophone'] = 'Telefonun yok.',
+ ['noroadpods'] = 'You do not own roadpods.',
+ ['day_saturday'] = 'Cumartesi',
+ ['day_sunday'] = 'Pazar',
+ ['day_monday'] = 'Pazartesi',
+ ['day_tuesday'] = 'Salı ',
+ ['day_wednesday'] = 'Çarşamba',
+ ['day_thursday'] = 'Perşembe',
+ ['day_friday'] = 'Cuma',
+ ['radiojoined'] = '%{value} frekansına bağlandın.',
+ ['fixphone'] = 'Eğer bu mesaj az sonra kaybolmazsa, /fixphone yaz.',
+ ['message_app_new_message'] = '%{value} numaralı kişiden yeni bir mesajın var.',
+ ["message_app_new_groupmessage"] = "Yeni grup mesajı",
+ ['mail_received'] = " sana E-mail gönderdi.",
+ ["billing_paid"] = "Fatura ödendi $",
+ ["billing_notmoney"] = "Yeterli paran yok.",
+ ['bill_paid'] = '$ tutarında',
+ ['bill_paid2'] = 'faturanı ödendin.',
+ ['society_bill_paid'] = '$ tutarında bir ',
+ ['society_bill_paid2'] = 'fatura ödendi.',
+ ['valet_car_delivered'] = "Araban %{value} $a",
+ ['valet_car_delivered_2'] = "teslim edildi.",
+ ['messages_app_newgroup_name'] = "Yeni grup",
+ ["command_required_information"] = "Gerekli bilgileri doldurmadın.",
+ ['wave_verify'] = "Kişiyi doğruladın.",
+ ['wave_remove_verify'] = "Kişi artık doğrulanmış değil.",
+ ['connect_verify'] = "Kişiyi doğruladın.",
+ ['connect_remove_verify'] = "Kişi artık doğrulanmış değil.",
+ ['crypto_error_buymore'] = "1$'dan daha yüksek bir tutara eşdeğer Kripto al.",
+ ['crypto_error_sellmore'] = "'dan daha yüksek bir tutara eşdeğer Kripto sat.",
+ ['crypto_error_nomoney'] = "Kripto almak için yerli paran yok.",
+ ['crypto_error_nocrypto'] = "Satmak almak için yeterli kripton yok.",
+ ['crypto_please_wait_sell'] = "Tekrar kripto satmak için bekle.",
+ ['crypto_please_wait_buy'] = "Tekrar kripto almak için bekle.",
+ ['bank_money_transaction'] = "%{value} adlı kişiye para yolladın.",
+ ['control_center_already_in_use'] = "This number is already in use!",
+ ['control_center_leave'] = "You left the control center for the %{value}!",
+ ['control_center_take_control'] = "Press E to take over the control center for the %{value}.",
+ ['control_center_taken_control'] = "You have taken over the control center for the %{value} !",
+ ['control_center_cannot_leave'] = "You cannot currently leave the control center.",
+ ['messages_groupchat_added'] = "You have been added to the %{value} group.",
+ ['voice_memos_default_name'] = "New Recording",
+ ['message_app_already_in_group'] = "You are already in this group.",
+ ['taxi_app_canceled'] = "Cancelled",
+ ['taxi_app_canceled_text'] = "The taxi driver has cancelled your ride",
+ ['taxi_app_finished'] = "Finished",
+ ['taxi_app_finished_text'] = "You are at your destination",
+ ['taxi_app_finished_text_driver'] = "You left the customer at the location",
+ ['taxi_app_pickedup'] = "Picked Up",
+ ['taxi_app_pickedup_text'] = "Taxi driver picked you up from your location",
+ ['taxi_app_driver_on_way'] = "Driver on the way",
+ ['taxi_app_driver_on_way_text'] = "Taxi driver is on the way",
+ ['taxi_app_driver_got_job'] = "Got the job!",
+ ['taxi_app_driver_got_job_text'] = "Lets drive to the customer!",
+ ['taxi_app_new_job'] = "New Job!",
+ ['taxi_app_new_job_text'] = "New job available!",
+ ['taxi_app_bank_transaction'] = "Taxi earnings",
+ ['taxi_app_customer_not_in_vehicle'] = "Not in Vehicle",
+ ['taxi_app_customer_not_in_vehicle_text'] = "The customer is not in your vehicle",
+ ['taxi_app_driver_not_in_car'] = "Not in Car",
+ ['taxi_app_driver_not_in_car_text'] = "You must be in a car to accept a job",
+ ['taxi_app_salary'] = "Salary",
+ ['taxi_app_salary_text'] = "You got %{value} $ for the cab ride.",
+ ['bank_app_received_money_text'] = "You have received %{value} $.",
+ ['bank_app_sent_money_text'] = "You have sent %{value} $.",
+ ['call_already_blocked'] = "Person is already blocked.",
+ ['messages_cannot_send_blocked'] = "You cannot send messages to people you have blocked.",
+ ['system_mail'] = "System@cloud.org"
+},
+text = {},
+}
+
+Lang = Locale:new({
+phrases = Translations,
+warnOnMissing = true
+})
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/locales/zh.lua b/resources/[phone]/roadphone/locales/zh.lua
new file mode 100644
index 000000000..0904d320c
--- /dev/null
+++ b/resources/[phone]/roadphone/locales/zh.lua
@@ -0,0 +1,81 @@
+local Translations = {
+ error = {},
+ success = {},
+ info = {
+ ['openphone'] = '打开手机',
+ ['nophone'] = '您没有拥有手机。',
+ ['noroadpods'] = 'You do not own roadpods.',
+ ['day_saturday'] = '星期六',
+ ['day_sunday'] = '星期日',
+ ['day_monday'] = '星期一',
+ ['day_tuesday'] = '星期二',
+ ['day_wednesday'] = '星期三',
+ ['day_thursday'] = '星期四',
+ ['day_friday'] = '星期五',
+ ['radiojoined'] = '您已进入收音机 %{value}',
+ ['fixphone'] = '如果此消息在几秒钟内没有消失,请键入/fixphone。',
+ ['message_app_new_message'] = '新消息来自 %{value}',
+ ["message_app_new_groupmessage"] = "新消息发送至群组",
+ ['mail_received'] = " 发送了一封电子邮件给您。",
+ ["billing_paid"] = "账单已支付 $",
+ ["billing_notmoney"] = "您的余额不足。",
+ ['bill_paid'] = '账单已支付:',
+ ['bill_paid2'] = '美元。',
+ ['society_bill_paid'] = '您的一项账单已支付:',
+ ['society_bill_paid2'] = '美元。',
+ ['valet_car_delivered'] = "汽车已交付",
+ ['valet_car_delivered_2'] = " 已交付他的汽车,金额为 %{value} 美元",
+ ['messages_app_newgroup_name'] = "新群组",
+ ["command_required_information"] = "您未填写所需的信息",
+ ['wave_verify'] = "您已验证该玩家",
+ ['wave_remove_verify'] = "该玩家现已取消验证",
+ ['connect_verify'] = "您已验证该玩家",
+ ['connect_remove_verify'] = "该玩家现已取消验证",
+ ['crypto_error_buymore'] = "购买加密货币必须超过1美元",
+ ['crypto_error_sellmore'] = "出售加密货币必须超过1美元",
+ ['crypto_error_nomoney'] = "您没有足够的资金购买加密货币。",
+ ['crypto_error_nocrypto'] = "您没有足够的加密货币出售。",
+ ['crypto_please_wait_sell'] = "请等待再次出售加密货币。",
+ ['crypto_please_wait_buy'] = "请等待再次购买加密货币。",
+ ['bank_money_transaction'] = "向 %{value} 发送了一笔交易金额。",
+ ['control_center_already_in_use'] = "This number is already in use!",
+ ['control_center_leave'] = "You left the control center for the %{value}!",
+ ['control_center_take_control'] = "Press E to take over the control center for the %{value}.",
+ ['control_center_taken_control'] = "You have taken over the control center for the %{value} !",
+ ['control_center_cannot_leave'] = "You cannot currently leave the control center.",
+ ['messages_groupchat_added'] = "You have been added to the %{value} group.",
+ ['voice_memos_default_name'] = "New Recording",
+ ['message_app_already_in_group'] = "You are already in this group.",
+ ['taxi_app_canceled'] = "Cancelled",
+ ['taxi_app_canceled_text'] = "The taxi driver has cancelled your ride",
+ ['taxi_app_finished'] = "Finished",
+ ['taxi_app_finished_text'] = "You are at your destination",
+ ['taxi_app_finished_text_driver'] = "You left the customer at the location",
+ ['taxi_app_pickedup'] = "Picked Up",
+ ['taxi_app_pickedup_text'] = "Taxi driver picked you up from your location",
+ ['taxi_app_driver_on_way'] = "Driver on the way",
+ ['taxi_app_driver_on_way_text'] = "Taxi driver is on the way",
+ ['taxi_app_driver_got_job'] = "Got the job!",
+ ['taxi_app_driver_got_job_text'] = "Lets drive to the customer!",
+ ['taxi_app_new_job'] = "New Job!",
+ ['taxi_app_new_job_text'] = "New job available!",
+ ['taxi_app_bank_transaction'] = "Taxi earnings",
+ ['taxi_app_customer_not_in_vehicle'] = "Not in Vehicle",
+ ['taxi_app_customer_not_in_vehicle_text'] = "The customer is not in your vehicle",
+ ['taxi_app_driver_not_in_car'] = "Not in Car",
+ ['taxi_app_driver_not_in_car_text'] = "You must be in a car to accept a job",
+ ['taxi_app_salary'] = "Salary",
+ ['taxi_app_salary_text'] = "You got %{value} $ for the cab ride.",
+ ['bank_app_received_money_text'] = "You have received %{value} $.",
+ ['bank_app_sent_money_text'] = "You have sent %{value} $.",
+ ['call_already_blocked'] = "Person is already blocked.",
+ ['messages_cannot_send_blocked'] = "You cannot send messages to people you have blocked.",
+ ['system_mail'] = "System@cloud.org"
+},
+text = {},
+}
+
+Lang = Locale:new({
+phrases = Translations,
+warnOnMissing = true
+})
\ No newline at end of file
diff --git a/resources/[phone]/roadphone/public/assets/BatteryDark-DjcJyyTy.svg b/resources/[phone]/roadphone/public/assets/BatteryDark-DjcJyyTy.svg
new file mode 100644
index 000000000..9d333e3e2
--- /dev/null
+++ b/resources/[phone]/roadphone/public/assets/BatteryDark-DjcJyyTy.svg
@@ -0,0 +1,9 @@
+
diff --git a/resources/[phone]/roadphone/public/assets/Fleeca-Bank-Logo.PNG-BEEjHMw3.webp b/resources/[phone]/roadphone/public/assets/Fleeca-Bank-Logo.PNG-BEEjHMw3.webp
new file mode 100644
index 000000000..608ff2ab8
Binary files /dev/null and b/resources/[phone]/roadphone/public/assets/Fleeca-Bank-Logo.PNG-BEEjHMw3.webp differ
diff --git a/resources/[phone]/roadphone/public/assets/Hello-Bqx1nWwk.otf b/resources/[phone]/roadphone/public/assets/Hello-Bqx1nWwk.otf
new file mode 100644
index 000000000..3f25017bc
Binary files /dev/null and b/resources/[phone]/roadphone/public/assets/Hello-Bqx1nWwk.otf differ
diff --git a/resources/[phone]/roadphone/public/assets/SF-Pro-Display-Regular-BirLXcoT.otf b/resources/[phone]/roadphone/public/assets/SF-Pro-Display-Regular-BirLXcoT.otf
new file mode 100644
index 000000000..f62c68eb6
Binary files /dev/null and b/resources/[phone]/roadphone/public/assets/SF-Pro-Display-Regular-BirLXcoT.otf differ
diff --git a/resources/[phone]/roadphone/public/assets/SF-Pro-Display-Semibold-C36vqgb7.otf b/resources/[phone]/roadphone/public/assets/SF-Pro-Display-Semibold-C36vqgb7.otf
new file mode 100644
index 000000000..081b59b10
Binary files /dev/null and b/resources/[phone]/roadphone/public/assets/SF-Pro-Display-Semibold-C36vqgb7.otf differ
diff --git a/resources/[phone]/roadphone/public/assets/SF-Pro-Text-Regular-AKXA_Lt2.otf b/resources/[phone]/roadphone/public/assets/SF-Pro-Text-Regular-AKXA_Lt2.otf
new file mode 100644
index 000000000..3c50b186c
Binary files /dev/null and b/resources/[phone]/roadphone/public/assets/SF-Pro-Text-Regular-AKXA_Lt2.otf differ
diff --git a/resources/[phone]/roadphone/public/assets/appledark-Ds2WnCty.png b/resources/[phone]/roadphone/public/assets/appledark-Ds2WnCty.png
new file mode 100644
index 000000000..40aeaec73
Binary files /dev/null and b/resources/[phone]/roadphone/public/assets/appledark-Ds2WnCty.png differ
diff --git a/resources/[phone]/roadphone/public/assets/applewhite-0aTAYR9q.png b/resources/[phone]/roadphone/public/assets/applewhite-0aTAYR9q.png
new file mode 100644
index 000000000..9a8da712c
Binary files /dev/null and b/resources/[phone]/roadphone/public/assets/applewhite-0aTAYR9q.png differ
diff --git a/resources/[phone]/roadphone/public/assets/appshop-C-751JhG.webp b/resources/[phone]/roadphone/public/assets/appshop-C-751JhG.webp
new file mode 100644
index 000000000..b9dda0fbe
Binary files /dev/null and b/resources/[phone]/roadphone/public/assets/appshop-C-751JhG.webp differ
diff --git a/resources/[phone]/roadphone/public/assets/bank-CTJsSFTQ.webp b/resources/[phone]/roadphone/public/assets/bank-CTJsSFTQ.webp
new file mode 100644
index 000000000..a3c617ce5
Binary files /dev/null and b/resources/[phone]/roadphone/public/assets/bank-CTJsSFTQ.webp differ
diff --git a/resources/[phone]/roadphone/public/assets/cloud_logo-TT4ak2kh.png b/resources/[phone]/roadphone/public/assets/cloud_logo-TT4ak2kh.png
new file mode 100644
index 000000000..fd3307a0f
Binary files /dev/null and b/resources/[phone]/roadphone/public/assets/cloud_logo-TT4ak2kh.png differ
diff --git a/resources/[phone]/roadphone/public/assets/gps-CTFgVPWU.png b/resources/[phone]/roadphone/public/assets/gps-CTFgVPWU.png
new file mode 100644
index 000000000..ed32e324f
Binary files /dev/null and b/resources/[phone]/roadphone/public/assets/gps-CTFgVPWU.png differ
diff --git a/resources/[phone]/roadphone/public/assets/icon-Blg0PFo2.png b/resources/[phone]/roadphone/public/assets/icon-Blg0PFo2.png
new file mode 100644
index 000000000..2093131e1
Binary files /dev/null and b/resources/[phone]/roadphone/public/assets/icon-Blg0PFo2.png differ
diff --git a/resources/[phone]/roadphone/public/assets/index-BSOGDcS-.js b/resources/[phone]/roadphone/public/assets/index-BSOGDcS-.js
new file mode 100644
index 000000000..9f047d389
--- /dev/null
+++ b/resources/[phone]/roadphone/public/assets/index-BSOGDcS-.js
@@ -0,0 +1,4871 @@
+(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))n(a);new MutationObserver(a=>{for(const s of a)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function i(a){const s={};return a.integrity&&(s.integrity=a.integrity),a.referrerPolicy&&(s.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?s.credentials="include":a.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(a){if(a.ep)return;a.ep=!0;const s=i(a);fetch(a.href,s)}})();/**
+* @vue/shared v3.5.17
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**//*! #__NO_SIDE_EFFECTS__ */function Y_(e){const t=Object.create(null);for(const i of e.split(","))t[i]=1;return i=>i in t}const oi={},nl=[],Ya=()=>{},QE=()=>!1,aA=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),X_=e=>e.startsWith("onUpdate:"),tn=Object.assign,J_=(e,t)=>{const i=e.indexOf(t);i>-1&&e.splice(i,1)},jE=Object.prototype.hasOwnProperty,ei=(e,t)=>jE.call(e,t),vt=Array.isArray,al=e=>sA(e)==="[object Map]",e2=e=>sA(e)==="[object Set]",Et=e=>typeof e=="function",Pi=e=>typeof e=="string",Qs=e=>typeof e=="symbol",bi=e=>e!==null&&typeof e=="object",t2=e=>(bi(e)||Et(e))&&Et(e.then)&&Et(e.catch),i2=Object.prototype.toString,sA=e=>i2.call(e),GE=e=>sA(e).slice(8,-1),n2=e=>sA(e)==="[object Object]",Z_=e=>Pi(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,xu=Y_(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),rA=e=>{const t=Object.create(null);return i=>t[i]||(t[i]=e(i))},zE=/-(\w)/g,ga=rA(e=>e.replace(zE,(t,i)=>i?i.toUpperCase():"")),qE=/\B([A-Z])/g,Tr=rA(e=>e.replace(qE,"-$1").toLowerCase()),oA=rA(e=>e.charAt(0).toUpperCase()+e.slice(1)),kg=rA(e=>e?`on${oA(e)}`:""),Ar=(e,t)=>!Object.is(e,t),gf=(e,...t)=>{for(let i=0;i{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:i})},zm=e=>{const t=parseFloat(e);return isNaN(t)?e:t},VE=e=>{const t=Pi(e)?Number(e):NaN;return isNaN(t)?e:t};let Z0;const lA=()=>Z0||(Z0=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function et(e){if(vt(e)){const t={};for(let i=0;i{if(i){const n=i.split(KE);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function H(e){let t="";if(Pi(e))t=e;else if(vt(e))for(let i=0;i!!(e&&e.__v_isRef===!0),_=e=>Pi(e)?e:e==null?"":vt(e)||bi(e)&&(e.toString===i2||!Et(e.toString))?s2(e)?_(e.value):JSON.stringify(e,r2,2):String(e),r2=(e,t)=>s2(t)?r2(e,t.value):al(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((i,[n,a],s)=>(i[Eg(n,s)+" =>"]=a,i),{})}:e2(t)?{[`Set(${t.size})`]:[...t.values()].map(i=>Eg(i))}:Qs(t)?Eg(t):bi(t)&&!vt(t)&&!n2(t)?String(t):t,Eg=(e,t="")=>{var i;return Qs(e)?`Symbol(${(i=e.description)!=null?i:t})`:e};/**
+* @vue/reactivity v3.5.17
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let An;class o2{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=An,!t&&An&&(this.index=(An.scopes||(An.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,i;if(this.scopes)for(t=0,i=this.scopes.length;t0&&--this._on===0&&(An=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let i,n;for(i=0,n=this.effects.length;i0)return;if(Iu){let t=Iu;for(Iu=void 0;t;){const i=t.next;t.next=void 0,t.flags&=-9,t=i}}let e;for(;Tu;){let t=Tu;for(Tu=void 0;t;){const i=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=i}}if(e)throw e}function h2(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function A2(e){let t,i=e.depsTail,n=i;for(;n;){const a=n.prevDep;n.version===-1?(n===i&&(i=a),t1(n),eB(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=i}function qm(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(g2(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function g2(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ju)||(e.globalVersion=Ju,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!qm(e))))return;e.flags|=2;const t=e.dep,i=hi,n=Ba;hi=e,Ba=!0;try{h2(e);const a=e.fn(e._value);(t.version===0||Ar(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{hi=i,Ba=n,A2(e),e.flags&=-3}}function t1(e,t=!1){const{dep:i,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),i.subs===e&&(i.subs=n,!n&&i.computed)){i.computed.flags&=-5;for(let s=i.computed.deps;s;s=s.nextDep)t1(s,!0)}!t&&!--i.sc&&i.map&&i.map.delete(i.key)}function eB(e){const{prevDep:t,nextDep:i}=e;t&&(t.nextDep=i,e.prevDep=void 0),i&&(i.prevDep=t,e.nextDep=void 0)}let Ba=!0;const m2=[];function Ds(){m2.push(Ba),Ba=!1}function xs(){const e=m2.pop();Ba=e===void 0?!0:e}function $0(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const i=hi;hi=void 0;try{t()}finally{hi=i}}}let Ju=0;class tB{constructor(t,i){this.sub=t,this.dep=i,this.version=i.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class i1{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!hi||!Ba||hi===this.computed)return;let i=this.activeLink;if(i===void 0||i.sub!==hi)i=this.activeLink=new tB(hi,this),hi.deps?(i.prevDep=hi.depsTail,hi.depsTail.nextDep=i,hi.depsTail=i):hi.deps=hi.depsTail=i,p2(i);else if(i.version===-1&&(i.version=this.version,i.nextDep)){const n=i.nextDep;n.prevDep=i.prevDep,i.prevDep&&(i.prevDep.nextDep=n),i.prevDep=hi.depsTail,i.nextDep=void 0,hi.depsTail.nextDep=i,hi.depsTail=i,hi.deps===i&&(hi.deps=n)}return i}trigger(t){this.version++,Ju++,this.notify(t)}notify(t){$_();try{for(let i=this.subs;i;i=i.prevSub)i.sub.notify()&&i.sub.dep.notify()}finally{e1()}}}function p2(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)p2(n)}const i=e.dep.subs;i!==e&&(e.prevSub=i,i&&(i.nextSub=e)),e.dep.subs=e}}const Rf=new WeakMap,io=Symbol(""),Vm=Symbol(""),Zu=Symbol("");function mn(e,t,i){if(Ba&&hi){let n=Rf.get(e);n||Rf.set(e,n=new Map);let a=n.get(i);a||(n.set(i,a=new i1),a.map=n,a.key=i),a.track()}}function Cs(e,t,i,n,a,s){const r=Rf.get(e);if(!r){Ju++;return}const o=l=>{l&&l.trigger()};if($_(),t==="clear")r.forEach(o);else{const l=vt(e),c=l&&Z_(i);if(l&&i==="length"){const f=Number(n);r.forEach((h,A)=>{(A==="length"||A===Zu||!Qs(A)&&A>=f)&&o(h)})}else switch((i!==void 0||r.has(void 0))&&o(r.get(i)),c&&o(r.get(Zu)),t){case"add":l?c&&o(r.get("length")):(o(r.get(io)),al(e)&&o(r.get(Vm)));break;case"delete":l||(o(r.get(io)),al(e)&&o(r.get(Vm)));break;case"set":al(e)&&o(r.get(io));break}}e1()}function iB(e,t){const i=Rf.get(e);return i&&i.get(t)}function Uo(e){const t=qt(e);return t===e?t:(mn(t,"iterate",Zu),ha(e)?t:t.map(on))}function uA(e){return mn(e=qt(e),"iterate",Zu),e}const nB={__proto__:null,[Symbol.iterator](){return Sg(this,Symbol.iterator,on)},concat(...e){return Uo(this).concat(...e.map(t=>vt(t)?Uo(t):t))},entries(){return Sg(this,"entries",e=>(e[1]=on(e[1]),e))},every(e,t){return hs(this,"every",e,t,void 0,arguments)},filter(e,t){return hs(this,"filter",e,t,i=>i.map(on),arguments)},find(e,t){return hs(this,"find",e,t,on,arguments)},findIndex(e,t){return hs(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return hs(this,"findLast",e,t,on,arguments)},findLastIndex(e,t){return hs(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return hs(this,"forEach",e,t,void 0,arguments)},includes(...e){return Dg(this,"includes",e)},indexOf(...e){return Dg(this,"indexOf",e)},join(e){return Uo(this).join(e)},lastIndexOf(...e){return Dg(this,"lastIndexOf",e)},map(e,t){return hs(this,"map",e,t,void 0,arguments)},pop(){return ou(this,"pop")},push(...e){return ou(this,"push",e)},reduce(e,...t){return eF(this,"reduce",e,t)},reduceRight(e,...t){return eF(this,"reduceRight",e,t)},shift(){return ou(this,"shift")},some(e,t){return hs(this,"some",e,t,void 0,arguments)},splice(...e){return ou(this,"splice",e)},toReversed(){return Uo(this).toReversed()},toSorted(e){return Uo(this).toSorted(e)},toSpliced(...e){return Uo(this).toSpliced(...e)},unshift(...e){return ou(this,"unshift",e)},values(){return Sg(this,"values",on)}};function Sg(e,t,i){const n=uA(e),a=n[t]();return n!==e&&!ha(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.value&&(s.value=i(s.value)),s}),a}const aB=Array.prototype;function hs(e,t,i,n,a,s){const r=uA(e),o=r!==e&&!ha(e),l=r[t];if(l!==aB[t]){const h=l.apply(e,s);return o?on(h):h}let c=i;r!==e&&(o?c=function(h,A){return i.call(this,on(h),A,e)}:i.length>2&&(c=function(h,A){return i.call(this,h,A,e)}));const f=l.call(r,c,n);return o&&a?a(f):f}function eF(e,t,i,n){const a=uA(e);let s=i;return a!==e&&(ha(e)?i.length>3&&(s=function(r,o,l){return i.call(this,r,o,l,e)}):s=function(r,o,l){return i.call(this,r,on(o),l,e)}),a[t](s,...n)}function Dg(e,t,i){const n=qt(e);mn(n,"iterate",Zu);const a=n[t](...i);return(a===-1||a===!1)&&s1(i[0])?(i[0]=qt(i[0]),n[t](...i)):a}function ou(e,t,i=[]){Ds(),$_();const n=qt(e)[t].apply(e,i);return e1(),xs(),n}const sB=Y_("__proto__,__v_isRef,__isVue"),_2=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Qs));function rB(e){Qs(e)||(e=String(e));const t=qt(this);return mn(t,"has",e),t.hasOwnProperty(e)}class F2{constructor(t=!1,i=!1){this._isReadonly=t,this._isShallow=i}get(t,i,n){if(i==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(i==="__v_isReactive")return!a;if(i==="__v_isReadonly")return a;if(i==="__v_isShallow")return s;if(i==="__v_raw")return n===(a?s?mB:w2:s?y2:v2).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=vt(t);if(!a){let l;if(r&&(l=nB[i]))return l;if(i==="hasOwnProperty")return rB}const o=Reflect.get(t,i,Di(t)?t:n);return(Qs(i)?_2.has(i):sB(i))||(a||mn(t,"get",i),s)?o:Di(o)?r&&Z_(i)?o:o.value:bi(o)?a?k2(o):$c(o):o}}class b2 extends F2{constructor(t=!1){super(!1,t)}set(t,i,n,a){let s=t[i];if(!this._isShallow){const l=vr(s);if(!ha(n)&&!vr(n)&&(s=qt(s),n=qt(n)),!vt(t)&&Di(s)&&!Di(n))return l?!1:(s.value=n,!0)}const r=vt(t)&&Z_(i)?Number(i)e,Id=e=>Reflect.getPrototypeOf(e);function dB(e,t,i){return function(...n){const a=this.__v_raw,s=qt(a),r=al(s),o=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),f=i?Wm:t?Uf:on;return!t&&mn(s,"iterate",l?Vm:io),{next(){const{value:h,done:A}=c.next();return A?{value:h,done:A}:{value:o?[f(h[0]),f(h[1])]:f(h),done:A}},[Symbol.iterator](){return this}}}}function Pd(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function fB(e,t){const i={get(a){const s=this.__v_raw,r=qt(s),o=qt(a);e||(Ar(a,o)&&mn(r,"get",a),mn(r,"get",o));const{has:l}=Id(r),c=t?Wm:e?Uf:on;if(l.call(r,a))return c(s.get(a));if(l.call(r,o))return c(s.get(o));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&&mn(qt(a),"iterate",io),Reflect.get(a,"size",a)},has(a){const s=this.__v_raw,r=qt(s),o=qt(a);return e||(Ar(a,o)&&mn(r,"has",a),mn(r,"has",o)),a===o?s.has(a):s.has(a)||s.has(o)},forEach(a,s){const r=this,o=r.__v_raw,l=qt(o),c=t?Wm:e?Uf:on;return!e&&mn(l,"iterate",io),o.forEach((f,h)=>a.call(s,c(f),c(h),r))}};return tn(i,e?{add:Pd("add"),set:Pd("set"),delete:Pd("delete"),clear:Pd("clear")}:{add(a){!t&&!ha(a)&&!vr(a)&&(a=qt(a));const s=qt(this);return Id(s).has.call(s,a)||(s.add(a),Cs(s,"add",a,a)),this},set(a,s){!t&&!ha(s)&&!vr(s)&&(s=qt(s));const r=qt(this),{has:o,get:l}=Id(r);let c=o.call(r,a);c||(a=qt(a),c=o.call(r,a));const f=l.call(r,a);return r.set(a,s),c?Ar(s,f)&&Cs(r,"set",a,s):Cs(r,"add",a,s),this},delete(a){const s=qt(this),{has:r,get:o}=Id(s);let l=r.call(s,a);l||(a=qt(a),l=r.call(s,a)),o&&o.call(s,a);const c=s.delete(a);return l&&Cs(s,"delete",a,void 0),c},clear(){const a=qt(this),s=a.size!==0,r=a.clear();return s&&Cs(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{i[a]=dB(a,e,t)}),i}function n1(e,t){const i=fB(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(ei(i,a)&&a in n?i:n,a,s)}const hB={get:n1(!1,!1)},AB={get:n1(!1,!0)},gB={get:n1(!0,!1)};const v2=new WeakMap,y2=new WeakMap,w2=new WeakMap,mB=new WeakMap;function pB(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function _B(e){return e.__v_skip||!Object.isExtensible(e)?0:pB(GE(e))}function $c(e){return vr(e)?e:a1(e,!1,lB,hB,v2)}function C2(e){return a1(e,!1,cB,AB,y2)}function k2(e){return a1(e,!0,uB,gB,w2)}function a1(e,t,i,n,a){if(!bi(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=_B(e);if(s===0)return e;const r=a.get(e);if(r)return r;const o=new Proxy(e,s===2?n:i);return a.set(e,o),o}function gr(e){return vr(e)?gr(e.__v_raw):!!(e&&e.__v_isReactive)}function vr(e){return!!(e&&e.__v_isReadonly)}function ha(e){return!!(e&&e.__v_isShallow)}function s1(e){return e?!!e.__v_raw:!1}function qt(e){const t=e&&e.__v_raw;return t?qt(t):e}function r1(e){return!ei(e,"__v_skip")&&Object.isExtensible(e)&&Gm(e,"__v_skip",!0),e}const on=e=>bi(e)?$c(e):e,Uf=e=>bi(e)?k2(e):e;function Di(e){return e?e.__v_isRef===!0:!1}function Yt(e){return B2(e,!1)}function E2(e){return B2(e,!0)}function B2(e,t){return Di(e)?e:new FB(e,t)}class FB{constructor(t,i){this.dep=new i1,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=i?t:qt(t),this._value=i?t:on(t),this.__v_isShallow=i}get value(){return this.dep.track(),this._value}set value(t){const i=this._rawValue,n=this.__v_isShallow||ha(t)||vr(t);t=n?t:qt(t),Ar(t,i)&&(this._rawValue=t,this._value=n?t:on(t),this.dep.trigger())}}function pi(e){return Di(e)?e.value:e}const bB={get:(e,t,i)=>t==="__v_raw"?e:pi(Reflect.get(e,t,i)),set:(e,t,i,n)=>{const a=e[t];return Di(a)&&!Di(i)?(a.value=i,!0):Reflect.set(e,t,i,n)}};function S2(e){return gr(e)?e:new Proxy(e,bB)}function D2(e){const t=vt(e)?new Array(e.length):{};for(const i in e)t[i]=yB(e,i);return t}class vB{constructor(t,i,n){this._object=t,this._key=i,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return iB(qt(this._object),this._key)}}function yB(e,t,i){const n=e[t];return Di(n)?n:new vB(e,t,i)}class wB{constructor(t,i,n){this.fn=t,this.setter=i,this._value=void 0,this.dep=new i1(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ju-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!i,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&hi!==this)return f2(this,!0),!0}get value(){const t=this.dep.track();return g2(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function CB(e,t,i=!1){let n,a;return Et(e)?n=e:(n=e.get,a=e.set),new wB(n,a,i)}const Md={},Of=new WeakMap;let Vr;function kB(e,t=!1,i=Vr){if(i){let n=Of.get(i);n||Of.set(i,n=[]),n.push(e)}}function EB(e,t,i=oi){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:o,call:l}=i,c=S=>a?S:ha(S)||a===!1||a===0?ks(S,1):ks(S);let f,h,A,m,F=!1,y=!1;if(Di(e)?(h=()=>e.value,F=ha(e)):gr(e)?(h=()=>c(e),F=!0):vt(e)?(y=!0,F=e.some(S=>gr(S)||ha(S)),h=()=>e.map(S=>{if(Di(S))return S.value;if(gr(S))return c(S);if(Et(S))return l?l(S,2):S()})):Et(e)?t?h=l?()=>l(e,2):e:h=()=>{if(A){Ds();try{A()}finally{xs()}}const S=Vr;Vr=f;try{return l?l(e,3,[m]):e(m)}finally{Vr=S}}:h=Ya,t&&a){const S=h,U=a===!0?1/0:a;h=()=>ks(S(),U)}const k=u2(),C=()=>{f.stop(),k&&k.active&&J_(k.effects,f)};if(s&&t){const S=t;t=(...U)=>{S(...U),C()}}let w=y?new Array(e.length).fill(Md):Md;const B=S=>{if(!(!(f.flags&1)||!f.dirty&&!S))if(t){const U=f.run();if(a||F||(y?U.some((N,z)=>Ar(N,w[z])):Ar(U,w))){A&&A();const N=Vr;Vr=f;try{const z=[U,w===Md?void 0:y&&w[0]===Md?[]:w,m];w=U,l?l(t,3,z):t(...z)}finally{Vr=N}}}else f.run()};return o&&o(B),f=new c2(h),f.scheduler=r?()=>r(B,!1):B,m=S=>kB(S,!1,f),A=f.onStop=()=>{const S=Of.get(f);if(S){if(l)l(S,4);else for(const U of S)U();Of.delete(f)}},t?n?B(!0):w=f.run():r?r(B.bind(null,!0),!0):f.run(),C.pause=f.pause.bind(f),C.resume=f.resume.bind(f),C.stop=C,C}function ks(e,t=1/0,i){if(t<=0||!bi(e)||e.__v_skip||(i=i||new Set,i.has(e)))return e;if(i.add(e),t--,Di(e))ks(e.value,t,i);else if(vt(e))for(let n=0;n{ks(n,t,i)});else if(n2(e)){for(const n in e)ks(e[n],t,i);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&ks(e[n],t,i)}return e}/**
+* @vue/runtime-core v3.5.17
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function ed(e,t,i,n){try{return n?e(...n):e()}catch(a){cA(a,t,i)}}function Da(e,t,i,n){if(Et(e)){const a=ed(e,t,i,n);return a&&t2(a)&&a.catch(s=>{cA(s,t,i)}),a}if(vt(e)){const a=[];for(let s=0;s>>1,a=Bn[n],s=$u(a);s=$u(i)?Bn.push(e):Bn.splice(SB(t),0,e),e.flags|=1,T2()}}function T2(){Nf||(Nf=x2.then(P2))}function DB(e){vt(e)?sl.push(...e):ir&&e.id===-1?ir.splice(Wo+1,0,e):e.flags&1||(sl.push(e),e.flags|=1),T2()}function tF(e,t,i=ja+1){for(;i$u(i)-$u(n));if(sl.length=0,ir){ir.push(...t);return}for(ir=t,Wo=0;Woe.id==null?e.flags&2?-1:1/0:e.id;function P2(e){try{for(ja=0;ja{n._d&&fF(-1);const s=Hf(t);let r;try{r=e(...a)}finally{Hf(s),n._d&&fF(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function Re(e,t){if(Ki===null)return e;const i=pA(Ki),n=e.dirs||(e.dirs=[]);for(let a=0;ae.__isTeleport,nr=Symbol("_leaveCb"),Ld=Symbol("_enterCb");function TB(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Fa(()=>{e.isMounted=!0}),as(()=>{e.isUnmounting=!0}),e}const ra=[Function,Array],R2={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ra,onEnter:ra,onAfterEnter:ra,onEnterCancelled:ra,onBeforeLeave:ra,onLeave:ra,onAfterLeave:ra,onLeaveCancelled:ra,onBeforeAppear:ra,onAppear:ra,onAfterAppear:ra,onAppearCancelled:ra},U2=e=>{const t=e.subTree;return t.component?U2(t.component):t},IB={name:"BaseTransition",props:R2,setup(e,{slots:t}){const i=C6(),n=TB();return()=>{const a=t.default&&H2(t.default(),!0);if(!a||!a.length)return;const s=O2(a),r=qt(e),{mode:o}=r;if(n.isLeaving)return xg(s);const l=iF(s);if(!l)return xg(s);let c=Km(l,r,n,i,h=>c=h);l.type!==pn&&ec(l,c);let f=i.subTree&&iF(i.subTree);if(f&&f.type!==pn&&!Wr(l,f)&&U2(i).type!==pn){let h=Km(f,r,n,i);if(ec(f,h),o==="out-in"&&l.type!==pn)return n.isLeaving=!0,h.afterLeave=()=>{n.isLeaving=!1,i.job.flags&8||i.update(),delete h.afterLeave,f=void 0},xg(s);o==="in-out"&&l.type!==pn?h.delayLeave=(A,m,F)=>{const y=N2(n,f);y[String(f.key)]=f,A[nr]=()=>{m(),A[nr]=void 0,delete c.delayedLeave,f=void 0},c.delayedLeave=()=>{F(),delete c.delayedLeave,f=void 0}}:f=void 0}else f&&(f=void 0);return s}}};function O2(e){let t=e[0];if(e.length>1){for(const i of e)if(i.type!==pn){t=i;break}}return t}const PB=IB;function N2(e,t){const{leavingVNodes:i}=e;let n=i.get(t.type);return n||(n=Object.create(null),i.set(t.type,n)),n}function Km(e,t,i,n,a){const{appear:s,mode:r,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:f,onEnterCancelled:h,onBeforeLeave:A,onLeave:m,onAfterLeave:F,onLeaveCancelled:y,onBeforeAppear:k,onAppear:C,onAfterAppear:w,onAppearCancelled:B}=t,S=String(e.key),U=N2(i,e),N=(R,q)=>{R&&Da(R,n,9,q)},z=(R,q)=>{const J=q[1];N(R,q),vt(R)?R.every(ae=>ae.length<=1)&&J():R.length<=1&&J()},Q={mode:r,persisted:o,beforeEnter(R){let q=l;if(!i.isMounted)if(s)q=k||l;else return;R[nr]&&R[nr](!0);const J=U[S];J&&Wr(e,J)&&J.el[nr]&&J.el[nr](),N(q,[R])},enter(R){let q=c,J=f,ae=h;if(!i.isMounted)if(s)q=C||c,J=w||f,ae=B||h;else return;let Fe=!1;const ge=R[Ld]=le=>{Fe||(Fe=!0,le?N(ae,[R]):N(J,[R]),Q.delayedLeave&&Q.delayedLeave(),R[Ld]=void 0)};q?z(q,[R,ge]):ge()},leave(R,q){const J=String(e.key);if(R[Ld]&&R[Ld](!0),i.isUnmounting)return q();N(A,[R]);let ae=!1;const Fe=R[nr]=ge=>{ae||(ae=!0,q(),ge?N(y,[R]):N(F,[R]),R[nr]=void 0,U[J]===e&&delete U[J])};U[J]=e,m?z(m,[R,Fe]):Fe()},clone(R){const q=Km(R,t,i,n,a);return a&&a(q),q}};return Q}function xg(e){if(fA(e))return e=yr(e),e.children=null,e}function iF(e){if(!fA(e))return L2(e.type)&&e.children?O2(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:i}=e;if(i){if(t&16)return i[0];if(t&32&&Et(i.default))return i.default()}}function ec(e,t){e.shapeFlag&6&&e.component?(e.transition=t,ec(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function H2(e,t=!1,i){let n=[],a=0;for(let s=0;s1)for(let s=0;sPu(F,t&&(vt(t)?t[y]:t),i,n,a));return}if(rl(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Pu(e,t,i,n.component.subTree);return}const s=n.shapeFlag&4?pA(n.component):n.el,r=a?null:s,{i:o,r:l}=e,c=t&&t.r,f=o.refs===oi?o.refs={}:o.refs,h=o.setupState,A=qt(h),m=h===oi?()=>!1:F=>ei(A,F);if(c!=null&&c!==l&&(Pi(c)?(f[c]=null,m(c)&&(h[c]=null)):Di(c)&&(c.value=null)),Et(l))ed(l,o,12,[r,f]);else{const F=Pi(l),y=Di(l);if(F||y){const k=()=>{if(e.f){const C=F?m(l)?h[l]:f[l]:l.value;a?vt(C)&&J_(C,s):vt(C)?C.includes(s)||C.push(s):F?(f[l]=[s],m(l)&&(h[l]=f[l])):(l.value=[s],e.k&&(f[e.k]=l.value))}else F?(f[l]=r,m(l)&&(h[l]=r)):y&&(l.value=r,e.k&&(f[e.k]=r))};r?(k.id=-1,zn(k,i)):k()}}}lA().requestIdleCallback;lA().cancelIdleCallback;const rl=e=>!!e.type.__asyncLoader,fA=e=>e.type.__isKeepAlive;function MB(e,t){j2(e,"a",t)}function LB(e,t){j2(e,"da",t)}function j2(e,t,i=Zi){const n=e.__wdc||(e.__wdc=()=>{let a=i;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(hA(t,n,i),i){let a=i.parent;for(;a&&a.parent;)fA(a.parent.vnode)&&RB(n,t,i,a),a=a.parent}}function RB(e,t,i,n){const a=hA(t,e,n,!0);AA(()=>{J_(n[t],a)},i)}function hA(e,t,i=Zi,n=!1){if(i){const a=i[e]||(i[e]=[]),s=t.__weh||(t.__weh=(...r)=>{Ds();const o=td(i),l=Da(t,i,e,r);return o(),xs(),l});return n?a.unshift(s):a.push(s),s}}const js=e=>(t,i=Zi)=>{(!nc||e==="sp")&&hA(e,(...n)=>t(...n),i)},UB=js("bm"),Fa=js("m"),G2=js("bu"),l1=js("u"),as=js("bum"),AA=js("um"),OB=js("sp"),NB=js("rtg"),HB=js("rtc");function QB(e,t=Zi){hA("ec",e,t)}const z2="components";function Y(e,t){return V2(z2,e,!0,t)||e}const q2=Symbol.for("v-ndc");function jB(e){return Pi(e)?V2(z2,e,!1)||e:e||q2}function V2(e,t,i=!0,n=!1){const a=Ki||Zi;if(a){const s=a.type;{const o=D6(s,!1);if(o&&(o===t||o===ga(t)||o===oA(ga(t))))return s}const r=nF(a[e]||s[e],t)||nF(a.appContext[e],t);return!r&&n?s:r}}function nF(e,t){return e&&(e[t]||e[ga(t)]||e[oA(ga(t))])}function Me(e,t,i,n){let a;const s=i,r=vt(e);if(r||Pi(e)){const o=r&&gr(e);let l=!1,c=!1;o&&(l=!ha(e),c=vr(e),e=uA(e)),a=new Array(e.length);for(let f=0,h=e.length;ft(o,l,void 0,s));else{const o=Object.keys(e);a=new Array(o.length);for(let l=0,c=o.length;lic(t)?!(t.type===pn||t.type===ne&&!W2(t.children)):!0)?e:null}const Ym=e=>e?Aw(e)?pA(e):Ym(e.parent):null,Mu=tn(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ym(e.parent),$root:e=>Ym(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Y2(e),$forceUpdate:e=>e.f||(e.f=()=>{o1(e.update)}),$nextTick:e=>e.n||(e.n=dA.bind(e.proxy)),$watch:e=>c6.bind(e)}),Tg=(e,t)=>e!==oi&&!e.__isScriptSetup&&ei(e,t),GB={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:i,setupState:n,data:a,props:s,accessCache:r,type:o,appContext:l}=e;let c;if(t[0]!=="$"){const m=r[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return a[t];case 4:return i[t];case 3:return s[t]}else{if(Tg(n,t))return r[t]=1,n[t];if(a!==oi&&ei(a,t))return r[t]=2,a[t];if((c=e.propsOptions[0])&&ei(c,t))return r[t]=3,s[t];if(i!==oi&&ei(i,t))return r[t]=4,i[t];Xm&&(r[t]=0)}}const f=Mu[t];let h,A;if(f)return t==="$attrs"&&mn(e.attrs,"get",""),f(e);if((h=o.__cssModules)&&(h=h[t]))return h;if(i!==oi&&ei(i,t))return r[t]=4,i[t];if(A=l.config.globalProperties,ei(A,t))return A[t]},set({_:e},t,i){const{data:n,setupState:a,ctx:s}=e;return Tg(a,t)?(a[t]=i,!0):n!==oi&&ei(n,t)?(n[t]=i,!0):ei(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=i,!0)},has({_:{data:e,setupState:t,accessCache:i,ctx:n,appContext:a,propsOptions:s}},r){let o;return!!i[r]||e!==oi&&ei(e,r)||Tg(t,r)||(o=s[0])&&ei(o,r)||ei(n,r)||ei(Mu,r)||ei(a.config.globalProperties,r)},defineProperty(e,t,i){return i.get!=null?e._.accessCache[t]=0:ei(i,"value")&&this.set(e,t,i.value,null),Reflect.defineProperty(e,t,i)}};function aF(e){return vt(e)?e.reduce((t,i)=>(t[i]=null,t),{}):e}let Xm=!0;function zB(e){const t=Y2(e),i=e.proxy,n=e.ctx;Xm=!1,t.beforeCreate&&sF(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:o,provide:l,inject:c,created:f,beforeMount:h,mounted:A,beforeUpdate:m,updated:F,activated:y,deactivated:k,beforeDestroy:C,beforeUnmount:w,destroyed:B,unmounted:S,render:U,renderTracked:N,renderTriggered:z,errorCaptured:Q,serverPrefetch:R,expose:q,inheritAttrs:J,components:ae,directives:Fe,filters:ge}=t;if(c&&qB(c,n,null),r)for(const pe in r){const $=r[pe];Et($)&&(n[pe]=$.bind(i))}if(a){const pe=a.call(i,i);bi(pe)&&(e.data=$c(pe))}if(Xm=!0,s)for(const pe in s){const $=s[pe],V=Et($)?$.bind(i,i):Et($.get)?$.get.bind(i,i):Ya,I=!Et($)&&Et($.set)?$.set.bind(i):Ya,x=Si({get:V,set:I});Object.defineProperty(n,pe,{enumerable:!0,configurable:!0,get:()=>x.value,set:O=>x.value=O})}if(o)for(const pe in o)K2(o[pe],n,i,pe);if(l){const pe=Et(l)?l.call(i):l;Reflect.ownKeys(pe).forEach($=>{ol($,pe[$])})}f&&sF(f,e,"c");function re(pe,$){vt($)?$.forEach(V=>pe(V.bind(i))):$&&pe($.bind(i))}if(re(UB,h),re(Fa,A),re(G2,m),re(l1,F),re(MB,y),re(LB,k),re(QB,Q),re(HB,N),re(NB,z),re(as,w),re(AA,S),re(OB,R),vt(q))if(q.length){const pe=e.exposed||(e.exposed={});q.forEach($=>{Object.defineProperty(pe,$,{get:()=>i[$],set:V=>i[$]=V})})}else e.exposed||(e.exposed={});U&&e.render===Ya&&(e.render=U),J!=null&&(e.inheritAttrs=J),ae&&(e.components=ae),Fe&&(e.directives=Fe),R&&Q2(e)}function qB(e,t,i=Ya){vt(e)&&(e=Jm(e));for(const n in e){const a=e[n];let s;bi(a)?"default"in a?s=Sa(a.from||n,a.default,!0):s=Sa(a.from||n):s=Sa(a),Di(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[n]=s}}function sF(e,t,i){Da(vt(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,i)}function K2(e,t,i,n){let a=n.includes(".")?lw(i,n):()=>i[n];if(Pi(e)){const s=t[e];Et(s)&&mr(a,s)}else if(Et(e))mr(a,e.bind(i));else if(bi(e))if(vt(e))e.forEach(s=>K2(s,t,i,n));else{const s=Et(e.handler)?e.handler.bind(i):t[e.handler];Et(s)&&mr(a,s,e)}}function Y2(e){const t=e.type,{mixins:i,extends:n}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,o=s.get(t);let l;return o?l=o:!a.length&&!i&&!n?l=t:(l={},a.length&&a.forEach(c=>Qf(l,c,r,!0)),Qf(l,t,r)),bi(t)&&s.set(t,l),l}function Qf(e,t,i,n=!1){const{mixins:a,extends:s}=t;s&&Qf(e,s,i,!0),a&&a.forEach(r=>Qf(e,r,i,!0));for(const r in t)if(!(n&&r==="expose")){const o=VB[r]||i&&i[r];e[r]=o?o(e[r],t[r]):t[r]}return e}const VB={data:rF,props:oF,emits:oF,methods:Fu,computed:Fu,beforeCreate:Cn,created:Cn,beforeMount:Cn,mounted:Cn,beforeUpdate:Cn,updated:Cn,beforeDestroy:Cn,beforeUnmount:Cn,destroyed:Cn,unmounted:Cn,activated:Cn,deactivated:Cn,errorCaptured:Cn,serverPrefetch:Cn,components:Fu,directives:Fu,watch:KB,provide:rF,inject:WB};function rF(e,t){return t?e?function(){return tn(Et(e)?e.call(this,this):e,Et(t)?t.call(this,this):t)}:t:e}function WB(e,t){return Fu(Jm(e),Jm(t))}function Jm(e){if(vt(e)){const t={};for(let i=0;i1)return i&&Et(t)?t.call(n&&n.proxy):t}}function JB(){return!!(Zi||Ki||ao)}const J2={},Z2=()=>Object.create(J2),$2=e=>Object.getPrototypeOf(e)===J2;function ZB(e,t,i,n=!1){const a={},s=Z2();e.propsDefaults=Object.create(null),ew(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);i?e.props=n?a:C2(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function $B(e,t,i,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,o=qt(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const f=e.vnode.dynamicProps;for(let h=0;h{l=!0;const[A,m]=tw(h,t,!0);tn(r,A),m&&o.push(...m)};!i&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!s&&!l)return bi(e)&&n.set(e,nl),nl;if(vt(s))for(let f=0;fe[0]==="_"||e==="$stable",c1=e=>vt(e)?e.map(Ga):[Ga(e)],t6=(e,t,i)=>{if(t._n)return t;const n=It((...a)=>c1(t(...a)),i);return n._c=!1,n},iw=(e,t,i)=>{const n=e._ctx;for(const a in e){if(u1(a))continue;const s=e[a];if(Et(s))t[a]=t6(a,s,n);else if(s!=null){const r=c1(s);t[a]=()=>r}}},nw=(e,t)=>{const i=c1(t);e.slots.default=()=>i},aw=(e,t,i)=>{for(const n in t)(i||!u1(n))&&(e[n]=t[n])},i6=(e,t,i)=>{const n=e.slots=Z2();if(e.vnode.shapeFlag&32){const a=t.__;a&&Gm(n,"__",a,!0);const s=t._;s?(aw(n,t,i),i&&Gm(n,"_",s,!0)):iw(t,n)}else t&&nw(e,t)},n6=(e,t,i)=>{const{vnode:n,slots:a}=e;let s=!0,r=oi;if(n.shapeFlag&32){const o=t._;o?i&&o===1?s=!1:aw(a,t,i):(s=!t.$stable,iw(t,a)),r=t}else t&&(nw(e,t),r={default:1});if(s)for(const o in a)!u1(o)&&r[o]==null&&delete a[o]},zn=p6;function a6(e){return s6(e)}function s6(e,t){const i=lA();i.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:o,createComment:l,setText:c,setElementText:f,parentNode:h,nextSibling:A,setScopeId:m=Ya,insertStaticContent:F}=e,y=(G,K,oe,Ce=null,Be=null,de=null,De=void 0,Ie=null,fe=!!K.dynamicChildren)=>{if(G===K)return;G&&!Wr(G,K)&&(Ce=X(G),O(G,Be,de,!0),G=null),K.patchFlag===-2&&(fe=!1,K.dynamicChildren=null);const{type:be,ref:Ue,shapeFlag:Oe}=K;switch(be){case mA:k(G,K,oe,Ce);break;case pn:C(G,K,oe,Ce);break;case mf:G==null&&w(K,oe,Ce,De);break;case ne:ae(G,K,oe,Ce,Be,de,De,Ie,fe);break;default:Oe&1?U(G,K,oe,Ce,Be,de,De,Ie,fe):Oe&6?Fe(G,K,oe,Ce,Be,de,De,Ie,fe):(Oe&64||Oe&128)&&be.process(G,K,oe,Ce,Be,de,De,Ie,fe,ce)}Ue!=null&&Be?Pu(Ue,G&&G.ref,de,K||G,!K):Ue==null&&G&&G.ref!=null&&Pu(G.ref,null,de,G,!0)},k=(G,K,oe,Ce)=>{if(G==null)n(K.el=o(K.children),oe,Ce);else{const Be=K.el=G.el;K.children!==G.children&&c(Be,K.children)}},C=(G,K,oe,Ce)=>{G==null?n(K.el=l(K.children||""),oe,Ce):K.el=G.el},w=(G,K,oe,Ce)=>{[G.el,G.anchor]=F(G.children,K,oe,Ce,G.el,G.anchor)},B=({el:G,anchor:K},oe,Ce)=>{let Be;for(;G&&G!==K;)Be=A(G),n(G,oe,Ce),G=Be;n(K,oe,Ce)},S=({el:G,anchor:K})=>{let oe;for(;G&&G!==K;)oe=A(G),a(G),G=oe;a(K)},U=(G,K,oe,Ce,Be,de,De,Ie,fe)=>{K.type==="svg"?De="svg":K.type==="math"&&(De="mathml"),G==null?N(K,oe,Ce,Be,de,De,Ie,fe):R(G,K,Be,de,De,Ie,fe)},N=(G,K,oe,Ce,Be,de,De,Ie)=>{let fe,be;const{props:Ue,shapeFlag:Oe,transition:He,dirs:ze}=G;if(fe=G.el=r(G.type,de,Ue&&Ue.is,Ue),Oe&8?f(fe,G.children):Oe&16&&Q(G.children,fe,null,Ce,Be,Ig(G,de),De,Ie),ze&&Qr(G,null,Ce,"created"),z(fe,G,G.scopeId,De,Ce),Ue){for(const tt in Ue)tt!=="value"&&!xu(tt)&&s(fe,tt,null,Ue[tt],de,Ce);"value"in Ue&&s(fe,"value",null,Ue.value,de),(be=Ue.onVnodeBeforeMount)&&Na(be,Ce,G)}ze&&Qr(G,null,Ce,"beforeMount");const Je=r6(Be,He);Je&&He.beforeEnter(fe),n(fe,K,oe),((be=Ue&&Ue.onVnodeMounted)||Je||ze)&&zn(()=>{be&&Na(be,Ce,G),Je&&He.enter(fe),ze&&Qr(G,null,Ce,"mounted")},Be)},z=(G,K,oe,Ce,Be)=>{if(oe&&m(G,oe),Ce)for(let de=0;de{for(let be=fe;be{const Ie=K.el=G.el;let{patchFlag:fe,dynamicChildren:be,dirs:Ue}=K;fe|=G.patchFlag&16;const Oe=G.props||oi,He=K.props||oi;let ze;if(oe&&jr(oe,!1),(ze=He.onVnodeBeforeUpdate)&&Na(ze,oe,K,G),Ue&&Qr(K,G,oe,"beforeUpdate"),oe&&jr(oe,!0),(Oe.innerHTML&&He.innerHTML==null||Oe.textContent&&He.textContent==null)&&f(Ie,""),be?q(G.dynamicChildren,be,Ie,oe,Ce,Ig(K,Be),de):De||$(G,K,Ie,null,oe,Ce,Ig(K,Be),de,!1),fe>0){if(fe&16)J(Ie,Oe,He,oe,Be);else if(fe&2&&Oe.class!==He.class&&s(Ie,"class",null,He.class,Be),fe&4&&s(Ie,"style",Oe.style,He.style,Be),fe&8){const Je=K.dynamicProps;for(let tt=0;tt{ze&&Na(ze,oe,K,G),Ue&&Qr(K,G,oe,"updated")},Ce)},q=(G,K,oe,Ce,Be,de,De)=>{for(let Ie=0;Ie{if(K!==oe){if(K!==oi)for(const de in K)!xu(de)&&!(de in oe)&&s(G,de,K[de],null,Be,Ce);for(const de in oe){if(xu(de))continue;const De=oe[de],Ie=K[de];De!==Ie&&de!=="value"&&s(G,de,Ie,De,Be,Ce)}"value"in oe&&s(G,"value",K.value,oe.value,Be)}},ae=(G,K,oe,Ce,Be,de,De,Ie,fe)=>{const be=K.el=G?G.el:o(""),Ue=K.anchor=G?G.anchor:o("");let{patchFlag:Oe,dynamicChildren:He,slotScopeIds:ze}=K;ze&&(Ie=Ie?Ie.concat(ze):ze),G==null?(n(be,oe,Ce),n(Ue,oe,Ce),Q(K.children||[],oe,Ue,Be,de,De,Ie,fe)):Oe>0&&Oe&64&&He&&G.dynamicChildren?(q(G.dynamicChildren,He,oe,Be,de,De,Ie),(K.key!=null||Be&&K===Be.subTree)&&sw(G,K,!0)):$(G,K,oe,Ue,Be,de,De,Ie,fe)},Fe=(G,K,oe,Ce,Be,de,De,Ie,fe)=>{K.slotScopeIds=Ie,G==null?K.shapeFlag&512?Be.ctx.activate(K,oe,Ce,De,fe):ge(K,oe,Ce,Be,de,De,fe):le(G,K,fe)},ge=(G,K,oe,Ce,Be,de,De)=>{const Ie=G.component=w6(G,Ce,Be);if(fA(G)&&(Ie.ctx.renderer=ce),k6(Ie,!1,De),Ie.asyncDep){if(Be&&Be.registerDep(Ie,re,De),!G.el){const fe=Ie.subTree=T(pn);C(null,fe,K,oe)}}else re(Ie,G,K,oe,Be,de,De)},le=(G,K,oe)=>{const Ce=K.component=G.component;if(g6(G,K,oe))if(Ce.asyncDep&&!Ce.asyncResolved){pe(Ce,K,oe);return}else Ce.next=K,Ce.update();else K.el=G.el,Ce.vnode=K},re=(G,K,oe,Ce,Be,de,De)=>{const Ie=()=>{if(G.isMounted){let{next:Oe,bu:He,u:ze,parent:Je,vnode:tt}=G;{const $e=rw(G);if($e){Oe&&(Oe.el=tt.el,pe(G,Oe,De)),$e.asyncDep.then(()=>{G.isUnmounted||Ie()});return}}let ye=Oe,qe;jr(G,!1),Oe?(Oe.el=tt.el,pe(G,Oe,De)):Oe=tt,He&&gf(He),(qe=Oe.props&&Oe.props.onVnodeBeforeUpdate)&&Na(qe,Je,Oe,tt),jr(G,!0);const Ze=cF(G),ht=G.subTree;G.subTree=Ze,y(ht,Ze,h(ht.el),X(ht),G,Be,de),Oe.el=Ze.el,ye===null&&m6(G,Ze.el),ze&&zn(ze,Be),(qe=Oe.props&&Oe.props.onVnodeUpdated)&&zn(()=>Na(qe,Je,Oe,tt),Be)}else{let Oe;const{el:He,props:ze}=K,{bm:Je,m:tt,parent:ye,root:qe,type:Ze}=G,ht=rl(K);jr(G,!1),Je&&gf(Je),!ht&&(Oe=ze&&ze.onVnodeBeforeMount)&&Na(Oe,ye,K),jr(G,!0);{qe.ce&&qe.ce._def.shadowRoot!==!1&&qe.ce._injectChildStyle(Ze);const $e=G.subTree=cF(G);y(null,$e,oe,Ce,G,Be,de),K.el=$e.el}if(tt&&zn(tt,Be),!ht&&(Oe=ze&&ze.onVnodeMounted)){const $e=K;zn(()=>Na(Oe,ye,$e),Be)}(K.shapeFlag&256||ye&&rl(ye.vnode)&&ye.vnode.shapeFlag&256)&&G.a&&zn(G.a,Be),G.isMounted=!0,K=oe=Ce=null}};G.scope.on();const fe=G.effect=new c2(Ie);G.scope.off();const be=G.update=fe.run.bind(fe),Ue=G.job=fe.runIfDirty.bind(fe);Ue.i=G,Ue.id=G.uid,fe.scheduler=()=>o1(Ue),jr(G,!0),be()},pe=(G,K,oe)=>{K.component=G;const Ce=G.vnode.props;G.vnode=K,G.next=null,$B(G,K.props,Ce,oe),n6(G,K.children,oe),Ds(),tF(G),xs()},$=(G,K,oe,Ce,Be,de,De,Ie,fe=!1)=>{const be=G&&G.children,Ue=G?G.shapeFlag:0,Oe=K.children,{patchFlag:He,shapeFlag:ze}=K;if(He>0){if(He&128){I(be,Oe,oe,Ce,Be,de,De,Ie,fe);return}else if(He&256){V(be,Oe,oe,Ce,Be,de,De,Ie,fe);return}}ze&8?(Ue&16&&Ae(be,Be,de),Oe!==be&&f(oe,Oe)):Ue&16?ze&16?I(be,Oe,oe,Ce,Be,de,De,Ie,fe):Ae(be,Be,de,!0):(Ue&8&&f(oe,""),ze&16&&Q(Oe,oe,Ce,Be,de,De,Ie,fe))},V=(G,K,oe,Ce,Be,de,De,Ie,fe)=>{G=G||nl,K=K||nl;const be=G.length,Ue=K.length,Oe=Math.min(be,Ue);let He;for(He=0;HeUe?Ae(G,Be,de,!0,!1,Oe):Q(K,oe,Ce,Be,de,De,Ie,fe,Oe)},I=(G,K,oe,Ce,Be,de,De,Ie,fe)=>{let be=0;const Ue=K.length;let Oe=G.length-1,He=Ue-1;for(;be<=Oe&&be<=He;){const ze=G[be],Je=K[be]=fe?ar(K[be]):Ga(K[be]);if(Wr(ze,Je))y(ze,Je,oe,null,Be,de,De,Ie,fe);else break;be++}for(;be<=Oe&&be<=He;){const ze=G[Oe],Je=K[He]=fe?ar(K[He]):Ga(K[He]);if(Wr(ze,Je))y(ze,Je,oe,null,Be,de,De,Ie,fe);else break;Oe--,He--}if(be>Oe){if(be<=He){const ze=He+1,Je=zeHe)for(;be<=Oe;)O(G[be],Be,de,!0),be++;else{const ze=be,Je=be,tt=new Map;for(be=Je;be<=He;be++){const pt=K[be]=fe?ar(K[be]):Ga(K[be]);pt.key!=null&&tt.set(pt.key,be)}let ye,qe=0;const Ze=He-Je+1;let ht=!1,$e=0;const Ft=new Array(Ze);for(be=0;be=Ze){O(pt,Be,de,!0);continue}let Lt;if(pt.key!=null)Lt=tt.get(pt.key);else for(ye=Je;ye<=He;ye++)if(Ft[ye-Je]===0&&Wr(pt,K[ye])){Lt=ye;break}Lt===void 0?O(pt,Be,de,!0):(Ft[Lt-Je]=be+1,Lt>=$e?$e=Lt:ht=!0,y(pt,K[Lt],oe,null,Be,de,De,Ie,fe),qe++)}const kt=ht?o6(Ft):nl;for(ye=kt.length-1,be=Ze-1;be>=0;be--){const pt=Je+be,Lt=K[pt],St=pt+1{const{el:de,type:De,transition:Ie,children:fe,shapeFlag:be}=G;if(be&6){x(G.component.subTree,K,oe,Ce);return}if(be&128){G.suspense.move(K,oe,Ce);return}if(be&64){De.move(G,K,oe,ce);return}if(De===ne){n(de,K,oe);for(let Oe=0;OeIe.enter(de),Be);else{const{leave:Oe,delayLeave:He,afterLeave:ze}=Ie,Je=()=>{G.ctx.isUnmounted?a(de):n(de,K,oe)},tt=()=>{Oe(de,()=>{Je(),ze&&ze()})};He?He(de,Je,tt):tt()}else n(de,K,oe)},O=(G,K,oe,Ce=!1,Be=!1)=>{const{type:de,props:De,ref:Ie,children:fe,dynamicChildren:be,shapeFlag:Ue,patchFlag:Oe,dirs:He,cacheIndex:ze}=G;if(Oe===-2&&(Be=!1),Ie!=null&&(Ds(),Pu(Ie,null,oe,G,!0),xs()),ze!=null&&(K.renderCache[ze]=void 0),Ue&256){K.ctx.deactivate(G);return}const Je=Ue&1&&He,tt=!rl(G);let ye;if(tt&&(ye=De&&De.onVnodeBeforeUnmount)&&Na(ye,K,G),Ue&6)se(G.component,oe,Ce);else{if(Ue&128){G.suspense.unmount(oe,Ce);return}Je&&Qr(G,null,K,"beforeUnmount"),Ue&64?G.type.remove(G,K,oe,ce,Ce):be&&!be.hasOnce&&(de!==ne||Oe>0&&Oe&64)?Ae(be,K,oe,!1,!0):(de===ne&&Oe&384||!Be&&Ue&16)&&Ae(fe,K,oe),Ce&&he(G)}(tt&&(ye=De&&De.onVnodeUnmounted)||Je)&&zn(()=>{ye&&Na(ye,K,G),Je&&Qr(G,null,K,"unmounted")},oe)},he=G=>{const{type:K,el:oe,anchor:Ce,transition:Be}=G;if(K===ne){te(oe,Ce);return}if(K===mf){S(G);return}const de=()=>{a(oe),Be&&!Be.persisted&&Be.afterLeave&&Be.afterLeave()};if(G.shapeFlag&1&&Be&&!Be.persisted){const{leave:De,delayLeave:Ie}=Be,fe=()=>De(oe,de);Ie?Ie(G.el,de,fe):fe()}else de()},te=(G,K)=>{let oe;for(;G!==K;)oe=A(G),a(G),G=oe;a(K)},se=(G,K,oe)=>{const{bum:Ce,scope:Be,job:de,subTree:De,um:Ie,m:fe,a:be,parent:Ue,slots:{__:Oe}}=G;uF(fe),uF(be),Ce&&gf(Ce),Ue&&vt(Oe)&&Oe.forEach(He=>{Ue.renderCache[He]=void 0}),Be.stop(),de&&(de.flags|=8,O(De,G,K,oe)),Ie&&zn(Ie,K),zn(()=>{G.isUnmounted=!0},K),K&&K.pendingBranch&&!K.isUnmounted&&G.asyncDep&&!G.asyncResolved&&G.suspenseId===K.pendingId&&(K.deps--,K.deps===0&&K.resolve())},Ae=(G,K,oe,Ce=!1,Be=!1,de=0)=>{for(let De=de;De{if(G.shapeFlag&6)return X(G.component.subTree);if(G.shapeFlag&128)return G.suspense.next();const K=A(G.anchor||G.el),oe=K&&K[xB];return oe?A(oe):K};let ve=!1;const we=(G,K,oe)=>{G==null?K._vnode&&O(K._vnode,null,null,!0):y(K._vnode||null,G,K,null,null,null,oe),K._vnode=G,ve||(ve=!0,tF(),I2(),ve=!1)},ce={p:y,um:O,m:x,r:he,mt:ge,mc:Q,pc:$,pbc:q,n:X,o:e};return{render:we,hydrate:void 0,createApp:XB(we)}}function Ig({type:e,props:t},i){return i==="svg"&&e==="foreignObject"||i==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:i}function jr({effect:e,job:t},i){i?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function r6(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function sw(e,t,i=!1){const n=e.children,a=t.children;if(vt(n)&&vt(a))for(let s=0;s>1,e[i[o]]0&&(t[n]=i[s-1]),i[s]=n)}}for(s=i.length,r=i[s-1];s-- >0;)i[s]=r,r=t[r];return i}function rw(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:rw(t)}function uF(e){if(e)for(let t=0;tSa(l6);function mr(e,t,i){return ow(e,t,i)}function ow(e,t,i=oi){const{immediate:n,deep:a,flush:s,once:r}=i,o=tn({},i),l=t&&n||!t&&s!=="post";let c;if(nc){if(s==="sync"){const m=u6();c=m.__watcherHandles||(m.__watcherHandles=[])}else if(!l){const m=()=>{};return m.stop=Ya,m.resume=Ya,m.pause=Ya,m}}const f=Zi;o.call=(m,F,y)=>Da(m,f,F,y);let h=!1;s==="post"?o.scheduler=m=>{zn(m,f&&f.suspense)}:s!=="sync"&&(h=!0,o.scheduler=(m,F)=>{F?m():o1(m)}),o.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const A=EB(e,t,o);return nc&&(c?c.push(A):l&&A()),A}function c6(e,t,i){const n=this.proxy,a=Pi(e)?e.includes(".")?lw(n,e):()=>n[e]:e.bind(n,n);let s;Et(t)?s=t:(s=t.handler,i=t);const r=td(this),o=ow(a,s.bind(n),i);return r(),o}function lw(e,t){const i=t.split(".");return()=>{let n=e;for(let a=0;at==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ga(t)}Modifiers`]||e[`${Tr(t)}Modifiers`];function f6(e,t,...i){if(e.isUnmounted)return;const n=e.vnode.props||oi;let a=i;const s=t.startsWith("update:"),r=s&&d6(n,t.slice(7));r&&(r.trim&&(a=i.map(f=>Pi(f)?f.trim():f)),r.number&&(a=i.map(zm)));let o,l=n[o=kg(t)]||n[o=kg(ga(t))];!l&&s&&(l=n[o=kg(Tr(t))]),l&&Da(l,e,6,a);const c=n[o+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,Da(c,e,6,a)}}function uw(e,t,i=!1){const n=t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},o=!1;if(!Et(e)){const l=c=>{const f=uw(c,t,!0);f&&(o=!0,tn(r,f))};!i&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!o?(bi(e)&&n.set(e,null),null):(vt(s)?s.forEach(l=>r[l]=null):tn(r,s),bi(e)&&n.set(e,r),r)}function gA(e,t){return!e||!aA(t)?!1:(t=t.slice(2).replace(/Once$/,""),ei(e,t[0].toLowerCase()+t.slice(1))||ei(e,Tr(t))||ei(e,t))}function cF(e){const{type:t,vnode:i,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:o,emit:l,render:c,renderCache:f,props:h,data:A,setupState:m,ctx:F,inheritAttrs:y}=e,k=Hf(e);let C,w;try{if(i.shapeFlag&4){const S=a||n,U=S;C=Ga(c.call(U,S,f,h,m,A,F)),w=o}else{const S=t;C=Ga(S.length>1?S(h,{attrs:o,slots:r,emit:l}):S(h,null)),w=t.props?o:h6(o)}}catch(S){Lu.length=0,cA(S,e,1),C=T(pn)}let B=C;if(w&&y!==!1){const S=Object.keys(w),{shapeFlag:U}=B;S.length&&U&7&&(s&&S.some(X_)&&(w=A6(w,s)),B=yr(B,w,!1,!0))}return i.dirs&&(B=yr(B,null,!1,!0),B.dirs=B.dirs?B.dirs.concat(i.dirs):i.dirs),i.transition&&ec(B,i.transition),C=B,Hf(k),C}const h6=e=>{let t;for(const i in e)(i==="class"||i==="style"||aA(i))&&((t||(t={}))[i]=e[i]);return t},A6=(e,t)=>{const i={};for(const n in e)(!X_(n)||!(n.slice(9)in t))&&(i[n]=e[n]);return i};function g6(e,t,i){const{props:n,children:a,component:s}=e,{props:r,children:o,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(i&&l>=0){if(l&1024)return!0;if(l&16)return n?dF(n,r,c):!!r;if(l&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;function p6(e,t){t&&t.pendingBranch?vt(e)?t.effects.push(...e):t.effects.push(e):DB(e)}const ne=Symbol.for("v-fgt"),mA=Symbol.for("v-txt"),pn=Symbol.for("v-cmt"),mf=Symbol.for("v-stc"),Lu=[];let Vn=null;function p(e=!1){Lu.push(Vn=e?null:[])}function _6(){Lu.pop(),Vn=Lu[Lu.length-1]||null}let tc=1;function fF(e,t=!1){tc+=e,e<0&&Vn&&t&&(Vn.hasOnce=!0)}function dw(e){return e.dynamicChildren=tc>0?Vn||nl:null,_6(),tc>0&&Vn&&Vn.push(e),e}function b(e,t,i,n,a,s){return dw(d(e,t,i,n,a,s,!0))}function We(e,t,i,n,a){return dw(T(e,t,i,n,a,!0))}function ic(e){return e?e.__v_isVNode===!0:!1}function Wr(e,t){return e.type===t.type&&e.key===t.key}const fw=({key:e})=>e??null,pf=({ref:e,ref_key:t,ref_for:i})=>(typeof e=="number"&&(e=""+e),e!=null?Pi(e)||Di(e)||Et(e)?{i:Ki,r:e,k:t,f:!!i}:e:null);function d(e,t=null,i=null,n=0,a=null,s=e===ne?0:1,r=!1,o=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&fw(t),ref:t&&pf(t),scopeId:M2,slotScopeIds:null,children:i,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Ki};return o?(d1(l,i),s&128&&e.normalize(l)):i&&(l.shapeFlag|=Pi(i)?8:16),tc>0&&!r&&Vn&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Vn.push(l),l}const T=F6;function F6(e,t=null,i=null,n=0,a=null,s=!1){if((!e||e===q2)&&(e=pn),ic(e)){const o=yr(e,t,!0);return i&&d1(o,i),tc>0&&!s&&Vn&&(o.shapeFlag&6?Vn[Vn.indexOf(e)]=o:Vn.push(o)),o.patchFlag=-2,o}if(x6(e)&&(e=e.__vccOpts),t){t=b6(t);let{class:o,style:l}=t;o&&!Pi(o)&&(t.class=H(o)),bi(l)&&(s1(l)&&!vt(l)&&(l=tn({},l)),t.style=et(l))}const r=Pi(e)?1:cw(e)?128:L2(e)?64:bi(e)?4:Et(e)?2:0;return d(e,t,i,n,a,r,s,!0)}function b6(e){return e?s1(e)||$2(e)?tn({},e):e:null}function yr(e,t,i=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:o,transition:l}=e,c=t?hw(a||{},t):a,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&fw(c),ref:t&&t.ref?i&&s?vt(s)?s.concat(pf(t)):[s,pf(t)]:pf(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ne?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&yr(e.ssContent),ssFallback:e.ssFallback&&yr(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&ec(f,l.clone(f)),f}function ut(e=" ",t=0){return T(mA,null,e,t)}function _f(e,t){const i=T(mf,null,e);return i.staticCount=t,i}function D(e="",t=!1){return t?(p(),We(pn,null,e)):T(pn,null,e)}function Ga(e){return e==null||typeof e=="boolean"?T(pn):vt(e)?T(ne,null,e.slice()):ic(e)?ar(e):T(mA,null,String(e))}function ar(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:yr(e)}function d1(e,t){let i=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(vt(t))i=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),d1(e,a()),a._c&&(a._d=!0));return}else{i=32;const a=t._;!a&&!$2(t)?t._ctx=Ki:a===3&&Ki&&(Ki.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Et(t)?(t={default:t,_ctx:Ki},i=32):(t=String(t),n&64?(i=16,t=[ut(t)]):i=8);e.children=t,e.shapeFlag|=i}function hw(...e){const t={};for(let i=0;iZi||Ki;let jf,$m;{const e=lA(),t=(i,n)=>{let a;return(a=e[i])||(a=e[i]=[]),a.push(n),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};jf=t("__VUE_INSTANCE_SETTERS__",i=>Zi=i),$m=t("__VUE_SSR_SETTERS__",i=>nc=i)}const td=e=>{const t=Zi;return jf(e),e.scope.on(),()=>{e.scope.off(),jf(t)}},hF=()=>{Zi&&Zi.scope.off(),jf(null)};function Aw(e){return e.vnode.shapeFlag&4}let nc=!1;function k6(e,t=!1,i=!1){t&&$m(t);const{props:n,children:a}=e.vnode,s=Aw(e);ZB(e,n,s,t),i6(e,a,i||t);const r=s?E6(e,t):void 0;return t&&$m(!1),r}function E6(e,t){const i=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,GB);const{setup:n}=i;if(n){Ds();const a=e.setupContext=n.length>1?S6(e):null,s=td(e),r=ed(n,e,0,[e.props,a]),o=t2(r);if(xs(),s(),(o||e.sp)&&!rl(e)&&Q2(e),o){if(r.then(hF,hF),t)return r.then(l=>{AF(e,l)}).catch(l=>{cA(l,e,0)});e.asyncDep=r}else AF(e,r)}else gw(e)}function AF(e,t,i){Et(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:bi(t)&&(e.setupState=S2(t)),gw(e)}function gw(e,t,i){const n=e.type;e.render||(e.render=n.render||Ya);{const a=td(e);Ds();try{zB(e)}finally{xs(),a()}}}const B6={get(e,t){return mn(e,"get",""),e[t]}};function S6(e){const t=i=>{e.exposed=i||{}};return{attrs:new Proxy(e.attrs,B6),slots:e.slots,emit:e.emit,expose:t}}function pA(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(S2(r1(e.exposed)),{get(t,i){if(i in t)return t[i];if(i in Mu)return Mu[i](e)},has(t,i){return i in t||i in Mu}})):e.proxy}function D6(e,t=!0){return Et(e)?e.displayName||e.name:e.name||t&&e.__name}function x6(e){return Et(e)&&"__vccOpts"in e}const Si=(e,t)=>CB(e,t,nc);function ai(e,t,i){const n=arguments.length;return n===2?bi(t)&&!vt(t)?ic(t)?T(e,null,[t]):T(e,t):T(e,null,t):(n>3?i=Array.prototype.slice.call(arguments,2):n===3&&ic(i)&&(i=[i]),T(e,t,i))}const T6="3.5.17";/**
+* @vue/runtime-dom v3.5.17
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let ep;const gF=typeof window<"u"&&window.trustedTypes;if(gF)try{ep=gF.createPolicy("vue",{createHTML:e=>e})}catch{}const mw=ep?e=>ep.createHTML(e):e=>e,I6="http://www.w3.org/2000/svg",P6="http://www.w3.org/1998/Math/MathML",bs=typeof document<"u"?document:null,mF=bs&&bs.createElement("template"),M6={insert:(e,t,i)=>{t.insertBefore(e,i||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,i,n)=>{const a=t==="svg"?bs.createElementNS(I6,e):t==="mathml"?bs.createElementNS(P6,e):i?bs.createElement(e,{is:i}):bs.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>bs.createTextNode(e),createComment:e=>bs.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>bs.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,i,n,a,s){const r=i?i.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),i),!(a===s||!(a=a.nextSibling)););else{mF.innerHTML=mw(n==="svg"?``:n==="mathml"?``:e);const o=mF.content;if(n==="svg"||n==="mathml"){const l=o.firstChild;for(;l.firstChild;)o.appendChild(l.firstChild);o.removeChild(l)}t.insertBefore(o,i)}return[r?r.nextSibling:t.firstChild,i?i.previousSibling:t.lastChild]}},Ys="transition",lu="animation",ac=Symbol("_vtc"),pw={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},L6=tn({},R2,pw),R6=e=>(e.displayName="Transition",e.props=L6,e),Zs=R6((e,{slots:t})=>ai(PB,U6(e),t)),Gr=(e,t=[])=>{vt(e)?e.forEach(i=>i(...t)):e&&e(...t)},pF=e=>e?vt(e)?e.some(t=>t.length>1):e.length>1:!1;function U6(e){const t={};for(const ae in e)ae in pw||(t[ae]=e[ae]);if(e.css===!1)return t;const{name:i="v",type:n,duration:a,enterFromClass:s=`${i}-enter-from`,enterActiveClass:r=`${i}-enter-active`,enterToClass:o=`${i}-enter-to`,appearFromClass:l=s,appearActiveClass:c=r,appearToClass:f=o,leaveFromClass:h=`${i}-leave-from`,leaveActiveClass:A=`${i}-leave-active`,leaveToClass:m=`${i}-leave-to`}=e,F=O6(a),y=F&&F[0],k=F&&F[1],{onBeforeEnter:C,onEnter:w,onEnterCancelled:B,onLeave:S,onLeaveCancelled:U,onBeforeAppear:N=C,onAppear:z=w,onAppearCancelled:Q=B}=t,R=(ae,Fe,ge,le)=>{ae._enterCancelled=le,zr(ae,Fe?f:o),zr(ae,Fe?c:r),ge&&ge()},q=(ae,Fe)=>{ae._isLeaving=!1,zr(ae,h),zr(ae,m),zr(ae,A),Fe&&Fe()},J=ae=>(Fe,ge)=>{const le=ae?z:w,re=()=>R(Fe,ae,ge);Gr(le,[Fe,re]),_F(()=>{zr(Fe,ae?l:s),As(Fe,ae?f:o),pF(le)||FF(Fe,n,y,re)})};return tn(t,{onBeforeEnter(ae){Gr(C,[ae]),As(ae,s),As(ae,r)},onBeforeAppear(ae){Gr(N,[ae]),As(ae,l),As(ae,c)},onEnter:J(!1),onAppear:J(!0),onLeave(ae,Fe){ae._isLeaving=!0;const ge=()=>q(ae,Fe);As(ae,h),ae._enterCancelled?(As(ae,A),yF()):(yF(),As(ae,A)),_F(()=>{ae._isLeaving&&(zr(ae,h),As(ae,m),pF(S)||FF(ae,n,k,ge))}),Gr(S,[ae,ge])},onEnterCancelled(ae){R(ae,!1,void 0,!0),Gr(B,[ae])},onAppearCancelled(ae){R(ae,!0,void 0,!0),Gr(Q,[ae])},onLeaveCancelled(ae){q(ae),Gr(U,[ae])}})}function O6(e){if(e==null)return null;if(bi(e))return[Pg(e.enter),Pg(e.leave)];{const t=Pg(e);return[t,t]}}function Pg(e){return VE(e)}function As(e,t){t.split(/\s+/).forEach(i=>i&&e.classList.add(i)),(e[ac]||(e[ac]=new Set)).add(t)}function zr(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const i=e[ac];i&&(i.delete(t),i.size||(e[ac]=void 0))}function _F(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let N6=0;function FF(e,t,i,n){const a=e._endId=++N6,s=()=>{a===e._endId&&n()};if(i!=null)return setTimeout(s,i);const{type:r,timeout:o,propCount:l}=H6(e,t);if(!r)return n();const c=r+"end";let f=0;const h=()=>{e.removeEventListener(c,A),s()},A=m=>{m.target===e&&++f>=l&&h()};setTimeout(()=>{f(i[F]||"").split(", "),a=n(`${Ys}Delay`),s=n(`${Ys}Duration`),r=bF(a,s),o=n(`${lu}Delay`),l=n(`${lu}Duration`),c=bF(o,l);let f=null,h=0,A=0;t===Ys?r>0&&(f=Ys,h=r,A=s.length):t===lu?c>0&&(f=lu,h=c,A=l.length):(h=Math.max(r,c),f=h>0?r>c?Ys:lu:null,A=f?f===Ys?s.length:l.length:0);const m=f===Ys&&/\b(transform|all)(,|$)/.test(n(`${Ys}Property`).toString());return{type:f,timeout:h,propCount:A,hasTransform:m}}function bF(e,t){for(;e.lengthvF(i)+vF(e[n])))}function vF(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function yF(){return document.body.offsetHeight}function Q6(e,t,i){const n=e[ac];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):i?e.setAttribute("class",t):e.className=t}const Gf=Symbol("_vod"),_w=Symbol("_vsh"),j6={beforeMount(e,{value:t},{transition:i}){e[Gf]=e.style.display==="none"?"":e.style.display,i&&t?i.beforeEnter(e):uu(e,t)},mounted(e,{value:t},{transition:i}){i&&t&&i.enter(e)},updated(e,{value:t,oldValue:i},{transition:n}){!t!=!i&&(n?t?(n.beforeEnter(e),uu(e,!0),n.enter(e)):n.leave(e,()=>{uu(e,!1)}):uu(e,t))},beforeUnmount(e,{value:t}){uu(e,t)}};function uu(e,t){e.style.display=t?e[Gf]:"none",e[_w]=!t}const G6=Symbol(""),z6=/(^|;)\s*display\s*:/;function q6(e,t,i){const n=e.style,a=Pi(i);let s=!1;if(i&&!a){if(t)if(Pi(t))for(const r of t.split(";")){const o=r.slice(0,r.indexOf(":")).trim();i[o]==null&&Ff(n,o,"")}else for(const r in t)i[r]==null&&Ff(n,r,"");for(const r in i)r==="display"&&(s=!0),Ff(n,r,i[r])}else if(a){if(t!==i){const r=n[G6];r&&(i+=";"+r),n.cssText=i,s=z6.test(i)}}else t&&e.removeAttribute("style");Gf in e&&(e[Gf]=s?n.display:"",e[_w]&&(n.display="none"))}const wF=/\s*!important$/;function Ff(e,t,i){if(vt(i))i.forEach(n=>Ff(e,t,n));else if(i==null&&(i=""),t.startsWith("--"))e.setProperty(t,i);else{const n=V6(e,t);wF.test(i)?e.setProperty(Tr(n),i.replace(wF,""),"important"):e[n]=i}}const CF=["Webkit","Moz","ms"],Mg={};function V6(e,t){const i=Mg[t];if(i)return i;let n=ga(t);if(n!=="filter"&&n in e)return Mg[t]=n;n=oA(n);for(let a=0;aLg||(X6.then(()=>Lg=0),Lg=Date.now());function Z6(e,t){const i=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=i.attached)return;Da($6(n,i.value),t,5,[n])};return i.value=e,i.attached=J6(),i}function $6(e,t){if(vt(t)){const i=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{i.call(e),e._stopped=!0},t.map(n=>a=>!a._stopped&&n&&n(a))}else return t}const xF=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,eS=(e,t,i,n,a,s)=>{const r=a==="svg";t==="class"?Q6(e,n,r):t==="style"?q6(e,i,n):aA(t)?X_(t)||K6(e,t,i,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):tS(e,t,n,r))?(BF(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&EF(e,t,n,r,s,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Pi(n))?BF(e,ga(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),EF(e,t,n,r))};function tS(e,t,i,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&xF(t)&&Et(i));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return xF(t)&&Pi(i)?!1:t in e}const TF=e=>{const t=e.props["onUpdate:modelValue"]||!1;return vt(t)?i=>gf(t,i):t};function iS(e){e.target.composing=!0}function IF(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Rg=Symbol("_assign"),Ne={created(e,{modifiers:{lazy:t,trim:i,number:n}},a){e[Rg]=TF(a);const s=n||a.props&&a.props.type==="number";Ko(e,t?"change":"input",r=>{if(r.target.composing)return;let o=e.value;i&&(o=o.trim()),s&&(o=zm(o)),e[Rg](o)}),i&&Ko(e,"change",()=>{e.value=e.value.trim()}),t||(Ko(e,"compositionstart",iS),Ko(e,"compositionend",IF),Ko(e,"change",IF))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:i,modifiers:{lazy:n,trim:a,number:s}},r){if(e[Rg]=TF(r),e.composing)return;const o=(s||e.type==="number")&&!/^0\d/.test(e.value)?zm(e.value):e.value,l=t??"";o!==l&&(document.activeElement===e&&e.type!=="range"&&(n&&t===i||a&&e.value.trim()===l)||(e.value=l))}},nS=["ctrl","shift","alt","meta"],aS={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>nS.some(i=>e[`${i}Key`]&&!t.includes(i))},Ug=(e,t)=>{const i=e._withMods||(e._withMods={}),n=t.join(".");return i[n]||(i[n]=(a,...s)=>{for(let r=0;r{const i=e._withKeys||(e._withKeys={}),n=t.join(".");return i[n]||(i[n]=a=>{if(!("key"in a))return;const s=Tr(a.key);if(t.some(r=>r===s||sS[r]===s))return e(a)})},rS=tn({patchProp:eS},M6);let PF;function oS(){return PF||(PF=a6(rS))}const lS=(...e)=>{const t=oS().createApp(...e),{mount:i}=t;return t.mount=n=>{const a=cS(n);if(!a)return;const s=t._component;!Et(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=i(a,!1,uS(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t};function uS(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function cS(e){return Pi(e)?document.querySelector(e):e}/*!
+ * pinia v2.3.1
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */let Fw;const _A=e=>Fw=e,bw=Symbol();function tp(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ru;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ru||(Ru={}));function dS(){const e=l2(!0),t=e.run(()=>Yt({}));let i=[],n=[];const a=r1({install(s){_A(a),a._a=s,s.provide(bw,a),s.config.globalProperties.$pinia=a,n.forEach(r=>i.push(r)),n=[]},use(s){return this._a?i.push(s):n.push(s),this},_p:i,_a:null,_e:e,_s:new Map,state:t});return a}const vw=()=>{};function MF(e,t,i,n=vw){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),n())};return!i&&u2()&&$E(a),a}function Oo(e,...t){e.slice().forEach(i=>{i(...t)})}const fS=e=>e(),LF=Symbol(),Og=Symbol();function ip(e,t){e instanceof Map&&t instanceof Map?t.forEach((i,n)=>e.set(n,i)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const i in t){if(!t.hasOwnProperty(i))continue;const n=t[i],a=e[i];tp(a)&&tp(n)&&e.hasOwnProperty(i)&&!Di(n)&&!gr(n)?e[i]=ip(a,n):e[i]=n}return e}const hS=Symbol();function AS(e){return!tp(e)||!e.hasOwnProperty(hS)}const{assign:$s}=Object;function gS(e){return!!(Di(e)&&e.effect)}function mS(e,t,i,n){const{state:a,actions:s,getters:r}=t,o=i.state.value[e];let l;function c(){o||(i.state.value[e]=a?a():{});const f=D2(i.state.value[e]);return $s(f,s,Object.keys(r||{}).reduce((h,A)=>(h[A]=r1(Si(()=>{_A(i);const m=i._s.get(e);return r[A].call(m,m)})),h),{}))}return l=yw(e,c,t,i,n,!0),l}function yw(e,t,i={},n,a,s){let r;const o=$s({actions:{}},i),l={deep:!0};let c,f,h=[],A=[],m;const F=n.state.value[e];!s&&!F&&(n.state.value[e]={}),Yt({});let y;function k(Q){let R;c=f=!1,typeof Q=="function"?(Q(n.state.value[e]),R={type:Ru.patchFunction,storeId:e,events:m}):(ip(n.state.value[e],Q),R={type:Ru.patchObject,payload:Q,storeId:e,events:m});const q=y=Symbol();dA().then(()=>{y===q&&(c=!0)}),f=!0,Oo(h,R,n.state.value[e])}const C=s?function(){const{state:R}=i,q=R?R():{};this.$patch(J=>{$s(J,q)})}:vw;function w(){r.stop(),h=[],A=[],n._s.delete(e)}const B=(Q,R="")=>{if(LF in Q)return Q[Og]=R,Q;const q=function(){_A(n);const J=Array.from(arguments),ae=[],Fe=[];function ge(pe){ae.push(pe)}function le(pe){Fe.push(pe)}Oo(A,{args:J,name:q[Og],store:U,after:ge,onError:le});let re;try{re=Q.apply(this&&this.$id===e?this:U,J)}catch(pe){throw Oo(Fe,pe),pe}return re instanceof Promise?re.then(pe=>(Oo(ae,pe),pe)).catch(pe=>(Oo(Fe,pe),Promise.reject(pe))):(Oo(ae,re),re)};return q[LF]=!0,q[Og]=R,q},S={_p:n,$id:e,$onAction:MF.bind(null,A),$patch:k,$reset:C,$subscribe(Q,R={}){const q=MF(h,Q,R.detached,()=>J()),J=r.run(()=>mr(()=>n.state.value[e],ae=>{(R.flush==="sync"?f:c)&&Q({storeId:e,type:Ru.direct,events:m},ae)},$s({},l,R)));return q},$dispose:w},U=$c(S);n._s.set(e,U);const z=(n._a&&n._a.runWithContext||fS)(()=>n._e.run(()=>(r=l2()).run(()=>t({action:B}))));for(const Q in z){const R=z[Q];if(Di(R)&&!gS(R)||gr(R))s||(F&&AS(R)&&(Di(R)?R.value=F[Q]:ip(R,F[Q])),n.state.value[e][Q]=R);else if(typeof R=="function"){const q=B(R,Q);z[Q]=q,o.actions[Q]=R}}return $s(U,z),$s(qt(U),z),Object.defineProperty(U,"$state",{get:()=>n.state.value[e],set:Q=>{k(R=>{$s(R,Q)})}}),n._p.forEach(Q=>{$s(U,r.run(()=>Q({store:U,app:n._a,pinia:n,options:o})))}),F&&s&&i.hydrate&&i.hydrate(U.$state,F),c=!0,f=!0,U}/*! #__NO_SIDE_EFFECTS__ */function ti(e,t,i){let n,a;const s=typeof t=="function";typeof e=="string"?(n=e,a=s?i:t):(a=e,n=e.id);function r(o,l){const c=JB();return o=o||(c?Sa(bw,null):null),o&&_A(o),o=Fw,o._s.has(n)||(s?yw(n,t,a,o):mS(n,a,o)),o._s.get(n)}return r.$id=n,r}function Z(e,t){return Array.isArray(t)?t.reduce((i,n)=>(i[n]=function(){return e(this.$pinia)[n]},i),{}):Object.keys(t).reduce((i,n)=>(i[n]=function(){const a=e(this.$pinia),s=t[n];return typeof s=="function"?s.call(this,a):a[s]},i),{})}function xe(e,t){return Array.isArray(t)?t.reduce((i,n)=>(i[n]=function(...a){return e(this.$pinia)[n](...a)},i),{}):Object.keys(t).reduce((i,n)=>(i[n]=function(...a){return e(this.$pinia)[t[n]](...a)},i),{})}const ue=ti("phone",{state:()=>({show:!1,notifyshow:!1,lang:localStorage.roadphone_lang,config:[],apps:[],appinfos:[],installedapps:[],phone_number:"",hour24time:localStorage.roadphone_24hourtime?parseInt(localStorage.roadphone_24hourtime):1,background:localStorage.roadphone_background,darkmode:localStorage.roadphone_darkmode?parseInt(localStorage.roadphone_darkmode):0,homebuttoncolor:"#ffffff",enableHeader:!0,headerblack:!1,needSetup:!1,brightness:localStorage.roadphone_brightness?parseInt(localStorage.roadphone_brightness):100,controlCentre:!1,lockscreen:localStorage.roadphone_lockscreen?parseInt(localStorage.roadphone_lockscreen):1,lockscreenPin:localStorage.roadphone_lockscreenpin?parseInt(localStorage.roadphone_lockscreenpin):0,needlockscreenPin:localStorage.roadphone_need_lockscreenpin?parseInt(localStorage.roadphone_need_lockscreenpin):1,volume:100,flightmode:localStorage.roadphone_flightmode?parseInt(localStorage.roadphone_flightmode):0,large_app_icons:localStorage.roadphone_large_app_icons?parseInt(localStorage.roadphone_large_app_icons):0,focus:{donotdisturb:localStorage.roadphone_focus_donotdisturb?parseInt(localStorage.roadphone_focus_donotdisturb):0,work:localStorage.roadphone_focus_work?parseInt(localStorage.roadphone_focus_work):0,personal:localStorage.roadphone_focus_personal?parseInt(localStorage.roadphone_focus_personal):0,sleep:localStorage.roadphone_focus_sleep?parseInt(localStorage.roadphone_focus_sleep):0},silentmode:localStorage.roadphone_silentmode?parseInt(localStorage.roadphone_silentmode):0,flashlight:0,bluetooth:localStorage.roadphone_bluetooth?parseInt(localStorage.roadphone_bluetooth):1,dynamicisland:!0,bigImage:null,version:"1.0.0",updateAvailable:!1,changelog:[],newVersion:"1.0.0",job:null,joblabel:null,jobgrade:0,ringtone:localStorage.roadphone_ringtone?localStorage.roadphone_ringtone:null,otherproducts:{roadpad:!1,roadpods:!1},ingametime:null,voicechats:{pmavoice:!1,mumble:!1,saltychat:!1,tokovoip:!1,yacavoice:!1},rotate:!1,rotateback:!1,blockedNumbers:[],iconcolor:localStorage.roadphone_icon_color?localStorage.roadphone_icon_color:"light"}),getters:{getJob(){return this.job},getPhoneNumber(){return this.phone_number.toString()},getLang(){return this.lang==null?"en_US":this.lang},IntlString(){return this.lang=this.lang||"en_US",this.config.language===void 0?e=>e:this.config.language[this.lang]===void 0?e=>e:(e,t)=>this.config.language[this.lang][e]!==void 0?this.config.language[this.lang][e]||t||e:this.config.language.en_US[e]||t||e},getBackground(){return(this.background===null||this.background===void 0)&&this.config.background!==void 0?this.config.background:this.background},getDynamicIsland(){return this.dynamicisland},getBackgrounds(){return this.config.backgrounds},getRingtone(){return(this.ringtone===null||this.ringtone===void 0)&&this.config.default_ringtone!==void 0?this.config.default_ringtone:this.ringtone},getHomeScreenApps(){const e=this.installedapps;let t=[];return e.forEach(i=>{const n=`roadphone_home_${i.redirect}`;localStorage.getItem(n)==="1"&&t.push(i)}),t},getHomeAppsSorted(){let e=this.installedapps,t=[];for(let a=0;aa.names.name?1:0),n={};for(const a of i){const s=a.name.charAt(0).toUpperCase();n[s]||(n[s]=[]),n[s].push(a)}return n}},actions:{setHomeScreenApp(e,t){const i=`roadphone_home_${e}`;localStorage.setItem(i,t)},setHomeButtonColor(e){this.homebuttoncolor=e},setHeaderBlack(e){this.headerblack=e,e?this.homebuttoncolor="#000000":this.homebuttoncolor="#FFFFFF"},setBrightness(e){e<=10&&(e=10),this.brightness=e,localStorage.roadphone_brightness=e},setDarkMode(e){e?(localStorage.roadphone_darkmode=1,this.darkmode=1):(localStorage.roadphone_darkmode=0,this.darkmode=0)},set24HourTime(e){this.hour24time=e,localStorage.roadphone_24hourtime=e},setFlightmode(e){this.flightmode=e,localStorage.roadphone_flightmode=e},setBluetooth(e){e===0&&(this.otherproducts.roadpods=!1),this.bluetooth=e,localStorage.roadphone_bluetooth=e},setBackgroundURL(e){localStorage.roadphone_background=e,this.background=e},setNeedSetup(e){this.needSetup=e},setLang(e){this.lang=e,localStorage.roadphone_lang=e},setShow(e){this.show=e},setNotifyShow(e){this.notifyshow=e},setInstalledApps(e){this.apps=e,this.installedapps.length=0,e.forEach(t=>{const i=`roadphone_home_${t.redirect}`;if(localStorage.getItem(i)===null&&localStorage.setItem(i,"1"),t.default)this.installedapps.push(t);else{const a=`roadphone_app_${t.redirect}`,s=localStorage.getItem(a);s===null&&localStorage.setItem(a,"0"),s==="1"&&this.installedapps.push(t)}})},updateAppStatus(e,t){localStorage.getItem(`roadphone_app_${e}`)===null&&localStorage.setItem(`roadphone_app_${e}`,"0"),localStorage.setItem(`roadphone_app_${e}`,t),this.setInstalledApps(this.apps)},setRingtone(e){this.ringtone=e,localStorage.roadphone_ringtone=e},setFocus(e){if((e==="donotdisturb"&&this.focus.donotdisturb===1||e==="work"&&this.focus.work===1||e==="personal"&&this.focus.personal===1||e==="sleep"&&this.focus.sleep===1)&&(e="off"),e=="off"){this.focus={donotdisturb:0,work:0,personal:0,sleep:0},localStorage.removeItem("roadphone_focus_donotdisturb"),localStorage.removeItem("roadphone_focus_work"),localStorage.removeItem("roadphone_focus_personal"),localStorage.removeItem("roadphone_focus_sleep");return}const t={donotdisturb:{localStorageKey:"roadphone_focus_donotdisturb"},work:{localStorageKey:"roadphone_focus_work"},personal:{localStorageKey:"roadphone_focus_personal"},sleep:{localStorageKey:"roadphone_focus_sleep"}};Object.keys(this.focus).forEach(i=>{this.focus[i]=i===e?1:0,localStorage[t[i].localStorageKey]=this.focus[i]})},setBigImage(e){this.bigImage=e},setLockscreenPin(e){this.lockscreenPin=e,localStorage.roadphone_lockscreenpin=e},setUpdateData(e,t,i,n){this.updateAvailable=e,this.version=t,this.changelog=i,this.newVersion=n},toggleLockscreen(){this.lockscreen===1?this.lockscreen=0:this.lockscreen=1,localStorage.roadphone_lockscreen=this.lockscreen},toggleLargeAppIcons(){this.large_app_icons===1?this.large_app_icons=0:this.large_app_icons=1,localStorage.roadphone_large_app_icons=this.large_app_icons},toggleneedLockscreenPin(){this.needlockscreenPin===1?this.needlockscreenPin=0:this.needlockscreenPin=1,localStorage.roadphone_need_lockscreenpin=this.needlockscreenPin},toggleSilentmode(e){e?(this.silentmode=1,localStorage.roadphone_silentmode=1):(this.silentmode=0,localStorage.roadphone_silentmode=0)},setRoadPods(e){this.otherproducts.roadpods=e},setEnableHeader(e){this.enableHeader=e},setIconColor(e){this.iconcolor=e,localStorage.roadphone_icon_color=e}}}),ww={__name:"CurrentTime",setup(e){const t=ue(),i=Yt("");let n=null;const a=()=>{const r=new Date,o=r.getMinutes().toString().padStart(2,"0"),l=r.getHours().toString().padStart(2,"0");if(t.hour24time===1)i.value=`${l}:${o}`;else{const c=r.getHours()%12||12;i.value=`${c}:${o}`}},s=Si(()=>t.ingametime);return Fa(()=>{a(),n=setInterval(a,1e3)}),as(()=>{clearInterval(n)}),(r,o)=>_(s.value?(s.value.hour<10?"0"+s.value.hour:s.value.hour)+":"+(s.value.minute<10?"0"+s.value.minute:s.value.minute):i.value)}},Cw=/^[a-z0-9]+(-[a-z0-9]+)*$/,FA=(e,t,i,n="")=>{const a=e.split(":");if(e.slice(0,1)==="@"){if(a.length<2||a.length>3)return null;n=a.shift().slice(1)}if(a.length>3||!a.length)return null;if(a.length>1){const o=a.pop(),l=a.pop(),c={provider:a.length>0?a[0]:n,prefix:l,name:o};return t&&!bf(c)?null:c}const s=a[0],r=s.split("-");if(r.length>1){const o={provider:n,prefix:r.shift(),name:r.join("-")};return t&&!bf(o)?null:o}if(i&&n===""){const o={provider:n,prefix:"",name:s};return t&&!bf(o,i)?null:o}return null},bf=(e,t)=>e?!!((t&&e.prefix===""||e.prefix)&&e.name):!1,kw=Object.freeze({left:0,top:0,width:16,height:16}),zf=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),bA=Object.freeze({...kw,...zf}),np=Object.freeze({...bA,body:"",hidden:!1});function pS(e,t){const i={};!e.hFlip!=!t.hFlip&&(i.hFlip=!0),!e.vFlip!=!t.vFlip&&(i.vFlip=!0);const n=((e.rotate||0)+(t.rotate||0))%4;return n&&(i.rotate=n),i}function RF(e,t){const i=pS(e,t);for(const n in np)n in zf?n in e&&!(n in i)&&(i[n]=zf[n]):n in t?i[n]=t[n]:n in e&&(i[n]=e[n]);return i}function _S(e,t){const i=e.icons,n=e.aliases||Object.create(null),a=Object.create(null);function s(r){if(i[r])return a[r]=[];if(!(r in a)){a[r]=null;const o=n[r]&&n[r].parent,l=o&&s(o);l&&(a[r]=[o].concat(l))}return a[r]}return Object.keys(i).concat(Object.keys(n)).forEach(s),a}function FS(e,t,i){const n=e.icons,a=e.aliases||Object.create(null);let s={};function r(o){s=RF(n[o]||a[o],s)}return r(t),i.forEach(r),RF(e,s)}function Ew(e,t){const i=[];if(typeof e!="object"||typeof e.icons!="object")return i;e.not_found instanceof Array&&e.not_found.forEach(a=>{t(a,null),i.push(a)});const n=_S(e);for(const a in n){const s=n[a];s&&(t(a,FS(e,a,s)),i.push(a))}return i}const bS={provider:"",aliases:{},not_found:{},...kw};function Ng(e,t){for(const i in t)if(i in e&&typeof e[i]!=typeof t[i])return!1;return!0}function Bw(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!Ng(e,bS))return null;const i=t.icons;for(const a in i){const s=i[a];if(!a||typeof s.body!="string"||!Ng(s,np))return null}const n=t.aliases||Object.create(null);for(const a in n){const s=n[a],r=s.parent;if(!a||typeof r!="string"||!i[r]&&!n[r]||!Ng(s,np))return null}return t}const UF=Object.create(null);function vS(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function hl(e,t){const i=UF[e]||(UF[e]=Object.create(null));return i[t]||(i[t]=vS(e,t))}function Sw(e,t){return Bw(t)?Ew(t,(i,n)=>{n?e.icons[i]=n:e.missing.add(i)}):[]}function yS(e,t,i){try{if(typeof i.body=="string")return e.icons[t]={...i},!0}catch{}return!1}let sc=!1;function Dw(e){return typeof e=="boolean"&&(sc=e),sc}function wS(e){const t=typeof e=="string"?FA(e,!0,sc):e;if(t){const i=hl(t.provider,t.prefix),n=t.name;return i.icons[n]||(i.missing.has(n)?null:void 0)}}function CS(e,t){const i=FA(e,!0,sc);if(!i)return!1;const n=hl(i.provider,i.prefix);return t?yS(n,i.name,t):(n.missing.add(i.name),!0)}function kS(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),sc&&!t&&!e.prefix){let a=!1;return Bw(e)&&(e.prefix="",Ew(e,(s,r)=>{CS(s,r)&&(a=!0)})),a}const i=e.prefix;if(!bf({prefix:i,name:"a"}))return!1;const n=hl(t,i);return!!Sw(n,e)}const xw=Object.freeze({width:null,height:null}),Tw=Object.freeze({...xw,...zf}),ES=/(-?[0-9.]*[0-9]+[0-9.]*)/g,BS=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function OF(e,t,i){if(t===1)return e;if(i=i||100,typeof e=="number")return Math.ceil(e*t*i)/i;if(typeof e!="string")return e;const n=e.split(ES);if(n===null||!n.length)return e;const a=[];let s=n.shift(),r=BS.test(s);for(;;){if(r){const o=parseFloat(s);isNaN(o)?a.push(s):a.push(Math.ceil(o*t*i)/i)}else a.push(s);if(s=n.shift(),s===void 0)return a.join("");r=!r}}function SS(e,t="defs"){let i="";const n=e.indexOf("<"+t);for(;n>=0;){const a=e.indexOf(">",n),s=e.indexOf(""+t);if(a===-1||s===-1)break;const r=e.indexOf(">",s);if(r===-1)break;i+=e.slice(a+1,s).trim(),e=e.slice(0,n).trim()+e.slice(r+1)}return{defs:i,content:e}}function DS(e,t){return e?""+e+""+t:t}function xS(e,t,i){const n=SS(e);return DS(n.defs,t+n.content+i)}const TS=e=>e==="unset"||e==="undefined"||e==="none";function IS(e,t){const i={...bA,...e},n={...Tw,...t},a={left:i.left,top:i.top,width:i.width,height:i.height};let s=i.body;[i,n].forEach(y=>{const k=[],C=y.hFlip,w=y.vFlip;let B=y.rotate;C?w?B+=2:(k.push("translate("+(a.width+a.left).toString()+" "+(0-a.top).toString()+")"),k.push("scale(-1 1)"),a.top=a.left=0):w&&(k.push("translate("+(0-a.left).toString()+" "+(a.height+a.top).toString()+")"),k.push("scale(1 -1)"),a.top=a.left=0);let S;switch(B<0&&(B-=Math.floor(B/4)*4),B=B%4,B){case 1:S=a.height/2+a.top,k.unshift("rotate(90 "+S.toString()+" "+S.toString()+")");break;case 2:k.unshift("rotate(180 "+(a.width/2+a.left).toString()+" "+(a.height/2+a.top).toString()+")");break;case 3:S=a.width/2+a.left,k.unshift("rotate(-90 "+S.toString()+" "+S.toString()+")");break}B%2===1&&(a.left!==a.top&&(S=a.left,a.left=a.top,a.top=S),a.width!==a.height&&(S=a.width,a.width=a.height,a.height=S)),k.length&&(s=xS(s,'',""))});const r=n.width,o=n.height,l=a.width,c=a.height;let f,h;r===null?(h=o===null?"1em":o==="auto"?c:o,f=OF(h,l/c)):(f=r==="auto"?l:r,h=o===null?OF(f,c/l):o==="auto"?c:o);const A={},m=(y,k)=>{TS(k)||(A[y]=k.toString())};m("width",f),m("height",h);const F=[a.left,a.top,l,c];return A.viewBox=F.join(" "),{attributes:A,viewBox:F,body:s}}const PS=/\sid="(\S+)"/g,MS="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let LS=0;function RS(e,t=MS){const i=[];let n;for(;n=PS.exec(e);)i.push(n[1]);if(!i.length)return e;const a="suffix"+(Math.random()*16777216|Date.now()).toString(16);return i.forEach(s=>{const r=typeof t=="function"?t(s):t+(LS++).toString(),o=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+o+')([")]|\\.[a-z])',"g"),"$1"+r+a+"$3")}),e=e.replace(new RegExp(a,"g"),""),e}const ap=Object.create(null);function US(e,t){ap[e]=t}function sp(e){return ap[e]||ap[""]}function f1(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const h1=Object.create(null),cu=["https://api.simplesvg.com","https://api.unisvg.com"],vf=[];for(;cu.length>0;)cu.length===1||Math.random()>.5?vf.push(cu.shift()):vf.push(cu.pop());h1[""]=f1({resources:["https://api.iconify.design"].concat(vf)});function OS(e,t){const i=f1(t);return i===null?!1:(h1[e]=i,!0)}function A1(e){return h1[e]}const NS=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let NF=NS();function HS(e,t){const i=A1(e);if(!i)return 0;let n;if(!i.maxURL)n=0;else{let a=0;i.resources.forEach(r=>{a=Math.max(a,r.length)});const s=t+".json?icons=";n=i.maxURL-a-i.path.length-s.length}return n}function QS(e){return e===404}const jS=(e,t,i)=>{const n=[],a=HS(e,t),s="icons";let r={type:s,provider:e,prefix:t,icons:[]},o=0;return i.forEach((l,c)=>{o+=l.length+1,o>=a&&c>0&&(n.push(r),r={type:s,provider:e,prefix:t,icons:[]},o=l.length),r.icons.push(l)}),n.push(r),n};function GS(e){if(typeof e=="string"){const t=A1(e);if(t)return t.path}return"/"}const zS=(e,t,i)=>{if(!NF){i("abort",424);return}let n=GS(t.provider);switch(t.type){case"icons":{const s=t.prefix,o=t.icons.join(","),l=new URLSearchParams({icons:o});n+=s+".json?"+l.toString();break}case"custom":{const s=t.uri;n+=s.slice(0,1)==="/"?s.slice(1):s;break}default:i("abort",400);return}let a=503;NF(e+n).then(s=>{const r=s.status;if(r!==200){setTimeout(()=>{i(QS(r)?"abort":"next",r)});return}return a=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{s===404?i("abort",s):i("next",a)});return}setTimeout(()=>{i("success",s)})}).catch(()=>{i("next",a)})},qS={prepare:jS,send:zS};function VS(e){const t={loaded:[],missing:[],pending:[]},i=Object.create(null);e.sort((a,s)=>a.provider!==s.provider?a.provider.localeCompare(s.provider):a.prefix!==s.prefix?a.prefix.localeCompare(s.prefix):a.name.localeCompare(s.name));let n={provider:"",prefix:"",name:""};return e.forEach(a=>{if(n.name===a.name&&n.prefix===a.prefix&&n.provider===a.provider)return;n=a;const s=a.provider,r=a.prefix,o=a.name,l=i[s]||(i[s]=Object.create(null)),c=l[r]||(l[r]=hl(s,r));let f;o in c.icons?f=t.loaded:r===""||c.missing.has(o)?f=t.missing:f=t.pending;const h={provider:s,prefix:r,name:o};f.push(h)}),t}function Iw(e,t){e.forEach(i=>{const n=i.loaderCallbacks;n&&(i.loaderCallbacks=n.filter(a=>a.id!==t))})}function WS(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let i=!1;const n=e.provider,a=e.prefix;t.forEach(s=>{const r=s.icons,o=r.pending.length;r.pending=r.pending.filter(l=>{if(l.prefix!==a)return!0;const c=l.name;if(e.icons[c])r.loaded.push({provider:n,prefix:a,name:c});else if(e.missing.has(c))r.missing.push({provider:n,prefix:a,name:c});else return i=!0,!0;return!1}),r.pending.length!==o&&(i||Iw([e],s.id),s.callback(r.loaded.slice(0),r.missing.slice(0),r.pending.slice(0),s.abort))})}))}let KS=0;function YS(e,t,i){const n=KS++,a=Iw.bind(null,i,n);if(!t.pending.length)return a;const s={id:n,icons:t,callback:e,abort:a};return i.forEach(r=>{(r.loaderCallbacks||(r.loaderCallbacks=[])).push(s)}),a}function XS(e,t=!0,i=!1){const n=[];return e.forEach(a=>{const s=typeof a=="string"?FA(a,t,i):a;s&&n.push(s)}),n}var JS={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function ZS(e,t,i,n){const a=e.resources.length,s=e.random?Math.floor(Math.random()*a):e.index;let r;if(e.random){let N=e.resources.slice(0);for(r=[];N.length>1;){const z=Math.floor(Math.random()*N.length);r.push(N[z]),N=N.slice(0,z).concat(N.slice(z+1))}r=r.concat(N)}else r=e.resources.slice(s).concat(e.resources.slice(0,s));const o=Date.now();let l="pending",c=0,f,h=null,A=[],m=[];typeof n=="function"&&m.push(n);function F(){h&&(clearTimeout(h),h=null)}function y(){l==="pending"&&(l="aborted"),F(),A.forEach(N=>{N.status==="pending"&&(N.status="aborted")}),A=[]}function k(N,z){z&&(m=[]),typeof N=="function"&&m.push(N)}function C(){return{startTime:o,payload:t,status:l,queriesSent:c,queriesPending:A.length,subscribe:k,abort:y}}function w(){l="failed",m.forEach(N=>{N(void 0,f)})}function B(){A.forEach(N=>{N.status==="pending"&&(N.status="aborted")}),A=[]}function S(N,z,Q){const R=z!=="success";switch(A=A.filter(q=>q!==N),l){case"pending":break;case"failed":if(R||!e.dataAfterTimeout)return;break;default:return}if(z==="abort"){f=Q,w();return}if(R){f=Q,A.length||(r.length?U():w());return}if(F(),B(),!e.random){const q=e.resources.indexOf(N.resource);q!==-1&&q!==e.index&&(e.index=q)}l="completed",m.forEach(q=>{q(Q)})}function U(){if(l!=="pending")return;F();const N=r.shift();if(N===void 0){if(A.length){h=setTimeout(()=>{F(),l==="pending"&&(B(),w())},e.timeout);return}w();return}const z={status:"pending",resource:N,callback:(Q,R)=>{S(z,Q,R)}};A.push(z),c++,h=setTimeout(U,e.rotate),i(N,t,z.callback)}return setTimeout(U),C}function Pw(e){const t={...JS,...e};let i=[];function n(){i=i.filter(o=>o().status==="pending")}function a(o,l,c){const f=ZS(t,o,l,(h,A)=>{n(),c&&c(h,A)});return i.push(f),f}function s(o){return i.find(l=>o(l))||null}return{query:a,find:s,setIndex:o=>{t.index=o},getIndex:()=>t.index,cleanup:n}}function HF(){}const Hg=Object.create(null);function $S(e){if(!Hg[e]){const t=A1(e);if(!t)return;const i=Pw(t),n={config:t,redundancy:i};Hg[e]=n}return Hg[e]}function eD(e,t,i){let n,a;if(typeof e=="string"){const s=sp(e);if(!s)return i(void 0,424),HF;a=s.send;const r=$S(e);r&&(n=r.redundancy)}else{const s=f1(e);if(s){n=Pw(s);const r=e.resources?e.resources[0]:"",o=sp(r);o&&(a=o.send)}}return!n||!a?(i(void 0,424),HF):n.query(t,a,i)().abort}function QF(){}function tD(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,WS(e)}))}function iD(e){const t=[],i=[];return e.forEach(n=>{(n.match(Cw)?t:i).push(n)}),{valid:t,invalid:i}}function du(e,t,i){function n(){const a=e.pendingIcons;t.forEach(s=>{a&&a.delete(s),e.icons[s]||e.missing.add(s)})}if(i&&typeof i=="object")try{if(!Sw(e,i).length){n();return}}catch(a){console.error(a)}n(),tD(e)}function jF(e,t){e instanceof Promise?e.then(i=>{t(i)}).catch(()=>{t(null)}):t(e)}function nD(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:i,prefix:n}=e,a=e.iconsToLoad;if(delete e.iconsToLoad,!a||!a.length)return;const s=e.loadIcon;if(e.loadIcons&&(a.length>1||!s)){jF(e.loadIcons(a,n,i),f=>{du(e,a,f)});return}if(s){a.forEach(f=>{const h=s(f,n,i);jF(h,A=>{const m=A?{prefix:n,icons:{[f]:A}}:null;du(e,[f],m)})});return}const{valid:r,invalid:o}=iD(a);if(o.length&&du(e,o,null),!r.length)return;const l=n.match(Cw)?sp(i):null;if(!l){du(e,r,null);return}l.prepare(i,n,r).forEach(f=>{eD(i,f,h=>{du(e,f.icons,h)})})}))}const aD=(e,t)=>{const i=XS(e,!0,Dw()),n=VS(i);if(!n.pending.length){let l=!0;return t&&setTimeout(()=>{l&&t(n.loaded,n.missing,n.pending,QF)}),()=>{l=!1}}const a=Object.create(null),s=[];let r,o;return n.pending.forEach(l=>{const{provider:c,prefix:f}=l;if(f===o&&c===r)return;r=c,o=f,s.push(hl(c,f));const h=a[c]||(a[c]=Object.create(null));h[f]||(h[f]=[])}),n.pending.forEach(l=>{const{provider:c,prefix:f,name:h}=l,A=hl(c,f),m=A.pendingIcons||(A.pendingIcons=new Set);m.has(h)||(m.add(h),a[c][f].push(h))}),s.forEach(l=>{const c=a[l.provider][l.prefix];c.length&&nD(l,c)}),t?YS(t,n,s):QF};function sD(e,t){const i={...e};for(const n in t){const a=t[n],s=typeof a;n in xw?(a===null||a&&(s==="string"||s==="number"))&&(i[n]=a):s===typeof i[n]&&(i[n]=n==="rotate"?a%4:a)}return i}const rD=/[\s,]+/;function oD(e,t){t.split(rD).forEach(i=>{switch(i.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function lD(e,t=0){const i=e.replace(/^-?[0-9.]*/,"");function n(a){for(;a<0;)a+=4;return a%4}if(i===""){const a=parseInt(e);return isNaN(a)?0:n(a)}else if(i!==e){let a=0;switch(i){case"%":a=25;break;case"deg":a=90}if(a){let s=parseFloat(e.slice(0,e.length-i.length));return isNaN(s)?0:(s=s/a,s%1===0?n(s):0)}}return t}function uD(e,t){let i=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in t)i+=" "+n+'="'+t[n]+'"';return'"}function cD(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function dD(e){return"data:image/svg+xml,"+cD(e)}function fD(e){return'url("'+dD(e)+'")'}const GF={...Tw,inline:!1},hD={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},AD={display:"inline-block"},rp={backgroundColor:"currentColor"},Mw={backgroundColor:"transparent"},zF={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},qF={webkitMask:rp,mask:rp,background:Mw};for(const e in qF){const t=qF[e];for(const i in zF)t[e+i]=zF[i]}const yf={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";yf[e+"-flip"]=t,yf[e.slice(0,1)+"-flip"]=t,yf[e+"Flip"]=t});function VF(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const WF=(e,t)=>{const i=sD(GF,t),n={...hD},a=t.mode||"svg",s={},r=t.style,o=typeof r=="object"&&!(r instanceof Array)?r:{};for(let y in t){const k=t[y];if(k!==void 0)switch(y){case"icon":case"style":case"onLoad":case"mode":case"ssr":break;case"inline":case"hFlip":case"vFlip":i[y]=k===!0||k==="true"||k===1;break;case"flip":typeof k=="string"&&oD(i,k);break;case"color":s.color=k;break;case"rotate":typeof k=="string"?i[y]=lD(k):typeof k=="number"&&(i[y]=k);break;case"ariaHidden":case"aria-hidden":k!==!0&&k!=="true"&&delete n["aria-hidden"];break;default:{const C=yf[y];C?(k===!0||k==="true"||k===1)&&(i[C]=!0):GF[y]===void 0&&(n[y]=k)}}}const l=IS(e,i),c=l.attributes;if(i.inline&&(s.verticalAlign="-0.125em"),a==="svg"){n.style={...s,...o},Object.assign(n,c);let y=0,k=t.id;return typeof k=="string"&&(k=k.replace(/-/g,"_")),n.innerHTML=RS(l.body,k?()=>k+"ID"+y++:"iconifyVue"),ai("svg",n)}const{body:f,width:h,height:A}=e,m=a==="mask"||(a==="bg"?!1:f.indexOf("currentColor")!==-1),F=uD(f,{...c,width:h+"",height:A+""});return n.style={...s,"--svg":fD(F),width:VF(c.width),height:VF(c.height),...AD,...m?rp:Mw,...o},ai("span",n)};Dw(!0);US("",qS);if(typeof document<"u"&&typeof window<"u"){const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,i="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(n=>{try{(typeof n!="object"||n===null||n instanceof Array||typeof n.icons!="object"||typeof n.prefix!="string"||!kS(n))&&console.error(i)}catch{console.error(i)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let i in t){const n="IconifyProviders["+i+"] is invalid.";try{const a=t[i];if(typeof a!="object"||!a||a.resources===void 0)continue;OS(i,a)||console.error(n)}catch{console.error(n)}}}}const gD={...bA,body:""},Qe=wo({inheritAttrs:!1,data(){return{_name:"",_loadingIcon:null,iconMounted:!1,counter:0}},mounted(){this.iconMounted=!0},unmounted(){this.abortLoading()},methods:{abortLoading(){this._loadingIcon&&(this._loadingIcon.abort(),this._loadingIcon=null)},getIcon(e,t,i){if(typeof e=="object"&&e!==null&&typeof e.body=="string")return this._name="",this.abortLoading(),{data:e};let n;if(typeof e!="string"||(n=FA(e,!1,!0))===null)return this.abortLoading(),null;let a=wS(n);if(!a)return(!this._loadingIcon||this._loadingIcon.name!==e)&&(this.abortLoading(),this._name="",a!==null&&(this._loadingIcon={name:e,abort:aD([n],()=>{this.counter++})})),null;if(this.abortLoading(),this._name!==e&&(this._name=e,t&&t(e)),i){a=Object.assign({},a);const r=i(a.body,n.name,n.prefix,n.provider);typeof r=="string"&&(a.body=r)}const s=["iconify"];return n.prefix!==""&&s.push("iconify--"+n.prefix),n.provider!==""&&s.push("iconify--"+n.provider),{data:a,classes:s}}},render(){this.counter;const e=this.$attrs,t=this.iconMounted||e.ssr?this.getIcon(e.icon,e.onLoad,e.customise):null;if(!t)return WF(gD,e);let i=e;return t.classes&&(i={...e,class:(typeof e.class=="string"?e.class+" ":"")+t.classes.join(" ")}),WF({...bA,...t.data},i)}});function Lw(e,t){return function(){return e.apply(t,arguments)}}const{toString:mD}=Object.prototype,{getPrototypeOf:g1}=Object,{iterator:vA,toStringTag:Rw}=Symbol,yA=(e=>t=>{const i=mD.call(t);return e[i]||(e[i]=i.slice(8,-1).toLowerCase())})(Object.create(null)),Ia=e=>(e=e.toLowerCase(),t=>yA(t)===e),wA=e=>t=>typeof t===e,{isArray:Hl}=Array,rc=wA("undefined");function pD(e){return e!==null&&!rc(e)&&e.constructor!==null&&!rc(e.constructor)&&Nn(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Uw=Ia("ArrayBuffer");function _D(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Uw(e.buffer),t}const FD=wA("string"),Nn=wA("function"),Ow=wA("number"),CA=e=>e!==null&&typeof e=="object",bD=e=>e===!0||e===!1,wf=e=>{if(yA(e)!=="object")return!1;const t=g1(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Rw in e)&&!(vA in e)},vD=Ia("Date"),yD=Ia("File"),wD=Ia("Blob"),CD=Ia("FileList"),kD=e=>CA(e)&&Nn(e.pipe),ED=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Nn(e.append)&&((t=yA(e))==="formdata"||t==="object"&&Nn(e.toString)&&e.toString()==="[object FormData]"))},BD=Ia("URLSearchParams"),[SD,DD,xD,TD]=["ReadableStream","Request","Response","Headers"].map(Ia),ID=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function nd(e,t,{allOwnKeys:i=!1}={}){if(e===null||typeof e>"u")return;let n,a;if(typeof e!="object"&&(e=[e]),Hl(e))for(n=0,a=e.length;n0;)if(a=i[n],t===a.toLowerCase())return a;return null}const Yr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Hw=e=>!rc(e)&&e!==Yr;function op(){const{caseless:e}=Hw(this)&&this||{},t={},i=(n,a)=>{const s=e&&Nw(t,a)||a;wf(t[s])&&wf(n)?t[s]=op(t[s],n):wf(n)?t[s]=op({},n):Hl(n)?t[s]=n.slice():t[s]=n};for(let n=0,a=arguments.length;n(nd(t,(a,s)=>{i&&Nn(a)?e[s]=Lw(a,i):e[s]=a},{allOwnKeys:n}),e),MD=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),LD=(e,t,i,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),i&&Object.assign(e.prototype,i)},RD=(e,t,i,n)=>{let a,s,r;const o={};if(t=t||{},e==null)return t;do{for(a=Object.getOwnPropertyNames(e),s=a.length;s-- >0;)r=a[s],(!n||n(r,e,t))&&!o[r]&&(t[r]=e[r],o[r]=!0);e=i!==!1&&g1(e)}while(e&&(!i||i(e,t))&&e!==Object.prototype);return t},UD=(e,t,i)=>{e=String(e),(i===void 0||i>e.length)&&(i=e.length),i-=t.length;const n=e.indexOf(t,i);return n!==-1&&n===i},OD=e=>{if(!e)return null;if(Hl(e))return e;let t=e.length;if(!Ow(t))return null;const i=new Array(t);for(;t-- >0;)i[t]=e[t];return i},ND=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&g1(Uint8Array)),HD=(e,t)=>{const n=(e&&e[vA]).call(e);let a;for(;(a=n.next())&&!a.done;){const s=a.value;t.call(e,s[0],s[1])}},QD=(e,t)=>{let i;const n=[];for(;(i=e.exec(t))!==null;)n.push(i);return n},jD=Ia("HTMLFormElement"),GD=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(i,n,a){return n.toUpperCase()+a}),KF=(({hasOwnProperty:e})=>(t,i)=>e.call(t,i))(Object.prototype),zD=Ia("RegExp"),Qw=(e,t)=>{const i=Object.getOwnPropertyDescriptors(e),n={};nd(i,(a,s)=>{let r;(r=t(a,s,e))!==!1&&(n[s]=r||a)}),Object.defineProperties(e,n)},qD=e=>{Qw(e,(t,i)=>{if(Nn(e)&&["arguments","caller","callee"].indexOf(i)!==-1)return!1;const n=e[i];if(Nn(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+i+"'")})}})},VD=(e,t)=>{const i={},n=a=>{a.forEach(s=>{i[s]=!0})};return Hl(e)?n(e):n(String(e).split(t)),i},WD=()=>{},KD=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function YD(e){return!!(e&&Nn(e.append)&&e[Rw]==="FormData"&&e[vA])}const XD=e=>{const t=new Array(10),i=(n,a)=>{if(CA(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[a]=n;const s=Hl(n)?[]:{};return nd(n,(r,o)=>{const l=i(r,a+1);!rc(l)&&(s[o]=l)}),t[a]=void 0,s}}return n};return i(e,0)},JD=Ia("AsyncFunction"),ZD=e=>e&&(CA(e)||Nn(e))&&Nn(e.then)&&Nn(e.catch),jw=((e,t)=>e?setImmediate:t?((i,n)=>(Yr.addEventListener("message",({source:a,data:s})=>{a===Yr&&s===i&&n.length&&n.shift()()},!1),a=>{n.push(a),Yr.postMessage(i,"*")}))(`axios@${Math.random()}`,[]):i=>setTimeout(i))(typeof setImmediate=="function",Nn(Yr.postMessage)),$D=typeof queueMicrotask<"u"?queueMicrotask.bind(Yr):typeof process<"u"&&process.nextTick||jw,ex=e=>e!=null&&Nn(e[vA]),Le={isArray:Hl,isArrayBuffer:Uw,isBuffer:pD,isFormData:ED,isArrayBufferView:_D,isString:FD,isNumber:Ow,isBoolean:bD,isObject:CA,isPlainObject:wf,isReadableStream:SD,isRequest:DD,isResponse:xD,isHeaders:TD,isUndefined:rc,isDate:vD,isFile:yD,isBlob:wD,isRegExp:zD,isFunction:Nn,isStream:kD,isURLSearchParams:BD,isTypedArray:ND,isFileList:CD,forEach:nd,merge:op,extend:PD,trim:ID,stripBOM:MD,inherits:LD,toFlatObject:RD,kindOf:yA,kindOfTest:Ia,endsWith:UD,toArray:OD,forEachEntry:HD,matchAll:QD,isHTMLForm:jD,hasOwnProperty:KF,hasOwnProp:KF,reduceDescriptors:Qw,freezeMethods:qD,toObjectSet:VD,toCamelCase:GD,noop:WD,toFiniteNumber:KD,findKey:Nw,global:Yr,isContextDefined:Hw,isSpecCompliantForm:YD,toJSONObject:XD,isAsyncFn:JD,isThenable:ZD,setImmediate:jw,asap:$D,isIterable:ex};function xt(e,t,i,n,a){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),i&&(this.config=i),n&&(this.request=n),a&&(this.response=a,this.status=a.status?a.status:null)}Le.inherits(xt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Le.toJSONObject(this.config),code:this.code,status:this.status}}});const Gw=xt.prototype,zw={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{zw[e]={value:e}});Object.defineProperties(xt,zw);Object.defineProperty(Gw,"isAxiosError",{value:!0});xt.from=(e,t,i,n,a,s)=>{const r=Object.create(Gw);return Le.toFlatObject(e,r,function(l){return l!==Error.prototype},o=>o!=="isAxiosError"),xt.call(r,e.message,t,i,n,a),r.cause=e,r.name=e.name,s&&Object.assign(r,s),r};const tx=null;function lp(e){return Le.isPlainObject(e)||Le.isArray(e)}function qw(e){return Le.endsWith(e,"[]")?e.slice(0,-2):e}function YF(e,t,i){return e?e.concat(t).map(function(a,s){return a=qw(a),!i&&s?"["+a+"]":a}).join(i?".":""):t}function ix(e){return Le.isArray(e)&&!e.some(lp)}const nx=Le.toFlatObject(Le,{},null,function(t){return/^is[A-Z]/.test(t)});function kA(e,t,i){if(!Le.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,i=Le.toFlatObject(i,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,k){return!Le.isUndefined(k[y])});const n=i.metaTokens,a=i.visitor||f,s=i.dots,r=i.indexes,l=(i.Blob||typeof Blob<"u"&&Blob)&&Le.isSpecCompliantForm(t);if(!Le.isFunction(a))throw new TypeError("visitor must be a function");function c(F){if(F===null)return"";if(Le.isDate(F))return F.toISOString();if(Le.isBoolean(F))return F.toString();if(!l&&Le.isBlob(F))throw new xt("Blob is not supported. Use a Buffer instead.");return Le.isArrayBuffer(F)||Le.isTypedArray(F)?l&&typeof Blob=="function"?new Blob([F]):Buffer.from(F):F}function f(F,y,k){let C=F;if(F&&!k&&typeof F=="object"){if(Le.endsWith(y,"{}"))y=n?y:y.slice(0,-2),F=JSON.stringify(F);else if(Le.isArray(F)&&ix(F)||(Le.isFileList(F)||Le.endsWith(y,"[]"))&&(C=Le.toArray(F)))return y=qw(y),C.forEach(function(B,S){!(Le.isUndefined(B)||B===null)&&t.append(r===!0?YF([y],S,s):r===null?y:y+"[]",c(B))}),!1}return lp(F)?!0:(t.append(YF(k,y,s),c(F)),!1)}const h=[],A=Object.assign(nx,{defaultVisitor:f,convertValue:c,isVisitable:lp});function m(F,y){if(!Le.isUndefined(F)){if(h.indexOf(F)!==-1)throw Error("Circular reference detected in "+y.join("."));h.push(F),Le.forEach(F,function(C,w){(!(Le.isUndefined(C)||C===null)&&a.call(t,C,Le.isString(w)?w.trim():w,y,A))===!0&&m(C,y?y.concat(w):[w])}),h.pop()}}if(!Le.isObject(e))throw new TypeError("data must be an object");return m(e),t}function XF(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function m1(e,t){this._pairs=[],e&&kA(e,this,t)}const Vw=m1.prototype;Vw.append=function(t,i){this._pairs.push([t,i])};Vw.toString=function(t){const i=t?function(n){return t.call(this,n,XF)}:XF;return this._pairs.map(function(a){return i(a[0])+"="+i(a[1])},"").join("&")};function ax(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ww(e,t,i){if(!t)return e;const n=i&&i.encode||ax;Le.isFunction(i)&&(i={serialize:i});const a=i&&i.serialize;let s;if(a?s=a(t,i):s=Le.isURLSearchParams(t)?t.toString():new m1(t,i).toString(n),s){const r=e.indexOf("#");r!==-1&&(e=e.slice(0,r)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class JF{constructor(){this.handlers=[]}use(t,i,n){return this.handlers.push({fulfilled:t,rejected:i,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){Le.forEach(this.handlers,function(n){n!==null&&t(n)})}}const Kw={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},sx=typeof URLSearchParams<"u"?URLSearchParams:m1,rx=typeof FormData<"u"?FormData:null,ox=typeof Blob<"u"?Blob:null,lx={isBrowser:!0,classes:{URLSearchParams:sx,FormData:rx,Blob:ox},protocols:["http","https","file","blob","url","data"]},p1=typeof window<"u"&&typeof document<"u",up=typeof navigator=="object"&&navigator||void 0,ux=p1&&(!up||["ReactNative","NativeScript","NS"].indexOf(up.product)<0),cx=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",dx=p1&&window.location.href||"http://localhost",fx=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:p1,hasStandardBrowserEnv:ux,hasStandardBrowserWebWorkerEnv:cx,navigator:up,origin:dx},Symbol.toStringTag,{value:"Module"})),_n={...fx,...lx};function hx(e,t){return kA(e,new _n.classes.URLSearchParams,Object.assign({visitor:function(i,n,a,s){return _n.isNode&&Le.isBuffer(i)?(this.append(n,i.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},t))}function Ax(e){return Le.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function gx(e){const t={},i=Object.keys(e);let n;const a=i.length;let s;for(n=0;n=i.length;return r=!r&&Le.isArray(a)?a.length:r,l?(Le.hasOwnProp(a,r)?a[r]=[a[r],n]:a[r]=n,!o):((!a[r]||!Le.isObject(a[r]))&&(a[r]=[]),t(i,n,a[r],s)&&Le.isArray(a[r])&&(a[r]=gx(a[r])),!o)}if(Le.isFormData(e)&&Le.isFunction(e.entries)){const i={};return Le.forEachEntry(e,(n,a)=>{t(Ax(n),a,i,0)}),i}return null}function mx(e,t,i){if(Le.isString(e))try{return(t||JSON.parse)(e),Le.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(i||JSON.stringify)(e)}const ad={transitional:Kw,adapter:["xhr","http","fetch"],transformRequest:[function(t,i){const n=i.getContentType()||"",a=n.indexOf("application/json")>-1,s=Le.isObject(t);if(s&&Le.isHTMLForm(t)&&(t=new FormData(t)),Le.isFormData(t))return a?JSON.stringify(Yw(t)):t;if(Le.isArrayBuffer(t)||Le.isBuffer(t)||Le.isStream(t)||Le.isFile(t)||Le.isBlob(t)||Le.isReadableStream(t))return t;if(Le.isArrayBufferView(t))return t.buffer;if(Le.isURLSearchParams(t))return i.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let o;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return hx(t,this.formSerializer).toString();if((o=Le.isFileList(t))||n.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return kA(o?{"files[]":t}:t,l&&new l,this.formSerializer)}}return s||a?(i.setContentType("application/json",!1),mx(t)):t}],transformResponse:[function(t){const i=this.transitional||ad.transitional,n=i&&i.forcedJSONParsing,a=this.responseType==="json";if(Le.isResponse(t)||Le.isReadableStream(t))return t;if(t&&Le.isString(t)&&(n&&!this.responseType||a)){const r=!(i&&i.silentJSONParsing)&&a;try{return JSON.parse(t)}catch(o){if(r)throw o.name==="SyntaxError"?xt.from(o,xt.ERR_BAD_RESPONSE,this,null,this.response):o}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:_n.classes.FormData,Blob:_n.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Le.forEach(["delete","get","head","post","put","patch"],e=>{ad.headers[e]={}});const px=Le.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),_x=e=>{const t={};let i,n,a;return e&&e.split(`
+`).forEach(function(r){a=r.indexOf(":"),i=r.substring(0,a).trim().toLowerCase(),n=r.substring(a+1).trim(),!(!i||t[i]&&px[i])&&(i==="set-cookie"?t[i]?t[i].push(n):t[i]=[n]:t[i]=t[i]?t[i]+", "+n:n)}),t},ZF=Symbol("internals");function fu(e){return e&&String(e).trim().toLowerCase()}function Cf(e){return e===!1||e==null?e:Le.isArray(e)?e.map(Cf):String(e)}function Fx(e){const t=Object.create(null),i=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=i.exec(e);)t[n[1]]=n[2];return t}const bx=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Qg(e,t,i,n,a){if(Le.isFunction(n))return n.call(this,t,i);if(a&&(t=i),!!Le.isString(t)){if(Le.isString(n))return t.indexOf(n)!==-1;if(Le.isRegExp(n))return n.test(t)}}function vx(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,i,n)=>i.toUpperCase()+n)}function yx(e,t){const i=Le.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+i,{value:function(a,s,r){return this[n].call(this,t,a,s,r)},configurable:!0})})}let Hn=class{constructor(t){t&&this.set(t)}set(t,i,n){const a=this;function s(o,l,c){const f=fu(l);if(!f)throw new Error("header name must be a non-empty string");const h=Le.findKey(a,f);(!h||a[h]===void 0||c===!0||c===void 0&&a[h]!==!1)&&(a[h||l]=Cf(o))}const r=(o,l)=>Le.forEach(o,(c,f)=>s(c,f,l));if(Le.isPlainObject(t)||t instanceof this.constructor)r(t,i);else if(Le.isString(t)&&(t=t.trim())&&!bx(t))r(_x(t),i);else if(Le.isObject(t)&&Le.isIterable(t)){let o={},l,c;for(const f of t){if(!Le.isArray(f))throw TypeError("Object iterator must return a key-value pair");o[c=f[0]]=(l=o[c])?Le.isArray(l)?[...l,f[1]]:[l,f[1]]:f[1]}r(o,i)}else t!=null&&s(i,t,n);return this}get(t,i){if(t=fu(t),t){const n=Le.findKey(this,t);if(n){const a=this[n];if(!i)return a;if(i===!0)return Fx(a);if(Le.isFunction(i))return i.call(this,a,n);if(Le.isRegExp(i))return i.exec(a);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,i){if(t=fu(t),t){const n=Le.findKey(this,t);return!!(n&&this[n]!==void 0&&(!i||Qg(this,this[n],n,i)))}return!1}delete(t,i){const n=this;let a=!1;function s(r){if(r=fu(r),r){const o=Le.findKey(n,r);o&&(!i||Qg(n,n[o],o,i))&&(delete n[o],a=!0)}}return Le.isArray(t)?t.forEach(s):s(t),a}clear(t){const i=Object.keys(this);let n=i.length,a=!1;for(;n--;){const s=i[n];(!t||Qg(this,this[s],s,t,!0))&&(delete this[s],a=!0)}return a}normalize(t){const i=this,n={};return Le.forEach(this,(a,s)=>{const r=Le.findKey(n,s);if(r){i[r]=Cf(a),delete i[s];return}const o=t?vx(s):String(s).trim();o!==s&&delete i[s],i[o]=Cf(a),n[o]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const i=Object.create(null);return Le.forEach(this,(n,a)=>{n!=null&&n!==!1&&(i[a]=t&&Le.isArray(n)?n.join(", "):n)}),i}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,i])=>t+": "+i).join(`
+`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...i){const n=new this(t);return i.forEach(a=>n.set(a)),n}static accessor(t){const n=(this[ZF]=this[ZF]={accessors:{}}).accessors,a=this.prototype;function s(r){const o=fu(r);n[o]||(yx(a,r),n[o]=!0)}return Le.isArray(t)?t.forEach(s):s(t),this}};Hn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);Le.reduceDescriptors(Hn.prototype,({value:e},t)=>{let i=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[i]=n}}});Le.freezeMethods(Hn);function jg(e,t){const i=this||ad,n=t||i,a=Hn.from(n.headers);let s=n.data;return Le.forEach(e,function(o){s=o.call(i,s,a.normalize(),t?t.status:void 0)}),a.normalize(),s}function Xw(e){return!!(e&&e.__CANCEL__)}function Ql(e,t,i){xt.call(this,e??"canceled",xt.ERR_CANCELED,t,i),this.name="CanceledError"}Le.inherits(Ql,xt,{__CANCEL__:!0});function Jw(e,t,i){const n=i.config.validateStatus;!i.status||!n||n(i.status)?e(i):t(new xt("Request failed with status code "+i.status,[xt.ERR_BAD_REQUEST,xt.ERR_BAD_RESPONSE][Math.floor(i.status/100)-4],i.config,i.request,i))}function wx(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Cx(e,t){e=e||10;const i=new Array(e),n=new Array(e);let a=0,s=0,r;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),f=n[s];r||(r=c),i[a]=l,n[a]=c;let h=s,A=0;for(;h!==a;)A+=i[h++],h=h%e;if(a=(a+1)%e,a===s&&(s=(s+1)%e),c-r{i=f,a=null,s&&(clearTimeout(s),s=null),e.apply(null,c)};return[(...c)=>{const f=Date.now(),h=f-i;h>=n?r(c,f):(a=c,s||(s=setTimeout(()=>{s=null,r(a)},n-h)))},()=>a&&r(a)]}const qf=(e,t,i=3)=>{let n=0;const a=Cx(50,250);return kx(s=>{const r=s.loaded,o=s.lengthComputable?s.total:void 0,l=r-n,c=a(l),f=r<=o;n=r;const h={loaded:r,total:o,progress:o?r/o:void 0,bytes:l,rate:c||void 0,estimated:c&&o&&f?(o-r)/c:void 0,event:s,lengthComputable:o!=null,[t?"download":"upload"]:!0};e(h)},i)},$F=(e,t)=>{const i=e!=null;return[n=>t[0]({lengthComputable:i,total:e,loaded:n}),t[1]]},eb=e=>(...t)=>Le.asap(()=>e(...t)),Ex=_n.hasStandardBrowserEnv?((e,t)=>i=>(i=new URL(i,_n.origin),e.protocol===i.protocol&&e.host===i.host&&(t||e.port===i.port)))(new URL(_n.origin),_n.navigator&&/(msie|trident)/i.test(_n.navigator.userAgent)):()=>!0,Bx=_n.hasStandardBrowserEnv?{write(e,t,i,n,a,s){const r=[e+"="+encodeURIComponent(t)];Le.isNumber(i)&&r.push("expires="+new Date(i).toGMTString()),Le.isString(n)&&r.push("path="+n),Le.isString(a)&&r.push("domain="+a),s===!0&&r.push("secure"),document.cookie=r.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Sx(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Dx(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Zw(e,t,i){let n=!Sx(t);return e&&(n||i==!1)?Dx(e,t):t}const tb=e=>e instanceof Hn?{...e}:e;function co(e,t){t=t||{};const i={};function n(c,f,h,A){return Le.isPlainObject(c)&&Le.isPlainObject(f)?Le.merge.call({caseless:A},c,f):Le.isPlainObject(f)?Le.merge({},f):Le.isArray(f)?f.slice():f}function a(c,f,h,A){if(Le.isUndefined(f)){if(!Le.isUndefined(c))return n(void 0,c,h,A)}else return n(c,f,h,A)}function s(c,f){if(!Le.isUndefined(f))return n(void 0,f)}function r(c,f){if(Le.isUndefined(f)){if(!Le.isUndefined(c))return n(void 0,c)}else return n(void 0,f)}function o(c,f,h){if(h in t)return n(c,f);if(h in e)return n(void 0,c)}const l={url:s,method:s,data:s,baseURL:r,transformRequest:r,transformResponse:r,paramsSerializer:r,timeout:r,timeoutMessage:r,withCredentials:r,withXSRFToken:r,adapter:r,responseType:r,xsrfCookieName:r,xsrfHeaderName:r,onUploadProgress:r,onDownloadProgress:r,decompress:r,maxContentLength:r,maxBodyLength:r,beforeRedirect:r,transport:r,httpAgent:r,httpsAgent:r,cancelToken:r,socketPath:r,responseEncoding:r,validateStatus:o,headers:(c,f,h)=>a(tb(c),tb(f),h,!0)};return Le.forEach(Object.keys(Object.assign({},e,t)),function(f){const h=l[f]||a,A=h(e[f],t[f],f);Le.isUndefined(A)&&h!==o||(i[f]=A)}),i}const $w=e=>{const t=co({},e);let{data:i,withXSRFToken:n,xsrfHeaderName:a,xsrfCookieName:s,headers:r,auth:o}=t;t.headers=r=Hn.from(r),t.url=Ww(Zw(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),o&&r.set("Authorization","Basic "+btoa((o.username||"")+":"+(o.password?unescape(encodeURIComponent(o.password)):"")));let l;if(Le.isFormData(i)){if(_n.hasStandardBrowserEnv||_n.hasStandardBrowserWebWorkerEnv)r.setContentType(void 0);else if((l=r.getContentType())!==!1){const[c,...f]=l?l.split(";").map(h=>h.trim()).filter(Boolean):[];r.setContentType([c||"multipart/form-data",...f].join("; "))}}if(_n.hasStandardBrowserEnv&&(n&&Le.isFunction(n)&&(n=n(t)),n||n!==!1&&Ex(t.url))){const c=a&&s&&Bx.read(s);c&&r.set(a,c)}return t},xx=typeof XMLHttpRequest<"u",Tx=xx&&function(e){return new Promise(function(i,n){const a=$w(e);let s=a.data;const r=Hn.from(a.headers).normalize();let{responseType:o,onUploadProgress:l,onDownloadProgress:c}=a,f,h,A,m,F;function y(){m&&m(),F&&F(),a.cancelToken&&a.cancelToken.unsubscribe(f),a.signal&&a.signal.removeEventListener("abort",f)}let k=new XMLHttpRequest;k.open(a.method.toUpperCase(),a.url,!0),k.timeout=a.timeout;function C(){if(!k)return;const B=Hn.from("getAllResponseHeaders"in k&&k.getAllResponseHeaders()),U={data:!o||o==="text"||o==="json"?k.responseText:k.response,status:k.status,statusText:k.statusText,headers:B,config:e,request:k};Jw(function(z){i(z),y()},function(z){n(z),y()},U),k=null}"onloadend"in k?k.onloadend=C:k.onreadystatechange=function(){!k||k.readyState!==4||k.status===0&&!(k.responseURL&&k.responseURL.indexOf("file:")===0)||setTimeout(C)},k.onabort=function(){k&&(n(new xt("Request aborted",xt.ECONNABORTED,e,k)),k=null)},k.onerror=function(){n(new xt("Network Error",xt.ERR_NETWORK,e,k)),k=null},k.ontimeout=function(){let S=a.timeout?"timeout of "+a.timeout+"ms exceeded":"timeout exceeded";const U=a.transitional||Kw;a.timeoutErrorMessage&&(S=a.timeoutErrorMessage),n(new xt(S,U.clarifyTimeoutError?xt.ETIMEDOUT:xt.ECONNABORTED,e,k)),k=null},s===void 0&&r.setContentType(null),"setRequestHeader"in k&&Le.forEach(r.toJSON(),function(S,U){k.setRequestHeader(U,S)}),Le.isUndefined(a.withCredentials)||(k.withCredentials=!!a.withCredentials),o&&o!=="json"&&(k.responseType=a.responseType),c&&([A,F]=qf(c,!0),k.addEventListener("progress",A)),l&&k.upload&&([h,m]=qf(l),k.upload.addEventListener("progress",h),k.upload.addEventListener("loadend",m)),(a.cancelToken||a.signal)&&(f=B=>{k&&(n(!B||B.type?new Ql(null,e,k):B),k.abort(),k=null)},a.cancelToken&&a.cancelToken.subscribe(f),a.signal&&(a.signal.aborted?f():a.signal.addEventListener("abort",f)));const w=wx(a.url);if(w&&_n.protocols.indexOf(w)===-1){n(new xt("Unsupported protocol "+w+":",xt.ERR_BAD_REQUEST,e));return}k.send(s||null)})},Ix=(e,t)=>{const{length:i}=e=e?e.filter(Boolean):[];if(t||i){let n=new AbortController,a;const s=function(c){if(!a){a=!0,o();const f=c instanceof Error?c:this.reason;n.abort(f instanceof xt?f:new Ql(f instanceof Error?f.message:f))}};let r=t&&setTimeout(()=>{r=null,s(new xt(`timeout ${t} of ms exceeded`,xt.ETIMEDOUT))},t);const o=()=>{e&&(r&&clearTimeout(r),r=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(s):c.removeEventListener("abort",s)}),e=null)};e.forEach(c=>c.addEventListener("abort",s));const{signal:l}=n;return l.unsubscribe=()=>Le.asap(o),l}},Px=function*(e,t){let i=e.byteLength;if(i{const a=Mx(e,t);let s=0,r,o=l=>{r||(r=!0,n&&n(l))};return new ReadableStream({async pull(l){try{const{done:c,value:f}=await a.next();if(c){o(),l.close();return}let h=f.byteLength;if(i){let A=s+=h;i(A)}l.enqueue(new Uint8Array(f))}catch(c){throw o(c),c}},cancel(l){return o(l),a.return()}},{highWaterMark:2})},EA=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",e3=EA&&typeof ReadableStream=="function",Rx=EA&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),t3=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Ux=e3&&t3(()=>{let e=!1;const t=new Request(_n.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),nb=64*1024,cp=e3&&t3(()=>Le.isReadableStream(new Response("").body)),Vf={stream:cp&&(e=>e.body)};EA&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Vf[t]&&(Vf[t]=Le.isFunction(e[t])?i=>i[t]():(i,n)=>{throw new xt(`Response type '${t}' is not supported`,xt.ERR_NOT_SUPPORT,n)})})})(new Response);const Ox=async e=>{if(e==null)return 0;if(Le.isBlob(e))return e.size;if(Le.isSpecCompliantForm(e))return(await new Request(_n.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(Le.isArrayBufferView(e)||Le.isArrayBuffer(e))return e.byteLength;if(Le.isURLSearchParams(e)&&(e=e+""),Le.isString(e))return(await Rx(e)).byteLength},Nx=async(e,t)=>{const i=Le.toFiniteNumber(e.getContentLength());return i??Ox(t)},Hx=EA&&(async e=>{let{url:t,method:i,data:n,signal:a,cancelToken:s,timeout:r,onDownloadProgress:o,onUploadProgress:l,responseType:c,headers:f,withCredentials:h="same-origin",fetchOptions:A}=$w(e);c=c?(c+"").toLowerCase():"text";let m=Ix([a,s&&s.toAbortSignal()],r),F;const y=m&&m.unsubscribe&&(()=>{m.unsubscribe()});let k;try{if(l&&Ux&&i!=="get"&&i!=="head"&&(k=await Nx(f,n))!==0){let U=new Request(t,{method:"POST",body:n,duplex:"half"}),N;if(Le.isFormData(n)&&(N=U.headers.get("content-type"))&&f.setContentType(N),U.body){const[z,Q]=$F(k,qf(eb(l)));n=ib(U.body,nb,z,Q)}}Le.isString(h)||(h=h?"include":"omit");const C="credentials"in Request.prototype;F=new Request(t,{...A,signal:m,method:i.toUpperCase(),headers:f.normalize().toJSON(),body:n,duplex:"half",credentials:C?h:void 0});let w=await fetch(F,A);const B=cp&&(c==="stream"||c==="response");if(cp&&(o||B&&y)){const U={};["status","statusText","headers"].forEach(R=>{U[R]=w[R]});const N=Le.toFiniteNumber(w.headers.get("content-length")),[z,Q]=o&&$F(N,qf(eb(o),!0))||[];w=new Response(ib(w.body,nb,z,()=>{Q&&Q(),y&&y()}),U)}c=c||"text";let S=await Vf[Le.findKey(Vf,c)||"text"](w,e);return!B&&y&&y(),await new Promise((U,N)=>{Jw(U,N,{data:S,headers:Hn.from(w.headers),status:w.status,statusText:w.statusText,config:e,request:F})})}catch(C){throw y&&y(),C&&C.name==="TypeError"&&/Load failed|fetch/i.test(C.message)?Object.assign(new xt("Network Error",xt.ERR_NETWORK,e,F),{cause:C.cause||C}):xt.from(C,C&&C.code,e,F)}}),dp={http:tx,xhr:Tx,fetch:Hx};Le.forEach(dp,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const ab=e=>`- ${e}`,Qx=e=>Le.isFunction(e)||e===null||e===!1,i3={getAdapter:e=>{e=Le.isArray(e)?e:[e];const{length:t}=e;let i,n;const a={};for(let s=0;s`adapter ${o} `+(l===!1?"is not supported by the environment":"is not available in the build"));let r=t?s.length>1?`since :
+`+s.map(ab).join(`
+`):" "+ab(s[0]):"as no adapter specified";throw new xt("There is no suitable adapter to dispatch the request "+r,"ERR_NOT_SUPPORT")}return n},adapters:dp};function Gg(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ql(null,e)}function sb(e){return Gg(e),e.headers=Hn.from(e.headers),e.data=jg.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),i3.getAdapter(e.adapter||ad.adapter)(e).then(function(n){return Gg(e),n.data=jg.call(e,e.transformResponse,n),n.headers=Hn.from(n.headers),n},function(n){return Xw(n)||(Gg(e),n&&n.response&&(n.response.data=jg.call(e,e.transformResponse,n.response),n.response.headers=Hn.from(n.response.headers))),Promise.reject(n)})}const n3="1.10.0",BA={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{BA[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const rb={};BA.transitional=function(t,i,n){function a(s,r){return"[Axios v"+n3+"] Transitional option '"+s+"'"+r+(n?". "+n:"")}return(s,r,o)=>{if(t===!1)throw new xt(a(r," has been removed"+(i?" in "+i:"")),xt.ERR_DEPRECATED);return i&&!rb[r]&&(rb[r]=!0,console.warn(a(r," has been deprecated since v"+i+" and will be removed in the near future"))),t?t(s,r,o):!0}};BA.spelling=function(t){return(i,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function jx(e,t,i){if(typeof e!="object")throw new xt("options must be an object",xt.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let a=n.length;for(;a-- >0;){const s=n[a],r=t[s];if(r){const o=e[s],l=o===void 0||r(o,s,e);if(l!==!0)throw new xt("option "+s+" must be "+l,xt.ERR_BAD_OPTION_VALUE);continue}if(i!==!0)throw new xt("Unknown option "+s,xt.ERR_BAD_OPTION)}}const kf={assertOptions:jx,validators:BA},Ha=kf.validators;let so=class{constructor(t){this.defaults=t||{},this.interceptors={request:new JF,response:new JF}}async request(t,i){try{return await this._request(t,i)}catch(n){if(n instanceof Error){let a={};Error.captureStackTrace?Error.captureStackTrace(a):a=new Error;const s=a.stack?a.stack.replace(/^.+\n/,""):"";try{n.stack?s&&!String(n.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(n.stack+=`
+`+s):n.stack=s}catch{}}throw n}}_request(t,i){typeof t=="string"?(i=i||{},i.url=t):i=t||{},i=co(this.defaults,i);const{transitional:n,paramsSerializer:a,headers:s}=i;n!==void 0&&kf.assertOptions(n,{silentJSONParsing:Ha.transitional(Ha.boolean),forcedJSONParsing:Ha.transitional(Ha.boolean),clarifyTimeoutError:Ha.transitional(Ha.boolean)},!1),a!=null&&(Le.isFunction(a)?i.paramsSerializer={serialize:a}:kf.assertOptions(a,{encode:Ha.function,serialize:Ha.function},!0)),i.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?i.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:i.allowAbsoluteUrls=!0),kf.assertOptions(i,{baseUrl:Ha.spelling("baseURL"),withXsrfToken:Ha.spelling("withXSRFToken")},!0),i.method=(i.method||this.defaults.method||"get").toLowerCase();let r=s&&Le.merge(s.common,s[i.method]);s&&Le.forEach(["delete","get","head","post","put","patch","common"],F=>{delete s[F]}),i.headers=Hn.concat(r,s);const o=[];let l=!0;this.interceptors.request.forEach(function(y){typeof y.runWhen=="function"&&y.runWhen(i)===!1||(l=l&&y.synchronous,o.unshift(y.fulfilled,y.rejected))});const c=[];this.interceptors.response.forEach(function(y){c.push(y.fulfilled,y.rejected)});let f,h=0,A;if(!l){const F=[sb.bind(this),void 0];for(F.unshift.apply(F,o),F.push.apply(F,c),A=F.length,f=Promise.resolve(i);h{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](a);n._listeners=null}),this.promise.then=a=>{let s;const r=new Promise(o=>{n.subscribe(o),s=o}).then(a);return r.cancel=function(){n.unsubscribe(s)},r},t(function(s,r,o){n.reason||(n.reason=new Ql(s,r,o),i(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const i=this._listeners.indexOf(t);i!==-1&&this._listeners.splice(i,1)}toAbortSignal(){const t=new AbortController,i=n=>{t.abort(n)};return this.subscribe(i),t.signal.unsubscribe=()=>this.unsubscribe(i),t.signal}static source(){let t;return{token:new a3(function(a){t=a}),cancel:t}}};function zx(e){return function(i){return e.apply(null,i)}}function qx(e){return Le.isObject(e)&&e.isAxiosError===!0}const fp={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(fp).forEach(([e,t])=>{fp[t]=e});function s3(e){const t=new so(e),i=Lw(so.prototype.request,t);return Le.extend(i,so.prototype,t,{allOwnKeys:!0}),Le.extend(i,t,null,{allOwnKeys:!0}),i.create=function(a){return s3(co(e,a))},i}const Ci=s3(ad);Ci.Axios=so;Ci.CanceledError=Ql;Ci.CancelToken=Gx;Ci.isCancel=Xw;Ci.VERSION=n3;Ci.toFormData=kA;Ci.AxiosError=xt;Ci.Cancel=Ci.CanceledError;Ci.all=function(t){return Promise.all(t)};Ci.spread=zx;Ci.isAxiosError=qx;Ci.mergeConfig=co;Ci.AxiosHeaders=Hn;Ci.formToJSON=e=>Yw(Le.isHTMLForm(e)?new FormData(e):e);Ci.getAdapter=i3.getAdapter;Ci.HttpStatusCode=fp;Ci.default=Ci;const{Axios:FTe,AxiosError:bTe,CanceledError:vTe,isCancel:yTe,CancelToken:wTe,VERSION:CTe,all:kTe,Cancel:ETe,isAxiosError:BTe,spread:STe,toFormData:DTe,AxiosHeaders:xTe,HttpStatusCode:TTe,formToJSON:ITe,getAdapter:PTe,mergeConfig:MTe}=Ci;/*!
+ * vue-router v4.5.1
+ * (c) 2025 Eduardo San Martin Morote
+ * @license MIT
+ */const Yo=typeof document<"u";function r3(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Vx(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&r3(e.default)}const $t=Object.assign;function zg(e,t){const i={};for(const n in t){const a=t[n];i[n]=xa(a)?a.map(e):e(a)}return i}const Uu=()=>{},xa=Array.isArray,o3=/#/g,Wx=/&/g,Kx=/\//g,Yx=/=/g,Xx=/\?/g,l3=/\+/g,Jx=/%5B/g,Zx=/%5D/g,u3=/%5E/g,$x=/%60/g,c3=/%7B/g,eT=/%7C/g,d3=/%7D/g,tT=/%20/g;function _1(e){return encodeURI(""+e).replace(eT,"|").replace(Jx,"[").replace(Zx,"]")}function iT(e){return _1(e).replace(c3,"{").replace(d3,"}").replace(u3,"^")}function hp(e){return _1(e).replace(l3,"%2B").replace(tT,"+").replace(o3,"%23").replace(Wx,"%26").replace($x,"`").replace(c3,"{").replace(d3,"}").replace(u3,"^")}function nT(e){return hp(e).replace(Yx,"%3D")}function aT(e){return _1(e).replace(o3,"%23").replace(Xx,"%3F")}function sT(e){return e==null?"":aT(e).replace(Kx,"%2F")}function oc(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const rT=/\/$/,oT=e=>e.replace(rT,"");function qg(e,t,i="/"){let n,a={},s="",r="";const o=t.indexOf("#");let l=t.indexOf("?");return o=0&&(l=-1),l>-1&&(n=t.slice(0,l),s=t.slice(l+1,o>-1?o:t.length),a=e(s)),o>-1&&(n=n||t.slice(0,o),r=t.slice(o,t.length)),n=dT(n??t,i),{fullPath:n+(s&&"?")+s+r,path:n,query:a,hash:oc(r)}}function lT(e,t){const i=t.query?e(t.query):"";return t.path+(i&&"?")+i+(t.hash||"")}function ob(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function uT(e,t,i){const n=t.matched.length-1,a=i.matched.length-1;return n>-1&&n===a&&Al(t.matched[n],i.matched[a])&&f3(t.params,i.params)&&e(t.query)===e(i.query)&&t.hash===i.hash}function Al(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function f3(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!cT(e[i],t[i]))return!1;return!0}function cT(e,t){return xa(e)?lb(e,t):xa(t)?lb(t,e):e===t}function lb(e,t){return xa(t)?e.length===t.length&&e.every((i,n)=>i===t[n]):e.length===1&&e[0]===t}function dT(e,t){if(e.startsWith("/"))return e;if(!e)return t;const i=t.split("/"),n=e.split("/"),a=n[n.length-1];(a===".."||a===".")&&n.push("");let s=i.length-1,r,o;for(r=0;r1&&s--;else break;return i.slice(0,s).join("/")+"/"+n.slice(r).join("/")}const Xs={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var lc;(function(e){e.pop="pop",e.push="push"})(lc||(lc={}));var Ou;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Ou||(Ou={}));function fT(e){if(!e)if(Yo){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),oT(e)}const hT=/^[^#]+#/;function AT(e,t){return e.replace(hT,"#")+t}function gT(e,t){const i=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-i.left-(t.left||0),top:n.top-i.top-(t.top||0)}}const SA=()=>({left:window.scrollX,top:window.scrollY});function mT(e){let t;if("el"in e){const i=e.el,n=typeof i=="string"&&i.startsWith("#"),a=typeof i=="string"?n?document.getElementById(i.slice(1)):document.querySelector(i):i;if(!a)return;t=gT(a,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function ub(e,t){return(history.state?history.state.position-t:-1)+e}const Ap=new Map;function pT(e,t){Ap.set(e,t)}function _T(e){const t=Ap.get(e);return Ap.delete(e),t}let FT=()=>location.protocol+"//"+location.host;function h3(e,t){const{pathname:i,search:n,hash:a}=t,s=e.indexOf("#");if(s>-1){let o=a.includes(e.slice(s))?e.slice(s).length:1,l=a.slice(o);return l[0]!=="/"&&(l="/"+l),ob(l,"")}return ob(i,e)+n+a}function bT(e,t,i,n){let a=[],s=[],r=null;const o=({state:A})=>{const m=h3(e,location),F=i.value,y=t.value;let k=0;if(A){if(i.value=m,t.value=A,r&&r===F){r=null;return}k=y?A.position-y.position:0}else n(m);a.forEach(C=>{C(i.value,F,{delta:k,type:lc.pop,direction:k?k>0?Ou.forward:Ou.back:Ou.unknown})})};function l(){r=i.value}function c(A){a.push(A);const m=()=>{const F=a.indexOf(A);F>-1&&a.splice(F,1)};return s.push(m),m}function f(){const{history:A}=window;A.state&&A.replaceState($t({},A.state,{scroll:SA()}),"")}function h(){for(const A of s)A();s=[],window.removeEventListener("popstate",o),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",o),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:l,listen:c,destroy:h}}function cb(e,t,i,n=!1,a=!1){return{back:e,current:t,forward:i,replaced:n,position:window.history.length,scroll:a?SA():null}}function vT(e){const{history:t,location:i}=window,n={value:h3(e,i)},a={value:t.state};a.value||s(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(l,c,f){const h=e.indexOf("#"),A=h>-1?(i.host&&document.querySelector("base")?e:e.slice(h))+l:FT()+e+l;try{t[f?"replaceState":"pushState"](c,"",A),a.value=c}catch(m){console.error(m),i[f?"replace":"assign"](A)}}function r(l,c){const f=$t({},t.state,cb(a.value.back,l,a.value.forward,!0),c,{position:a.value.position});s(l,f,!0),n.value=l}function o(l,c){const f=$t({},a.value,t.state,{forward:l,scroll:SA()});s(f.current,f,!0);const h=$t({},cb(n.value,l,null),{position:f.position+1},c);s(l,h,!1),n.value=l}return{location:n,state:a,push:o,replace:r}}function yT(e){e=fT(e);const t=vT(e),i=bT(e,t.state,t.location,t.replace);function n(s,r=!0){r||i.pauseListeners(),history.go(s)}const a=$t({location:"",base:e,go:n,createHref:AT.bind(null,e)},t,i);return Object.defineProperty(a,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(a,"state",{enumerable:!0,get:()=>t.state.value}),a}function wT(e){return typeof e=="string"||e&&typeof e=="object"}function A3(e){return typeof e=="string"||typeof e=="symbol"}const g3=Symbol("");var db;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(db||(db={}));function gl(e,t){return $t(new Error,{type:e,[g3]:!0},t)}function gs(e,t){return e instanceof Error&&g3 in e&&(t==null||!!(e.type&t))}const fb="[^/]+?",CT={sensitive:!1,strict:!1,start:!0,end:!0},kT=/[.+*?^${}()[\]/\\]/g;function ET(e,t){const i=$t({},CT,t),n=[];let a=i.start?"^":"";const s=[];for(const c of e){const f=c.length?[]:[90];i.strict&&!c.length&&(a+="/");for(let h=0;ht.length?t.length===1&&t[0]===80?1:-1:0}function m3(e,t){let i=0;const n=e.score,a=t.score;for(;i0&&t[t.length-1]<0}const ST={type:0,value:""},DT=/[a-zA-Z0-9_]/;function xT(e){if(!e)return[[]];if(e==="/")return[[ST]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${i})/"${c}": ${m}`)}let i=0,n=i;const a=[];let s;function r(){s&&a.push(s),s=[]}let o=0,l,c="",f="";function h(){c&&(i===0?s.push({type:0,value:c}):i===1||i===2||i===3?(s.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:f,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function A(){c+=l}for(;o{r(B)}:Uu}function r(h){if(A3(h)){const A=n.get(h);A&&(n.delete(h),i.splice(i.indexOf(A),1),A.children.forEach(r),A.alias.forEach(r))}else{const A=i.indexOf(h);A>-1&&(i.splice(A,1),h.record.name&&n.delete(h.record.name),h.children.forEach(r),h.alias.forEach(r))}}function o(){return i}function l(h){const A=LT(h,i);i.splice(A,0,h),h.record.name&&!mb(h)&&n.set(h.record.name,h)}function c(h,A){let m,F={},y,k;if("name"in h&&h.name){if(m=n.get(h.name),!m)throw gl(1,{location:h});k=m.record.name,F=$t(Ab(A.params,m.keys.filter(B=>!B.optional).concat(m.parent?m.parent.keys.filter(B=>B.optional):[]).map(B=>B.name)),h.params&&Ab(h.params,m.keys.map(B=>B.name))),y=m.stringify(F)}else if(h.path!=null)y=h.path,m=i.find(B=>B.re.test(y)),m&&(F=m.parse(y),k=m.record.name);else{if(m=A.name?n.get(A.name):i.find(B=>B.re.test(A.path)),!m)throw gl(1,{location:h,currentLocation:A});k=m.record.name,F=$t({},A.params,h.params),y=m.stringify(F)}const C=[];let w=m;for(;w;)C.unshift(w.record),w=w.parent;return{name:k,path:y,params:F,matched:C,meta:MT(C)}}e.forEach(h=>s(h));function f(){i.length=0,n.clear()}return{addRoute:s,resolve:c,removeRoute:r,clearRoutes:f,getRoutes:o,getRecordMatcher:a}}function Ab(e,t){const i={};for(const n of t)n in e&&(i[n]=e[n]);return i}function gb(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:PT(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function PT(e){const t={},i=e.props||!1;if("component"in e)t.default=i;else for(const n in e.components)t[n]=typeof i=="object"?i[n]:i;return t}function mb(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function MT(e){return e.reduce((t,i)=>$t(t,i.meta),{})}function pb(e,t){const i={};for(const n in e)i[n]=n in t?t[n]:e[n];return i}function LT(e,t){let i=0,n=t.length;for(;i!==n;){const s=i+n>>1;m3(e,t[s])<0?n=s:i=s+1}const a=RT(e);return a&&(n=t.lastIndexOf(a,n-1)),n}function RT(e){let t=e;for(;t=t.parent;)if(p3(t)&&m3(e,t)===0)return t}function p3({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function UT(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let a=0;as&&hp(s)):[n&&hp(n)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+i,s!=null&&(t+="="+s))})}return t}function OT(e){const t={};for(const i in e){const n=e[i];n!==void 0&&(t[i]=xa(n)?n.map(a=>a==null?null:""+a):n==null?n:""+n)}return t}const NT=Symbol(""),Fb=Symbol(""),F1=Symbol(""),_3=Symbol(""),gp=Symbol("");function hu(){let e=[];function t(n){return e.push(n),()=>{const a=e.indexOf(n);a>-1&&e.splice(a,1)}}function i(){e=[]}return{add:t,list:()=>e.slice(),reset:i}}function sr(e,t,i,n,a,s=r=>r()){const r=n&&(n.enterCallbacks[a]=n.enterCallbacks[a]||[]);return()=>new Promise((o,l)=>{const c=A=>{A===!1?l(gl(4,{from:i,to:t})):A instanceof Error?l(A):wT(A)?l(gl(2,{from:t,to:A})):(r&&n.enterCallbacks[a]===r&&typeof A=="function"&&r.push(A),o())},f=s(()=>e.call(n&&n.instances[a],t,i,c));let h=Promise.resolve(f);e.length<3&&(h=h.then(c)),h.catch(A=>l(A))})}function Vg(e,t,i,n,a=s=>s()){const s=[];for(const r of e)for(const o in r.components){let l=r.components[o];if(!(t!=="beforeRouteEnter"&&!r.instances[o]))if(r3(l)){const f=(l.__vccOpts||l)[t];f&&s.push(sr(f,i,n,r,o,a))}else{let c=l();s.push(()=>c.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${o}" at "${r.path}"`);const h=Vx(f)?f.default:f;r.mods[o]=f,r.components[o]=h;const m=(h.__vccOpts||h)[t];return m&&sr(m,i,n,r,o,a)()}))}}return s}function bb(e){const t=Sa(F1),i=Sa(_3),n=Si(()=>{const l=pi(e.to);return t.resolve(l)}),a=Si(()=>{const{matched:l}=n.value,{length:c}=l,f=l[c-1],h=i.matched;if(!f||!h.length)return-1;const A=h.findIndex(Al.bind(null,f));if(A>-1)return A;const m=vb(l[c-2]);return c>1&&vb(f)===m&&h[h.length-1].path!==m?h.findIndex(Al.bind(null,l[c-2])):A}),s=Si(()=>a.value>-1&&zT(i.params,n.value.params)),r=Si(()=>a.value>-1&&a.value===i.matched.length-1&&f3(i.params,n.value.params));function o(l={}){if(GT(l)){const c=t[pi(e.replace)?"replace":"push"](pi(e.to)).catch(Uu);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:n,href:Si(()=>n.value.href),isActive:s,isExactActive:r,navigate:o}}function HT(e){return e.length===1?e[0]:e}const QT=wo({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:bb,setup(e,{slots:t}){const i=$c(bb(e)),{options:n}=Sa(F1),a=Si(()=>({[yb(e.activeClass,n.linkActiveClass,"router-link-active")]:i.isActive,[yb(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:i.isExactActive}));return()=>{const s=t.default&&HT(t.default(i));return e.custom?s:ai("a",{"aria-current":i.isExactActive?e.ariaCurrentValue:null,href:i.href,onClick:i.navigate,class:a.value},s)}}}),jT=QT;function GT(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function zT(e,t){for(const i in t){const n=t[i],a=e[i];if(typeof n=="string"){if(n!==a)return!1}else if(!xa(a)||a.length!==n.length||n.some((s,r)=>s!==a[r]))return!1}return!0}function vb(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const yb=(e,t,i)=>e??t??i,qT=wo({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:i}){const n=Sa(gp),a=Si(()=>e.route||n.value),s=Sa(Fb,0),r=Si(()=>{let c=pi(s);const{matched:f}=a.value;let h;for(;(h=f[c])&&!h.components;)c++;return c}),o=Si(()=>a.value.matched[r.value]);ol(Fb,Si(()=>r.value+1)),ol(NT,o),ol(gp,a);const l=Yt();return mr(()=>[l.value,o.value,e.name],([c,f,h],[A,m,F])=>{f&&(f.instances[h]=c,m&&m!==f&&c&&c===A&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),c&&f&&(!m||!Al(f,m)||!A)&&(f.enterCallbacks[h]||[]).forEach(y=>y(c))},{flush:"post"}),()=>{const c=a.value,f=e.name,h=o.value,A=h&&h.components[f];if(!A)return wb(i.default,{Component:A,route:c});const m=h.props[f],F=m?m===!0?c.params:typeof m=="function"?m(c):m:null,k=ai(A,$t({},F,t,{onVnodeUnmounted:C=>{C.component.isUnmounted&&(h.instances[f]=null)},ref:l}));return wb(i.default,{Component:k,route:c})||k}}});function wb(e,t){if(!e)return null;const i=e(t);return i.length===1?i[0]:i}const VT=qT;function WT(e){const t=IT(e.routes,e),i=e.parseQuery||UT,n=e.stringifyQuery||_b,a=e.history,s=hu(),r=hu(),o=hu(),l=E2(Xs);let c=Xs;Yo&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=zg.bind(null,X=>""+X),h=zg.bind(null,sT),A=zg.bind(null,oc);function m(X,ve){let we,ce;return A3(X)?(we=t.getRecordMatcher(X),ce=ve):ce=X,t.addRoute(ce,we)}function F(X){const ve=t.getRecordMatcher(X);ve&&t.removeRoute(ve)}function y(){return t.getRoutes().map(X=>X.record)}function k(X){return!!t.getRecordMatcher(X)}function C(X,ve){if(ve=$t({},ve||l.value),typeof X=="string"){const oe=qg(i,X,ve.path),Ce=t.resolve({path:oe.path},ve),Be=a.createHref(oe.fullPath);return $t(oe,Ce,{params:A(Ce.params),hash:oc(oe.hash),redirectedFrom:void 0,href:Be})}let we;if(X.path!=null)we=$t({},X,{path:qg(i,X.path,ve.path).path});else{const oe=$t({},X.params);for(const Ce in oe)oe[Ce]==null&&delete oe[Ce];we=$t({},X,{params:h(oe)}),ve.params=h(ve.params)}const ce=t.resolve(we,ve),Ee=X.hash||"";ce.params=f(A(ce.params));const G=lT(n,$t({},X,{hash:iT(Ee),path:ce.path})),K=a.createHref(G);return $t({fullPath:G,hash:Ee,query:n===_b?OT(X.query):X.query||{}},ce,{redirectedFrom:void 0,href:K})}function w(X){return typeof X=="string"?qg(i,X,l.value.path):$t({},X)}function B(X,ve){if(c!==X)return gl(8,{from:ve,to:X})}function S(X){return z(X)}function U(X){return S($t(w(X),{replace:!0}))}function N(X){const ve=X.matched[X.matched.length-1];if(ve&&ve.redirect){const{redirect:we}=ve;let ce=typeof we=="function"?we(X):we;return typeof ce=="string"&&(ce=ce.includes("?")||ce.includes("#")?ce=w(ce):{path:ce},ce.params={}),$t({query:X.query,hash:X.hash,params:ce.path!=null?{}:X.params},ce)}}function z(X,ve){const we=c=C(X),ce=l.value,Ee=X.state,G=X.force,K=X.replace===!0,oe=N(we);if(oe)return z($t(w(oe),{state:typeof oe=="object"?$t({},Ee,oe.state):Ee,force:G,replace:K}),ve||we);const Ce=we;Ce.redirectedFrom=ve;let Be;return!G&&uT(n,ce,we)&&(Be=gl(16,{to:Ce,from:ce}),x(ce,ce,!0,!1)),(Be?Promise.resolve(Be):q(Ce,ce)).catch(de=>gs(de)?gs(de,2)?de:I(de):$(de,Ce,ce)).then(de=>{if(de){if(gs(de,2))return z($t({replace:K},w(de.to),{state:typeof de.to=="object"?$t({},Ee,de.to.state):Ee,force:G}),ve||Ce)}else de=ae(Ce,ce,!0,K,Ee);return J(Ce,ce,de),de})}function Q(X,ve){const we=B(X,ve);return we?Promise.reject(we):Promise.resolve()}function R(X){const ve=te.values().next().value;return ve&&typeof ve.runWithContext=="function"?ve.runWithContext(X):X()}function q(X,ve){let we;const[ce,Ee,G]=KT(X,ve);we=Vg(ce.reverse(),"beforeRouteLeave",X,ve);for(const oe of ce)oe.leaveGuards.forEach(Ce=>{we.push(sr(Ce,X,ve))});const K=Q.bind(null,X,ve);return we.push(K),Ae(we).then(()=>{we=[];for(const oe of s.list())we.push(sr(oe,X,ve));return we.push(K),Ae(we)}).then(()=>{we=Vg(Ee,"beforeRouteUpdate",X,ve);for(const oe of Ee)oe.updateGuards.forEach(Ce=>{we.push(sr(Ce,X,ve))});return we.push(K),Ae(we)}).then(()=>{we=[];for(const oe of G)if(oe.beforeEnter)if(xa(oe.beforeEnter))for(const Ce of oe.beforeEnter)we.push(sr(Ce,X,ve));else we.push(sr(oe.beforeEnter,X,ve));return we.push(K),Ae(we)}).then(()=>(X.matched.forEach(oe=>oe.enterCallbacks={}),we=Vg(G,"beforeRouteEnter",X,ve,R),we.push(K),Ae(we))).then(()=>{we=[];for(const oe of r.list())we.push(sr(oe,X,ve));return we.push(K),Ae(we)}).catch(oe=>gs(oe,8)?oe:Promise.reject(oe))}function J(X,ve,we){o.list().forEach(ce=>R(()=>ce(X,ve,we)))}function ae(X,ve,we,ce,Ee){const G=B(X,ve);if(G)return G;const K=ve===Xs,oe=Yo?history.state:{};we&&(ce||K?a.replace(X.fullPath,$t({scroll:K&&oe&&oe.scroll},Ee)):a.push(X.fullPath,Ee)),l.value=X,x(X,ve,we,K),I()}let Fe;function ge(){Fe||(Fe=a.listen((X,ve,we)=>{if(!se.listening)return;const ce=C(X),Ee=N(ce);if(Ee){z($t(Ee,{replace:!0,force:!0}),ce).catch(Uu);return}c=ce;const G=l.value;Yo&&pT(ub(G.fullPath,we.delta),SA()),q(ce,G).catch(K=>gs(K,12)?K:gs(K,2)?(z($t(w(K.to),{force:!0}),ce).then(oe=>{gs(oe,20)&&!we.delta&&we.type===lc.pop&&a.go(-1,!1)}).catch(Uu),Promise.reject()):(we.delta&&a.go(-we.delta,!1),$(K,ce,G))).then(K=>{K=K||ae(ce,G,!1),K&&(we.delta&&!gs(K,8)?a.go(-we.delta,!1):we.type===lc.pop&&gs(K,20)&&a.go(-1,!1)),J(ce,G,K)}).catch(Uu)}))}let le=hu(),re=hu(),pe;function $(X,ve,we){I(X);const ce=re.list();return ce.length?ce.forEach(Ee=>Ee(X,ve,we)):console.error(X),Promise.reject(X)}function V(){return pe&&l.value!==Xs?Promise.resolve():new Promise((X,ve)=>{le.add([X,ve])})}function I(X){return pe||(pe=!X,ge(),le.list().forEach(([ve,we])=>X?we(X):ve()),le.reset()),X}function x(X,ve,we,ce){const{scrollBehavior:Ee}=e;if(!Yo||!Ee)return Promise.resolve();const G=!we&&_T(ub(X.fullPath,0))||(ce||!we)&&history.state&&history.state.scroll||null;return dA().then(()=>Ee(X,ve,G)).then(K=>K&&mT(K)).catch(K=>$(K,X,ve))}const O=X=>a.go(X);let he;const te=new Set,se={currentRoute:l,listening:!0,addRoute:m,removeRoute:F,clearRoutes:t.clearRoutes,hasRoute:k,getRoutes:y,resolve:C,options:e,push:S,replace:U,go:O,back:()=>O(-1),forward:()=>O(1),beforeEach:s.add,beforeResolve:r.add,afterEach:o.add,onError:re.add,isReady:V,install(X){const ve=this;X.component("RouterLink",jT),X.component("RouterView",VT),X.config.globalProperties.$router=ve,Object.defineProperty(X.config.globalProperties,"$route",{enumerable:!0,get:()=>pi(l)}),Yo&&!he&&l.value===Xs&&(he=!0,S(a.location).catch(Ee=>{}));const we={};for(const Ee in Xs)Object.defineProperty(we,Ee,{get:()=>l.value[Ee],enumerable:!0});X.provide(F1,ve),X.provide(_3,C2(we)),X.provide(gp,l);const ce=X.unmount;te.add(X),X.unmount=function(){te.delete(X),te.size<1&&(c=Xs,Fe&&Fe(),Fe=null,l.value=Xs,he=!1,pe=!1),ce()}}};function Ae(X){return X.reduce((ve,we)=>ve.then(()=>R(we)),Promise.resolve())}return se}function KT(e,t){const i=[],n=[],a=[],s=Math.max(t.matched.length,e.matched.length);for(let r=0;rAl(c,o))?n.push(o):i.push(o));const l=e.matched[r];l&&(t.matched.find(c=>Al(c,l))||a.push(l))}return[i,n,a]}function Cb(e){return e!==null&&typeof e=="object"&&"constructor"in e&&e.constructor===Object}function b1(e,t){e===void 0&&(e={}),t===void 0&&(t={});const i=["__proto__","constructor","prototype"];Object.keys(t).filter(n=>i.indexOf(n)<0).forEach(n=>{typeof e[n]>"u"?e[n]=t[n]:Cb(t[n])&&Cb(e[n])&&Object.keys(t[n]).length>0&&b1(e[n],t[n])})}const F3={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector(){return null},querySelectorAll(){return[]},getElementById(){return null},createEvent(){return{initEvent(){}}},createElement(){return{children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName(){return[]}}},createElementNS(){return{}},importNode(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function Xa(){const e=typeof document<"u"?document:{};return b1(e,F3),e}const YT={document:F3,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle(){return{getPropertyValue(){return""}}},Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia(){return{}},requestAnimationFrame(e){return typeof setTimeout>"u"?(e(),null):setTimeout(e,0)},cancelAnimationFrame(e){typeof setTimeout>"u"||clearTimeout(e)}};function Pn(){const e=typeof window<"u"?window:{};return b1(e,YT),e}function XT(e){return e===void 0&&(e=""),e.trim().split(" ").filter(t=>!!t.trim())}function JT(e){const t=e;Object.keys(t).forEach(i=>{try{t[i]=null}catch{}try{delete t[i]}catch{}})}function b3(e,t){return t===void 0&&(t=0),setTimeout(e,t)}function Wf(){return Date.now()}function ZT(e){const t=Pn();let i;return t.getComputedStyle&&(i=t.getComputedStyle(e,null)),!i&&e.currentStyle&&(i=e.currentStyle),i||(i=e.style),i}function $T(e,t){t===void 0&&(t="x");const i=Pn();let n,a,s;const r=ZT(e);return i.WebKitCSSMatrix?(a=r.transform||r.webkitTransform,a.split(",").length>6&&(a=a.split(", ").map(o=>o.replace(",",".")).join(", ")),s=new i.WebKitCSSMatrix(a==="none"?"":a)):(s=r.MozTransform||r.OTransform||r.MsTransform||r.msTransform||r.transform||r.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),n=s.toString().split(",")),t==="x"&&(i.WebKitCSSMatrix?a=s.m41:n.length===16?a=parseFloat(n[12]):a=parseFloat(n[4])),t==="y"&&(i.WebKitCSSMatrix?a=s.m42:n.length===16?a=parseFloat(n[13]):a=parseFloat(n[5])),a||0}function Rd(e){return typeof e=="object"&&e!==null&&e.constructor&&Object.prototype.toString.call(e).slice(8,-1)==="Object"}function eI(e){return typeof window<"u"&&typeof window.HTMLElement<"u"?e instanceof HTMLElement:e&&(e.nodeType===1||e.nodeType===11)}function qn(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let i=1;it.indexOf(s)<0);for(let s=0,r=a.length;ss?"next":"prev",f=(A,m)=>c==="next"&&A>=m||c==="prev"&&A<=m,h=()=>{o=new Date().getTime(),r===null&&(r=o);const A=Math.max(Math.min((o-r)/l,1),0),m=.5-Math.cos(A*Math.PI)/2;let F=s+m*(i-s);if(f(F,i)&&(F=i),t.wrapperEl.scrollTo({[n]:F}),f(F,i)){t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout(()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[n]:F})}),a.cancelAnimationFrame(t.cssModeFrameID);return}t.cssModeFrameID=a.requestAnimationFrame(h)};h()}function Va(e,t){t===void 0&&(t="");const i=Pn(),n=[...e.children];return i.HTMLSlotElement&&e instanceof HTMLSlotElement&&n.push(...e.assignedElements()),t?n.filter(a=>a.matches(t)):n}function tI(e,t){const i=[t];for(;i.length>0;){const n=i.shift();if(e===n)return!0;i.push(...n.children,...n.shadowRoot?n.shadowRoot.children:[],...n.assignedElements?n.assignedElements():[])}}function iI(e,t){const i=Pn();let n=t.contains(e);return!n&&i.HTMLSlotElement&&t instanceof HTMLSlotElement&&(n=[...t.assignedElements()].includes(e),n||(n=tI(e,t))),n}function Kf(e){try{console.warn(e);return}catch{}}function Yf(e,t){t===void 0&&(t=[]);const i=document.createElement(e);return i.classList.add(...Array.isArray(t)?t:XT(t)),i}function nI(e,t){const i=[];for(;e.previousElementSibling;){const n=e.previousElementSibling;t?n.matches(t)&&i.push(n):i.push(n),e=n}return i}function aI(e,t){const i=[];for(;e.nextElementSibling;){const n=e.nextElementSibling;t?n.matches(t)&&i.push(n):i.push(n),e=n}return i}function lr(e,t){return Pn().getComputedStyle(e,null).getPropertyValue(t)}function Xf(e){let t=e,i;if(t){for(i=0;(t=t.previousSibling)!==null;)t.nodeType===1&&(i+=1);return i}}function y3(e,t){const i=[];let n=e.parentElement;for(;n;)t?n.matches(t)&&i.push(n):i.push(n),n=n.parentElement;return i}function mp(e,t,i){const n=Pn();return e[t==="width"?"offsetWidth":"offsetHeight"]+parseFloat(n.getComputedStyle(e,null).getPropertyValue(t==="width"?"margin-right":"margin-top"))+parseFloat(n.getComputedStyle(e,null).getPropertyValue(t==="width"?"margin-left":"margin-bottom"))}function ms(e){return(Array.isArray(e)?e:[e]).filter(t=>!!t)}function Jf(e,t){t===void 0&&(t=""),typeof trustedTypes<"u"?e.innerHTML=trustedTypes.createPolicy("html",{createHTML:i=>i}).createHTML(t):e.innerHTML=t}function sI(e,t,i,n){return e.params.createElements&&Object.keys(n).forEach(a=>{if(!i[a]&&i.auto===!0){let s=Va(e.el,`.${n[a]}`)[0];s||(s=Yf("div",n[a]),s.className=n[a],e.el.append(s)),i[a]=s,t[a]=s}}),i}function Au(e){return e===void 0&&(e=""),`.${e.trim().replace(/([\.:!+\/()[\]])/g,"\\$1").replace(/ /g,".")}`}function w3(e){let{swiper:t,extendParams:i,on:n,emit:a}=e;const s="swiper-pagination";i({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:w=>w,formatFractionTotal:w=>w,bulletClass:`${s}-bullet`,bulletActiveClass:`${s}-bullet-active`,modifierClass:`${s}-`,currentClass:`${s}-current`,totalClass:`${s}-total`,hiddenClass:`${s}-hidden`,progressbarFillClass:`${s}-progressbar-fill`,progressbarOppositeClass:`${s}-progressbar-opposite`,clickableClass:`${s}-clickable`,lockClass:`${s}-lock`,horizontalClass:`${s}-horizontal`,verticalClass:`${s}-vertical`,paginationDisabledClass:`${s}-disabled`}}),t.pagination={el:null,bullets:[]};let r,o=0;function l(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&t.pagination.el.length===0}function c(w,B){const{bulletActiveClass:S}=t.params.pagination;w&&(w=w[`${B==="prev"?"previous":"next"}ElementSibling`],w&&(w.classList.add(`${S}-${B}`),w=w[`${B==="prev"?"previous":"next"}ElementSibling`],w&&w.classList.add(`${S}-${B}-${B}`)))}function f(w,B,S){if(w=w%S,B=B%S,B===w+1)return"next";if(B===w-1)return"previous"}function h(w){const B=w.target.closest(Au(t.params.pagination.bulletClass));if(!B)return;w.preventDefault();const S=Xf(B)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===S)return;const U=f(t.realIndex,S,t.slides.length);U==="next"?t.slideNext():U==="previous"?t.slidePrev():t.slideToLoop(S)}else t.slideTo(S)}function A(){const w=t.rtl,B=t.params.pagination;if(l())return;let S=t.pagination.el;S=ms(S);let U,N;const z=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,Q=t.params.loop?Math.ceil(z/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(N=t.previousRealIndex||0,U=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):typeof t.snapIndex<"u"?(U=t.snapIndex,N=t.previousSnapIndex):(N=t.previousIndex||0,U=t.activeIndex||0),B.type==="bullets"&&t.pagination.bullets&&t.pagination.bullets.length>0){const R=t.pagination.bullets;let q,J,ae;if(B.dynamicBullets&&(r=mp(R[0],t.isHorizontal()?"width":"height"),S.forEach(Fe=>{Fe.style[t.isHorizontal()?"width":"height"]=`${r*(B.dynamicMainBullets+4)}px`}),B.dynamicMainBullets>1&&N!==void 0&&(o+=U-(N||0),o>B.dynamicMainBullets-1?o=B.dynamicMainBullets-1:o<0&&(o=0)),q=Math.max(U-o,0),J=q+(Math.min(R.length,B.dynamicMainBullets)-1),ae=(J+q)/2),R.forEach(Fe=>{const ge=[...["","-next","-next-next","-prev","-prev-prev","-main"].map(le=>`${B.bulletActiveClass}${le}`)].map(le=>typeof le=="string"&&le.includes(" ")?le.split(" "):le).flat();Fe.classList.remove(...ge)}),S.length>1)R.forEach(Fe=>{const ge=Xf(Fe);ge===U?Fe.classList.add(...B.bulletActiveClass.split(" ")):t.isElement&&Fe.setAttribute("part","bullet"),B.dynamicBullets&&(ge>=q&&ge<=J&&Fe.classList.add(...`${B.bulletActiveClass}-main`.split(" ")),ge===q&&c(Fe,"prev"),ge===J&&c(Fe,"next"))});else{const Fe=R[U];if(Fe&&Fe.classList.add(...B.bulletActiveClass.split(" ")),t.isElement&&R.forEach((ge,le)=>{ge.setAttribute("part",le===U?"bullet-active":"bullet")}),B.dynamicBullets){const ge=R[q],le=R[J];for(let re=q;re<=J;re+=1)R[re]&&R[re].classList.add(...`${B.bulletActiveClass}-main`.split(" "));c(ge,"prev"),c(le,"next")}}if(B.dynamicBullets){const Fe=Math.min(R.length,B.dynamicMainBullets+4),ge=(r*Fe-r)/2-ae*r,le=w?"right":"left";R.forEach(re=>{re.style[t.isHorizontal()?le:"top"]=`${ge}px`})}}S.forEach((R,q)=>{if(B.type==="fraction"&&(R.querySelectorAll(Au(B.currentClass)).forEach(J=>{J.textContent=B.formatFractionCurrent(U+1)}),R.querySelectorAll(Au(B.totalClass)).forEach(J=>{J.textContent=B.formatFractionTotal(Q)})),B.type==="progressbar"){let J;B.progressbarOpposite?J=t.isHorizontal()?"vertical":"horizontal":J=t.isHorizontal()?"horizontal":"vertical";const ae=(U+1)/Q;let Fe=1,ge=1;J==="horizontal"?Fe=ae:ge=ae,R.querySelectorAll(Au(B.progressbarFillClass)).forEach(le=>{le.style.transform=`translate3d(0,0,0) scaleX(${Fe}) scaleY(${ge})`,le.style.transitionDuration=`${t.params.speed}ms`})}B.type==="custom"&&B.renderCustom?(Jf(R,B.renderCustom(t,U+1,Q)),q===0&&a("paginationRender",R)):(q===0&&a("paginationRender",R),a("paginationUpdate",R)),t.params.watchOverflow&&t.enabled&&R.classList[t.isLocked?"add":"remove"](B.lockClass)})}function m(){const w=t.params.pagination;if(l())return;const B=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.grid&&t.params.grid.rows>1?t.slides.length/Math.ceil(t.params.grid.rows):t.slides.length;let S=t.pagination.el;S=ms(S);let U="";if(w.type==="bullets"){let N=t.params.loop?Math.ceil(B/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&N>B&&(N=B);for(let z=0;z${w.bulletElement}>`}w.type==="fraction"&&(w.renderFraction?U=w.renderFraction.call(t,w.currentClass,w.totalClass):U=` / `),w.type==="progressbar"&&(w.renderProgressbar?U=w.renderProgressbar.call(t,w.progressbarFillClass):U=``),t.pagination.bullets=[],S.forEach(N=>{w.type!=="custom"&&Jf(N,U||""),w.type==="bullets"&&t.pagination.bullets.push(...N.querySelectorAll(Au(w.bulletClass)))}),w.type!=="custom"&&a("paginationRender",S[0])}function F(){t.params.pagination=sI(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const w=t.params.pagination;if(!w.el)return;let B;typeof w.el=="string"&&t.isElement&&(B=t.el.querySelector(w.el)),!B&&typeof w.el=="string"&&(B=[...document.querySelectorAll(w.el)]),B||(B=w.el),!(!B||B.length===0)&&(t.params.uniqueNavElements&&typeof w.el=="string"&&Array.isArray(B)&&B.length>1&&(B=[...t.el.querySelectorAll(w.el)],B.length>1&&(B=B.find(S=>y3(S,".swiper")[0]===t.el))),Array.isArray(B)&&B.length===1&&(B=B[0]),Object.assign(t.pagination,{el:B}),B=ms(B),B.forEach(S=>{w.type==="bullets"&&w.clickable&&S.classList.add(...(w.clickableClass||"").split(" ")),S.classList.add(w.modifierClass+w.type),S.classList.add(t.isHorizontal()?w.horizontalClass:w.verticalClass),w.type==="bullets"&&w.dynamicBullets&&(S.classList.add(`${w.modifierClass}${w.type}-dynamic`),o=0,w.dynamicMainBullets<1&&(w.dynamicMainBullets=1)),w.type==="progressbar"&&w.progressbarOpposite&&S.classList.add(w.progressbarOppositeClass),w.clickable&&S.addEventListener("click",h),t.enabled||S.classList.add(w.lockClass)}))}function y(){const w=t.params.pagination;if(l())return;let B=t.pagination.el;B&&(B=ms(B),B.forEach(S=>{S.classList.remove(w.hiddenClass),S.classList.remove(w.modifierClass+w.type),S.classList.remove(t.isHorizontal()?w.horizontalClass:w.verticalClass),w.clickable&&(S.classList.remove(...(w.clickableClass||"").split(" ")),S.removeEventListener("click",h))})),t.pagination.bullets&&t.pagination.bullets.forEach(S=>S.classList.remove(...w.bulletActiveClass.split(" ")))}n("changeDirection",()=>{if(!t.pagination||!t.pagination.el)return;const w=t.params.pagination;let{el:B}=t.pagination;B=ms(B),B.forEach(S=>{S.classList.remove(w.horizontalClass,w.verticalClass),S.classList.add(t.isHorizontal()?w.horizontalClass:w.verticalClass)})}),n("init",()=>{t.params.pagination.enabled===!1?C():(F(),m(),A())}),n("activeIndexChange",()=>{typeof t.snapIndex>"u"&&A()}),n("snapIndexChange",()=>{A()}),n("snapGridLengthChange",()=>{m(),A()}),n("destroy",()=>{y()}),n("enable disable",()=>{let{el:w}=t.pagination;w&&(w=ms(w),w.forEach(B=>B.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass)))}),n("lock unlock",()=>{A()}),n("click",(w,B)=>{const S=B.target,U=ms(t.pagination.el);if(t.params.pagination.el&&t.params.pagination.hideOnClick&&U&&U.length>0&&!S.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&S===t.navigation.nextEl||t.navigation.prevEl&&S===t.navigation.prevEl))return;const N=U[0].classList.contains(t.params.pagination.hiddenClass);a(N===!0?"paginationShow":"paginationHide"),U.forEach(z=>z.classList.toggle(t.params.pagination.hiddenClass))}});const k=()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:w}=t.pagination;w&&(w=ms(w),w.forEach(B=>B.classList.remove(t.params.pagination.paginationDisabledClass))),F(),m(),A()},C=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:w}=t.pagination;w&&(w=ms(w),w.forEach(B=>B.classList.add(t.params.pagination.paginationDisabledClass))),y()};Object.assign(t.pagination,{enable:k,disable:C,render:m,update:A,init:F,destroy:y})}function rI(e){let{swiper:t,extendParams:i,on:n,emit:a,params:s}=e;t.autoplay={running:!1,paused:!1,timeLeft:0},i({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let r,o,l=s&&s.autoplay?s.autoplay.delay:3e3,c=s&&s.autoplay?s.autoplay.delay:3e3,f,h=new Date().getTime(),A,m,F,y,k,C,w;function B($){!t||t.destroyed||!t.wrapperEl||$.target===t.wrapperEl&&(t.wrapperEl.removeEventListener("transitionend",B),!(w||$.detail&&$.detail.bySwiperTouchMove)&&q())}const S=()=>{if(t.destroyed||!t.autoplay.running)return;t.autoplay.paused?A=!0:A&&(c=f,A=!1);const $=t.autoplay.paused?f:h+c-new Date().getTime();t.autoplay.timeLeft=$,a("autoplayTimeLeft",$,$/l),o=requestAnimationFrame(()=>{S()})},U=()=>{let $;return t.virtual&&t.params.virtual.enabled?$=t.slides.find(I=>I.classList.contains("swiper-slide-active")):$=t.slides[t.activeIndex],$?parseInt($.getAttribute("data-swiper-autoplay"),10):void 0},N=$=>{if(t.destroyed||!t.autoplay.running)return;cancelAnimationFrame(o),S();let V=typeof $>"u"?t.params.autoplay.delay:$;l=t.params.autoplay.delay,c=t.params.autoplay.delay;const I=U();!Number.isNaN(I)&&I>0&&typeof $>"u"&&(V=I,l=I,c=I),f=V;const x=t.params.speed,O=()=>{!t||t.destroyed||(t.params.autoplay.reverseDirection?!t.isBeginning||t.params.loop||t.params.rewind?(t.slidePrev(x,!0,!0),a("autoplay")):t.params.autoplay.stopOnLastSlide||(t.slideTo(t.slides.length-1,x,!0,!0),a("autoplay")):!t.isEnd||t.params.loop||t.params.rewind?(t.slideNext(x,!0,!0),a("autoplay")):t.params.autoplay.stopOnLastSlide||(t.slideTo(0,x,!0,!0),a("autoplay")),t.params.cssMode&&(h=new Date().getTime(),requestAnimationFrame(()=>{N()})))};return V>0?(clearTimeout(r),r=setTimeout(()=>{O()},V)):requestAnimationFrame(()=>{O()}),V},z=()=>{h=new Date().getTime(),t.autoplay.running=!0,N(),a("autoplayStart")},Q=()=>{t.autoplay.running=!1,clearTimeout(r),cancelAnimationFrame(o),a("autoplayStop")},R=($,V)=>{if(t.destroyed||!t.autoplay.running)return;clearTimeout(r),$||(C=!0);const I=()=>{a("autoplayPause"),t.params.autoplay.waitForTransition?t.wrapperEl.addEventListener("transitionend",B):q()};if(t.autoplay.paused=!0,V){k&&(f=t.params.autoplay.delay),k=!1,I();return}f=(f||t.params.autoplay.delay)-(new Date().getTime()-h),!(t.isEnd&&f<0&&!t.params.loop)&&(f<0&&(f=0),I())},q=()=>{t.isEnd&&f<0&&!t.params.loop||t.destroyed||!t.autoplay.running||(h=new Date().getTime(),C?(C=!1,N(f)):N(),t.autoplay.paused=!1,a("autoplayResume"))},J=()=>{if(t.destroyed||!t.autoplay.running)return;const $=Xa();$.visibilityState==="hidden"&&(C=!0,R(!0)),$.visibilityState==="visible"&&q()},ae=$=>{$.pointerType==="mouse"&&(C=!0,w=!0,!(t.animating||t.autoplay.paused)&&R(!0))},Fe=$=>{$.pointerType==="mouse"&&(w=!1,t.autoplay.paused&&q())},ge=()=>{t.params.autoplay.pauseOnMouseEnter&&(t.el.addEventListener("pointerenter",ae),t.el.addEventListener("pointerleave",Fe))},le=()=>{t.el&&typeof t.el!="string"&&(t.el.removeEventListener("pointerenter",ae),t.el.removeEventListener("pointerleave",Fe))},re=()=>{Xa().addEventListener("visibilitychange",J)},pe=()=>{Xa().removeEventListener("visibilitychange",J)};n("init",()=>{t.params.autoplay.enabled&&(ge(),re(),z())}),n("destroy",()=>{le(),pe(),t.autoplay.running&&Q()}),n("_freeModeStaticRelease",()=>{(F||C)&&q()}),n("_freeModeNoMomentumRelease",()=>{t.params.autoplay.disableOnInteraction?Q():R(!0,!0)}),n("beforeTransitionStart",($,V,I)=>{t.destroyed||!t.autoplay.running||(I||!t.params.autoplay.disableOnInteraction?R(!0,!0):Q())}),n("sliderFirstMove",()=>{if(!(t.destroyed||!t.autoplay.running)){if(t.params.autoplay.disableOnInteraction){Q();return}m=!0,F=!1,C=!1,y=setTimeout(()=>{C=!0,F=!0,R(!0)},200)}}),n("touchEnd",()=>{if(!(t.destroyed||!t.autoplay.running||!m)){if(clearTimeout(y),clearTimeout(r),t.params.autoplay.disableOnInteraction){F=!1,m=!1;return}F&&t.params.cssMode&&q(),F=!1,m=!1}}),n("slideChange",()=>{t.destroyed||!t.autoplay.running||(k=!0)}),Object.assign(t.autoplay,{start:z,stop:Q,pause:R,resume:q})}const sn=ti("messages",{state:()=>({messages:[],groups:[],groupMessages:[],voiceMailWebhook:""}),getters:{getUnreadMessagesCount(){return this.messages.filter(e=>e.isRead!==1).length}},actions:{setMessagesRead(e){const t=this.messages.filter(i=>i.sender==e&&i.isRead!==1).length;this.messages.forEach(i=>{i.sender==e&&i.isRead!==1&&(i.isRead=1)}),t>0&&M.setMessagesRead(e)},deleteMessage(e){this.messages=this.messages.filter(t=>t.id!==e)}}}),Wn=ti("mail",{state:()=>({mails:[],writeMail:!1,mailImg:null,senderMails:[]}),getters:{countUnreadMails(){return this.mails.reduce((e,t)=>e+!t.read,0)}},actions:{setMailReadState(e){const t=this.mails.find(i=>i.id==e);t&&(t.read=1)}}}),ki=ti("photo",{state:()=>({photos:[],browsePicture:!1,browsePictureApp:null,browsePictureApp2:null,sharePhoto:null,sharePhotoId:null}),getters:{getLastPhoto(){return this.photos.length>0?this.photos.filter(e=>e.isDeleted===0&&!e.picture.includes(".webm")).sort((e,t)=>t.id-e.id)[0]:null},getPhotoLength(){return this.photos.length},getPhotos(){return this.photos.length>0?this.photos.filter(e=>e.isDeleted===0).sort((e,t)=>t.id-e.id):null},getPhotosOnlyImage(){return this.photos.length>0?this.photos.filter(e=>e.isDeleted===0&&!e.picture.includes(".webm")).sort((e,t)=>t.id-e.id):null},getFavoritePhotos(){return this.photos.length>0?this.photos.filter(e=>e.isFavourite===1).sort((e,t)=>t.id-e.id):null},getVideos(){return this.photos.length>0?this.photos.filter(e=>e.isDeleted===0&&e.picture.includes(".webm")).sort((e,t)=>t.id-e.id):null},getDeletedPhotos(){return this.photos.length>0?this.photos.filter(e=>e.isDeleted===1).sort((e,t)=>t.id-e.id):null}},actions:{setPhotoFavorite(e){const t=this.photos.findIndex(i=>i.id==e);t!==-1&&(this.photos[t].isFavourite=this.photos[t].isFavourite===0?1:0)},isPhotoDeleted(e){const t=this.photos.findIndex(i=>i.id==e);return t!==-1?this.photos[t].isDeleted===1:!1},recoverPhoto(e){const t=this.photos.findIndex(i=>i.id==e);t!==-1&&(this.photos[t].isDeleted=0)},removePhoto(e){const t=this.photos.findIndex(i=>i.id==e);t!==-1&&this.photos.splice(t,1)},setPhotoDeleted(e){const t=this.photos.findIndex(i=>i.id==e);t!==-1&&(this.photos[t].isDeleted=this.photos[t].isDeleted===0?1:0)},setBrowsePicture(e,t){this.browsePictureApp=t,this.browsePicture=e},setBrowsePicture2(e){this.browsePictureApp2=e},setSharePhoto(e,t){this.sharePhoto=e,this.sharePhotoId=t}}}),ro=ti("voicememos",{state:()=>({voicememos:[],voiceChecked:!1}),actions:{deleteVoiceMemo(e){this.voicememos=this.voicememos.filter(t=>t.id!==e)},setVoiceChecked(e){this.voiceChecked=e}}});let Wg;function oI(){const e=Pn(),t=Xa();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}function C3(){return Wg||(Wg=oI()),Wg}let Kg;function lI(e){let{userAgent:t}=e===void 0?{}:e;const i=C3(),n=Pn(),a=n.navigator.platform,s=t||n.navigator.userAgent,r={ios:!1,android:!1},o=n.screen.width,l=n.screen.height,c=s.match(/(Android);?[\s\/]+([\d.]+)?/);let f=s.match(/(iPad).*OS\s([\d_]+)/);const h=s.match(/(iPod)(.*OS\s([\d_]+))?/),A=!f&&s.match(/(iPhone\sOS|iOS)\s([\d_]+)/),m=a==="Win32";let F=a==="MacIntel";const y=["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"];return!f&&F&&i.touch&&y.indexOf(`${o}x${l}`)>=0&&(f=s.match(/(Version)\/([\d.]+)/),f||(f=[0,1,"13_0_0"]),F=!1),c&&!m&&(r.os="android",r.android=!0),(f||A||h)&&(r.os="ios",r.ios=!0),r}function k3(e){return e===void 0&&(e={}),Kg||(Kg=lI(e)),Kg}let Yg;function uI(){const e=Pn(),t=k3();let i=!1;function n(){const o=e.navigator.userAgent.toLowerCase();return o.indexOf("safari")>=0&&o.indexOf("chrome")<0&&o.indexOf("android")<0}if(n()){const o=String(e.navigator.userAgent);if(o.includes("Version/")){const[l,c]=o.split("Version/")[1].split(" ")[0].split(".").map(f=>Number(f));i=l<16||l===16&&c<2}}const a=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),s=n(),r=s||a&&t.ios;return{isSafari:i||s,needPerspectiveFix:i,need3dFix:r,isWebView:a}}function E3(){return Yg||(Yg=uI()),Yg}function cI(e){let{swiper:t,on:i,emit:n}=e;const a=Pn();let s=null,r=null;const o=()=>{!t||t.destroyed||!t.initialized||(n("beforeResize"),n("resize"))},l=()=>{!t||t.destroyed||!t.initialized||(s=new ResizeObserver(h=>{r=a.requestAnimationFrame(()=>{const{width:A,height:m}=t;let F=A,y=m;h.forEach(k=>{let{contentBoxSize:C,contentRect:w,target:B}=k;B&&B!==t.el||(F=w?w.width:(C[0]||C).inlineSize,y=w?w.height:(C[0]||C).blockSize)}),(F!==A||y!==m)&&o()})}),s.observe(t.el))},c=()=>{r&&a.cancelAnimationFrame(r),s&&s.unobserve&&t.el&&(s.unobserve(t.el),s=null)},f=()=>{!t||t.destroyed||!t.initialized||n("orientationchange")};i("init",()=>{if(t.params.resizeObserver&&typeof a.ResizeObserver<"u"){l();return}a.addEventListener("resize",o),a.addEventListener("orientationchange",f)}),i("destroy",()=>{c(),a.removeEventListener("resize",o),a.removeEventListener("orientationchange",f)})}function dI(e){let{swiper:t,extendParams:i,on:n,emit:a}=e;const s=[],r=Pn(),o=function(f,h){h===void 0&&(h={});const A=r.MutationObserver||r.WebkitMutationObserver,m=new A(F=>{if(t.__preventObserver__)return;if(F.length===1){a("observerUpdate",F[0]);return}const y=function(){a("observerUpdate",F[0])};r.requestAnimationFrame?r.requestAnimationFrame(y):r.setTimeout(y,0)});m.observe(f,{attributes:typeof h.attributes>"u"?!0:h.attributes,childList:t.isElement||(typeof h.childList>"u"?!0:h).childList,characterData:typeof h.characterData>"u"?!0:h.characterData}),s.push(m)},l=()=>{if(t.params.observer){if(t.params.observeParents){const f=y3(t.hostEl);for(let h=0;h{s.forEach(f=>{f.disconnect()}),s.splice(0,s.length)};i({observer:!1,observeParents:!1,observeSlideChildren:!1}),n("init",l),n("destroy",c)}var fI={on(e,t,i){const n=this;if(!n.eventsListeners||n.destroyed||typeof t!="function")return n;const a=i?"unshift":"push";return e.split(" ").forEach(s=>{n.eventsListeners[s]||(n.eventsListeners[s]=[]),n.eventsListeners[s][a](t)}),n},once(e,t,i){const n=this;if(!n.eventsListeners||n.destroyed||typeof t!="function")return n;function a(){n.off(e,a),a.__emitterProxy&&delete a.__emitterProxy;for(var s=arguments.length,r=new Array(s),o=0;o=0&&t.eventsAnyListeners.splice(i,1),t},off(e,t){const i=this;return!i.eventsListeners||i.destroyed||!i.eventsListeners||e.split(" ").forEach(n=>{typeof t>"u"?i.eventsListeners[n]=[]:i.eventsListeners[n]&&i.eventsListeners[n].forEach((a,s)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&i.eventsListeners[n].splice(s,1)})}),i},emit(){const e=this;if(!e.eventsListeners||e.destroyed||!e.eventsListeners)return e;let t,i,n;for(var a=arguments.length,s=new Array(a),r=0;r{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach(c=>{c.apply(n,[l,...i])}),e.eventsListeners&&e.eventsListeners[l]&&e.eventsListeners[l].forEach(c=>{c.apply(n,i)})}),e}};function hI(){const e=this;let t,i;const n=e.el;typeof e.params.width<"u"&&e.params.width!==null?t=e.params.width:t=n.clientWidth,typeof e.params.height<"u"&&e.params.height!==null?i=e.params.height:i=n.clientHeight,!(t===0&&e.isHorizontal()||i===0&&e.isVertical())&&(t=t-parseInt(lr(n,"padding-left")||0,10)-parseInt(lr(n,"padding-right")||0,10),i=i-parseInt(lr(n,"padding-top")||0,10)-parseInt(lr(n,"padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(i)&&(i=0),Object.assign(e,{width:t,height:i,size:e.isHorizontal()?t:i}))}function AI(){const e=this;function t(q,J){return parseFloat(q.getPropertyValue(e.getDirectionLabel(J))||0)}const i=e.params,{wrapperEl:n,slidesEl:a,size:s,rtlTranslate:r,wrongRTL:o}=e,l=e.virtual&&i.virtual.enabled,c=l?e.virtual.slides.length:e.slides.length,f=Va(a,`.${e.params.slideClass}, swiper-slide`),h=l?e.virtual.slides.length:f.length;let A=[];const m=[],F=[];let y=i.slidesOffsetBefore;typeof y=="function"&&(y=i.slidesOffsetBefore.call(e));let k=i.slidesOffsetAfter;typeof k=="function"&&(k=i.slidesOffsetAfter.call(e));const C=e.snapGrid.length,w=e.slidesGrid.length;let B=i.spaceBetween,S=-y,U=0,N=0;if(typeof s>"u")return;typeof B=="string"&&B.indexOf("%")>=0?B=parseFloat(B.replace("%",""))/100*s:typeof B=="string"&&(B=parseFloat(B)),e.virtualSize=-B,f.forEach(q=>{r?q.style.marginLeft="":q.style.marginRight="",q.style.marginBottom="",q.style.marginTop=""}),i.centeredSlides&&i.cssMode&&(Ud(n,"--swiper-centered-offset-before",""),Ud(n,"--swiper-centered-offset-after",""));const z=i.grid&&i.grid.rows>1&&e.grid;z?e.grid.initSlides(f):e.grid&&e.grid.unsetSlides();let Q;const R=i.slidesPerView==="auto"&&i.breakpoints&&Object.keys(i.breakpoints).filter(q=>typeof i.breakpoints[q].slidesPerView<"u").length>0;for(let q=0;q1&&A.push(e.virtualSize-s)}if(l&&i.loop){const q=F[0]+B;if(i.slidesPerGroup>1){const J=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/i.slidesPerGroup),ae=q*i.slidesPerGroup;for(let Fe=0;Fe!i.cssMode||i.loop?!0:ae!==f.length-1).forEach(J=>{J.style[q]=`${B}px`})}if(i.centeredSlides&&i.centeredSlidesBounds){let q=0;F.forEach(ae=>{q+=ae+(B||0)}),q-=B;const J=q>s?q-s:0;A=A.map(ae=>ae<=0?-y:ae>J?J+k:ae)}if(i.centerInsufficientSlides){let q=0;F.forEach(ae=>{q+=ae+(B||0)}),q-=B;const J=(i.slidesOffsetBefore||0)+(i.slidesOffsetAfter||0);if(q+J{A[ge]=Fe-ae}),m.forEach((Fe,ge)=>{m[ge]=Fe+ae})}}if(Object.assign(e,{slides:f,snapGrid:A,slidesGrid:m,slidesSizesGrid:F}),i.centeredSlides&&i.cssMode&&!i.centeredSlidesBounds){Ud(n,"--swiper-centered-offset-before",`${-A[0]}px`),Ud(n,"--swiper-centered-offset-after",`${e.size/2-F[F.length-1]/2}px`);const q=-e.snapGrid[0],J=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map(ae=>ae+q),e.slidesGrid=e.slidesGrid.map(ae=>ae+J)}if(h!==c&&e.emit("slidesLengthChange"),A.length!==C&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),m.length!==w&&e.emit("slidesGridLengthChange"),i.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!l&&!i.cssMode&&(i.effect==="slide"||i.effect==="fade")){const q=`${i.containerModifierClass}backface-hidden`,J=e.el.classList.contains(q);h<=i.maxBackfaceHiddenSlides?J||e.el.classList.add(q):J&&e.el.classList.remove(q)}}function gI(e){const t=this,i=[],n=t.virtual&&t.params.virtual.enabled;let a=0,s;typeof e=="number"?t.setTransition(e):e===!0&&t.setTransition(t.params.speed);const r=o=>n?t.slides[t.getSlideIndexByData(o)]:t.slides[o];if(t.params.slidesPerView!=="auto"&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach(o=>{i.push(o)});else for(s=0;st.slides.length&&!n)break;i.push(r(o))}else i.push(r(t.activeIndex));for(s=0;sa?o:a}(a||a===0)&&(t.wrapperEl.style.height=`${a}px`)}function mI(){const e=this,t=e.slides,i=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let n=0;n{t&&!e.classList.contains(i)?e.classList.add(i):!t&&e.classList.contains(i)&&e.classList.remove(i)};function pI(e){e===void 0&&(e=this&&this.translate||0);const t=this,i=t.params,{slides:n,rtlTranslate:a,snapGrid:s}=t;if(n.length===0)return;typeof n[0].swiperSlideOffset>"u"&&t.updateSlidesOffset();let r=-e;a&&(r=e),t.visibleSlidesIndexes=[],t.visibleSlides=[];let o=i.spaceBetween;typeof o=="string"&&o.indexOf("%")>=0?o=parseFloat(o.replace("%",""))/100*t.size:typeof o=="string"&&(o=parseFloat(o));for(let l=0;l=0&&m<=t.size-t.slidesSizesGrid[l],k=m>=0&&m1&&F<=t.size||m<=0&&F>=t.size;k&&(t.visibleSlides.push(c),t.visibleSlidesIndexes.push(l)),kb(c,k,i.slideVisibleClass),kb(c,y,i.slideFullyVisibleClass),c.progress=a?-h:h,c.originalProgress=a?-A:A}}function _I(e){const t=this;if(typeof e>"u"){const f=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*f||0}const i=t.params,n=t.maxTranslate()-t.minTranslate();let{progress:a,isBeginning:s,isEnd:r,progressLoop:o}=t;const l=s,c=r;if(n===0)a=0,s=!0,r=!0;else{a=(e-t.minTranslate())/n;const f=Math.abs(e-t.minTranslate())<1,h=Math.abs(e-t.maxTranslate())<1;s=f||a<=0,r=h||a>=1,f&&(a=0),h&&(a=1)}if(i.loop){const f=t.getSlideIndexByData(0),h=t.getSlideIndexByData(t.slides.length-1),A=t.slidesGrid[f],m=t.slidesGrid[h],F=t.slidesGrid[t.slidesGrid.length-1],y=Math.abs(e);y>=A?o=(y-A)/F:o=(y+F-m)/F,o>1&&(o-=1)}Object.assign(t,{progress:a,progressLoop:o,isBeginning:s,isEnd:r}),(i.watchSlidesProgress||i.centeredSlides&&i.autoHeight)&&t.updateSlidesProgress(e),s&&!l&&t.emit("reachBeginning toEdge"),r&&!c&&t.emit("reachEnd toEdge"),(l&&!s||c&&!r)&&t.emit("fromEdge"),t.emit("progress",a)}const Xg=(e,t,i)=>{t&&!e.classList.contains(i)?e.classList.add(i):!t&&e.classList.contains(i)&&e.classList.remove(i)};function FI(){const e=this,{slides:t,params:i,slidesEl:n,activeIndex:a}=e,s=e.virtual&&i.virtual.enabled,r=e.grid&&i.grid&&i.grid.rows>1,o=h=>Va(n,`.${i.slideClass}${h}, swiper-slide${h}`)[0];let l,c,f;if(s)if(i.loop){let h=a-e.virtual.slidesBefore;h<0&&(h=e.virtual.slides.length+h),h>=e.virtual.slides.length&&(h-=e.virtual.slides.length),l=o(`[data-swiper-slide-index="${h}"]`)}else l=o(`[data-swiper-slide-index="${a}"]`);else r?(l=t.find(h=>h.column===a),f=t.find(h=>h.column===a+1),c=t.find(h=>h.column===a-1)):l=t[a];l&&(r||(f=aI(l,`.${i.slideClass}, swiper-slide`)[0],i.loop&&!f&&(f=t[0]),c=nI(l,`.${i.slideClass}, swiper-slide`)[0],i.loop&&!c===0&&(c=t[t.length-1]))),t.forEach(h=>{Xg(h,h===l,i.slideActiveClass),Xg(h,h===f,i.slideNextClass),Xg(h,h===c,i.slidePrevClass)}),e.emitSlidesClasses()}const Ef=(e,t)=>{if(!e||e.destroyed||!e.params)return;const i=()=>e.isElement?"swiper-slide":`.${e.params.slideClass}`,n=t.closest(i());if(n){let a=n.querySelector(`.${e.params.lazyPreloaderClass}`);!a&&e.isElement&&(n.shadowRoot?a=n.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame(()=>{n.shadowRoot&&(a=n.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),a&&a.remove())})),a&&a.remove()}},Jg=(e,t)=>{if(!e.slides[t])return;const i=e.slides[t].querySelector('[loading="lazy"]');i&&i.removeAttribute("loading")},pp=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const i=e.slides.length;if(!i||!t||t<0)return;t=Math.min(t,i);const n=e.params.slidesPerView==="auto"?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),a=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const r=a,o=[r-t];o.push(...Array.from({length:t}).map((l,c)=>r+n+c)),e.slides.forEach((l,c)=>{o.includes(l.column)&&Jg(e,c)});return}const s=a+n-1;if(e.params.rewind||e.params.loop)for(let r=a-t;r<=s+t;r+=1){const o=(r%i+i)%i;(os)&&Jg(e,o)}else for(let r=Math.max(a-t,0);r<=Math.min(s+t,i-1);r+=1)r!==a&&(r>s||r=t[s]&&n=t[s]&&n=t[s]&&(a=s);return i.normalizeSlideIndex&&(a<0||typeof a>"u")&&(a=0),a}function vI(e){const t=this,i=t.rtlTranslate?t.translate:-t.translate,{snapGrid:n,params:a,activeIndex:s,realIndex:r,snapIndex:o}=t;let l=e,c;const f=m=>{let F=m-t.virtual.slidesBefore;return F<0&&(F=t.virtual.slides.length+F),F>=t.virtual.slides.length&&(F-=t.virtual.slides.length),F};if(typeof l>"u"&&(l=bI(t)),n.indexOf(i)>=0)c=n.indexOf(i);else{const m=Math.min(a.slidesPerGroupSkip,l);c=m+Math.floor((l-m)/a.slidesPerGroup)}if(c>=n.length&&(c=n.length-1),l===s&&!t.params.loop){c!==o&&(t.snapIndex=c,t.emit("snapIndexChange"));return}if(l===s&&t.params.loop&&t.virtual&&t.params.virtual.enabled){t.realIndex=f(l);return}const h=t.grid&&a.grid&&a.grid.rows>1;let A;if(t.virtual&&a.virtual.enabled&&a.loop)A=f(l);else if(h){const m=t.slides.find(y=>y.column===l);let F=parseInt(m.getAttribute("data-swiper-slide-index"),10);Number.isNaN(F)&&(F=Math.max(t.slides.indexOf(m),0)),A=Math.floor(F/a.grid.rows)}else if(t.slides[l]){const m=t.slides[l].getAttribute("data-swiper-slide-index");m?A=parseInt(m,10):A=l}else A=l;Object.assign(t,{previousSnapIndex:o,snapIndex:c,previousRealIndex:r,realIndex:A,previousIndex:s,activeIndex:l}),t.initialized&&pp(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(r!==A&&t.emit("realIndexChange"),t.emit("slideChange"))}function yI(e,t){const i=this,n=i.params;let a=e.closest(`.${n.slideClass}, swiper-slide`);!a&&i.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach(o=>{!a&&o.matches&&o.matches(`.${n.slideClass}, swiper-slide`)&&(a=o)});let s=!1,r;if(a){for(let o=0;ol?f=l:n&&er?o="next":s"u"&&(t=s.params.speed);const y=Math.min(s.params.slidesPerGroupSkip,r);let k=y+Math.floor((r-y)/s.params.slidesPerGroup);k>=l.length&&(k=l.length-1);const C=-l[k];if(o.normalizeSlideIndex)for(let z=0;z=R&&Q=R&&Q=R&&(r=z)}if(s.initialized&&r!==h&&(!s.allowSlideNext&&(A?C>s.translate&&C>s.minTranslate():Cs.translate&&C>s.maxTranslate()&&(h||0)!==r))return!1;r!==(f||0)&&i&&s.emit("beforeSlideChangeStart"),s.updateProgress(C);let w;r>h?w="next":r0?(s._cssModeVirtualInitialSet=!0,requestAnimationFrame(()=>{m[z?"scrollLeft":"scrollTop"]=Q})):m[z?"scrollLeft":"scrollTop"]=Q,B&&requestAnimationFrame(()=>{s.wrapperEl.style.scrollSnapType="",s._immediateVirtual=!1});else{if(!s.support.smoothScroll)return v3({swiper:s,targetPosition:Q,side:z?"left":"top"}),!0;m.scrollTo({[z?"left":"top"]:Q,behavior:"smooth"})}return!0}const N=E3().isSafari;return B&&!a&&N&&s.isElement&&s.virtual.update(!1,!1,r),s.setTransition(t),s.setTranslate(C),s.updateActiveIndex(r),s.updateSlidesClasses(),s.emit("beforeTransitionStart",t,n),s.transitionStart(i,w),t===0?s.transitionEnd(i,w):s.animating||(s.animating=!0,s.onSlideToWrapperTransitionEnd||(s.onSlideToWrapperTransitionEnd=function(Q){!s||s.destroyed||Q.target===this&&(s.wrapperEl.removeEventListener("transitionend",s.onSlideToWrapperTransitionEnd),s.onSlideToWrapperTransitionEnd=null,delete s.onSlideToWrapperTransitionEnd,s.transitionEnd(i,w))}),s.wrapperEl.addEventListener("transitionend",s.onSlideToWrapperTransitionEnd)),!0}function LI(e,t,i,n){e===void 0&&(e=0),i===void 0&&(i=!0),typeof e=="string"&&(e=parseInt(e,10));const a=this;if(a.destroyed)return;typeof t>"u"&&(t=a.params.speed);const s=a.grid&&a.params.grid&&a.params.grid.rows>1;let r=e;if(a.params.loop)if(a.virtual&&a.params.virtual.enabled)r=r+a.virtual.slidesBefore;else{let o;if(s){const A=r*a.params.grid.rows;o=a.slides.find(m=>m.getAttribute("data-swiper-slide-index")*1===A).column}else o=a.getSlideIndexByData(r);const l=s?Math.ceil(a.slides.length/a.params.grid.rows):a.slides.length,{centeredSlides:c}=a.params;let f=a.params.slidesPerView;f==="auto"?f=a.slidesPerViewDynamic():(f=Math.ceil(parseFloat(a.params.slidesPerView,10)),c&&f%2===0&&(f=f+1));let h=l-om.getAttribute("data-swiper-slide-index")*1===A).column}else r=a.getSlideIndexByData(r)}return requestAnimationFrame(()=>{a.slideTo(r,t,i,n)}),a}function RI(e,t,i){t===void 0&&(t=!0);const n=this,{enabled:a,params:s,animating:r}=n;if(!a||n.destroyed)return n;typeof e>"u"&&(e=n.params.speed);let o=s.slidesPerGroup;s.slidesPerView==="auto"&&s.slidesPerGroup===1&&s.slidesPerGroupAuto&&(o=Math.max(n.slidesPerViewDynamic("current",!0),1));const l=n.activeIndex{n.slideTo(n.activeIndex+l,e,t,i)}),!0}return s.rewind&&n.isEnd?n.slideTo(0,e,t,i):n.slideTo(n.activeIndex+l,e,t,i)}function UI(e,t,i){t===void 0&&(t=!0);const n=this,{params:a,snapGrid:s,slidesGrid:r,rtlTranslate:o,enabled:l,animating:c}=n;if(!l||n.destroyed)return n;typeof e>"u"&&(e=n.params.speed);const f=n.virtual&&a.virtual.enabled;if(a.loop){if(c&&!f&&a.loopPreventsSliding)return!1;n.loopFix({direction:"prev"}),n._clientLeft=n.wrapperEl.clientLeft}const h=o?n.translate:-n.translate;function A(w){return w<0?-Math.floor(Math.abs(w)):Math.floor(w)}const m=A(h),F=s.map(w=>A(w)),y=a.freeMode&&a.freeMode.enabled;let k=s[F.indexOf(m)-1];if(typeof k>"u"&&(a.cssMode||y)){let w;s.forEach((B,S)=>{m>=B&&(w=S)}),typeof w<"u"&&(k=y?s[w]:s[w>0?w-1:w])}let C=0;if(typeof k<"u"&&(C=r.indexOf(k),C<0&&(C=n.activeIndex-1),a.slidesPerView==="auto"&&a.slidesPerGroup===1&&a.slidesPerGroupAuto&&(C=C-n.slidesPerViewDynamic("previous",!0)+1,C=Math.max(C,0))),a.rewind&&n.isBeginning){const w=n.params.virtual&&n.params.virtual.enabled&&n.virtual?n.virtual.slides.length-1:n.slides.length-1;return n.slideTo(w,e,t,i)}else if(a.loop&&n.activeIndex===0&&a.cssMode)return requestAnimationFrame(()=>{n.slideTo(C,e,t,i)}),!0;return n.slideTo(C,e,t,i)}function OI(e,t,i){t===void 0&&(t=!0);const n=this;if(!n.destroyed)return typeof e>"u"&&(e=n.params.speed),n.slideTo(n.activeIndex,e,t,i)}function NI(e,t,i,n){t===void 0&&(t=!0),n===void 0&&(n=.5);const a=this;if(a.destroyed)return;typeof e>"u"&&(e=a.params.speed);let s=a.activeIndex;const r=Math.min(a.params.slidesPerGroupSkip,s),o=r+Math.floor((s-r)/a.params.slidesPerGroup),l=a.rtlTranslate?a.translate:-a.translate;if(l>=a.snapGrid[o]){const c=a.snapGrid[o],f=a.snapGrid[o+1];l-c>(f-c)*n&&(s+=a.params.slidesPerGroup)}else{const c=a.snapGrid[o-1],f=a.snapGrid[o];l-c<=(f-c)*n&&(s-=a.params.slidesPerGroup)}return s=Math.max(s,0),s=Math.min(s,a.slidesGrid.length-1),a.slideTo(s,e,t,i)}function HI(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:i}=e,n=t.slidesPerView==="auto"?e.slidesPerViewDynamic():t.slidesPerView;let a=e.getSlideIndexWhenGrid(e.clickedIndex),s;const r=e.isElement?"swiper-slide":`.${t.slideClass}`,o=e.grid&&e.params.grid&&e.params.grid.rows>1;if(t.loop){if(e.animating)return;s=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?e.slideToLoop(s):a>(o?(e.slides.length-n)/2-(e.params.grid.rows-1):e.slides.length-n)?(e.loopFix(),a=e.getSlideIndex(Va(i,`${r}[data-swiper-slide-index="${s}"]`)[0]),b3(()=>{e.slideTo(a)})):e.slideTo(a)}else e.slideTo(a)}var QI={slideTo:MI,slideToLoop:LI,slideNext:RI,slidePrev:UI,slideReset:OI,slideToClosest:NI,slideToClickedSlide:HI};function jI(e,t){const i=this,{params:n,slidesEl:a}=i;if(!n.loop||i.virtual&&i.params.virtual.enabled)return;const s=()=>{Va(a,`.${n.slideClass}, swiper-slide`).forEach((m,F)=>{m.setAttribute("data-swiper-slide-index",F)})},r=()=>{const A=Va(a,`.${n.slideBlankClass}`);A.forEach(m=>{m.remove()}),A.length>0&&(i.recalcSlides(),i.updateSlides())},o=i.grid&&n.grid&&n.grid.rows>1;n.loopAddBlankSlides&&(n.slidesPerGroup>1||o)&&r();const l=n.slidesPerGroup*(o?n.grid.rows:1),c=i.slides.length%l!==0,f=o&&i.slides.length%n.grid.rows!==0,h=A=>{for(let m=0;m1;f.length"u"?s=c.getSlideIndex(f.find(re=>re.classList.contains(F.slideActiveClass))):R=s;const q=n==="next"||!n,J=n==="prev"||!n;let ae=0,Fe=0;const le=(S?f[s].column:s)+(y&&typeof a>"u"?-C/2+.5:0);if(le=0;V-=1)f[V].column===$&&U.push(V)}else U.push(z-pe-1)}}else if(le+C>z-B){Fe=Math.max(le-(z-B*2),w),Q&&(Fe=Math.max(Fe,C-z+k+1));for(let re=0;re{$.column===pe&&N.push(V)}):N.push(pe)}}if(c.__preventObserver__=!0,requestAnimationFrame(()=>{c.__preventObserver__=!1}),c.params.effect==="cards"&&f.length{f[re].swiperLoopMoveDOM=!0,m.prepend(f[re]),f[re].swiperLoopMoveDOM=!1}),q&&N.forEach(re=>{f[re].swiperLoopMoveDOM=!0,m.append(f[re]),f[re].swiperLoopMoveDOM=!1}),c.recalcSlides(),F.slidesPerView==="auto"?c.updateSlides():S&&(U.length>0&&J||N.length>0&&q)&&c.slides.forEach((re,pe)=>{c.grid.updateSlide(pe,re,c.slides)}),F.watchSlidesProgress&&c.updateSlidesOffset(),i){if(U.length>0&&J){if(typeof t>"u"){const re=c.slidesGrid[R],$=c.slidesGrid[R+ae]-re;l?c.setTranslate(c.translate-$):(c.slideTo(R+Math.ceil(ae),0,!1,!0),a&&(c.touchEventsData.startTranslate=c.touchEventsData.startTranslate-$,c.touchEventsData.currentTranslate=c.touchEventsData.currentTranslate-$))}else if(a){const re=S?U.length/F.grid.rows:U.length;c.slideTo(c.activeIndex+re,0,!1,!0),c.touchEventsData.currentTranslate=c.translate}}else if(N.length>0&&q)if(typeof t>"u"){const re=c.slidesGrid[R],$=c.slidesGrid[R-Fe]-re;l?c.setTranslate(c.translate-$):(c.slideTo(R-Fe,0,!1,!0),a&&(c.touchEventsData.startTranslate=c.touchEventsData.startTranslate-$,c.touchEventsData.currentTranslate=c.touchEventsData.currentTranslate-$))}else{const re=S?N.length/F.grid.rows:N.length;c.slideTo(c.activeIndex-re,0,!1,!0)}}if(c.allowSlidePrev=h,c.allowSlideNext=A,c.controller&&c.controller.control&&!o){const re={slideRealIndex:t,direction:n,setTranslate:a,activeSlideIndex:s,byController:!0};Array.isArray(c.controller.control)?c.controller.control.forEach(pe=>{!pe.destroyed&&pe.params.loop&&pe.loopFix({...re,slideTo:pe.params.slidesPerView===F.slidesPerView?i:!1})}):c.controller.control instanceof c.constructor&&c.controller.control.params.loop&&c.controller.control.loopFix({...re,slideTo:c.controller.control.params.slidesPerView===F.slidesPerView?i:!1})}c.emit("loopFix")}function zI(){const e=this,{params:t,slidesEl:i}=e;if(!t.loop||!i||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const n=[];e.slides.forEach(a=>{const s=typeof a.swiperSlideIndex>"u"?a.getAttribute("data-swiper-slide-index")*1:a.swiperSlideIndex;n[s]=a}),e.slides.forEach(a=>{a.removeAttribute("data-swiper-slide-index")}),n.forEach(a=>{i.append(a)}),e.recalcSlides(),e.slideTo(e.realIndex,0)}var qI={loopCreate:jI,loopFix:GI,loopDestroy:zI};function VI(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const i=t.params.touchEventsTarget==="container"?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),i.style.cursor="move",i.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame(()=>{t.__preventObserver__=!1})}function WI(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e[e.params.touchEventsTarget==="container"?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame(()=>{e.__preventObserver__=!1}))}var KI={setGrabCursor:VI,unsetGrabCursor:WI};function YI(e,t){t===void 0&&(t=this);function i(n){if(!n||n===Xa()||n===Pn())return null;n.assignedSlot&&(n=n.assignedSlot);const a=n.closest(e);return!a&&!n.getRootNode?null:a||i(n.getRootNode().host)}return i(t)}function Eb(e,t,i){const n=Pn(),{params:a}=e,s=a.edgeSwipeDetection,r=a.edgeSwipeThreshold;return s&&(i<=r||i>=n.innerWidth-r)?s==="prevent"?(t.preventDefault(),!0):!1:!0}function XI(e){const t=this,i=Xa();let n=e;n.originalEvent&&(n=n.originalEvent);const a=t.touchEventsData;if(n.type==="pointerdown"){if(a.pointerId!==null&&a.pointerId!==n.pointerId)return;a.pointerId=n.pointerId}else n.type==="touchstart"&&n.targetTouches.length===1&&(a.touchId=n.targetTouches[0].identifier);if(n.type==="touchstart"){Eb(t,n,n.targetTouches[0].pageX);return}const{params:s,touches:r,enabled:o}=t;if(!o||!s.simulateTouch&&n.pointerType==="mouse"||t.animating&&s.preventInteractionOnTransition)return;!t.animating&&s.cssMode&&s.loop&&t.loopFix();let l=n.target;if(s.touchEventsTarget==="wrapper"&&!iI(l,t.wrapperEl)||"which"in n&&n.which===3||"button"in n&&n.button>0||a.isTouched&&a.isMoved)return;const c=!!s.noSwipingClass&&s.noSwipingClass!=="",f=n.composedPath?n.composedPath():n.path;c&&n.target&&n.target.shadowRoot&&f&&(l=f[0]);const h=s.noSwipingSelector?s.noSwipingSelector:`.${s.noSwipingClass}`,A=!!(n.target&&n.target.shadowRoot);if(s.noSwiping&&(A?YI(h,l):l.closest(h))){t.allowClick=!0;return}if(s.swipeHandler&&!l.closest(s.swipeHandler))return;r.currentX=n.pageX,r.currentY=n.pageY;const m=r.currentX,F=r.currentY;if(!Eb(t,n,m))return;Object.assign(a,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),r.startX=m,r.startY=F,a.touchStartTime=Wf(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,s.threshold>0&&(a.allowThresholdMove=!1);let y=!0;l.matches(a.focusableElements)&&(y=!1,l.nodeName==="SELECT"&&(a.isTouched=!1)),i.activeElement&&i.activeElement.matches(a.focusableElements)&&i.activeElement!==l&&(n.pointerType==="mouse"||n.pointerType!=="mouse"&&!l.matches(a.focusableElements))&&i.activeElement.blur();const k=y&&t.allowTouchMove&&s.touchStartPreventDefault;(s.touchStartForcePreventDefault||k)&&!l.isContentEditable&&n.preventDefault(),s.freeMode&&s.freeMode.enabled&&t.freeMode&&t.animating&&!s.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",n)}function JI(e){const t=Xa(),i=this,n=i.touchEventsData,{params:a,touches:s,rtlTranslate:r,enabled:o}=i;if(!o||!a.simulateTouch&&e.pointerType==="mouse")return;let l=e;if(l.originalEvent&&(l=l.originalEvent),l.type==="pointermove"&&(n.touchId!==null||l.pointerId!==n.pointerId))return;let c;if(l.type==="touchmove"){if(c=[...l.changedTouches].find(U=>U.identifier===n.touchId),!c||c.identifier!==n.touchId)return}else c=l;if(!n.isTouched){n.startMoving&&n.isScrolling&&i.emit("touchMoveOpposite",l);return}const f=c.pageX,h=c.pageY;if(l.preventedByNestedSwiper){s.startX=f,s.startY=h;return}if(!i.allowTouchMove){l.target.matches(n.focusableElements)||(i.allowClick=!1),n.isTouched&&(Object.assign(s,{startX:f,startY:h,currentX:f,currentY:h}),n.touchStartTime=Wf());return}if(a.touchReleaseOnEdges&&!a.loop)if(i.isVertical()){if(hs.startY&&i.translate>=i.minTranslate()){n.isTouched=!1,n.isMoved=!1;return}}else{if(r&&(f>s.startX&&-i.translate<=i.maxTranslate()||f=i.minTranslate()))return;if(!r&&(fs.startX&&i.translate>=i.minTranslate()))return}if(t.activeElement&&t.activeElement.matches(n.focusableElements)&&t.activeElement!==l.target&&l.pointerType!=="mouse"&&t.activeElement.blur(),t.activeElement&&l.target===t.activeElement&&l.target.matches(n.focusableElements)){n.isMoved=!0,i.allowClick=!1;return}n.allowTouchCallbacks&&i.emit("touchMove",l),s.previousX=s.currentX,s.previousY=s.currentY,s.currentX=f,s.currentY=h;const A=s.currentX-s.startX,m=s.currentY-s.startY;if(i.params.threshold&&Math.sqrt(A**2+m**2)"u"){let U;i.isHorizontal()&&s.currentY===s.startY||i.isVertical()&&s.currentX===s.startX?n.isScrolling=!1:A*A+m*m>=25&&(U=Math.atan2(Math.abs(m),Math.abs(A))*180/Math.PI,n.isScrolling=i.isHorizontal()?U>a.touchAngle:90-U>a.touchAngle)}if(n.isScrolling&&i.emit("touchMoveOpposite",l),typeof n.startMoving>"u"&&(s.currentX!==s.startX||s.currentY!==s.startY)&&(n.startMoving=!0),n.isScrolling||l.type==="touchmove"&&n.preventTouchMoveFromPointerMove){n.isTouched=!1;return}if(!n.startMoving)return;i.allowClick=!1,!a.cssMode&&l.cancelable&&l.preventDefault(),a.touchMoveStopPropagation&&!a.nested&&l.stopPropagation();let F=i.isHorizontal()?A:m,y=i.isHorizontal()?s.currentX-s.previousX:s.currentY-s.previousY;a.oneWayMovement&&(F=Math.abs(F)*(r?1:-1),y=Math.abs(y)*(r?1:-1)),s.diff=F,F*=a.touchRatio,r&&(F=-F,y=-y);const k=i.touchesDirection;i.swipeDirection=F>0?"prev":"next",i.touchesDirection=y>0?"prev":"next";const C=i.params.loop&&!a.cssMode,w=i.touchesDirection==="next"&&i.allowSlideNext||i.touchesDirection==="prev"&&i.allowSlidePrev;if(!n.isMoved){if(C&&w&&i.loopFix({direction:i.swipeDirection}),n.startTranslate=i.getTranslate(),i.setTransition(0),i.animating){const U=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});i.wrapperEl.dispatchEvent(U)}n.allowMomentumBounce=!1,a.grabCursor&&(i.allowSlideNext===!0||i.allowSlidePrev===!0)&&i.setGrabCursor(!0),i.emit("sliderFirstMove",l)}if(new Date().getTime(),a._loopSwapReset!==!1&&n.isMoved&&n.allowThresholdMove&&k!==i.touchesDirection&&C&&w&&Math.abs(F)>=1){Object.assign(s,{startX:f,startY:h,currentX:f,currentY:h,startTranslate:n.currentTranslate}),n.loopSwapReset=!0,n.startTranslate=n.currentTranslate;return}i.emit("sliderMove",l),n.isMoved=!0,n.currentTranslate=F+n.startTranslate;let B=!0,S=a.resistanceRatio;if(a.touchReleaseOnEdges&&(S=0),F>0?(C&&w&&n.allowThresholdMove&&n.currentTranslate>(a.centeredSlides?i.minTranslate()-i.slidesSizesGrid[i.activeIndex+1]-(a.slidesPerView!=="auto"&&i.slides.length-a.slidesPerView>=2?i.slidesSizesGrid[i.activeIndex+1]+i.params.spaceBetween:0)-i.params.spaceBetween:i.minTranslate())&&i.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),n.currentTranslate>i.minTranslate()&&(B=!1,a.resistance&&(n.currentTranslate=i.minTranslate()-1+(-i.minTranslate()+n.startTranslate+F)**S))):F<0&&(C&&w&&n.allowThresholdMove&&n.currentTranslate<(a.centeredSlides?i.maxTranslate()+i.slidesSizesGrid[i.slidesSizesGrid.length-1]+i.params.spaceBetween+(a.slidesPerView!=="auto"&&i.slides.length-a.slidesPerView>=2?i.slidesSizesGrid[i.slidesSizesGrid.length-1]+i.params.spaceBetween:0):i.maxTranslate())&&i.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:i.slides.length-(a.slidesPerView==="auto"?i.slidesPerViewDynamic():Math.ceil(parseFloat(a.slidesPerView,10)))}),n.currentTranslaten.startTranslate&&(n.currentTranslate=n.startTranslate),!i.allowSlidePrev&&!i.allowSlideNext&&(n.currentTranslate=n.startTranslate),a.threshold>0)if(Math.abs(F)>a.threshold||n.allowThresholdMove){if(!n.allowThresholdMove){n.allowThresholdMove=!0,s.startX=s.currentX,s.startY=s.currentY,n.currentTranslate=n.startTranslate,s.diff=i.isHorizontal()?s.currentX-s.startX:s.currentY-s.startY;return}}else{n.currentTranslate=n.startTranslate;return}!a.followFinger||a.cssMode||((a.freeMode&&a.freeMode.enabled&&i.freeMode||a.watchSlidesProgress)&&(i.updateActiveIndex(),i.updateSlidesClasses()),a.freeMode&&a.freeMode.enabled&&i.freeMode&&i.freeMode.onTouchMove(),i.updateProgress(n.currentTranslate),i.setTranslate(n.currentTranslate))}function ZI(e){const t=this,i=t.touchEventsData;let n=e;n.originalEvent&&(n=n.originalEvent);let a;if(n.type==="touchend"||n.type==="touchcancel"){if(a=[...n.changedTouches].find(U=>U.identifier===i.touchId),!a||a.identifier!==i.touchId)return}else{if(i.touchId!==null||n.pointerId!==i.pointerId)return;a=n}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(n.type)&&!(["pointercancel","contextmenu"].includes(n.type)&&(t.browser.isSafari||t.browser.isWebView)))return;i.pointerId=null,i.touchId=null;const{params:r,touches:o,rtlTranslate:l,slidesGrid:c,enabled:f}=t;if(!f||!r.simulateTouch&&n.pointerType==="mouse")return;if(i.allowTouchCallbacks&&t.emit("touchEnd",n),i.allowTouchCallbacks=!1,!i.isTouched){i.isMoved&&r.grabCursor&&t.setGrabCursor(!1),i.isMoved=!1,i.startMoving=!1;return}r.grabCursor&&i.isMoved&&i.isTouched&&(t.allowSlideNext===!0||t.allowSlidePrev===!0)&&t.setGrabCursor(!1);const h=Wf(),A=h-i.touchStartTime;if(t.allowClick){const U=n.path||n.composedPath&&n.composedPath();t.updateClickedSlide(U&&U[0]||n.target,U),t.emit("tap click",n),A<300&&h-i.lastClickTime<300&&t.emit("doubleTap doubleClick",n)}if(i.lastClickTime=Wf(),b3(()=>{t.destroyed||(t.allowClick=!0)}),!i.isTouched||!i.isMoved||!t.swipeDirection||o.diff===0&&!i.loopSwapReset||i.currentTranslate===i.startTranslate&&!i.loopSwapReset){i.isTouched=!1,i.isMoved=!1,i.startMoving=!1;return}i.isTouched=!1,i.isMoved=!1,i.startMoving=!1;let m;if(r.followFinger?m=l?t.translate:-t.translate:m=-i.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled){t.freeMode.onTouchEnd({currentPos:m});return}const F=m>=-t.maxTranslate()&&!t.params.loop;let y=0,k=t.slidesSizesGrid[0];for(let U=0;U=c[U]&&m=c[U])&&(y=U,k=c[c.length-1]-c[c.length-2])}let C=null,w=null;r.rewind&&(t.isBeginning?w=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(C=0));const B=(m-c[y])/k,S=yr.longSwipesMs){if(!r.longSwipes){t.slideTo(t.activeIndex);return}t.swipeDirection==="next"&&(B>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?C:y+S):t.slideTo(y)),t.swipeDirection==="prev"&&(B>1-r.longSwipesRatio?t.slideTo(y+S):w!==null&&B<0&&Math.abs(B)>r.longSwipesRatio?t.slideTo(w):t.slideTo(y))}else{if(!r.shortSwipes){t.slideTo(t.activeIndex);return}t.navigation&&(n.target===t.navigation.nextEl||n.target===t.navigation.prevEl)?n.target===t.navigation.nextEl?t.slideTo(y+S):t.slideTo(y):(t.swipeDirection==="next"&&t.slideTo(C!==null?C:y+S),t.swipeDirection==="prev"&&t.slideTo(w!==null?w:y))}}function Bb(){const e=this,{params:t,el:i}=e;if(i&&i.offsetWidth===0)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:n,allowSlidePrev:a,snapGrid:s}=e,r=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const o=r&&t.loop;(t.slidesPerView==="auto"||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides&&!o?e.slideTo(e.slides.length-1,0,!1,!0):e.params.loop&&!r?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout(()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()},500)),e.allowSlidePrev=a,e.allowSlideNext=n,e.params.watchOverflow&&s!==e.snapGrid&&e.checkOverflow()}function $I(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function eP(){const e=this,{wrapperEl:t,rtlTranslate:i,enabled:n}=e;if(!n)return;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,e.translate===0&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();let a;const s=e.maxTranslate()-e.minTranslate();s===0?a=0:a=(e.translate-e.minTranslate())/s,a!==e.progress&&e.updateProgress(i?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function tP(e){const t=this;Ef(t,e.target),!(t.params.cssMode||t.params.slidesPerView!=="auto"&&!t.params.autoHeight)&&t.update()}function iP(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const S3=(e,t)=>{const i=Xa(),{params:n,el:a,wrapperEl:s,device:r}=e,o=!!n.nested,l=t==="on"?"addEventListener":"removeEventListener",c=t;!a||typeof a=="string"||(i[l]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),a[l]("touchstart",e.onTouchStart,{passive:!1}),a[l]("pointerdown",e.onTouchStart,{passive:!1}),i[l]("touchmove",e.onTouchMove,{passive:!1,capture:o}),i[l]("pointermove",e.onTouchMove,{passive:!1,capture:o}),i[l]("touchend",e.onTouchEnd,{passive:!0}),i[l]("pointerup",e.onTouchEnd,{passive:!0}),i[l]("pointercancel",e.onTouchEnd,{passive:!0}),i[l]("touchcancel",e.onTouchEnd,{passive:!0}),i[l]("pointerout",e.onTouchEnd,{passive:!0}),i[l]("pointerleave",e.onTouchEnd,{passive:!0}),i[l]("contextmenu",e.onTouchEnd,{passive:!0}),(n.preventClicks||n.preventClicksPropagation)&&a[l]("click",e.onClick,!0),n.cssMode&&s[l]("scroll",e.onScroll),n.updateOnWindowResize?e[c](r.ios||r.android?"resize orientationchange observerUpdate":"resize observerUpdate",Bb,!0):e[c]("observerUpdate",Bb,!0),a[l]("load",e.onLoad,{capture:!0}))};function nP(){const e=this,{params:t}=e;e.onTouchStart=XI.bind(e),e.onTouchMove=JI.bind(e),e.onTouchEnd=ZI.bind(e),e.onDocumentTouchStart=iP.bind(e),t.cssMode&&(e.onScroll=eP.bind(e)),e.onClick=$I.bind(e),e.onLoad=tP.bind(e),S3(e,"on")}function aP(){S3(this,"off")}var sP={attachEvents:nP,detachEvents:aP};const Sb=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;function rP(){const e=this,{realIndex:t,initialized:i,params:n,el:a}=e,s=n.breakpoints;if(!s||s&&Object.keys(s).length===0)return;const r=Xa(),o=n.breakpointsBase==="window"||!n.breakpointsBase?n.breakpointsBase:"container",l=["window","container"].includes(n.breakpointsBase)||!n.breakpointsBase?e.el:r.querySelector(n.breakpointsBase),c=e.getBreakpoint(s,o,l);if(!c||e.currentBreakpoint===c)return;const h=(c in s?s[c]:void 0)||e.originalParams,A=Sb(e,n),m=Sb(e,h),F=e.params.grabCursor,y=h.grabCursor,k=n.enabled;A&&!m?(a.classList.remove(`${n.containerModifierClass}grid`,`${n.containerModifierClass}grid-column`),e.emitContainerClasses()):!A&&m&&(a.classList.add(`${n.containerModifierClass}grid`),(h.grid.fill&&h.grid.fill==="column"||!h.grid.fill&&n.grid.fill==="column")&&a.classList.add(`${n.containerModifierClass}grid-column`),e.emitContainerClasses()),F&&!y?e.unsetGrabCursor():!F&&y&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach(N=>{if(typeof h[N]>"u")return;const z=n[N]&&n[N].enabled,Q=h[N]&&h[N].enabled;z&&!Q&&e[N].disable(),!z&&Q&&e[N].enable()});const C=h.direction&&h.direction!==n.direction,w=n.loop&&(h.slidesPerView!==n.slidesPerView||C),B=n.loop;C&&i&&e.changeDirection(),qn(e.params,h);const S=e.params.enabled,U=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),k&&!S?e.disable():!k&&S&&e.enable(),e.currentBreakpoint=c,e.emit("_beforeBreakpoint",h),i&&(w?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!B&&U?(e.loopCreate(t),e.updateSlides()):B&&!U&&e.loopDestroy()),e.emit("breakpoint",h)}function oP(e,t,i){if(t===void 0&&(t="window"),!e||t==="container"&&!i)return;let n=!1;const a=Pn(),s=t==="window"?a.innerHeight:i.clientHeight,r=Object.keys(e).map(o=>{if(typeof o=="string"&&o.indexOf("@")===0){const l=parseFloat(o.substr(1));return{value:s*l,point:o}}return{value:o,point:o}});r.sort((o,l)=>parseInt(o.value,10)-parseInt(l.value,10));for(let o=0;o{typeof n=="object"?Object.keys(n).forEach(a=>{n[a]&&i.push(t+a)}):typeof n=="string"&&i.push(t+n)}),i}function cP(){const e=this,{classNames:t,params:i,rtl:n,el:a,device:s}=e,r=uP(["initialized",i.direction,{"free-mode":e.params.freeMode&&i.freeMode.enabled},{autoheight:i.autoHeight},{rtl:n},{grid:i.grid&&i.grid.rows>1},{"grid-column":i.grid&&i.grid.rows>1&&i.grid.fill==="column"},{android:s.android},{ios:s.ios},{"css-mode":i.cssMode},{centered:i.cssMode&&i.centeredSlides},{"watch-progress":i.watchSlidesProgress}],i.containerModifierClass);t.push(...r),a.classList.add(...t),e.emitContainerClasses()}function dP(){const e=this,{el:t,classNames:i}=e;!t||typeof t=="string"||(t.classList.remove(...i),e.emitContainerClasses())}var fP={addClasses:cP,removeClasses:dP};function hP(){const e=this,{isLocked:t,params:i}=e,{slidesOffsetBefore:n}=i;if(n){const a=e.slides.length-1,s=e.slidesGrid[a]+e.slidesSizesGrid[a]+n*2;e.isLocked=e.size>s}else e.isLocked=e.snapGrid.length===1;i.allowSlideNext===!0&&(e.allowSlideNext=!e.isLocked),i.allowSlidePrev===!0&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}var AP={checkOverflow:hP},_p={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function gP(e,t){return function(n){n===void 0&&(n={});const a=Object.keys(n)[0],s=n[a];if(typeof s!="object"||s===null){qn(t,n);return}if(e[a]===!0&&(e[a]={enabled:!0}),a==="navigation"&&e[a]&&e[a].enabled&&!e[a].prevEl&&!e[a].nextEl&&(e[a].auto=!0),["pagination","scrollbar"].indexOf(a)>=0&&e[a]&&e[a].enabled&&!e[a].el&&(e[a].auto=!0),!(a in e&&"enabled"in s)){qn(t,n);return}typeof e[a]=="object"&&!("enabled"in e[a])&&(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),qn(t,n)}}const Zg={eventsEmitter:fI,update:wI,translate:DI,transition:PI,slide:QI,loop:qI,grabCursor:KI,events:sP,breakpoints:lP,checkOverflow:AP,classes:fP},$g={};let v1=class Fs{constructor(){let t,i;for(var n=arguments.length,a=new Array(n),s=0;s1){const f=[];return r.querySelectorAll(i.el).forEach(h=>{const A=qn({},i,{el:h});f.push(new Fs(A))}),f}const o=this;o.__swiper__=!0,o.support=C3(),o.device=k3({userAgent:i.userAgent}),o.browser=E3(),o.eventsListeners={},o.eventsAnyListeners=[],o.modules=[...o.__modules__],i.modules&&Array.isArray(i.modules)&&o.modules.push(...i.modules);const l={};o.modules.forEach(f=>{f({params:i,swiper:o,extendParams:gP(i,l),on:o.on.bind(o),once:o.once.bind(o),off:o.off.bind(o),emit:o.emit.bind(o)})});const c=qn({},_p,l);return o.params=qn({},c,$g,i),o.originalParams=qn({},o.params),o.passedParams=qn({},i),o.params&&o.params.on&&Object.keys(o.params.on).forEach(f=>{o.on(f,o.params.on[f])}),o.params&&o.params.onAny&&o.onAny(o.params.onAny),Object.assign(o,{enabled:o.params.enabled,el:t,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal(){return o.params.direction==="horizontal"},isVertical(){return o.params.direction==="vertical"},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:o.params.allowSlideNext,allowSlidePrev:o.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:o.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:o.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),o.emit("_swiper"),o.params.init&&o.init(),o}getDirectionLabel(t){return this.isHorizontal()?t:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[t]}getSlideIndex(t){const{slidesEl:i,params:n}=this,a=Va(i,`.${n.slideClass}, swiper-slide`),s=Xf(a[0]);return Xf(t)-s}getSlideIndexByData(t){return this.getSlideIndex(this.slides.find(i=>i.getAttribute("data-swiper-slide-index")*1===t))}getSlideIndexWhenGrid(t){return this.grid&&this.params.grid&&this.params.grid.rows>1&&(this.params.grid.fill==="column"?t=Math.floor(t/this.params.grid.rows):this.params.grid.fill==="row"&&(t=t%Math.ceil(this.slides.length/this.params.grid.rows))),t}recalcSlides(){const t=this,{slidesEl:i,params:n}=t;t.slides=Va(i,`.${n.slideClass}, swiper-slide`)}enable(){const t=this;t.enabled||(t.enabled=!0,t.params.grabCursor&&t.setGrabCursor(),t.emit("enable"))}disable(){const t=this;t.enabled&&(t.enabled=!1,t.params.grabCursor&&t.unsetGrabCursor(),t.emit("disable"))}setProgress(t,i){const n=this;t=Math.min(Math.max(t,0),1);const a=n.minTranslate(),r=(n.maxTranslate()-a)*t+a;n.translateTo(r,typeof i>"u"?0:i),n.updateActiveIndex(),n.updateSlidesClasses()}emitContainerClasses(){const t=this;if(!t.params._emitClasses||!t.el)return;const i=t.el.className.split(" ").filter(n=>n.indexOf("swiper")===0||n.indexOf(t.params.containerModifierClass)===0);t.emit("_containerClasses",i.join(" "))}getSlideClasses(t){const i=this;return i.destroyed?"":t.className.split(" ").filter(n=>n.indexOf("swiper-slide")===0||n.indexOf(i.params.slideClass)===0).join(" ")}emitSlidesClasses(){const t=this;if(!t.params._emitClasses||!t.el)return;const i=[];t.slides.forEach(n=>{const a=t.getSlideClasses(n);i.push({slideEl:n,classNames:a}),t.emit("_slideClass",n,a)}),t.emit("_slideClasses",i)}slidesPerViewDynamic(t,i){t===void 0&&(t="current"),i===void 0&&(i=!1);const n=this,{params:a,slides:s,slidesGrid:r,slidesSizesGrid:o,size:l,activeIndex:c}=n;let f=1;if(typeof a.slidesPerView=="number")return a.slidesPerView;if(a.centeredSlides){let h=s[c]?Math.ceil(s[c].swiperSlideSize):0,A;for(let m=c+1;ml&&(A=!0));for(let m=c-1;m>=0;m-=1)s[m]&&!A&&(h+=s[m].swiperSlideSize,f+=1,h>l&&(A=!0))}else if(t==="current")for(let h=c+1;h=0;h-=1)r[c]-r[h]{r.complete&&Ef(t,r)}),t.updateSize(),t.updateSlides(),t.updateProgress(),t.updateSlidesClasses();function a(){const r=t.rtlTranslate?t.translate*-1:t.translate,o=Math.min(Math.max(r,t.maxTranslate()),t.minTranslate());t.setTranslate(o),t.updateActiveIndex(),t.updateSlidesClasses()}let s;if(n.freeMode&&n.freeMode.enabled&&!n.cssMode)a(),n.autoHeight&&t.updateAutoHeight();else{if((n.slidesPerView==="auto"||n.slidesPerView>1)&&t.isEnd&&!n.centeredSlides){const r=t.virtual&&n.virtual.enabled?t.virtual.slides:t.slides;s=t.slideTo(r.length-1,0,!1,!0)}else s=t.slideTo(t.activeIndex,0,!1,!0);s||a()}n.watchOverflow&&i!==t.snapGrid&&t.checkOverflow(),t.emit("update")}changeDirection(t,i){i===void 0&&(i=!0);const n=this,a=n.params.direction;return t||(t=a==="horizontal"?"vertical":"horizontal"),t===a||t!=="horizontal"&&t!=="vertical"||(n.el.classList.remove(`${n.params.containerModifierClass}${a}`),n.el.classList.add(`${n.params.containerModifierClass}${t}`),n.emitContainerClasses(),n.params.direction=t,n.slides.forEach(s=>{t==="vertical"?s.style.width="":s.style.height=""}),n.emit("changeDirection"),i&&n.update()),n}changeLanguageDirection(t){const i=this;i.rtl&&t==="rtl"||!i.rtl&&t==="ltr"||(i.rtl=t==="rtl",i.rtlTranslate=i.params.direction==="horizontal"&&i.rtl,i.rtl?(i.el.classList.add(`${i.params.containerModifierClass}rtl`),i.el.dir="rtl"):(i.el.classList.remove(`${i.params.containerModifierClass}rtl`),i.el.dir="ltr"),i.update())}mount(t){const i=this;if(i.mounted)return!0;let n=t||i.params.el;if(typeof n=="string"&&(n=document.querySelector(n)),!n)return!1;n.swiper=i,n.parentNode&&n.parentNode.host&&n.parentNode.host.nodeName===i.params.swiperElementNodeName.toUpperCase()&&(i.isElement=!0);const a=()=>`.${(i.params.wrapperClass||"").trim().split(" ").join(".")}`;let r=n&&n.shadowRoot&&n.shadowRoot.querySelector?n.shadowRoot.querySelector(a()):Va(n,a())[0];return!r&&i.params.createElements&&(r=Yf("div",i.params.wrapperClass),n.append(r),Va(n,`.${i.params.slideClass}`).forEach(o=>{r.append(o)})),Object.assign(i,{el:n,wrapperEl:r,slidesEl:i.isElement&&!n.parentNode.host.slideSlots?n.parentNode.host:r,hostEl:i.isElement?n.parentNode.host:n,mounted:!0,rtl:n.dir.toLowerCase()==="rtl"||lr(n,"direction")==="rtl",rtlTranslate:i.params.direction==="horizontal"&&(n.dir.toLowerCase()==="rtl"||lr(n,"direction")==="rtl"),wrongRTL:lr(r,"display")==="-webkit-box"}),!0}init(t){const i=this;if(i.initialized||i.mount(t)===!1)return i;i.emit("beforeInit"),i.params.breakpoints&&i.setBreakpoint(),i.addClasses(),i.updateSize(),i.updateSlides(),i.params.watchOverflow&&i.checkOverflow(),i.params.grabCursor&&i.enabled&&i.setGrabCursor(),i.params.loop&&i.virtual&&i.params.virtual.enabled?i.slideTo(i.params.initialSlide+i.virtual.slidesBefore,0,i.params.runCallbacksOnInit,!1,!0):i.slideTo(i.params.initialSlide,0,i.params.runCallbacksOnInit,!1,!0),i.params.loop&&i.loopCreate(void 0,!0),i.attachEvents();const a=[...i.el.querySelectorAll('[loading="lazy"]')];return i.isElement&&a.push(...i.hostEl.querySelectorAll('[loading="lazy"]')),a.forEach(s=>{s.complete?Ef(i,s):s.addEventListener("load",r=>{Ef(i,r.target)})}),pp(i),i.initialized=!0,pp(i),i.emit("init"),i.emit("afterInit"),i}destroy(t,i){t===void 0&&(t=!0),i===void 0&&(i=!0);const n=this,{params:a,el:s,wrapperEl:r,slides:o}=n;return typeof n.params>"u"||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),a.loop&&n.loopDestroy(),i&&(n.removeClasses(),s&&typeof s!="string"&&s.removeAttribute("style"),r&&r.removeAttribute("style"),o&&o.length&&o.forEach(l=>{l.classList.remove(a.slideVisibleClass,a.slideFullyVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass),l.removeAttribute("style"),l.removeAttribute("data-swiper-slide-index")})),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(l=>{n.off(l)}),t!==!1&&(n.el&&typeof n.el!="string"&&(n.el.swiper=null),JT(n)),n.destroyed=!0),null}static extendDefaults(t){qn($g,t)}static get extendedDefaults(){return $g}static get defaults(){return _p}static installModule(t){Fs.prototype.__modules__||(Fs.prototype.__modules__=[]);const i=Fs.prototype.__modules__;typeof t=="function"&&i.indexOf(t)<0&&i.push(t)}static use(t){return Array.isArray(t)?(t.forEach(i=>Fs.installModule(i)),Fs):(Fs.installModule(t),Fs)}};Object.keys(Zg).forEach(e=>{Object.keys(Zg[e]).forEach(t=>{v1.prototype[t]=Zg[e][t]})});v1.use([cI,dI]);const D3=["eventsPrefix","injectStyles","injectStylesUrls","modules","init","_direction","oneWayMovement","swiperElementNodeName","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_enabled","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","breakpointsBase","_spaceBetween","_slidesPerView","maxBackfaceHiddenSlides","_grid","_slidesPerGroup","_slidesPerGroupSkip","_slidesPerGroupAuto","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_loop","loopAdditionalSlides","loopAddBlankSlides","loopPreventsSliding","_rewind","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideActiveClass","slideVisibleClass","slideFullyVisibleClass","slideNextClass","slidePrevClass","slideBlankClass","wrapperClass","lazyPreloaderClass","lazyPreloadPrevNext","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","_autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","creativeEffect","cardsEffect","hashNavigation","history","keyboard","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom","control"];function fo(e){return typeof e=="object"&&e!==null&&e.constructor&&Object.prototype.toString.call(e).slice(8,-1)==="Object"&&!e.__swiper__}function ll(e,t){const i=["__proto__","constructor","prototype"];Object.keys(t).filter(n=>i.indexOf(n)<0).forEach(n=>{typeof e[n]>"u"?e[n]=t[n]:fo(t[n])&&fo(e[n])&&Object.keys(t[n]).length>0?t[n].__swiper__?e[n]=t[n]:ll(e[n],t[n]):e[n]=t[n]})}function x3(e){return e===void 0&&(e={}),e.navigation&&typeof e.navigation.nextEl>"u"&&typeof e.navigation.prevEl>"u"}function T3(e){return e===void 0&&(e={}),e.pagination&&typeof e.pagination.el>"u"}function I3(e){return e===void 0&&(e={}),e.scrollbar&&typeof e.scrollbar.el>"u"}function P3(e){e===void 0&&(e="");const t=e.split(" ").map(n=>n.trim()).filter(n=>!!n),i=[];return t.forEach(n=>{i.indexOf(n)<0&&i.push(n)}),i.join(" ")}function mP(e){return e===void 0&&(e=""),e?e.includes("swiper-wrapper")?e:`swiper-wrapper ${e}`:"swiper-wrapper"}function pP(e){let{swiper:t,slides:i,passedParams:n,changedParams:a,nextEl:s,prevEl:r,scrollbarEl:o,paginationEl:l}=e;const c=a.filter(R=>R!=="children"&&R!=="direction"&&R!=="wrapperClass"),{params:f,pagination:h,navigation:A,scrollbar:m,virtual:F,thumbs:y}=t;let k,C,w,B,S,U,N,z;a.includes("thumbs")&&n.thumbs&&n.thumbs.swiper&&!n.thumbs.swiper.destroyed&&f.thumbs&&(!f.thumbs.swiper||f.thumbs.swiper.destroyed)&&(k=!0),a.includes("controller")&&n.controller&&n.controller.control&&f.controller&&!f.controller.control&&(C=!0),a.includes("pagination")&&n.pagination&&(n.pagination.el||l)&&(f.pagination||f.pagination===!1)&&h&&!h.el&&(w=!0),a.includes("scrollbar")&&n.scrollbar&&(n.scrollbar.el||o)&&(f.scrollbar||f.scrollbar===!1)&&m&&!m.el&&(B=!0),a.includes("navigation")&&n.navigation&&(n.navigation.prevEl||r)&&(n.navigation.nextEl||s)&&(f.navigation||f.navigation===!1)&&A&&!A.prevEl&&!A.nextEl&&(S=!0);const Q=R=>{t[R]&&(t[R].destroy(),R==="navigation"?(t.isElement&&(t[R].prevEl.remove(),t[R].nextEl.remove()),f[R].prevEl=void 0,f[R].nextEl=void 0,t[R].prevEl=void 0,t[R].nextEl=void 0):(t.isElement&&t[R].el.remove(),f[R].el=void 0,t[R].el=void 0))};a.includes("loop")&&t.isElement&&(f.loop&&!n.loop?U=!0:!f.loop&&n.loop?N=!0:z=!0),c.forEach(R=>{if(fo(f[R])&&fo(n[R]))Object.assign(f[R],n[R]),(R==="navigation"||R==="pagination"||R==="scrollbar")&&"enabled"in n[R]&&!n[R].enabled&&Q(R);else{const q=n[R];(q===!0||q===!1)&&(R==="navigation"||R==="pagination"||R==="scrollbar")?q===!1&&Q(R):f[R]=n[R]}}),c.includes("controller")&&!C&&t.controller&&t.controller.control&&f.controller&&f.controller.control&&(t.controller.control=f.controller.control),a.includes("children")&&i&&F&&f.virtual.enabled?(F.slides=i,F.update(!0)):a.includes("virtual")&&F&&f.virtual.enabled&&(i&&(F.slides=i),F.update(!0)),a.includes("children")&&i&&f.loop&&(z=!0),k&&y.init()&&y.update(!0),C&&(t.controller.control=f.controller.control),w&&(t.isElement&&(!l||typeof l=="string")&&(l=document.createElement("div"),l.classList.add("swiper-pagination"),l.part.add("pagination"),t.el.appendChild(l)),l&&(f.pagination.el=l),h.init(),h.render(),h.update()),B&&(t.isElement&&(!o||typeof o=="string")&&(o=document.createElement("div"),o.classList.add("swiper-scrollbar"),o.part.add("scrollbar"),t.el.appendChild(o)),o&&(f.scrollbar.el=o),m.init(),m.updateSize(),m.setTranslate()),S&&(t.isElement&&((!s||typeof s=="string")&&(s=document.createElement("div"),s.classList.add("swiper-button-next"),Jf(s,t.hostEl.constructor.nextButtonSvg),s.part.add("button-next"),t.el.appendChild(s)),(!r||typeof r=="string")&&(r=document.createElement("div"),r.classList.add("swiper-button-prev"),Jf(r,t.hostEl.constructor.prevButtonSvg),r.part.add("button-prev"),t.el.appendChild(r))),s&&(f.navigation.nextEl=s),r&&(f.navigation.prevEl=r),A.init(),A.update()),a.includes("allowSlideNext")&&(t.allowSlideNext=n.allowSlideNext),a.includes("allowSlidePrev")&&(t.allowSlidePrev=n.allowSlidePrev),a.includes("direction")&&t.changeDirection(n.direction,!1),(U||z)&&t.loopDestroy(),(N||z)&&t.loopCreate(),t.update()}function Db(e,t){e===void 0&&(e={});const i={on:{}},n={},a={};ll(i,_p),i._emitClasses=!0,i.init=!1;const s={},r=D3.map(l=>l.replace(/_/,"")),o=Object.assign({},e);return Object.keys(o).forEach(l=>{typeof e[l]>"u"||(r.indexOf(l)>=0?fo(e[l])?(i[l]={},a[l]={},ll(i[l],e[l]),ll(a[l],e[l])):(i[l]=e[l],a[l]=e[l]):l.search(/on[A-Z]/)===0&&typeof e[l]=="function"?i.on[`${l[2].toLowerCase()}${l.substr(3)}`]=e[l]:s[l]=e[l])}),["navigation","pagination","scrollbar"].forEach(l=>{i[l]===!0&&(i[l]={}),i[l]===!1&&delete i[l]}),{params:i,passedParams:a,rest:s,events:n}}function _P(e,t){let{el:i,nextEl:n,prevEl:a,paginationEl:s,scrollbarEl:r,swiper:o}=e;x3(t)&&n&&a&&(o.params.navigation.nextEl=n,o.originalParams.navigation.nextEl=n,o.params.navigation.prevEl=a,o.originalParams.navigation.prevEl=a),T3(t)&&s&&(o.params.pagination.el=s,o.originalParams.pagination.el=s),I3(t)&&r&&(o.params.scrollbar.el=r,o.originalParams.scrollbar.el=r),o.init(i)}function FP(e,t,i,n,a){const s=[];if(!t)return s;const r=l=>{s.indexOf(l)<0&&s.push(l)};if(i&&n){const l=n.map(a),c=i.map(a);l.join("")!==c.join("")&&r("children"),n.length!==i.length&&r("children")}return D3.filter(l=>l[0]==="_").map(l=>l.replace(/_/,"")).forEach(l=>{if(l in e&&l in t)if(fo(e[l])&&fo(t[l])){const c=Object.keys(e[l]),f=Object.keys(t[l]);c.length!==f.length?r(l):(c.forEach(h=>{e[l][h]!==t[l][h]&&r(l)}),f.forEach(h=>{e[l][h]!==t[l][h]&&r(l)}))}else e[l]!==t[l]&&r(l)}),s}const bP=e=>{!e||e.destroyed||!e.params.virtual||e.params.virtual&&!e.params.virtual.enabled||(e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.emit("_virtualUpdated"),e.parallax&&e.params.parallax&&e.params.parallax.enabled&&e.parallax.setTranslate())};function em(e,t,i){e===void 0&&(e={});const n=[],a={"container-start":[],"container-end":[],"wrapper-start":[],"wrapper-end":[]},s=(r,o)=>{Array.isArray(r)&&r.forEach(l=>{const c=typeof l.type=="symbol";o==="default"&&(o="container-end"),c&&l.children?s(l.children,o):l.type&&(l.type.name==="SwiperSlide"||l.type.name==="AsyncComponentWrapper")||l.componentOptions&&l.componentOptions.tag==="SwiperSlide"?n.push(l):a[o]&&a[o].push(l)})};return Object.keys(e).forEach(r=>{if(typeof e[r]!="function")return;const o=e[r]();s(o,r)}),i.value=t.value,t.value=n,{slides:n,slots:a}}function vP(e,t,i){if(!i)return null;const n=f=>{let h=f;return f<0?h=t.length+f:h>=t.length&&(h=h-t.length),h},a=e.value.isHorizontal()?{[e.value.rtlTranslate?"right":"left"]:`${i.offset}px`}:{top:`${i.offset}px`},{from:s,to:r}=i,o=e.value.params.loop?-t.length:0,l=e.value.params.loop?t.length*2:t.length,c=[];for(let f=o;f=s&&f<=r&&c.length{if(f.props||(f.props={}),f.props.style||(f.props.style={}),f.props.swiperRef=e,f.props.style=a,f.type)return ai(f.type,{...f.props},f.children);if(f.componentOptions)return ai(f.componentOptions.Ctor,{...f.props},f.componentOptions.children)})}const Co={name:"Swiper",props:{tag:{type:String,default:"div"},wrapperTag:{type:String,default:"div"},modules:{type:Array,default:void 0},init:{type:Boolean,default:void 0},direction:{type:String,default:void 0},oneWayMovement:{type:Boolean,default:void 0},swiperElementNodeName:{type:String,default:"SWIPER-CONTAINER"},touchEventsTarget:{type:String,default:void 0},initialSlide:{type:Number,default:void 0},speed:{type:Number,default:void 0},cssMode:{type:Boolean,default:void 0},updateOnWindowResize:{type:Boolean,default:void 0},resizeObserver:{type:Boolean,default:void 0},nested:{type:Boolean,default:void 0},focusableElements:{type:String,default:void 0},width:{type:Number,default:void 0},height:{type:Number,default:void 0},preventInteractionOnTransition:{type:Boolean,default:void 0},userAgent:{type:String,default:void 0},url:{type:String,default:void 0},edgeSwipeDetection:{type:[Boolean,String],default:void 0},edgeSwipeThreshold:{type:Number,default:void 0},autoHeight:{type:Boolean,default:void 0},setWrapperSize:{type:Boolean,default:void 0},virtualTranslate:{type:Boolean,default:void 0},effect:{type:String,default:void 0},breakpoints:{type:Object,default:void 0},breakpointsBase:{type:String,default:void 0},spaceBetween:{type:[Number,String],default:void 0},slidesPerView:{type:[Number,String],default:void 0},maxBackfaceHiddenSlides:{type:Number,default:void 0},slidesPerGroup:{type:Number,default:void 0},slidesPerGroupSkip:{type:Number,default:void 0},slidesPerGroupAuto:{type:Boolean,default:void 0},centeredSlides:{type:Boolean,default:void 0},centeredSlidesBounds:{type:Boolean,default:void 0},slidesOffsetBefore:{type:Number,default:void 0},slidesOffsetAfter:{type:Number,default:void 0},normalizeSlideIndex:{type:Boolean,default:void 0},centerInsufficientSlides:{type:Boolean,default:void 0},watchOverflow:{type:Boolean,default:void 0},roundLengths:{type:Boolean,default:void 0},touchRatio:{type:Number,default:void 0},touchAngle:{type:Number,default:void 0},simulateTouch:{type:Boolean,default:void 0},shortSwipes:{type:Boolean,default:void 0},longSwipes:{type:Boolean,default:void 0},longSwipesRatio:{type:Number,default:void 0},longSwipesMs:{type:Number,default:void 0},followFinger:{type:Boolean,default:void 0},allowTouchMove:{type:Boolean,default:void 0},threshold:{type:Number,default:void 0},touchMoveStopPropagation:{type:Boolean,default:void 0},touchStartPreventDefault:{type:Boolean,default:void 0},touchStartForcePreventDefault:{type:Boolean,default:void 0},touchReleaseOnEdges:{type:Boolean,default:void 0},uniqueNavElements:{type:Boolean,default:void 0},resistance:{type:Boolean,default:void 0},resistanceRatio:{type:Number,default:void 0},watchSlidesProgress:{type:Boolean,default:void 0},grabCursor:{type:Boolean,default:void 0},preventClicks:{type:Boolean,default:void 0},preventClicksPropagation:{type:Boolean,default:void 0},slideToClickedSlide:{type:Boolean,default:void 0},loop:{type:Boolean,default:void 0},loopedSlides:{type:Number,default:void 0},loopPreventsSliding:{type:Boolean,default:void 0},loopAdditionalSlides:{type:Number,default:void 0},loopAddBlankSlides:{type:Boolean,default:void 0},rewind:{type:Boolean,default:void 0},allowSlidePrev:{type:Boolean,default:void 0},allowSlideNext:{type:Boolean,default:void 0},swipeHandler:{type:Boolean,default:void 0},noSwiping:{type:Boolean,default:void 0},noSwipingClass:{type:String,default:void 0},noSwipingSelector:{type:String,default:void 0},passiveListeners:{type:Boolean,default:void 0},containerModifierClass:{type:String,default:void 0},slideClass:{type:String,default:void 0},slideActiveClass:{type:String,default:void 0},slideVisibleClass:{type:String,default:void 0},slideFullyVisibleClass:{type:String,default:void 0},slideBlankClass:{type:String,default:void 0},slideNextClass:{type:String,default:void 0},slidePrevClass:{type:String,default:void 0},wrapperClass:{type:String,default:void 0},lazyPreloaderClass:{type:String,default:void 0},lazyPreloadPrevNext:{type:Number,default:void 0},runCallbacksOnInit:{type:Boolean,default:void 0},observer:{type:Boolean,default:void 0},observeParents:{type:Boolean,default:void 0},observeSlideChildren:{type:Boolean,default:void 0},a11y:{type:[Boolean,Object],default:void 0},autoplay:{type:[Boolean,Object],default:void 0},controller:{type:Object,default:void 0},coverflowEffect:{type:Object,default:void 0},cubeEffect:{type:Object,default:void 0},fadeEffect:{type:Object,default:void 0},flipEffect:{type:Object,default:void 0},creativeEffect:{type:Object,default:void 0},cardsEffect:{type:Object,default:void 0},hashNavigation:{type:[Boolean,Object],default:void 0},history:{type:[Boolean,Object],default:void 0},keyboard:{type:[Boolean,Object],default:void 0},mousewheel:{type:[Boolean,Object],default:void 0},navigation:{type:[Boolean,Object],default:void 0},pagination:{type:[Boolean,Object],default:void 0},parallax:{type:[Boolean,Object],default:void 0},scrollbar:{type:[Boolean,Object],default:void 0},thumbs:{type:Object,default:void 0},virtual:{type:[Boolean,Object],default:void 0},zoom:{type:[Boolean,Object],default:void 0},grid:{type:[Object],default:void 0},freeMode:{type:[Boolean,Object],default:void 0},enabled:{type:Boolean,default:void 0}},emits:["_beforeBreakpoint","_containerClasses","_slideClass","_slideClasses","_swiper","_freeModeNoMomentumRelease","_virtualUpdated","activeIndexChange","afterInit","autoplay","autoplayStart","autoplayStop","autoplayPause","autoplayResume","autoplayTimeLeft","beforeDestroy","beforeInit","beforeLoopFix","beforeResize","beforeSlideChangeStart","beforeTransitionStart","breakpoint","changeDirection","click","disable","doubleTap","doubleClick","destroy","enable","fromEdge","hashChange","hashSet","init","keyPress","lock","loopFix","momentumBounce","navigationHide","navigationShow","navigationPrev","navigationNext","observerUpdate","orientationchange","paginationHide","paginationRender","paginationShow","paginationUpdate","progress","reachBeginning","reachEnd","realIndexChange","resize","scroll","scrollbarDragEnd","scrollbarDragMove","scrollbarDragStart","setTransition","setTranslate","slidesUpdated","slideChange","slideChangeTransitionEnd","slideChangeTransitionStart","slideNextTransitionEnd","slideNextTransitionStart","slidePrevTransitionEnd","slidePrevTransitionStart","slideResetTransitionStart","slideResetTransitionEnd","sliderMove","sliderFirstMove","slidesLengthChange","slidesGridLengthChange","snapGridLengthChange","snapIndexChange","swiper","tap","toEdge","touchEnd","touchMove","touchMoveOpposite","touchStart","transitionEnd","transitionStart","unlock","update","virtualUpdate","zoomChange"],setup(e,t){let{slots:i,emit:n}=t;const{tag:a,wrapperTag:s}=e,r=Yt("swiper"),o=Yt(null),l=Yt(!1),c=Yt(!1),f=Yt(null),h=Yt(null),A=Yt(null),m={value:[]},F={value:[]},y=Yt(null),k=Yt(null),C=Yt(null),w=Yt(null),{params:B,passedParams:S}=Db(e);em(i,m,F),A.value=S,F.value=m.value;const U=()=>{em(i,m,F),l.value=!0};B.onAny=function(Q){for(var R=arguments.length,q=new Array(R>1?R-1:0),J=1;J{o.value=R},renderExternalUpdate:!1};ll(h.value.params.virtual,Q),ll(h.value.originalParams.virtual,Q)}l1(()=>{!c.value&&h.value&&(h.value.emitSlidesClasses(),c.value=!0);const{passedParams:Q}=Db(e),R=FP(Q,A.value,m.value,F.value,q=>q.props&&q.props.key);A.value=Q,(R.length||l.value)&&h.value&&!h.value.destroyed&&pP({swiper:h.value,slides:m.value,passedParams:Q,changedParams:R,nextEl:y.value,prevEl:k.value,scrollbarEl:w.value,paginationEl:C.value}),l.value=!1}),ol("swiper",h),mr(o,()=>{dA(()=>{bP(h.value)})}),Fa(()=>{f.value&&(_P({el:f.value,nextEl:y.value,prevEl:k.value,paginationEl:C.value,scrollbarEl:w.value,swiper:h.value},B),n("swiper",h.value))}),as(()=>{h.value&&!h.value.destroyed&&h.value.destroy(!0,!1)});function z(Q){return B.virtual?vP(h,Q,o.value):(Q.forEach((R,q)=>{R.props||(R.props={}),R.props.swiperRef=h,R.props.swiperSlideIndex=q}),Q)}return()=>{const{slides:Q,slots:R}=em(i,m,F);return ai(a,{ref:f,class:P3(r.value)},[R["container-start"],ai(s,{class:mP(B.wrapperClass)},[R["wrapper-start"],z(Q),R["wrapper-end"]]),x3(e)&&[ai("div",{ref:k,class:"swiper-button-prev"}),ai("div",{ref:y,class:"swiper-button-next"})],I3(e)&&ai("div",{ref:w,class:"swiper-scrollbar"}),T3(e)&&ai("div",{ref:C,class:"swiper-pagination"}),R["container-end"]])}}},ko={name:"SwiperSlide",props:{tag:{type:String,default:"div"},swiperRef:{type:Object,required:!1},swiperSlideIndex:{type:Number,default:void 0,required:!1},zoom:{type:Boolean,default:void 0,required:!1},lazy:{type:Boolean,default:!1,required:!1},virtualIndex:{type:[String,Number],default:void 0}},setup(e,t){let{slots:i}=t,n=!1;const{swiperRef:a}=e,s=Yt(null),r=Yt("swiper-slide"),o=Yt(!1);function l(h,A,m){A===s.value&&(r.value=m)}Fa(()=>{!a||!a.value||(a.value.on("_slideClass",l),n=!0)}),G2(()=>{n||!a||!a.value||(a.value.on("_slideClass",l),n=!0)}),l1(()=>{!s.value||!a||!a.value||(typeof e.swiperSlideIndex<"u"&&(s.value.swiperSlideIndex=e.swiperSlideIndex),a.value.destroyed&&r.value!=="swiper-slide"&&(r.value="swiper-slide"))}),as(()=>{!a||!a.value||a.value.off("_slideClass",l)});const c=Si(()=>({isActive:r.value.indexOf("swiper-slide-active")>=0,isVisible:r.value.indexOf("swiper-slide-visible")>=0,isPrev:r.value.indexOf("swiper-slide-prev")>=0,isNext:r.value.indexOf("swiper-slide-next")>=0}));ol("swiperSlide",c);const f=()=>{o.value=!0};return()=>ai(e.tag,{class:P3(`${r.value}`),ref:s,"data-swiper-slide-index":typeof e.virtualIndex>"u"&&a&&a.value&&a.value.params.loop?e.swiperSlideIndex:e.virtualIndex,onLoadCapture:f},e.zoom?ai("div",{class:"swiper-zoom-container","data-swiper-zoom":typeof e.zoom=="number"?e.zoom:void 0},[i.default&&i.default(c.value),e.lazy&&!o.value&&ai("div",{class:"swiper-lazy-preloader"})]):[i.default&&i.default(c.value),e.lazy&&!o.value&&ai("div",{class:"swiper-lazy-preloader"})])}},ke=(e,t)=>{const i=e.__vccOpts||e;for(const[n,a]of t)i[n]=a;return i},yP={name:"Home",components:{Swiper:Co,SwiperSlide:ko},data(){return{isPressed:!1,pressTimer:null,removeapp:null,addapp:null,homescreenApps:[],swiper:null,searchAppLibrary:""}},setup(){return{modules:[w3]}},computed:{...Z(ue,["installedapps","IntlString","getHomeAppsSorted","getHomeScreenApps","large_app_icons","updateAvailable","getBackground","job","iconcolor"]),...Z(sn,["getUnreadMessagesCount"]),...Z(Wn,["countUnreadMails"]),...Z(ki,["getPhotoLength"]),...Z(ro,["voicememos","voiceChecked"]),isAppDefault(){return this.installedapps.find(t=>t.redirect===this.removeapp).default},getSearchedApps(){let e=this.installedapps.filter(i=>i.name.toLowerCase().includes(this.searchAppLibrary.toLowerCase()));const t={};for(const i of e){const n=i.name.charAt(0).toUpperCase();t[n]||(t[n]=[]),t[n].push(i)}return t}},methods:{...xe(ue,["setHeaderBlack","setHomeScreenApp","setEnableHeader","updateAppStatus"]),...xe(ro,["setVoiceChecked"]),getAppNameFromRedirect(e){const t=this.installedapps.find(i=>i.redirect===e);return t?t.name:""},getAppIcon(e){return e.light_icon?this.iconcolor==="light"?e.light_icon:e.dark_icon:e.icon},returnHeightSize(e){return this.isAppDefault2(e)&&this.isOnHomeScreen(e)?"24.5%":!this.isAppDefault2(e)&&this.isOnHomeScreen(e)||this.isAppDefault2(e)&&!this.isOnHomeScreen(e)?"28.5%":"34%"},isOnHomeScreen(e){return this.homescreenApps.find(t=>t.redirect===e)},isAppDefault2(e){return this.installedapps.find(i=>i.redirect===e).default},removeAppFromHomescreen(){this.homescreenApps=this.homescreenApps.filter(e=>e.redirect!==this.removeapp),this.setHomeScreenApp(this.removeapp,"0"),this.removeDeleteMode()},placeAppHomeScreen(e){this.homescreenApps.push(this.installedapps.find(t=>t.redirect===e)),this.setHomeScreenApp(e,"1"),this.addapp=null,this.$forceUpdate()},setSwiperInstance(e){this.swiper=e},onSlideChange(){this.$forceUpdate()},enableDeleteMode(){const e=document.querySelectorAll(".app-application"),t=document.querySelectorAll(".app-application-large");e.forEach(i=>{i.classList.add("wiggle")}),t.forEach(i=>{i.classList.add("wiggle")}),this.setEnableHeader(!1)},removeDeleteMode(){this.isPressed=!1;const e=document.querySelectorAll(".app-application"),t=document.querySelectorAll(".app-application-large");e.forEach(i=>{i.classList.remove("wiggle")}),t.forEach(i=>{i.classList.remove("wiggle")}),this.setEnableHeader(!0),this.removeapp=null},startPress(){this.pressTimer=setTimeout(()=>{this.isPressed=!0,this.enableDeleteMode()},1500)},cancelPress(){this.pressTimer&&(clearTimeout(this.pressTimer),this.pressTimer=null)},deleteApp(){this.homescreenApps=this.homescreenApps.filter(e=>e.redirect!==this.removeapp),this.updateAppStatus(this.removeapp,0),this.removeapp=null},deleteAppAdd(e){this.homescreenApps=this.homescreenApps.filter(t=>t.redirect!==e),this.updateAppStatus(e,0),this.addapp=null},checkRedirect(e){e==="bank"&&M.post("getBankBalance"),e==="voicememos_app"&&this.voicememos.length===0&&!this.voiceChecked&&(M.post("getVoiceMails"),this.setVoiceChecked(!0))},checkCustomApp(e){let t=e.url;if(e.custom_event.active){if(e.custom_event.closeWhenOpenApp){M.closePhone(),M.post("app_custom_event",{app:e.name});return}M.post("app_custom_event",{app:e.name})}(t===void 0||t==null||t==="")&&(t="https://www.test.com"),Te.push({name:"CustomApp",params:{url:t,darkmode:e.darkmode}})},openApp(e){if(!this.isPressed){if(e.allowJobs&&e.allowJobs.length!==0){for(let t=0;ts.removeAppFromHomescreen&&s.removeAppFromHomescreen(...l))},_(e.IntlString("HOMESCREEN_EDIT_REMOVE_HOMESCREEN")),1),s.isAppDefault?D("",!0):(p(),b("div",{key:0,class:"remove-app-btn-remove-app",onClick:t[1]||(t[1]=(...l)=>s.deleteApp&&s.deleteApp(...l))},_(e.IntlString("HOMESCREEN_EDIT_DELETE_APP")),1)),d("div",{class:"remove-app-btn-cancel",onClick:t[2]||(t[2]=l=>this.removeapp=null)},_(e.IntlString("HOMESCREEN_EDIT_CANCEL_APP")),1)],4)):D("",!0),a.addapp?(p(),b("div",{key:1,class:"add-app-div",style:et({height:s.returnHeightSize(a.addapp.redirect)})},[d("div",kP,_(e.IntlString("HOMESCREEN_EDIT_ACTION_WITH"))+' "'+_(s.getAppNameFromRedirect(a.addapp.redirect))+'"?',1),d("div",EP,_(e.IntlString("HOMESCREEN_EDIT_REPLACE_APP")),1),d("div",{class:"remove-app-btn-remove-homescreen",onClick:t[3]||(t[3]=l=>s.openApp(a.addapp))},_(e.IntlString("HOMESCREEN_EDIT_OPEN_APP")),1),s.isOnHomeScreen(a.addapp.redirect)?D("",!0):(p(),b("div",{key:0,class:"remove-app-btn-cancel",onClick:t[4]||(t[4]=l=>s.placeAppHomeScreen(a.addapp.redirect))},_(e.IntlString("HOMESCREEN_EDIT_PLACE_HOMESCREEN")),1)),s.isAppDefault2(a.addapp.redirect)?D("",!0):(p(),b("div",{key:1,class:"remove-app-btn-remove-app",onClick:t[5]||(t[5]=l=>s.deleteAppAdd(a.addapp.redirect))},_(e.IntlString("HOMESCREEN_EDIT_DELETE_APP")),1)),d("div",{class:"remove-app-btn-cancel",onClick:t[6]||(t[6]=l=>this.addapp=null)},_(e.IntlString("HOMESCREEN_EDIT_CANCEL_APP")),1)],4)):D("",!0),d("div",{class:H({brightness:a.removeapp}),style:et([{width:"100%",height:"100%",position:"absolute","overflow-y":"hidden","background-size":"cover","background-repeat":"no-repeat"},{"background-image":"url('"+e.getBackground+"')"}])},[a.isPressed?(p(),b("div",{key:0,class:"finished-button-delete-apps",onClick:t[7]||(t[7]=(...l)=>s.removeDeleteMode&&s.removeDeleteMode(...l))},_(e.IntlString("HOMESCREEN_EDIT_FINISH_TEXT")),1)):D("",!0),T(o,{onSwiper:s.setSwiperInstance,onSlideChange:s.onSlideChange,modules:n.modules,"slides-per-view":1,pagination:{clickable:!0},"focusable-elements":"input, select, option, div, textarea, video, label",style:et([{width:"100%"},{height:a.swiper&&a.swiper.activeIndex===2?"100%":"87%"}])},{default:It(()=>[T(r,null,{default:It(()=>[a.swiper?(p(),b("div",{key:0,class:H(e.large_app_icons===1?"phone-homescreen-large":"phone-homescreen")},[(p(!0),b(ne,null,Me(a.homescreenApps.slice(0,24),l=>(p(),b("div",{onClick:Ug(c=>s.openApp(l),["prevent"]),onMousedown:t[8]||(t[8]=(...c)=>s.startPress&&s.startPress(...c)),onMouseup:t[9]||(t[9]=(...c)=>s.cancelPress&&s.cancelPress(...c)),onMouseleave:t[10]||(t[10]=(...c)=>s.cancelPress&&s.cancelPress(...c)),key:l,class:H(e.large_app_icons===1?"app-application-large":"app-application"),style:et({backgroundImage:"url('"+s.getAppIcon(l)+"')"})},[e.large_app_icons===0?(p(),b("p",SP,_(l.name),1)):D("",!0),a.isPressed?(p(),b("div",{key:1,class:"app-delete-dot",onClick:c=>a.removeapp=l.redirect},"-",8,DP)):D("",!0),l.redirect==="messages_app"&&e.getUnreadMessagesCount>0?(p(),b("div",xP,_(e.getUnreadMessagesCount),1)):D("",!0),l.redirect==="mail_login"&&e.countUnreadMails>0?(p(),b("div",TP,_(e.countUnreadMails),1)):D("",!0),l.redirect==="settings"&&e.updateAvailable?(p(),b("div",IP,"1")):D("",!0)],46,BP))),128))],2)):D("",!0)]),_:1}),a.swiper?(p(),We(r,{key:0},{default:It(()=>[d("div",{class:H(e.large_app_icons===1?"phone-homescreen-large":"phone-homescreen")},[(p(!0),b(ne,null,Me(a.homescreenApps.slice(24,48),l=>(p(),b("div",{onClick:Ug(c=>s.openApp(l),["prevent"]),onMousedown:t[11]||(t[11]=(...c)=>s.startPress&&s.startPress(...c)),onMouseup:t[12]||(t[12]=(...c)=>s.cancelPress&&s.cancelPress(...c)),onMouseleave:t[13]||(t[13]=(...c)=>s.cancelPress&&s.cancelPress(...c)),key:l,class:H(e.large_app_icons===1?"app-application-large":"app-application"),style:et({backgroundImage:"url('"+s.getAppIcon(l)+"')"})},[e.large_app_icons===0?(p(),b("p",MP,_(l.name),1)):D("",!0),a.isPressed?(p(),b("div",{key:1,class:"app-delete-dot",onClick:c=>a.removeapp=l.redirect},"-",8,LP)):D("",!0),l.redirect==="messages_app"&&e.getUnreadMessagesCount>0?(p(),b("div",RP,_(e.getUnreadMessagesCount),1)):D("",!0),l.redirect==="mail_login"&&e.countUnreadMails>0?(p(),b("div",UP,_(e.countUnreadMails),1)):D("",!0),l.redirect==="settings"&&e.updateAvailable?(p(),b("div",OP,"1")):D("",!0)],46,PP))),128))],2)]),_:1})):D("",!0),a.swiper?(p(),We(r,{key:1},{default:It(()=>[Re(d("input",{class:"homescreen-app-input-box",placeholder:"App Library","onUpdate:modelValue":t[14]||(t[14]=l=>a.searchAppLibrary=l)},null,512),[[Ne,a.searchAppLibrary]]),a.searchAppLibrary.length===0?(p(),b("div",NP,[(p(!0),b(ne,null,Me(e.getHomeAppsSorted,(l,c)=>(p(),b("div",HP,[d("div",QP,_(c),1),(p(!0),b(ne,null,Me(e.getHomeAppsSorted[c],f=>(p(),b("div",jP,[d("img",{class:"homescreen-box-apps-selection-img",src:s.getAppIcon(f)},null,8,GP),d("div",{class:"homescreen-box-apps-selection-name",onClick:h=>a.addapp=f},_(f.name),9,zP)]))),256))]))),256))])):D("",!0),a.searchAppLibrary.length>0?(p(),b("div",qP,[(p(!0),b(ne,null,Me(s.getSearchedApps,(l,c)=>(p(),b("div",VP,[d("div",WP,_(c),1),(p(!0),b(ne,null,Me(s.getSearchedApps[c],f=>(p(),b("div",KP,[d("img",{class:"homescreen-box-apps-selection-img",onClick:h=>a.addapp=f,src:s.getAppIcon(f)},null,8,YP),d("div",{class:"homescreen-box-apps-selection-name",onClick:h=>a.addapp=f},_(f.name),9,XP)]))),256))]))),256))])):D("",!0)]),_:1})):D("",!0)]),_:1},8,["onSwiper","onSlideChange","modules","style"]),a.swiper&&a.swiper.activeIndex!==2?(p(),b("div",JP,[(p(!0),b(ne,null,Me(e.installedapps.slice(0,4),l=>(p(),b("div",{key:l,class:H(e.large_app_icons===1?"app-application-footer-large":"app-application-footer"),style:et({backgroundImage:"url('"+s.getAppIcon(l)+"')"}),onClick:Ug(c=>s.openApp(l),["prevent"])},null,14,ZP))),128))])):D("",!0)],6)],64)}const xb=ke(yP,[["render",$P],["__scopeId","data-v-edfce1a5"]]),Ta=ti("notifications",{state:()=>({Notificationslist:[],LockscreennotificationList:[],ReceiveLockScreenNotification:localStorage.roadphone_receiveLockscreenNotifs?parseInt(localStorage.roadphone_receiveLockscreenNotifs):1}),actions:{addNotifyToList(e){this.Notificationslist.push(e)},removeNotifyFromList(e){this.Notificationslist=this.Notificationslist.filter(t=>t.id!==e)},addLockScreenNotifyToList(e){e.app||(e.app=""),this.LockscreennotificationList.push(e)},removeLockScreenNotifyFromList(e){this.LockscreennotificationList=this.LockscreennotificationList.filter(t=>t.id!==e)},removeLockScreenNotifyFromListByApp(e){this.LockscreennotificationList=this.LockscreennotificationList.filter(t=>t.app!==e)},clearLockScreenNotifications(){this.LockscreennotificationList.length=0},setReceiveLockScreenNotification(e){this.ReceiveLockScreenNotification=e,localStorage.roadphone_receiveLockscreenNotifs=e}}}),Qt=ti("music",{state:()=>({trackname:"Track Name",trackartist:"Track Artist",trackvolume:100,trackimage:"/public/img/music/noplaying.png",trackcontrol:"Not playing",tracklength:0,trackcurrent:0,tracklengthFormatted:"0:00",trackcurrentFormatted:"0:00",isPlayingMusic:!1,isPaused:!1,musicid:null,currentSongs:[],currentPlaying:null,streamermode:0,onlyPlaylists:[],playlists:[],sharePlaylist:null,currentPlaylist:null}),actions:{setCurrentSongs(e){this.currentSongs=e},setVolume(e){this.trackvolume=e},setStreamerMode(e){this.streamermode=e},setCurrentPlaying(e){this.currentPlaying=e},setSharePlaylist(e){this.sharePlaylist=e},setMusicCurrent(e){this.trackcurrent=e,this.trackcurrentFormatted=new Date(e*1e3).toISOString().substring(14,19)},nextSongPlaylist(){let e=ue(),t=this.playlists.findIndex(i=>i.songid==this.currentPlaying);!this.playlists||this.playlists.length===0||M.post("music_timeout").then((function(){if(t+1i.songid==this.currentPlaying);!this.playlists||this.playlists.length===0||M.post("music_timeout").then((function(){if(t-1>=0){const i=this.playlists[t+-1];e.otherproducts.roadpods?(M.post("roadpods_play",{id:i.songid}),M.playMusicPlaylist(i.songid,!0,this.currentPlaylist)):M.playMusicPlaylist(i.songid,!1,this.currentPlaylist)}else{const i=this.playlists[this.playlists.length-1];e.otherproducts.roadpods?(M.post("roadpods_play",{id:i.songid}),M.playMusicPlaylist(i.songid,!0,this.currentPlaylist)):M.playMusicPlaylist(i.songid,!1,this.currentPlaylist)}}).bind(this))},nextSong(){let e=ue(),t=this.currentSongs.findIndex(i=>i.id==this.currentPlaying);if(this.currentSongs.length!==0){if(this.currentPlaylist){this.nextSongPlaylist();return}M.post("music_timeout").then((function(){if(t+1i.id==this.currentPlaying);if(this.currentSongs.length!==0){if(this.currentPlaylist){this.previousSongPlaylist();return}M.post("music_timeout").then((function(){if(t-1>=0){const i=this.currentSongs[t-1];e.otherproducts.roadpods?(M.post("roadpods_play",{id:i.id}),M.playMusic(i.id,!0)):M.playMusic(i.id)}else{const i=this.currentSongs[this.currentSongs.length-1];e.otherproducts.roadpods?(M.post("roadpods_play",{id:i.id}),M.playMusic(i.id,!0)):M.playMusic(i.id)}}).bind(this))}}}}),y1={__name:"CurrentDay",setup(e){const t=ue(),i=Yt("");let n=null;const a=()=>{const r=new Date;(t.getLang||"en-US")==="de_DE"?i.value=r.toLocaleString("de-DE",{weekday:"long",month:"long",day:"numeric"}):i.value=r.toLocaleString("en-US",{weekday:"long",month:"long",day:"numeric"})},s=Si(()=>t.ingametime);return Fa(()=>{a(),n=setInterval(a,3e4)}),as(()=>{clearInterval(n)}),(r,o)=>_(s.value?s.value.day:i.value)}};function e9(e){return{all:e=e||new Map,on:function(t,i){var n=e.get(t);n?n.push(i):e.set(t,[i])},off:function(t,i){var n=e.get(t);n&&(i?n.splice(n.indexOf(i)>>>0,1):e.set(t,[]))},emit:function(t,i){var n=e.get(t);n&&n.slice().map(function(a){a(i)}),(n=e.get("*"))&&n.slice().map(function(a){a(t,i)})}}}const t9=e9();function Ge(){return t9}const i9={class:"lockscreen-notification-flex"},n9=["src"],a9={style:{display:"flex","flex-direction":"column","margin-left":"0.7vh"}},s9={id:"lockscreen-notification-apptitle"},r9={class:"lockscreen-notification-title",style:{margin:"0"}},o9={class:"lockscreen-notification-message",style:{margin:"0","margin-top":"0.2vh"}},l9={__name:"NotificationItem",props:{notification:{type:Object,required:!0}},setup(e){const t=ue(),i=Si(()=>t.IntlString);function n(a){return/^https?:\/\/.*\.(png|jpg|jpeg|gif)/.test(a)?"APP_MESSAGES_MESSAGE_SENT_IS_PICTURE":/^https?:\/\/.*\.(webm)/.test(a)?"APP_MESSAGES_MESSAGE_SENT_IS_VIDEO":/^https?:\/\/.*\.(mp3)/.test(a)?"APP_MESSAGES_MESSAGE_SENT_IS_AUDIO":a.startsWith("GPS:")?"APP_MESSAGES_MESSAGE_SENT_IS_GPS":a.length>75?a.substring(0,75)+"...":a}return(a,s)=>(p(),b("div",i9,[d("img",{class:"lockscreen-notification-icon",src:e.notification.img},null,8,n9),d("div",a9,[d("div",s9,_(i.value(e.notification.apptitle)),1),d("div",r9,_(i.value(e.notification.title)),1),d("div",o9,_(i.value(n(e.notification.message))),1)])]))}},u9=ke(l9,[["__scopeId","data-v-ff33703c"]]),c9={__name:"CurrentDayS",setup(e){const t=ue(),i=Yt("");let n=null;const a=()=>{const r=new Date;(t.getLang||"en-US")==="de_DE"?i.value=r.toLocaleString("de-DE",{weekday:"short",month:"long",day:"numeric"}):i.value=r.toLocaleString("en-US",{weekday:"short",month:"long",day:"numeric"})},s=Si(()=>t.ingametime);return Fa(()=>{a(),n=setInterval(a,3e4)}),as(()=>{clearInterval(n)}),(r,o)=>_(s.value?s.value.day:i.value)}},d9={name:"Lockscreen",components:{CurrentDayS:c9,NotificationItem:u9,CurrentDay:y1,CurrentTime:ww,Icon:Qe},data(){return{pinpage:!1,volumetwo:0,enteredpin:"",skip:!1,trackcurrenttwo:0}},methods:{...xe(ue,["setHeaderBlack"]),...xe(Qt,["setVolume","nextSong","previousSong","setMusicCurrent"]),...xe(Ta,["clearLockScreenNotifications"]),openBigMusicShow(){document.querySelector(".music-show").style.display="block",document.querySelector(".music-show").classList.add("fade-in"),document.querySelector(".lockscreen-notification-music-logo").style.display="none",document.querySelector(".lockscreen-notification-music-title").classList.add("music-title-center"),document.querySelector(".lockscreen-notification-music-artist").classList.add("music-title-center"),document.querySelector(".music-time").style.display="block",document.querySelector(".music-day").style.display="block",setTimeout(()=>{document.querySelector(".music-show").classList.remove("fade-in")},480)},updateMusic(){if(this.setMusicCurrent(this.trackcurrenttwo),this.otherproducts.roadpods){M.post("roadpods_timestampchange",{timestamp:this.trackcurrenttwo});return}M.post("timestampMusic",{timestamp:this.trackcurrenttwo})},closeBigMusicShow(){document.querySelector(".music-show").classList.remove("fade-in"),document.querySelector(".music-show").classList.add("fade-out"),document.querySelector(".lockscreen-notification-music-title").classList.remove("music-title-center"),document.querySelector(".lockscreen-notification-music-artist").classList.remove("music-title-center"),document.querySelector(".lockscreen-notification-music-logo").style.display="block",document.querySelector(".music-time").style.display="none",document.querySelector(".music-day").style.display="none",setTimeout(()=>{document.querySelector(".music-show").style.display="none",document.querySelector(".music-show").classList.remove("fade-out")},480)},flashlightmanage(){M.manageFlashlight(!this.flashlight)},continueMusic(){if(this.otherproducts.roadpods){M.post("roadpods_continue"),M.continueMusic(!0);return}this.musicid&&M.continueMusic()},changeSlider(){let e=document.getElementById("phone-music-slider-volume"),i=e.value/this.tracklength*100;e.style.background=`linear-gradient(to right,#FFFFFF,#FFFFFF ${i}%,#d0cece ${i}%)`},pauseMusic(){if(this.otherproducts.roadpods){M.post("roadpods_pause"),M.pauseMusic(!0);return}this.musicid&&M.pauseMusic()},backToLockscreen(){this.pinpage=!1,this.enteredpin="",setTimeout(()=>{const e=document.querySelector(".swipe-up");function t(i){this.lockscreenPin===0||this.lockscreenPin==null||this.lockscreenPin.length===0?Te.push("/home"):this.pinpage=!0}e&&this.touchMov(e,{mov:"y",movUp:t.bind(this)})},500)},enterPinCode(e){if(this.enteredpin==null){this.enteredpin=e;return}if(this.enteredpin=this.enteredpin+e,this.enteredpin.length>=6){if(this.enteredpin==this.lockscreenPin){Te.push("/home");return}this.enteredpin=""}},touchMov(e,t){t=Object.assign({mov:"x",movIzq:function(){},movDer:function(){},movUp:function(){},movDown:function(){},updateMovX:function(){},updateMovY:function(){},finishMov:function(){}},t);let i=e,n={x:0,y:0},a={x:0,y:0},s={x:0,y:0};return i.addEventListener("mousedown",function(r){n={x:r.pageX,y:r.pageY},s={x:a.x,y:a.y};function o(f){a={x:f.pageX,y:f.pageY},t.mov==="x"?t.updateMovX(f,a.x-n.x):t.mov==="y"&&t.updateMovY(f,a.y-n.y)}function l(f){t.mov==="x"?a.x-s.x!==0&&(a.x-n.x>0?t.movDer(f):t.movIzq(f)):t.mov==="y"&&a.y-s.y!==0&&(a.y-n.y>0?t.movDown(f):t.movUp(f)),t.finishMov(f),i.removeEventListener("mousemove",o),i.removeEventListener("mouseup",l),i.removeEventListener("mouseleave",c)}function c(f){t.mov==="x"?a.x-s.x!==0&&(a.x-n.x>0?t.movDer(f):t.movIzq(f)):t.mov==="y"&&a.y-s.y!==0&&(a.y-n.y>0?t.movDown(f):t.movUp(f)),t.finishMov(f),i.removeEventListener("mousemove",o),i.removeEventListener("mouseup",l),i.removeEventListener("mouseleave",c)}i.addEventListener("mousemove",o),i.addEventListener("mouseup",l),i.addEventListener("mouseleave",c)}),i}},computed:{...Z(ue,["getLang","darkmode","otherproducts","flashlight","focus","needlockscreenPin","IntlString","getBackground","hour24time","lockscreenPin"]),...Z(Ta,["ReceiveLockScreenNotification","LockscreennotificationList"]),...Z(Qt,["trackname","isPlayingMusic","isPaused","trackimage","trackcurrent","trackartist","tracklength","musicid","tracklengthFormatted","trackcurrentFormatted"])},mounted(){M.rotatePhone(!1),this.setHeaderBlack(!1);let e=this.trackcurrent/this.tracklength*100;this.trackcurrenttwo=this.trackcurrent;let t=document.getElementById("phone-music-slider-volume");t&&(t.style.background=`linear-gradient(to right,#FFFFFF,#FFFFFF ${e}%,#d0cece ${e}%)`),Ge().on("updateMusicTimeLockscreen",()=>{let s=this.trackcurrent/this.tracklength*100;this.trackcurrenttwo=this.trackcurrent;let r=document.getElementById("phone-music-slider-volume");r&&(r.style.background=`linear-gradient(to right,#FFFFFF,#FFFFFF ${s}%,#d0cece ${s}%)`)}),this.$route.params.skip&&(this.skip=!0);const n=document.querySelector(".swipe-up");function a(s){this.lockscreenPin===0||this.lockscreenPin==null||this.lockscreenPin.length===0||this.needlockscreenPin===0?Te.push("/home"):this.pinpage=!0}n&&this.touchMov(n,{mov:"y",movUp:a.bind(this)})},beforeUnmount(){Ge().off("updateMusicTimeLockscreen")}},f9={class:"music-time"},h9={class:"music-day"},A9={class:"music-show"},g9={key:0,class:"lockscreen-time"},m9={id:"lockscreen-day"},p9={id:"lockscreen-timep"},_9={key:1,class:"lockscreen-notification-music"},F9={class:"lockscreen-notification-music-logo"},b9=["src"],v9={class:"lockscreen-notification-music-title"},y9={class:"lockscreen-notification-music-artist"},w9={class:"lockscreen-notification-music-volume-icon-low"},C9={class:"lockscreen-notification-music-volume"},k9=["max"],E9={class:"lockscreen-notification-music-volume-icon-high"},B9={key:3,class:"lockscreen-notification-box",style:{"padding-bottom":"1vh","border-radius":"2vh","overflow-x":"hidden","overflow-y":"scroll",height:"24vh"}},S9={key:6,class:"lockscreen-pin-title-box",style:{"z-index":"200"}},D9={class:"lockscreen-enterpasscode"},x9={class:"lockscreen-passcode"},T9={class:"lockscreen-pin-box-passcode"},I9={key:7,class:"lockscreen-pin-box"},P9={key:10,class:"lockscreen-pin-emergency"},M9={key:11,class:"lockscreen-focus"},L9={key:0,style:{display:"flex","justify-content":"center","align-content":"center","align-items":"center"}},R9={key:1,style:{display:"flex","justify-content":"center","align-content":"center","align-items":"center"}},U9={key:2,style:{display:"flex","justify-content":"center","align-content":"center","align-items":"center"}},O9={key:3,style:{display:"flex","justify-content":"center","align-content":"center","align-items":"center"}},N9={key:12,class:"swipe-tounlock"},H9={key:13,class:"swipe-up"};function Q9(e,t,i,n,a,s){const r=Y("CurrentTime"),o=Y("CurrentDayS"),l=Y("font-awesome-icon"),c=Y("CurrentDay"),f=Y("Icon"),h=Y("NotificationItem");return p(),b(ne,null,[d("p",f9,[T(r)]),d("p",h9,[T(o)]),d("div",A9,[d("div",{class:"bg-image-blur",style:et({backgroundImage:"url("+this.trackimage+")"})},null,4),d("div",{class:"bg-image",onClick:t[0]||(t[0]=(...A)=>s.closeBigMusicShow&&s.closeBigMusicShow(...A)),style:et({backgroundImage:"url("+this.trackimage+")"})},null,4)]),d("div",{style:et([{width:"100%",height:"100%",position:"absolute","overflow-y":"hidden","background-size":"cover","background-repeat":"no-repeat"},{"background-image":"url('"+e.getBackground+"')"}]),class:H({brightnessnotify:!a.pinpage&&!e.isPlayingMusic&&e.LockscreennotificationList.length>0&&e.ReceiveLockScreenNotification===1&&e.focus.donotdisturb===0&&e.focus.work===0&&e.focus.personal===0})},null,6),a.pinpage?D("",!0):(p(),b("div",g9,[T(l,{id:"lockscreen-lockicon",style:{"font-size":"1.2vh"},icon:"lock"}),t[22]||(t[22]=d("br",null,null,-1)),d("div",m9,[T(c)]),d("p",p9,[T(r)])])),e.isPlayingMusic&&!a.pinpage?(p(),b("div",_9,[d("div",F9,[d("img",{src:e.trackimage,onClick:t[1]||(t[1]=(...A)=>s.openBigMusicShow&&s.openBigMusicShow(...A)),class:"lockscreen-notification-music-logo-img",alt:"Music Logo"},null,8,b9)]),d("div",v9,_(e.trackname.length>30?e.trackname.substring(0,30)+"...":e.trackname),1),d("div",y9,_(e.trackartist),1),d("div",{class:"lockscreen-notification-backward-icon",onClick:t[2]||(t[2]=(...A)=>e.previousSong&&e.previousSong(...A))},[T(l,{icon:"backward"})]),e.isPaused?D("",!0):(p(),b("div",{key:0,class:"lockscreen-notification-pause-icon",onClick:t[3]||(t[3]=(...A)=>s.pauseMusic&&s.pauseMusic(...A))},[T(l,{icon:"pause"})])),e.isPaused?(p(),b("div",{key:1,class:"lockscreen-notification-pause-icon",onClick:t[4]||(t[4]=(...A)=>s.continueMusic&&s.continueMusic(...A))},[T(l,{icon:"play"})])):D("",!0),d("div",{class:"lockscreen-notification-forward-icon",onClick:t[5]||(t[5]=(...A)=>e.nextSong&&e.nextSong(...A))},[T(l,{icon:"forward"})]),d("div",w9,_(e.trackcurrentFormatted),1),d("div",C9,[Re(d("input",{type:"range",min:"0",max:e.tracklength,onInput:t[6]||(t[6]=(...A)=>s.changeSlider&&s.changeSlider(...A)),onChange:t[7]||(t[7]=(...A)=>s.updateMusic&&s.updateMusic(...A)),"onUpdate:modelValue":t[8]||(t[8]=A=>a.trackcurrenttwo=A),id:"phone-music-slider-volume"},null,40,k9),[[Ne,a.trackcurrenttwo]])]),d("div",E9,_(e.tracklengthFormatted),1)])):D("",!0),!a.pinpage&&!e.isPlayingMusic&&e.LockscreennotificationList.length>0&&e.ReceiveLockScreenNotification===1&&e.focus.donotdisturb===0&&e.focus.work===0&&e.focus.personal===0?(p(),We(f,{key:2,onClick:e.clearLockScreenNotifications,class:"lockscreen-notification-clear-icon",icon:"cil:x"},null,8,["onClick"])):D("",!0),!a.pinpage&&!e.isPlayingMusic&&e.ReceiveLockScreenNotification===1&&e.focus.donotdisturb===0&&e.focus.work===0&&e.focus.personal===0?(p(),b("div",B9,[(p(!0),b(ne,null,Me(e.LockscreennotificationList,A=>(p(),We(h,{notification:A,key:A.id},null,8,["notification"]))),128))])):D("",!0),a.pinpage?D("",!0):(p(),b("div",{key:4,class:H(["phone-lockscreen-buttons",{whitebackground:e.flashlight==1}]),style:{"z-index":"200"},onClick:t[9]||(t[9]=(...A)=>s.flashlightmanage&&s.flashlightmanage(...A))},[e.flashlight?D("",!0):(p(),We(f,{key:0,color:"white",icon:"zondicons:flashlight"})),e.flashlight?(p(),We(f,{key:1,color:"black",icon:"zondicons:flashlight"})):D("",!0)],2)),a.pinpage?D("",!0):(p(),b("div",{key:5,class:"phone-lockscreen-buttons",onClick:t[10]||(t[10]=A=>e.$router.push("/camera")),style:{"z-index":"200",left:"auto",right:"3vh",color:"white"}},[T(f,{color:"white",icon:"fa:camera"})])),a.pinpage?(p(),b("div",S9,[T(l,{id:"lockscreen-lockicon",style:{"margin-top":"2vh","font-size":"1.2vh"},icon:"lock"}),t[23]||(t[23]=d("br",null,null,-1)),d("h1",D9,_(e.IntlString("LOCKSCREEN_ENTER_PIN")),1),d("p",x9,_(e.IntlString("LOCKSCREEN_REQUIRED_PIN_FACEID")),1),d("div",T9,[d("div",{id:"setup-box-select-passcode-1",class:H([{fillwhite:a.enteredpin.length>=1},"setup-box-select-passcode"])},null,2),d("div",{id:"setup-box-select-passcode-2",class:H([{fillwhite:a.enteredpin.length>=2},"setup-box-select-passcode"])},null,2),d("div",{id:"setup-box-select-passcode-3",class:H([{fillwhite:a.enteredpin.length>=3},"setup-box-select-passcode"])},null,2),d("div",{id:"setup-box-select-passcode-4",class:H([{fillwhite:a.enteredpin.length>=4},"setup-box-select-passcode"])},null,2),d("div",{id:"setup-box-select-passcode-5",class:H([{fillwhite:a.enteredpin.length>=5},"setup-box-select-passcode"])},null,2),d("div",{id:"setup-box-select-passcode-5",class:H([{fillwhite:a.enteredpin.length>=6},"setup-box-select-passcode"])},null,2)])])):D("",!0),a.pinpage?(p(),b("div",I9,[d("div",{class:"lockscreen-pin-circle",onClick:t[11]||(t[11]=A=>s.enterPinCode(1))},"1"),d("div",{class:"lockscreen-pin-circle",onClick:t[12]||(t[12]=A=>s.enterPinCode(2))},"2"),d("div",{class:"lockscreen-pin-circle",onClick:t[13]||(t[13]=A=>s.enterPinCode(3))},"3"),d("div",{class:"lockscreen-pin-circle",onClick:t[14]||(t[14]=A=>s.enterPinCode(4))},"4"),d("div",{class:"lockscreen-pin-circle",onClick:t[15]||(t[15]=A=>s.enterPinCode(5))},"5"),d("div",{class:"lockscreen-pin-circle",onClick:t[16]||(t[16]=A=>s.enterPinCode(6))},"6"),d("div",{class:"lockscreen-pin-circle",onClick:t[17]||(t[17]=A=>s.enterPinCode(7))},"7"),d("div",{class:"lockscreen-pin-circle",onClick:t[18]||(t[18]=A=>s.enterPinCode(8))},"8"),d("div",{class:"lockscreen-pin-circle",onClick:t[19]||(t[19]=A=>s.enterPinCode(9))},"9")])):D("",!0),a.pinpage?(p(),b("div",{key:8,class:"lockscreen-pin-circle",onClick:t[20]||(t[20]=A=>s.enterPinCode(0)),style:{position:"absolute",bottom:"7vh",left:"0",right:"0","margin-left":"auto","margin-right":"auto"}},"0")):D("",!0),a.pinpage?(p(),b("p",{key:9,class:"lockscreen-pin-cancel",onClick:t[21]||(t[21]=(...A)=>s.backToLockscreen&&s.backToLockscreen(...A))},_(e.IntlString("LOCKSCREEN_PIN_CANCEL")),1)):D("",!0),a.pinpage?(p(),b("p",P9,_(e.IntlString("LOCKSCREEN_EMERGENCY_BUTTON_TEXT")),1)):D("",!0),e.focus.donotdisturb||e.focus.personal||e.focus.sleep||e.focus.work?(p(),b("p",M9,[e.focus.donotdisturb?(p(),b("span",L9,[T(f,{icon:"ph:moon-fill"}),ut(" "+_(e.IntlString("LOCKSCREEN_FOCUS_DONOTDISTURB")),1)])):D("",!0),e.focus.sleep?(p(),b("span",R9,[T(f,{icon:"ic:baseline-bed"}),ut(" "+_(e.IntlString("LOCKSCREEN_FOCUS_SLEEP")),1)])):D("",!0),e.focus.work?(p(),b("span",U9,[T(f,{icon:"material-symbols:work"}),ut(" "+_(e.IntlString("LOCKSCREEN_FOCUS_WORK")),1)])):D("",!0),e.focus.personal?(p(),b("span",O9,[T(f,{icon:"icon-park-solid:people"}),ut(" "+_(e.IntlString("LOCKSCREEN_FOCUS_PERSONAL")),1)])):D("",!0)])):D("",!0),!a.pinpage&&!e.focus.donotdisturb&&!e.focus.personal&&!e.focus.sleep&&!e.focus.work?(p(),b("p",N9,_(e.IntlString("LOCKSCREEN_SWIPE_UP_TO_UNLOCK")),1)):D("",!0),a.pinpage?D("",!0):(p(),b("div",H9)),t[24]||(t[24]=d("div",{class:"lockscreen-homebutton"},null,-1))],64)}const j9=ke(d9,[["render",Q9],["__scopeId","data-v-1876573d"]]),Xe={__name:"Homebutton",setup(e){const t=ue();return(i,n)=>(p(),b("div",{class:"phone-homebutton",onClick:n[0]||(n[0]=a=>i.$router.push("/home")),style:et({backgroundColor:pi(t).homebuttoncolor}),id:"phone-homebutton"},null,4))}},M3="/public/assets/applewhite-0aTAYR9q.png",L3="/public/assets/appledark-Ds2WnCty.png",G9={name:"Startup",components:{Icon:Qe,Homebutton:Xe},data(){return{helloarray:["hello","hallo","Hola","Bonjour","Hola","Olá","Ciao","Hei","Merhaba","Nǐ hǎo","ဟယ်လို","こんにちは","Witam","Hallå","Pozdravljeni","Χαίρετε","Здравейте","Hej","Tere","안녕하십니까","สวัสดี"],country_list:["Afghanistan","Albania","Algeria","Andorra","Angola","Anguilla","Antigua & Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia & Herzegovina","Botswana","Brazil","British Virgin Islands","Brunei","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Cape Verde","Cayman Islands","Chad","Chile","China","Colombia","Congo","Cook Islands","Costa Rica","Cote D Ivoire","Croatia","Cruise Ship","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Estonia","Ethiopia","Falkland Islands","Faroe Islands","Fiji","Finland","France","French Polynesia","French West Indies","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guam","Guatemala","Guernsey","Guinea","Guinea Bissau","Guyana","Haiti","Honduras","Hong Kong","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kuwait","Kyrgyz Republic","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macau","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Mauritania","Mauritius","Mexico","Moldova","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Namibia","Nepal","Netherlands","Netherlands Antilles","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Norway","Oman","Pakistan","Palestine","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Poland","Portugal","Puerto Rico","Qatar","Reunion","Romania","Russia","Rwanda","Saint Pierre & Miquelon","Samoa","San Marino","Satellite","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","South Africa","South Korea","Spain","Sri Lanka","St Kitts & Nevis","St Lucia","St Vincent","St. Lucia","Sudan","Suriname","Swaziland","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Timor L'Este","Togo","Tonga","Trinidad & Tobago","Tunisia","Turkey","Turkmenistan","Turks & Caicos","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States","Uruguay","Uzbekistan","Venezuela","Vietnam","Virgin Islands (US)","Yemen","Zambia","Zimbabwe"],startupscreen:!0,languageselect:!1,countryselect:!1,activateroadpad:!1,passcodeselect:!1,finishedinstallation:!1,reenterpassword:!1,darkorwhite:!1,pin1:null,pin2:null,pin3:null,pin4:null,pin5:null,pin6:null,repin1:null,repin2:null,repin3:null,repin4:null,repin5:null,repin6:null,language:null,country:null,activatecountdown:5,lastLanguage:null}},computed:{...Z(ue,["getBackground","config","IntlString","darkmode"])},methods:{...xe(ue,["setHeaderBlack","setLang","setLockscreenPin","setDarkMode","setNeedSetup"]),touchMov(e,t){t=Object.assign({mov:"x",movIzq:function(){},movDer:function(){},movUp:function(){},movDown:function(){},updateMovX:function(){},updateMovY:function(){},finishMov:function(){}},t);let i=e,n={x:0,y:0},a={x:0,y:0},s={x:0,y:0};return i.addEventListener("mousedown",function(r){n={x:r.pageX,y:r.pageY},s={x:a.x,y:a.y};function o(f){a={x:f.pageX,y:f.pageY},t.mov==="x"?t.updateMovX(f,a.x-n.x):t.mov==="y"&&t.updateMovY(f,a.y-n.y)}function l(f){t.mov==="x"?a.x-s.x!==0&&(a.x-n.x>0?t.movDer(f):t.movIzq(f)):t.mov==="y"&&a.y-s.y!==0&&(a.y-n.y>0?t.movDown(f):t.movUp(f)),t.finishMov(f),i.removeEventListener("mousemove",o),i.removeEventListener("mouseup",l),i.removeEventListener("mouseleave",c)}function c(f){t.mov==="x"?a.x-s.x!==0&&(a.x-n.x>0?t.movDer(f):t.movIzq(f)):t.mov==="y"&&a.y-s.y!==0&&(a.y-n.y>0?t.movDown(f):t.movUp(f)),t.finishMov(f),i.removeEventListener("mousemove",o),i.removeEventListener("mouseup",l),i.removeEventListener("mouseleave",c)}i.addEventListener("mousemove",o),i.addEventListener("mouseup",l),i.addEventListener("mouseleave",c)}),i},openLanguageSelect(){this.startupscreen=!this.startupscreen,this.languageselect=!0,this.setHeaderBlack(!0)},backToCreatePin(){this.pin1=null,this.pin2=null,this.pin3=null,this.pin4=null,this.pin5=null,this.pin6=null,this.repin1=null,this.repin2=null,this.repin3=null,this.repin4=null,this.repin5=null,this.repin6=null,this.reenterpassword=!1},setDisplayMode:function(e){e==="white"?(document.getElementById("settings-app-display-darkmode-checkbox").checked=!1,document.getElementById("settings-app-display-whitemode-checkbox").checked=!0,this.setDarkMode(!1),this.setHeaderBlack(!0)):(document.getElementById("settings-app-display-darkmode-checkbox").checked=!0,document.getElementById("settings-app-display-whitemode-checkbox").checked=!1,this.setDarkMode(!0),this.setHeaderBlack(!1))},setSwipeUp(){setTimeout(()=>{const e=document.querySelector(".swipe-up-tostarted");function t(i){this.setNeedSetup(!1),M.post("finishSetup"),setTimeout((function(){this.finishedinstallation=!1,this.config.lockscreen?Te.push("/lockscreen"):Te.push("/home"),M.onshow_notification({data:{apptitle:"STARTUP_FINISH_NOTIFY_TITLE",title:"STARTUP_FINISH_NOTIFY_MESSAGE",message:"",img:"/public/img/Apps/light_mode/settings.webp"}}),M.onsetLockscreenNotify({apptitle:"STARTUP_FINISH_NOTIFY_TITLE",title:"STARTUP_FINISH_NOTIFY_MESSAGE",message:"",img:"/public/img/Apps/light_mode/settings.webp",app:"settings"})}).bind(this),600)}e&&this.touchMov(e,{mov:"y",movUp:t.bind(this)})},500)},checkRePassCodesSame(){this.pin1===this.repin1&&this.pin2===this.repin2&&this.pin3===this.repin3&&this.pin4===this.repin4&&this.pin5===this.repin5&&this.pin6===this.repin6?(this.reenterpassword=!1,this.passcodeselect=!1,this.darkorwhite=!0,this.setLockscreenPin(this.pin1.toString()+this.pin2.toString()+this.pin3.toString()+this.pin4.toString()+this.pin5.toString()+this.pin6.toString())):M.onshow_notification({data:{apptitle:"APP_SETTINGS_NAME",title:"APP_SETTINGS_WRONGPIN",message:"STARTUP_PINS_DOES_NOT_MATCH",img:"/public/img/Apps/light_mode/settings.webp"}})},selectLanguage(e){this.language=e,this.languageselect=!1,this.countryselect=!0,this.setLang(e)},skipEnterPasscode(){this.pin1=0,this.pin2=0,this.pin3=0,this.pin4=0,this.pin5=0,this.pin6=0,this.passcodeselect=!1,this.reenterpassword=!1,this.darkorwhite=!0,this.setLockscreenPin(0),this.setSwipeUp()},changeToReEnterPasscode(){let e=/^\d+$/.test(this.pin1),t=/^\d+$/.test(this.pin2),i=/^\d+$/.test(this.pin3),n=/^\d+$/.test(this.pin4),a=/^\d+$/.test(this.pin5),s=/^\d+$/.test(this.pin6);if(!e||!t||!i||!n||!a||!s){M.onshow_notification({data:{apptitle:"APP_SETTINGS_NAME",title:"Pin Code",message:"SETUP_PINCODE_CAN_ONLY_CONTAIN_NUMBERS",img:"/public/img/Apps/light_mode/settings.webp"}});return}this.reenterpassword=!0;const r=document.getElementById("setup-box-select-repasscode-1");r.focus(),r.select()},selectPinInput(e){if(this.reenterpassword){const t=document.getElementById("setup-box-select-repasscode-"+e);t.focus(),t.select()}else{const t=document.getElementById("setup-box-select-passcode-"+e);t.focus(),t.select()}},selectCountry(e){this.country=e,this.countryselect=!1,this.activateroadpad=!0,this.startActivationCountdown()},startActivationCountdown(){this.activatecountdown===0&&(this.activateroadpad=!1,this.passcodeselect=!0,setTimeout(()=>{const e=document.getElementById("setup-box-select-passcode-1");e.focus(),e.select()},1e3)),this.activatecountdown>0&&setTimeout(()=>{this.activatecountdown-=1,this.startActivationCountdown()},1e3)}},mounted(){this.setHeaderBlack(!1),setTimeout((function(){const e=this.config.languages;for(const[t,i]of Object.entries(e))this.lastLanguage=i}).bind(this),1e3),setTimeout(()=>{const e=document.querySelector(".swipe-up");function t(i){this.startupscreen=!this.startupscreen,this.languageselect=!0,this.setHeaderBlack(!0)}e&&this.touchMov(e,{mov:"y",movUp:t.bind(this)})},500)}},z9={class:"hello-write-startup"},q9={key:0,class:"swipe-up"},V9={key:1,class:"swipe-tounlock"},W9={key:2,class:"phone-homebutton",style:{"background-color":"#ffffff"}},K9={key:0,style:{width:"100%",height:"100%","overflow-y":"hidden"}},Y9={class:"setup-box-white"},X9={class:"setup-box-earthicon"},J9={class:"setup-box-select-language-box"},Z9=["onClick"],$9={class:"setup-box-select-language-selection-text"},eM={class:"setup-box-select-language-selection-arrow"},tM={key:0,style:{width:"100%",height:"100%","overflow-y":"hidden"}},iM={class:"setup-box-white"},nM={class:"setup-box-earthicon"},aM={id:"setup-box-select-country-text"},sM={class:"setup-box-select-country-box"},rM={class:"setup-box-select-language-selection-arrow"},oM={id:"setup-box-select-country-text-2",style:{"font-size":"1.5vh",top:"32vh","text-align":"left"}},lM={class:"setup-box-select-country-box",style:{top:"36vh",height:"auto"}},uM=["onClick"],cM={class:"setup-box-select-language-selection-text"},dM={class:"setup-box-select-language-selection-arrow"},fM={key:0,style:{width:"100%",height:"100%","overflow-y":"hidden"}},hM={class:"setup-box-white"},AM={id:"activate-roadpad-text"},gM={key:0,style:{width:"100%",height:"100%","overflow-y":"hidden"}},mM={class:"setup-box-white"},pM={class:"setup-box-earthicon"},_M={id:"setup-box-select-country-text"},FM={key:1,id:"setup-box-select-country-text",style:{top:"18vh","font-size":"1.3vh","font-weight":"normal",width:"90%"}},bM={key:2,id:"setup-box-select-country-text",style:{top:"18vh","font-size":"1.3vh","font-weight":"normal",width:"90%"}},vM={class:"passcode-flex"},yM={key:0,style:{width:"100%",height:"100%","overflow-y":"hidden"}},wM={id:"setup-box-select-country-text",style:{"font-size":"2.2vh"}},CM={id:"setup-box-select-country-text",style:{top:"19vh","font-size":"1.3vh","font-weight":"normal",width:"80%"}},kM={style:{height:"15vh",position:"absolute",top:"27vh",width:"100%"}},EM={class:"settings-app-display-whitemode-text"},BM={class:"settings-app-display-darkmode-text"},SM=["checked"],DM=["checked"],xM={key:0,style:{width:"100%",height:"100%","overflow-y":"hidden"}},TM={id:"welcome-to-roadpad"},IM={key:3,class:"swipe-up-tostarted"};function PM(e,t,i,n,a,s){const r=Y("VueWriter"),o=Y("Icon");return p(),b(ne,null,[T(Zs,{name:"fade"},{default:It(()=>[a.startupscreen?(p(),b("div",{key:0,style:et([{"background-image":"url('"+e.getBackground+"')"},{width:"100%",height:"100%","overflow-y":"hidden","background-size":"cover","background-repeat":"no-repeat"}])},[d("div",z9,[T(r,{array:a.helloarray},null,8,["array"])])],4)):D("",!0)]),_:1}),a.startupscreen?(p(),b("div",q9)):D("",!0),a.startupscreen?(p(),b("p",V9,"Swipe up to unlock")):D("",!0),a.startupscreen?(p(),b("div",W9)):D("",!0),T(Zs,{name:"fade"},{default:It(()=>[!a.startupscreen&&a.languageselect?(p(),b("div",K9,[d("div",Y9,[d("div",X9,[T(o,{icon:"icon-park-outline:earth"})]),d("div",J9,[(p(!0),b(ne,null,Me(e.config.languages,(l,c)=>(p(),b("div",{class:"setup-box-select-language-selection",style:et({borderBottom:a.lastLanguage==l?"none":"0.1vh solid rgb(211,212,207)"}),onClick:f=>s.selectLanguage(l)},[d("div",$9,_(c),1),d("div",eM,[T(o,{icon:"dashicons:arrow-right-alt2"})])],12,Z9))),256))])])])):D("",!0)]),_:1}),T(Zs,{name:"fade"},{default:It(()=>[!a.startupscreen&&!a.languageselect&&a.countryselect?(p(),b("div",tM,[d("div",iM,[d("div",nM,[T(o,{icon:"ion:earth-outline"})]),d("h1",aM,_(e.IntlString("STARTUP_SELECT_COUNTRY_TEXT")),1),d("div",sM,[d("div",{class:"setup-box-select-language-selection",style:{"border-bottom":"none"},onClick:t[0]||(t[0]=l=>s.selectCountry("germany"))},[t[30]||(t[30]=d("div",{class:"setup-box-select-language-selection-text"},"Germany",-1)),d("div",rM,[T(o,{icon:"dashicons:arrow-right-alt2"})])])]),d("h1",oM,_(e.IntlString("STARTUP_SELECT_COUNTRY_TEXT_2")),1),d("div",lM,[(p(!0),b(ne,null,Me(a.country_list,l=>(p(),b("div",{class:"setup-box-select-language-selection",key:l,onClick:c=>s.selectCountry(l)},[d("div",cM,_(l),1),d("div",dM,[T(o,{icon:"dashicons:arrow-right-alt2"})])],8,uM))),128))])])])):D("",!0)]),_:1}),T(Zs,{name:"fade"},{default:It(()=>[!a.startupscreen&&!a.languageselect&&!a.countryselect&&a.activateroadpad?(p(),b("div",fM,[d("div",hM,[d("p",AM,_(e.IntlString("STARTUP_ACTIVATE_TEXT")),1),t[31]||(t[31]=d("p",{id:"activate-roadpad-text-2"},"RoadShop collects hardware identifiers from your RoadPad in order to identify and activate it on our services.",-1))])])):D("",!0)]),_:1}),T(Zs,{name:"fade"},{default:It(()=>[!a.startupscreen&&!a.languageselect&&!a.countryselect&&!a.activateroadpad&&a.passcodeselect?(p(),b("div",gM,[d("div",mM,[a.reenterpassword?(p(),b("p",{key:0,onClick:t[1]||(t[1]=(...l)=>s.backToCreatePin&&s.backToCreatePin(...l)),class:"setup-box-white-back"},"< Back")):D("",!0),d("div",pM,[T(o,{icon:"codicon:lock"})]),d("h1",_M,_(e.IntlString("STARTUP_CREATE_PASSCODE_TEXT")),1),a.reenterpassword?D("",!0):(p(),b("p",FM,_(e.IntlString("STARTUP_CREATE_PASSCODE_TEXT_2")),1)),a.reenterpassword?(p(),b("p",bM,_(e.IntlString("STARTUP_CREATE_PASSCODE_TEXT_3")),1)):D("",!0),d("div",vM,[a.reenterpassword?D("",!0):Re((p(),b("input",{key:0,maxlength:"1",type:"password",id:"setup-box-select-passcode-1",class:"setup-box-select-passcode","onUpdate:modelValue":t[2]||(t[2]=l=>a.pin1=l),onInput:t[3]||(t[3]=l=>s.selectPinInput(2))},null,544)),[[Ne,a.pin1]]),a.reenterpassword?D("",!0):Re((p(),b("input",{key:1,maxlength:"1",type:"password",id:"setup-box-select-passcode-2",class:"setup-box-select-passcode","onUpdate:modelValue":t[4]||(t[4]=l=>a.pin2=l),onInput:t[5]||(t[5]=l=>s.selectPinInput(3))},null,544)),[[Ne,a.pin2]]),a.reenterpassword?D("",!0):Re((p(),b("input",{key:2,maxlength:"1",type:"password",id:"setup-box-select-passcode-3",class:"setup-box-select-passcode","onUpdate:modelValue":t[6]||(t[6]=l=>a.pin3=l),onInput:t[7]||(t[7]=l=>s.selectPinInput(4))},null,544)),[[Ne,a.pin3]]),a.reenterpassword?D("",!0):Re((p(),b("input",{key:3,maxlength:"1",type:"password",id:"setup-box-select-passcode-4",class:"setup-box-select-passcode","onUpdate:modelValue":t[8]||(t[8]=l=>a.pin4=l),onInput:t[9]||(t[9]=l=>s.selectPinInput(5))},null,544)),[[Ne,a.pin4]]),a.reenterpassword?D("",!0):Re((p(),b("input",{key:4,maxlength:"1",type:"password",id:"setup-box-select-passcode-5",class:"setup-box-select-passcode","onUpdate:modelValue":t[10]||(t[10]=l=>a.pin5=l),onInput:t[11]||(t[11]=l=>s.selectPinInput(6))},null,544)),[[Ne,a.pin5]]),a.reenterpassword?D("",!0):Re((p(),b("input",{key:5,maxlength:"1",type:"password",id:"setup-box-select-passcode-6",class:"setup-box-select-passcode","onUpdate:modelValue":t[12]||(t[12]=l=>a.pin6=l),onInput:t[13]||(t[13]=(...l)=>s.changeToReEnterPasscode&&s.changeToReEnterPasscode(...l))},null,544)),[[Ne,a.pin6]]),a.reenterpassword?Re((p(),b("input",{key:6,maxlength:"1",type:"password",id:"setup-box-select-repasscode-1",class:"setup-box-select-passcode","onUpdate:modelValue":t[14]||(t[14]=l=>a.repin1=l),onInput:t[15]||(t[15]=l=>s.selectPinInput(2))},null,544)),[[Ne,a.repin1]]):D("",!0),a.reenterpassword?Re((p(),b("input",{key:7,maxlength:"1",type:"password",id:"setup-box-select-repasscode-2",class:"setup-box-select-passcode","onUpdate:modelValue":t[16]||(t[16]=l=>a.repin2=l),onInput:t[17]||(t[17]=l=>s.selectPinInput(3))},null,544)),[[Ne,a.repin2]]):D("",!0),a.reenterpassword?Re((p(),b("input",{key:8,maxlength:"1",type:"password",id:"setup-box-select-repasscode-3",class:"setup-box-select-passcode","onUpdate:modelValue":t[18]||(t[18]=l=>a.repin3=l),onInput:t[19]||(t[19]=l=>s.selectPinInput(4))},null,544)),[[Ne,a.repin3]]):D("",!0),a.reenterpassword?Re((p(),b("input",{key:9,maxlength:"1",type:"password",id:"setup-box-select-repasscode-4",class:"setup-box-select-passcode","onUpdate:modelValue":t[20]||(t[20]=l=>a.repin4=l),onInput:t[21]||(t[21]=l=>s.selectPinInput(5))},null,544)),[[Ne,a.repin4]]):D("",!0),a.reenterpassword?Re((p(),b("input",{key:10,maxlength:"1",type:"password",id:"setup-box-select-repasscode-5",class:"setup-box-select-passcode","onUpdate:modelValue":t[22]||(t[22]=l=>a.repin5=l),onInput:t[23]||(t[23]=l=>s.selectPinInput(6))},null,544)),[[Ne,a.repin5]]):D("",!0),a.reenterpassword?Re((p(),b("input",{key:11,maxlength:"1",type:"password",id:"setup-box-select-repasscode-6",class:"setup-box-select-passcode","onUpdate:modelValue":t[24]||(t[24]=l=>a.repin6=l),onInput:t[25]||(t[25]=(...l)=>s.checkRePassCodesSame&&s.checkRePassCodesSame(...l))},null,544)),[[Ne,a.repin6]]):D("",!0)]),a.reenterpassword?D("",!0):(p(),b("p",{key:3,style:{color:"rgb(0, 122, 255)","font-size":"1.2vh"},onClick:t[26]||(t[26]=(...l)=>s.skipEnterPasscode&&s.skipEnterPasscode(...l))},_(e.IntlString("STARTUP_CREATE_PASSCODE_SKIP")),1))])])):D("",!0)]),_:1}),T(Zs,{name:"fade"},{default:It(()=>[!a.startupscreen&&!a.languageselect&&!a.countryselect&&!a.activateroadpad&&!a.passcodeselect&&a.darkorwhite?(p(),b("div",yM,[d("div",{class:H(["setup-box-white",{"darkmode-site":e.darkmode}])},[d("h1",wM,_(e.IntlString("STARTUP_LIGHT_OR_DARK_HEADER")),1),d("p",CM,_(e.IntlString("STARTUP_LIGHT_OR_DARK_TEXT")),1),d("div",kM,[t[32]||(t[32]=d("img",{src:M3,style:{position:"absolute",width:"4vh",top:"1vh",left:"5.2vh"}},null,-1)),t[33]||(t[33]=d("img",{src:L3,style:{position:"absolute",width:"4vh",top:"1vh",right:"5.2vh"}},null,-1)),d("p",EM,_(e.IntlString("SETTINGS_APP_DISPLAY_WHITEMODE")),1),d("p",BM,_(e.IntlString("SETTINGS_APP_DISPLAY_DARKMODE")),1),d("input",{id:"settings-app-display-whitemode-checkbox",type:"checkbox",onClick:t[27]||(t[27]=l=>s.setDisplayMode("white")),checked:!e.darkmode,class:H(["settings-app-display-whitemode-input",{"darkmode-checkbox":e.darkmode}])},null,10,SM),d("input",{id:"settings-app-display-darkmode-checkbox",type:"checkbox",onClick:t[28]||(t[28]=l=>s.setDisplayMode("dark")),checked:e.darkmode,class:H(["settings-app-display-darkmode-input",{"darkmode-checkbox":e.darkmode}])},null,10,DM)]),d("div",{class:"roadphone-blue-button",onClick:t[29]||(t[29]=l=>{a.darkorwhite=!1,a.finishedinstallation=!0,s.setSwipeUp()})}," Continue ")],2)])):D("",!0)]),_:1}),T(Zs,{name:"fade"},{default:It(()=>[!a.startupscreen&&!a.languageselect&&!a.countryselect&&!a.activateroadpad&&!a.passcodeselect&&a.finishedinstallation?(p(),b("div",xM,[d("div",{class:H(["setup-box-white",{"darkmode-site":e.darkmode}])},[d("h1",TM,_(e.IntlString("STARTUP_WELCOME_TO_ROADPHONE")),1)],2)])):D("",!0)]),_:1}),!a.startupscreen&&!a.languageselect&&!a.countryselect&&!a.activateroadpad&&!a.passcodeselect&&a.finishedinstallation?(p(),b("div",IM)):D("",!0),!a.startupscreen&&!a.languageselect&&!a.countryselect&&!a.activateroadpad&&!a.passcodeselect&&a.finishedinstallation?(p(),b("p",{key:4,style:et([{top:"91%"},{color:e.darkmode==1?"white":"black"}]),class:"swipe-tounlock"},_(e.IntlString("STARTUP_SWIPE_UP_TO_START")),5)):D("",!0),!a.startupscreen&&!a.languageselect&&!a.countryselect&&!a.activateroadpad&&!a.passcodeselect&&a.finishedinstallation?(p(),b("div",{key:5,class:"phone-homebutton",style:et({backgroundColor:e.darkmode==1?"white":"black"})},null,4)):D("",!0)],64)}const MM=ke(G9,[["render",PM],["__scopeId","data-v-57897d02"]]),Xt=ti("contacts",{state:()=>({contacts:[],shareContact:null}),getters:{getFavoriteContacts(){return this.contacts.filter(e=>e.favourite===1)},getContactsSorted(){const e=this.contacts.sort((i,n)=>i.firstnamen.firstname?1:0),t={};for(const i of e){const n=i.firstname.charAt(0).toUpperCase();t[n]||(t[n]=[]),t[n].push(i)}return t}},actions:{setShareContact(e){this.shareContact=e},editContact(e){let t=this.contacts.findIndex(i=>i.id==e.id);t!=-1&&(this.contacts[t].firstname=e.firstname,this.contacts[t].lastname=e.lastname,this.contacts[t].number=e.number,this.contacts[t].note=e.note,this.contacts[t].mail=e.mail,this.contacts[t].company=e.company,this.contacts[t].picture=e.picture)}}}),Kn=ti("airdrop",{state:()=>({airdropsender:null,airdropimage:null,airdropcontact:null,airdropplaylist:null,airdropreceiveoptions:{everyone:localStorage.roadphone_airdrop_receive_everyone?parseInt(localStorage.roadphone_airdrop_receive_everyone):1,contacts:localStorage.roadphone_airdrop_receive_contacts?parseInt(localStorage.roadphone_airdrop_receive_contacts):0,nobody:localStorage.roadphone_airdrop_receive_nobody?parseInt(localStorage.roadphone_airdrop_receive_nobody):0},memberList:[],wantShare:null}),actions:{resetAirdrop(){this.airdropimage=null,this.airdropsender=null,this.airdropcontact=null,this.airdropplaylist=null,this.wantShare=null},setWantShare(e){this.wantShare=e},setAirdropReceiveOptions(e){const t={everyone:"roadphone_airdrop_receive_everyone",contacts:"roadphone_airdrop_receive_contacts",nobody:"roadphone_airdrop_receive_nobody"};for(const i of Object.keys(t))localStorage[t[i]]=i===e?1:0,this.airdropreceiveoptions[i]=i===e?1:0}}}),_i=ti("account",{state:()=>({accountid:localStorage.roadphone_account_id?parseInt(localStorage.roadphone_account_id):0,firstname:null,lastname:null,accmail:null,profilepicture:"/public/img/user.png",createAccMenu:!1,accbirthday:null}),getters:{getAccountID(){return this.accountid},getFirstName(){return this.accountid===0||this.accountid==null?"/":this.firstname},getLastName(){return this.accountid===0||this.accountid==null?"":this.lastname},getProfilePicture(){return this.getAccountID===0||this.getAccountID==null?"/public/img/user.png":this.profilepicture},getACCEmail(){const e=ue();return this.accountid===0||this.accountid==null?e.IntlString("APP_SETTINGS_ACCOUNT_NO_EMAIL_FOUND"):this.accmail}},actions:{setCreateAccMenu(e){this.createAccMenu=e}}}),LM={name:"AirdropShare",components:{Swiper:Co,SwiperSlide:ko,Icon:Qe},data(){return{contactSelect:!1,memberList:[]}},computed:{...Z(_i,["getFirstName","getProfilePicture","accountid"]),...Z(Kn,["wantShare"]),...Z(ki,["sharePhoto"]),...Z(ue,["otherproducts","IntlString","darkmode"]),...Z(Xt,["shareContact"]),...Z(Qt,["sharePlaylist"])},methods:{...xe(Kn,["setWantShare"]),closeContactSelect(){document.getElementById("contact-addcontact-box-2").classList.add("addcontact-out-class"),setTimeout((function(){this.contactSelect=!1,this.setWantShare(null)}).bind(this),180)},shareItem(e,t){this.wantShare==="picture"?(M.post("sendAirdrop",{accountId:this.accountid,playerId:e===0?null:e,photo:this.sharePhoto,roadpad:t}),this.closeContactSelect()):this.wantShare==="contact"?M.post("sendAirdrop",{accountId:this.accountid,playerId:e===0?null:e,contact:this.shareContact,roadpad:t}):this.wantShare==="playlist"&&M.post("sendAirdrop",{accountId:this.accountid,playerId:e===0?null:e,playlist:this.sharePlaylist,roadpad:t})}},mounted(){this.emitter.on("openAirdropShare",async()=>{this.contactSelect=!0;const e=await M.post("getPeopleUmroundAirdrop");e&&e.data&&(this.memberList=e.data)})},beforeUnmount(){this.emitter.off("openAirdropShare")}},RM={class:"instagram-storys"},UM=["onClick"],OM=["src"],NM={key:1,class:"airdrop-no-one-found"},HM={style:{"font-size":"1vh","font-family":"SF-Pro-Light","font-weight":"normal","margin-top":"-1vh",color:"lightgray"}},QM={class:"airdrop-self-image"},jM=["src"],GM={class:"airdrop-appear-as"};function zM(e,t,i,n,a,s){const r=Y("swiper-slide"),o=Y("swiper");return a.contactSelect?(p(),b("div",{key:0,class:"contact-addcontact-box",style:et([{backgroundColor:e.darkmode?"#0e0e0e":"#FFFFFF"},{"z-index":"150"}]),id:"contact-addcontact-box-2"},[d("div",{class:"contact-addcontact-back",onClick:t[0]||(t[0]=(...l)=>s.closeContactSelect&&s.closeContactSelect(...l))},_(e.IntlString("AIRDROP_DONE")),1),d("div",{class:H(["contact-addcontact-newcontact",{"darkmode-text":e.darkmode}])},_(e.IntlString("AIRDROP_AIRDROP_A_COPY")),3),d("hr",{class:H(["contact-app-list-hr",{"darkmode-hr":e.darkmode}])},null,2),a.memberList.length>0?(p(),b("div",{key:0,class:H(["airdrop-header-persons",{"darkmode-text":e.darkmode}])},_(e.IntlString("AIRDROP_PEOPLE")),3)):D("",!0),d("div",RM,[T(o,{"slides-per-view":5,"space-between":5,style:{width:"100%"}},{default:It(()=>[(p(!0),b(ne,null,Me(a.memberList,l=>(p(),We(r,{key:l},{default:It(()=>[d("div",{class:"instagram-storys-item",onClick:c=>s.shareItem(l.playerId,!1)},[d("img",{src:l.profile?l.profile:"/public/img/user.png",alt:"story"},null,8,OM),d("p",{class:H(["instagram-storys-text",{"darkmode-text":e.darkmode}])},_(l.firstname),3)],8,UM)]),_:2},1024))),128))]),_:1})]),a.memberList.length===0&&!e.otherproducts.roadpad||a.memberList.length===0&&e.wantShare!=="picture"?(p(),b("div",NM,[d("p",{style:{"font-size":"1.4vh","font-weight":"bold"},class:H({"darkmode-text":e.darkmode})},_(e.IntlString("AIRDROP_NO_PEOPLE_FOUND_HEADER")),3),d("p",HM,_(e.IntlString("AIRDROP_NO_PEOPLE_FOUND_TEXT")),1)])):D("",!0),d("hr",{class:H(["contact-app-list-hr",{"darkmode-hr":e.darkmode}]),style:{top:"46.5vh"}},null,2),d("div",QM,[d("img",{src:e.getProfilePicture},null,8,jM)]),d("div",GM,_(e.IntlString("AIRDROP_APPEAR_AS")),1),d("div",{class:H(["airdrop-self-name",{"darkmode-text":e.darkmode}])},_(e.getFirstName),3)],4)):D("",!0)}const DA=ke(LM,[["render",zM],["__scopeId","data-v-ace7b996"]]),qM={name:"ContactView",data(){return{selectedContact:this.$route.params.id,selectedContactData:null,blockCooldown:!1}},components:{AirdropShare:DA,Homebutton:Xe,Icon:Qe},computed:{...Z(Xt,["contacts"]),...Z(ue,["IntlString","config","darkmode","blockedNumbers"]),...Z(Kn,["airdropcontact"]),...Z(_i,["getAccountID"])},mounted(){this.selectedContact&&(this.selectedContactData=this.contacts.find(e=>e.id==this.selectedContact)),this.selectedContactData==null&&Te.push("/contacts")},methods:{...xe(Xt,["setShareContact"]),...xe(Kn,["setWantShare"]),blockContact(){if(this.blockCooldown){M.onshow_notification({data:{img:"/public/img/Apps/light_mode/contacts.webp",apptitle:"CONTACT_APP_NAME",title:"CONTACT_APP_CONTACT_VIEW_BLOCK_COOLDOWN",message:""}});return}if(this.blockCooldown=!0,setTimeout(()=>{this.blockCooldown=!1},5e3),this.blockedNumbers.includes(this.selectedContactData.number)){M.post("removeBlock",{number:this.selectedContactData.number});return}M.post("blockContact",{number:this.selectedContactData.number})},startVideoCall(){M.startVideoCall(this.selectedContactData.number)},setFavorite(){this.selectedContactData.favourite==0?M.post("setFavouriteContact",{id:this.selectedContactData.id,favourite:1}):M.post("setFavouriteContact",{id:this.selectedContactData.id,favourite:0}),this.selectedContactData.favourite=this.selectedContactData.favourite==0?1:0},sendGPS(){M.sendMessage(this.selectedContactData.number,"%pos%"),M.onshow_notification({data:{img:"/public/img/Apps/light_mode/message.webp",apptitle:"APP_MESSAGES_NAME",title:"CONTACT_APP_CONTACT_VIEW_GPS_SENT",message:""}})},openContactEdit(e){Te.push("/contact/edit/"+e)},openMail(e){Te.push("/mail/list"),setTimeout((function(){Ge().emit("writemail",{receiver:e})}).bind(this),300)},startCall(){M.startCall(this.selectedContactData.number)},openAirdrop(){this.emitter.emit("openAirdropShare"),this.setWantShare("contact"),this.setShareContact(this.selectedContactData)}}},VM={class:"contact-view-image-container"},WM=["src"],KM={key:0,class:"contact-view-company-text"},YM={class:"contact-view-buttons-grid"},XM={class:"contact-view-button-icon"},JM={class:"contact-view-button-text"},ZM={class:"contact-view-button-icon"},$M={class:"contact-view-button-text"},e5=["disabled"],t5={class:"contact-view-button-icon"},i5={class:"contact-view-button-text"},n5=["disabled"],a5={class:"contact-view-button-icon"},s5={class:"contact-view-button-text"},r5={class:"contact-view-number-phonenumber"};function o5(e,t,i,n,a,s){const r=Y("AirdropShare"),o=Y("Icon"),l=Y("Homebutton");return p(),b(ne,null,[T(r),a.selectedContactData?(p(),b("div",{key:0,style:et([{backgroundColor:e.darkmode?"#000000":"rgb(242, 242, 246)"},{width:"100%",height:"100%"}]),class:H({brightness:e.airdropcontact})},[d("div",{class:"contact-viewcontact-back",onClick:t[0]||(t[0]=c=>e.$router.push("/contacts"))},_(e.IntlString("CONTACT_APP_CONTACT_VIEW_BACK")),1),d("div",{class:"contact-viewcontact-edit",onClick:t[1]||(t[1]=c=>s.openContactEdit(a.selectedContactData.id))},_(e.IntlString("CONTACT_APP_CONTACT_VIEW_EDIT")),1),d("div",VM,[d("img",{class:"contact-view-image-img",src:a.selectedContactData.picture?a.selectedContactData.picture:"/public/img/user.png",alt:"Contact"},null,8,WM)]),d("div",{class:H(["contact-view-image-text",{"darkmode-text":e.darkmode}])},_(a.selectedContactData.firstname+" "+(a.selectedContactData.lastname==null?" ":a.selectedContactData.lastname)),3),a.selectedContactData.company&&a.selectedContactData.company.length>0?(p(),b("div",KM,_(a.selectedContactData.company),1)):D("",!0),d("div",YM,[d("button",{class:H(["contact-view-button",{"darkmode-settingsbox":e.darkmode}]),onClick:t[2]||(t[2]=c=>e.$router.push("/messages/open/"+a.selectedContactData.number))},[d("div",XM,[T(o,{icon:"tabler:message-circle-2-filled"})]),d("div",JM,_(e.IntlString("CONTACT_APP_CONTACT_VIEW_MESSAGE")),1)],2),d("button",{class:H(["contact-view-button",{"darkmode-settingsbox":e.darkmode}]),onClick:t[3]||(t[3]=(...c)=>s.startCall&&s.startCall(...c))},[d("div",ZM,[T(o,{icon:"material-symbols:call"})]),d("div",$M,_(e.IntlString("CONTACT_APP_CONTACT_VIEW_CALL")),1)],2),d("button",{class:H(["contact-view-button",{"darkmode-settingsbox":e.darkmode}]),disabled:e.config.FaceTime===!1,onClick:t[4]||(t[4]=(...c)=>s.startVideoCall&&s.startVideoCall(...c))},[d("div",t5,[T(o,{icon:"carbon:video-filled"})]),d("div",i5,_(e.IntlString("CONTACT_APP_CONTACT_VIEW_VIDEO")),1)],10,e5),d("button",{class:H(["contact-view-button",{"darkmode-settingsbox":e.darkmode}]),disabled:!a.selectedContactData.mail||a.selectedContactData.mail=="",onClick:t[5]||(t[5]=c=>s.openMail(a.selectedContactData.mail))},[d("div",a5,[T(o,{icon:"uiw:mail"})]),d("div",s5,_(e.IntlString("CONTACT_APP_CONTACT_VIEW_EMAIL")),1)],10,n5)]),d("div",{class:H(["contact-view-number-container",{"darkmode-settingsbox":e.darkmode}])},[d("div",{class:H(["contact-view-number-header",{"darkmode-text":e.darkmode}])},_(e.IntlString("CONTACT_APP_CONTACT_VIEW_MOBILE")),3),d("div",r5,_(a.selectedContactData.number),1)],2),d("div",{class:H(["contact-view-notes-container",{"darkmode-settingsbox":e.darkmode}])},[d("div",{class:H(["contact-view-notes-header",{"darkmode-text":e.darkmode}])},_(e.IntlString("CONTACT_APP_CONTACT_VIEW_NOTES")),3),d("div",{class:H(["contact-view-notes-text",{"darkmode-text":e.darkmode}])},_(a.selectedContactData.note),3)],2),d("div",{class:H(["contact-view-button-container",{"darkmode-settingsbox":e.darkmode}])},[d("div",{class:H(["contact-view-button-2-text",{"darkmode-hr":e.darkmode}]),onClick:t[6]||(t[6]=c=>e.$router.push("/messages/open/"+a.selectedContactData.number))},_(e.IntlString("CONTACT_APP_CONTACT_VIEW_SEND_MESSAGE")),3),e.getAccountID&&e.getAccountID!=0?(p(),b("div",{key:0,class:H(["contact-view-button-2-text",{"darkmode-hr":e.darkmode}]),onClick:t[7]||(t[7]=(...c)=>s.openAirdrop&&s.openAirdrop(...c))},_(e.IntlString("CONTACT_APP_CONTACT_VIEW_SHARE_CONTACT")),3)):D("",!0),d("div",{class:"contact-view-button-2-text noborder",onClick:t[8]||(t[8]=(...c)=>s.setFavorite&&s.setFavorite(...c))},_(a.selectedContactData.favourite==0?e.IntlString("CONTACT_APP_CONTACT_VIEW_ADD_TO_FAVOURITES"):e.IntlString("CONTACT_APP_CONTACT_VIEW_REMOVE_FROM_FAVOURITES")),1)],2),d("div",{class:H(["contact-view-button-container",{"darkmode-settingsbox":e.darkmode}]),style:{top:"48.5vh"}},[d("div",{class:H(["contact-view-button-2-text",{"darkmode-hr":e.darkmode}]),onClick:t[9]||(t[9]=(...c)=>s.sendGPS&&s.sendGPS(...c))},_(e.IntlString("CONTACT_APP_CONTACT_VIEW_SHARE_LOCATION")),3),d("div",{class:"contact-view-button-2-text noborder",onClick:t[10]||(t[10]=(...c)=>s.blockContact&&s.blockContact(...c)),style:{color:"red"}},_(e.blockedNumbers.includes(a.selectedContactData.number)?e.IntlString("CONTACT_APP_CONTACT_VIEW_UNBLOCK_CALLER"):e.IntlString("CONTACT_APP_CONTACT_VIEW_BLOCK_CALLER")),1)],2)],6)):D("",!0),T(l)],64)}const l5=ke(qM,[["render",o5],["__scopeId","data-v-ae3060c2"]]),u5={name:"ContactEdit",components:{Homebutton:Xe},data(){return{selectedContact:this.$route.params.id,selectedContactData:null,newContactData:{firstname:"",lastname:"",number:"",note:"",mail:"",company:"",picture:""}}},computed:{...Z(Xt,["contacts"]),...Z(ue,["IntlString","darkmode"])},methods:{...xe(Xt,["editContact"]),focus(e){M.inputFocus(e)},editContact2(){M.post("editContact",{id:this.selectedContact,firstname:this.newContactData.firstname,lastname:this.newContactData.lastname,number:this.newContactData.number,note:this.newContactData.note,mail:this.newContactData.mail,company:this.newContactData.company,picture:this.newContactData.picture}),this.editContact({id:this.selectedContact,firstname:this.newContactData.firstname,lastname:this.newContactData.lastname,number:this.newContactData.number,note:this.newContactData.note,mail:this.newContactData.mail,company:this.newContactData.company,picture:this.newContactData.picture}),Te.push("/contact/view/"+this.selectedContact)},deleteContact(){M.post("deleteContact",{id:this.selectedContact}),Te.push("/contacts")}},mounted(){this.selectedContact?(this.selectedContactData=this.contacts.find(e=>e.id==this.selectedContact),this.newContactData={firstname:this.selectedContactData.firstname,lastname:this.selectedContactData.lastname,number:this.selectedContactData.number,note:this.selectedContactData.note,mail:this.selectedContactData.mail,company:this.selectedContactData.company,picture:this.selectedContactData.picture}):Te.push("/contacts"),(!this.selectedContactData||!this.newContactData)&&Te.push("/contacts"),this.emitter.on("editContactSetPicture",e=>{e&&e.picture&&(this.newContactData.picture=e.picture)})},beforeUnmount(){this.emitter.off("editContactSetPicture")}},c5=["disabled"],d5={class:"contact-edit-image-container"},f5=["src"],h5=["placeholder"],A5=["placeholder"],g5=["placeholder"],m5=["placeholder"],p5=["placeholder"],_5=["placeholder"];function F5(e,t,i,n,a,s){const r=Y("Homebutton");return p(),b(ne,null,[a.newContactData?(p(),b("div",{key:0,class:H(["contact-addcontact-box",{darkmode:e.darkmode}]),style:{"background-color":"#f3f0f0",width:"100%",height:"100%"}},[d("div",{class:"contact-editcontact-back",onClick:t[0]||(t[0]=o=>e.$router.push("/contact/view/"+this.selectedContact))},_(e.IntlString("CONTACT_APP_CONTACT_EDIT_CANCEL")),1),d("button",{class:"contact-editcontact-finish",onClick:t[1]||(t[1]=(...o)=>s.editContact2&&s.editContact2(...o)),disabled:a.newContactData.firstname==""||a.newContactData.lastname==""||a.newContactData.number==""},_(e.IntlString("CONTACT_APP_CONTACT_EDIT_FINISH")),9,c5),d("div",d5,[d("img",{class:"contact-edit-image-img",src:a.newContactData.picture,alt:"Contact"},null,8,f5)]),d("div",{class:"contact-edit-image-text",onClick:t[2]||(t[2]=o=>e.$router.push("/camera/editcontact_app/"+a.selectedContact))},_(e.IntlString("CONTACT_APP_CONTACT_EDIT_IMAGE_EDIT")),1),d("div",{class:H(["contact-edit-input-box",{"darkmode-settingsbox":e.darkmode}])},[Re(d("input",{maxlength:"12",onFocus:t[3]||(t[3]=o=>s.focus(!0)),onFocusout:t[4]||(t[4]=o=>s.focus(!1)),type:"text",name:"firstname",placeholder:e.IntlString("CONTACT_APP_CONTACT_EDIT_FIRSTNAME"),"onUpdate:modelValue":t[5]||(t[5]=o=>a.newContactData.firstname=o)},null,40,h5),[[Ne,a.newContactData.firstname]]),Re(d("input",{maxlength:"12",onFocus:t[6]||(t[6]=o=>s.focus(!0)),onFocusout:t[7]||(t[7]=o=>s.focus(!1)),type:"text",name:"lastname",placeholder:e.IntlString("CONTACT_APP_CONTACT_EDIT_LASTNAME"),"onUpdate:modelValue":t[8]||(t[8]=o=>a.newContactData.lastname=o)},null,40,A5),[[Ne,a.newContactData.lastname]]),Re(d("input",{maxlength:"20",onFocus:t[9]||(t[9]=o=>s.focus(!0)),onFocusout:t[10]||(t[10]=o=>s.focus(!1)),type:"text",name:"company",placeholder:e.IntlString("CONTACT_APP_CONTACT_EDIT_COMPANY"),"onUpdate:modelValue":t[11]||(t[11]=o=>a.newContactData.company=o)},null,40,g5),[[Ne,a.newContactData.company]])],2),d("div",{class:H(["contact-edit-input-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"28vh"}},[Re(d("input",{maxlength:"30",onFocus:t[12]||(t[12]=o=>s.focus(!0)),onFocusout:t[13]||(t[13]=o=>s.focus(!1)),placeholder:e.IntlString("CONTACT_APP_CONTACT_EDIT_PHONE"),type:"text",name:"number","onUpdate:modelValue":t[14]||(t[14]=o=>a.newContactData.number=o)},null,40,m5),[[Ne,a.newContactData.number]]),Re(d("input",{maxlength:"50",onFocus:t[15]||(t[15]=o=>s.focus(!0)),onFocusout:t[16]||(t[16]=o=>s.focus(!1)),placeholder:e.IntlString("CONTACT_APP_CONTACT_EDIT_MAIL"),type:"text",name:"mail","onUpdate:modelValue":t[17]||(t[17]=o=>a.newContactData.mail=o)},null,40,p5),[[Ne,a.newContactData.mail]])],2),d("div",{class:H(["contact-edit-input-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"36.5vh"}},[Re(d("textarea",{maxlength:"256",onFocus:t[18]||(t[18]=o=>s.focus(!0)),onFocusout:t[19]||(t[19]=o=>s.focus(!1)),placeholder:e.IntlString("CONTACT_APP_CONTACT_EDIT_NOTES"),"onUpdate:modelValue":t[20]||(t[20]=o=>a.newContactData.note=o)},null,40,_5),[[Ne,a.newContactData.note]])],2),d("div",{class:H(["contact-edit-button-container",{"darkmode-settingsbox":e.darkmode}])},[d("div",{class:"contact-edit-button-2-text",onClick:t[21]||(t[21]=(...o)=>s.deleteContact&&s.deleteContact(...o)),style:{border:"none",color:"rgb(255, 59, 48)"}},_(e.IntlString("CONTACT_APP_CONTACT_EDIT_DELETE_CONTACT")),1)],2)],2)):D("",!0),T(r)],64)}const b5=ke(u5,[["render",F5],["__scopeId","data-v-0291c1dd"]]),v5={name:"ContactOwnCard",components:{AirdropShare:DA,Homebutton:Xe,Icon:Qe},computed:{...Z(ue,["getPhoneNumber","IntlString","darkmode"]),...Z(_i,["getAccountID","getLastName","getFirstName","getProfilePicture","getACCEmail"])},methods:{...xe(Kn,["setWantShare"]),...xe(Xt,["setShareContact"]),openAirdrop(){this.emitter.emit("openAirdropShare"),this.setWantShare("contact");let e={firstname:this.getFirstName,lastname:this.getLastName,picture:this.getProfilePicture,number:this.getPhoneNumber,email:this.getACCEmail};this.setShareContact(e)}}},y5={class:"contact-view-image-container"},w5=["src"],C5={class:"contact-view-buttons-grid"},k5={class:"contact-view-button-icon"},E5={class:"contact-view-button-text"},B5={class:"contact-view-button-icon"},S5={class:"contact-view-button-text"},D5={class:"contact-view-button-icon"},x5={class:"contact-view-button-text"},T5={class:"contact-view-button-icon"},I5={class:"contact-view-button-text"},P5={class:"contact-view-number-phonenumber",style:{color:"rgb(128, 128, 128)"}},M5={class:"contact-view-number-phonenumber",style:{color:"rgb(128, 128, 128)"}},L5={class:"contact-view-button-2-text noborder"};function R5(e,t,i,n,a,s){const r=Y("AirdropShare"),o=Y("Icon"),l=Y("Homebutton");return p(),b(ne,null,[T(r),d("div",{style:et([{backgroundColor:e.darkmode?"#000000":"rgb(242, 242, 246)"},{width:"100%",height:"100%"}])},[d("div",{class:"contact-viewcontact-back",onClick:t[0]||(t[0]=c=>e.$router.push("/contacts"))},_(e.IntlString("CONTACT_APP_CONTACT_VIEW_BACK")),1),d("div",y5,[d("img",{class:"contact-view-image-img",src:e.getProfilePicture,alt:"Contact"},null,8,w5)]),d("div",{class:H(["contact-view-image-text",{"darkmode-text":e.darkmode}])},_(e.getFirstName)+" "+_(e.getLastName),3),d("div",C5,[d("div",{class:H(["contact-view-button disabled",{"darkmode-settingsbox":e.darkmode}])},[d("div",k5,[T(o,{icon:"tabler:message-circle-2-filled"})]),d("div",E5,_(e.IntlString("CONTACT_APP_CONTACT_VIEW_MESSAGE")),1)],2),d("div",{class:H(["contact-view-button disabled",{"darkmode-settingsbox":e.darkmode}])},[d("div",B5,[T(o,{icon:"material-symbols:call"})]),d("div",S5,_(e.IntlString("CONTACT_APP_CONTACT_VIEW_CALL")),1)],2),d("div",{class:H(["contact-view-button disabled",{"darkmode-settingsbox":e.darkmode}])},[d("div",D5,[T(o,{icon:"carbon:video-filled"})]),d("div",x5,_(e.IntlString("CONTACT_APP_CONTACT_VIEW_VIDEO")),1)],2),d("div",{class:H(["contact-view-button disabled",{"darkmode-settingsbox":e.darkmode}])},[d("div",T5,[T(o,{icon:"uiw:mail"})]),d("div",I5,_(e.IntlString("CONTACT_APP_CONTACT_VIEW_EMAIL")),1)],2)]),d("div",{class:H(["contact-view-number-container",{"darkmode-settingsbox":e.darkmode}])},[d("div",{class:H(["contact-view-number-header",{"darkmode-text":e.darkmode}])},_(e.IntlString("CONTACT_APP_CONTACT_VIEW_MOBILE")),3),d("div",P5,_(e.getPhoneNumber),1)],2),d("div",{class:H(["contact-view-number-container",{"darkmode-settingsbox":e.darkmode}]),style:{top:"30vh"}},[d("div",{class:H(["contact-view-number-header",{"darkmode-text":e.darkmode}])},_(e.IntlString("CONTACT_APP_CONTACT_VIEW_EMAIL")),3),d("div",M5,_(e.getACCEmail),1)],2),d("div",{class:H(["contact-view-button-container",{"darkmode-settingsbox":e.darkmode}]),style:{top:"36vh"}},[e.getAccountID!=0&&e.getAccountID!=null?(p(),b("div",{key:0,class:H(["contact-view-button-2-text",{"darkmode-hr":e.darkmode}]),onClick:t[1]||(t[1]=(...c)=>s.openAirdrop&&s.openAirdrop(...c))},_(e.IntlString("CONTACT_APP_CONTACT_VIEW_SHARE_CONTACT")),3)):D("",!0),d("div",L5,_(e.IntlString("APP_CONTACTS_VIEW_SELF_SHOW_MEDICAL_ID")),1)],2)],4),T(l)],64)}const U5=ke(v5,[["render",R5],["__scopeId","data-v-2aa3c864"]]),O5={name:"ContactsAddContact",data(){return{show:!1,firstname:"",lastname:"",number:"",note:"",company:"",picture:"/public/img/user.png",mail:""}},computed:{...Z(ue,["IntlString","darkmode"])},mounted(){this.emitter.on("addContact",e=>{e&&e.number&&(this.number=e.number),e&&e.picture&&(this.picture=e.picture),this.show=!0})},methods:{focus(e){M.inputFocus(e)},addContact(){M.post("addContact",{firstname:this.firstname,lastname:this.lastname,number:this.number,note:this.note,company:this.company,picture:this.picture,mail:this.mail}),this.closeAddContact()},closeAddContact(){document.getElementById("contact-addcontact-box").classList.add("addcontact-out-class"),setTimeout(()=>{this.show=!1},180)}},beforeUnmount(){this.emitter.off("addContact")}},N5=["disabled"],H5={class:"contact-add-image-container"},Q5=["src"],j5=["placeholder"],G5=["placeholder"],z5=["placeholder"],q5=["placeholder"],V5=["placeholder"],W5=["placeholder"];function K5(e,t,i,n,a,s){return a.show?(p(),b("div",{key:0,class:H(["contact-addcontact-box",{darkmode:e.darkmode}]),id:"contact-addcontact-box"},[d("div",{class:"contact-addcontact-back",onClick:t[0]||(t[0]=(...r)=>s.closeAddContact&&s.closeAddContact(...r))},_(e.IntlString("CONTACT_APP_CONTACT_EDIT_CANCEL")),1),d("div",{class:H(["contact-addcontact-newcontact",{"darkmode-text":e.darkmode}])},_(e.IntlString("CONTACT_APP_CONTACT_ADD_HEADER")),3),d("button",{class:"contact-addcontact-finish",disabled:a.firstname==""||a.lastname==""||a.number=="",onClick:t[1]||(t[1]=(...r)=>s.addContact&&s.addContact(...r))},_(e.IntlString("CONTACT_APP_CONTACT_EDIT_FINISH")),9,N5),d("div",H5,[d("img",{class:"contact-add-image-img",src:a.picture,alt:"picture"},null,8,Q5)]),d("div",{class:"contact-add-image-text",onClick:t[2]||(t[2]=r=>e.$router.push("/camera/addcontact_app"))},_(e.IntlString("CONTACT_APP_CONTACT_ADD_ADD_PICTURE")),1),d("div",{class:H(["contact-add-input-box",{"darkmode-settingsbox":e.darkmode}])},[Re(d("input",{maxlength:"12",onFocus:t[3]||(t[3]=r=>s.focus(!0)),onFocusout:t[4]||(t[4]=r=>s.focus(!1)),type:"text",name:"firstname","onUpdate:modelValue":t[5]||(t[5]=r=>a.firstname=r),placeholder:e.IntlString("CONTACT_APP_CONTACT_EDIT_FIRSTNAME")},null,40,j5),[[Ne,a.firstname]]),Re(d("input",{maxlength:"12",onFocus:t[6]||(t[6]=r=>s.focus(!0)),onFocusout:t[7]||(t[7]=r=>s.focus(!1)),type:"text",name:"lastname","onUpdate:modelValue":t[8]||(t[8]=r=>a.lastname=r),placeholder:e.IntlString("CONTACT_APP_CONTACT_EDIT_LASTNAME")},null,40,G5),[[Ne,a.lastname]]),Re(d("input",{maxlength:"20",style:{"border-bottom":"none"},onFocus:t[9]||(t[9]=r=>s.focus(!0)),onFocusout:t[10]||(t[10]=r=>s.focus(!1)),type:"text",name:"company","onUpdate:modelValue":t[11]||(t[11]=r=>a.company=r),placeholder:e.IntlString("CONTACT_APP_CONTACT_EDIT_COMPANY")},null,40,z5),[[Ne,a.company]])],2),d("div",{class:H(["contact-add-input-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"28vh"}},[Re(d("input",{maxlength:"30",onFocus:t[12]||(t[12]=r=>s.focus(!0)),onFocusout:t[13]||(t[13]=r=>s.focus(!1)),type:"text",name:"number","onUpdate:modelValue":t[14]||(t[14]=r=>a.number=r),placeholder:e.IntlString("CONTACT_APP_CONTACT_EDIT_PHONE")},null,40,q5),[[Ne,a.number]]),Re(d("input",{maxlength:"50",style:{"border-bottom":"none"},onFocus:t[15]||(t[15]=r=>s.focus(!0)),onFocusout:t[16]||(t[16]=r=>s.focus(!1)),"onUpdate:modelValue":t[17]||(t[17]=r=>a.mail=r),type:"text",name:"mail",placeholder:e.IntlString("CONTACT_APP_CONTACT_EDIT_MAIL")},null,40,V5),[[Ne,a.mail]])],2),d("div",{class:H(["contact-add-input-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"38vh"}},[Re(d("textarea",{maxlength:"256",onFocus:t[18]||(t[18]=r=>s.focus(!0)),onFocusout:t[19]||(t[19]=r=>s.focus(!1)),placeholder:e.IntlString("CONTACT_APP_CONTACT_EDIT_NOTES"),"onUpdate:modelValue":t[20]||(t[20]=r=>a.note=r)},null,40,W5),[[Ne,a.note]])],2)],2)):D("",!0)}const xA=ke(O5,[["render",K5],["__scopeId","data-v-03e346ae"]]),Y5={name:"ContactList",components:{ContactsAddContact:xA,Homebutton:Xe},data(){return{searchContact:""}},computed:{...Z(Xt,["contacts","getContactsSorted"]),...Z(_i,["getAccountID","getLastName","getFirstName","getProfilePicture"]),...Z(ue,["IntlString","darkmode"]),getSearchedContacts(){let e=this.contacts.filter(i=>i.firstname.toLowerCase().includes(this.searchContact.toLowerCase())||i.lastname.toLowerCase().includes(this.searchContact.toLowerCase()));const t={};for(const i of e){const n=i.firstname.charAt(0).toUpperCase();t[n]||(t[n]=[]),t[n].push(i)}return t}},methods:{...xe(ue,["setHeaderBlack"]),openContactadd(){Ge().emit("addContact")},focus(e){M.inputFocus(e)}},mounted(){this.darkmode?this.setHeaderBlack(!1):this.setHeaderBlack(!0)}},X5={class:"contact-app-header"},J5=["placeholder"],Z5=["src"],$5={class:"contact-app-cloud-mycard"},eL={class:"contact-app-list-box"},tL={class:"contact-app-list-firstchar"},iL=["onClick"],nL={class:"contact-app-list-box"},aL={class:"contact-app-list-firstchar"},sL=["onClick"];function rL(e,t,i,n,a,s){const r=Y("ContactsAddContact"),o=Y("Homebutton");return p(),b(ne,null,[T(r),d("div",{style:et([{backgroundColor:e.darkmode?"#000000":"#FFFFFF"},{width:"100%",height:"100%"}])},[d("div",X5,[d("div",{class:"contact-app-addcontact-button",onClick:t[0]||(t[0]=(...l)=>s.openContactadd&&s.openContactadd(...l))},"+"),d("div",{class:H(["contact-app-header-title",{"darkmode-text":e.darkmode}])},_(e.IntlString("CONTACT_APP_HEADER")),3),Re(d("input",{class:H(["contact-app-searchbar-input",{"darkmode-settingsbox":e.darkmode}]),onFocus:t[1]||(t[1]=l=>s.focus(!0)),onFocusout:t[2]||(t[2]=l=>s.focus(!1)),"onUpdate:modelValue":t[3]||(t[3]=l=>a.searchContact=l),placeholder:e.IntlString("CONTACT_APP_SEARCH")},null,42,J5),[[Ne,a.searchContact]]),d("hr",{class:H(["contact-app-hr",{"darkmode-hr":e.darkmode}])},null,2),d("div",{class:"contact-app-cloud-account",onClick:t[4]||(t[4]=l=>e.$router.push("/contact/own"))},[d("img",{class:"contact-app-cloud-account-img",src:e.getProfilePicture,alt:"cloud-img"},null,8,Z5),d("div",{class:H(["contact-app-cloud-name",{"darkmode-text":e.darkmode}])},_(e.getFirstName)+" "+_(e.getLastName),3),d("div",$5,_(e.IntlString("CONTACT_APP_MY_CARD")),1)]),a.searchContact.length===0?(p(),b("div",{key:0,class:H(["contact-app-list",{"darkmode-text":e.darkmode}])},[(p(!0),b(ne,null,Me(e.getContactsSorted,(l,c)=>(p(),b("div",eL,[d("div",tL,_(c),1),d("hr",{class:H(["contact-app-list-hr",{"darkmode-hr":e.darkmode}])},null,2),(p(!0),b(ne,null,Me(e.getContactsSorted[c],f=>(p(),b("div",{class:H(["contact-app-list-name",{"darkmode-hr":e.darkmode}]),onClick:h=>e.$router.push("/contact/view/"+f.id)},_(f.firstname+" "+f.lastname),11,iL))),256))]))),256))],2)):D("",!0),a.searchContact.length>0?(p(),b("div",{key:1,class:H(["contact-app-list",{"darkmode-text":e.darkmode}])},[(p(!0),b(ne,null,Me(s.getSearchedContacts,(l,c)=>(p(),b("div",nL,[d("div",aL,_(c),1),d("hr",{class:H(["contact-app-list-hr",{"darkmode-hr":e.darkmode}])},null,2),(p(!0),b(ne,null,Me(s.getSearchedContacts[c],f=>(p(),b("div",{class:H(["contact-app-list-name",{"darkmode-hr":e.darkmode}]),onClick:h=>e.$router.push("/contact/view/"+f.id)},_(f.firstname+" "+f.lastname),11,sL))),256))]))),256))],2)):D("",!0)])],4),T(o)],64)}const R3=ke(Y5,[["render",rL],["__scopeId","data-v-28f08144"]]),oL="/public/assets/appshop-C-751JhG.webp",lL="/public/assets/music-CJFyZrED.webp",uL="/public/assets/message-B8smHeJW.webp",cL="/public/assets/bank-CTJsSFTQ.webp",dL={name:"SettingsLoginRoadID",data(){return{appleid:{loginMenu:!1,login:{needpassword:!1,mail:"",password:""},registerMenu:!1,register:{nameMenu:!1,emailMenu:!1,passwordMenu:!1,firstname:"",lastname:"",birth:new Date,mail:"",password:"",repeatpassword:""}}}},computed:{...Z(ue,["IntlString","config"])},methods:{...xe(_i,["setCreateAccMenu"]),focus(e){M.inputFocus(e)},changeToMailSite(){this.appleid.register.nameMenu=!1,this.appleid.register.emailMenu=!0},checkPassword(){if(/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]+/.test(this.appleid.register.password)){M.onshow_notification({data:{img:"/public/img/Apps/light_mode/settings.webp",apptitle:"APP_SETTINGS_NAME",message:"APP_INSTAGRAM_NOTIF_CONTAINS_SPECIALCHARS"}});return}if(this.appleid.register.password.length>64){M.onshow_notification({data:{apptitle:"APP_SETTINGS_NAME",title:"Password error",message:"Your password is too long. Please use a password with less than 64 characters.",img:"/public/img/Apps/light_mode/settings.webp"}});return}this.appleid.register.password.length>5?this.appleid.register.password==this.appleid.register.repeatpassword?M.createAppleAccount(this.appleid.register.firstname,this.appleid.register.lastname,this.appleid.register.birth,this.appleid.register.mail+this.config.mail_domain,this.appleid.register.password):M.onshow_notification({data:{apptitle:"APP_SETTINGS_NAME",title:"Password error",message:"The Password and the repeat Password are not the same.",img:"/public/img/Apps/light_mode/settings.webp"}}):M.onshow_notification({data:{apptitle:"APP_SETTINGS_NAME",title:"Password too short",message:"The Password can't be shorter than 6 characters",img:"/public/img/Apps/light_mode/settings.webp"}})},checkValidMail(){if(this.appleid.register.mail.length>5)if(this.appleid.register.mail.length<16){if(this.appleid.register.mail.includes("@")){M.onshow_notification({data:{apptitle:"APP_SETTINGS_NAME",title:"Illegal character",message:"You are not allowed to have @ in the mail",img:"/public/img/Apps/light_mode/settings.webp"}});return}M.checkValidMail(this.appleid.register.mail+this.config.mail_domain).then(e=>{e?M.onshow_notification({data:{apptitle:"APP_SETTINGS_NAME",title:"Mail already in use",message:"This mail is already in use",img:"/public/img/Apps/light_mode/settings.webp"}}):(this.appleid.register.emailMenu=!1,this.appleid.register.passwordMenu=!0)})}else M.onshow_notification({data:{apptitle:"APP_SETTINGS_NAME",title:"Email too long",message:"The email can't be longer than 15 characters",img:"/public/img/Apps/light_mode/settings.webp"}});else M.onshow_notification({data:{apptitle:"APP_SETTINGS_NAME",title:"Email too short",message:"The email can't be shorter than 6 characters",img:"/public/img/Apps/light_mode/settings.webp"}})},loginAccount(){M.loginCloudAccount(this.appleid.login.mail,this.appleid.login.password),this.closeRegisterAccountMenu()},openRegisterAccountMenu(){this.setCreateAccMenu(!0),this.appleid.login.mail="",this.appleid.login.password="",this.appleid.login.needpassword=!1,this.appleid.loginMenu=!0,this.appleid.registerMenu=!1,this.appleid.register.mail="",this.appleid.register.password="",this.appleid.register.repeatpassword="",this.appleid.register.birth=""},openCreateAccount(){this.appleid.loginMenu=!1,this.appleid.registerMenu=!0,this.appleid.register.nameMenu=!0},closeRegisterAccountMenu(){document.getElementById("settings-app-account-create-box").classList.add("gallery-photoshare-out"),setTimeout((function(){this.appleid.registerMenu=!1,this.appleid.loginMenu=!1}).bind(this),390),this.setCreateAccMenu(!1)}},mounted(){this.emitter.on("openAppleLogin",()=>{this.openRegisterAccountMenu()}),this.emitter.on("closeAppleLogin",()=>{this.closeRegisterAccountMenu()})},beforeUnmount(){this.emitter.off("openAppleLogin"),this.emitter.off("closeAppleLogin"),this.setCreateAccMenu(!1)}},fL={key:0,class:"settings-app-account-create-box",id:"settings-app-account-create-box"},hL=["disabled"],AL=["disabled"],gL={id:"setup-box-select-country-text",style:{top:"5vh","font-size":"2.5vh",width:"30vh"}},mL={id:"setup-box-select-country-text",style:{top:"9vh","font-size":"1.3vh","font-weight":"normal",width:"100%"}},pL={style:{position:"absolute",color:"black","font-weight":"bold",top:"18.5vh","z-index":"50","font-size":"1.3vh",left:"1vh"}},_L={key:2,style:{position:"absolute",color:"black","font-weight":"bold",top:"21.6vh","z-index":"50","font-size":"1.3vh",left:"1vh"}},FL={key:1,class:"settings-app-account-create-box-2",id:"settings-app-account-create-box"},bL={id:"setup-box-select-country-text",style:{top:"5vh","font-weight":"bold","font-size":"2.3vh",width:"15vh"}},vL=["placeholder"],yL=["placeholder"],wL={style:{position:"absolute",color:"black","font-weight":"bold",top:"22.5vh","z-index":"50","font-size":"1.5vh",left:"2.5vh"}},CL=["disabled"],kL={key:2,class:"settings-app-account-create-box-2",id:"settings-app-account-create-box-2"},EL={id:"setup-box-select-country-text",style:{top:"6vh","font-weight":"bold","font-size":"2.4vh",width:"100%"}},BL={style:{position:"absolute",color:"black","font-weight":"bold",top:"14vh","z-index":"50","font-size":"1.5vh",left:"3.5vh"}},SL={style:{position:"absolute",color:"#a9a6a6","font-weight":"normal",top:"14.5vh","z-index":"50","font-size":"1.2vh",right:"3.5vh"}},DL={style:{position:"absolute",color:"#a9a6a6","font-weight":"normal","font-family":"SF-Pro-Light",top:"18vh","z-index":"50","font-size":"1.2vh",left:"0",right:"0","margin-left":"auto","margin-right":"auto"}},xL=["disabled"],TL={key:3,class:"settings-app-account-create-box-2",id:"settings-app-account-create-box"},IL={id:"setup-box-select-country-text",style:{top:"6vh","font-weight":"bold","font-size":"2.4vh",width:"100%"}},PL={style:{position:"absolute",color:"black","font-weight":"bold",top:"14vh","z-index":"50","font-size":"1.5vh",left:"3.5vh"}},ML={style:{position:"absolute",color:"black","font-weight":"bold",top:"17.8vh","z-index":"50","font-size":"1.5vh",left:"3.5vh"}},LL=["placeholder"],RL=["placeholder"],UL=["disabled"];function OL(e,t,i,n,a,s){return p(),b(ne,null,[a.appleid.loginMenu?(p(),b("div",fL,[d("p",{onClick:t[0]||(t[0]=(...r)=>s.closeRegisterAccountMenu&&s.closeRegisterAccountMenu(...r)),class:"settings-app-account-create-box-back"},_(e.IntlString("APP_SETTINGS_APPLEID_CANCEL")),1),a.appleid.login.needpassword?D("",!0):(p(),b("button",{key:0,class:"settings-app-account-create-box-next",onClick:t[1]||(t[1]=r=>a.appleid.login.needpassword=!0),disabled:a.appleid.login.mail==""},_(e.IntlString("SETTINGS_APP_APPLEID_NEXT_BUTTON")),9,hL)),a.appleid.login.needpassword?(p(),b("button",{key:1,class:"settings-app-account-create-box-next",onClick:t[2]||(t[2]=(...r)=>s.loginAccount&&s.loginAccount(...r)),disabled:a.appleid.login.mail==""||a.appleid.login.password==""},_(e.IntlString("SETTINGS_APP_APPLEID_NEXT_BUTTON")),9,AL)):D("",!0),d("h1",gL,_(e.IntlString("SETTINGS_APP_ACCOUNT_ROADID")),1),d("p",mL,_(e.IntlString("SETTINGS_APP_APPLEID_SIGN_IN_TEXT")),1),d("p",pL,_(e.IntlString("SETTINGS_APP_ACCOUNT_ROADID")),1),Re(d("input",{onFocus:t[3]||(t[3]=r=>s.focus(!0)),onFocusout:t[4]||(t[4]=r=>s.focus(!1)),type:"email",placeholder:"Email",class:"settings-app-account-create-input",style:{"padding-left":"9vh"},"onUpdate:modelValue":t[5]||(t[5]=r=>a.appleid.login.mail=r)},null,544),[[Ne,a.appleid.login.mail]]),this.appleid.login.needpassword?(p(),b("p",_L,_(e.IntlString("SETTINGS_APP_APPLEID_PASSWORD")),1)):D("",!0),this.appleid.login.needpassword?Re((p(),b("input",{key:3,onFocus:t[6]||(t[6]=r=>s.focus(!0)),onFocusout:t[7]||(t[7]=r=>s.focus(!1)),type:"password",placeholder:"Required",class:"settings-app-account-create-input",style:{"padding-left":"9vh",top:"22vh"},"onUpdate:modelValue":t[8]||(t[8]=r=>a.appleid.login.password=r)},null,544)),[[Ne,a.appleid.login.password]]):D("",!0),d("p",{id:"setup-box-select-country-text",style:et([{top:this.appleid.login.needpassword?"27vh":"24vh"},{color:"#0a7afe","font-size":"1.2vh","font-weight":"normal",width:"100%"}]),onClick:t[9]||(t[9]=(...r)=>s.openCreateAccount&&s.openCreateAccount(...r))},_(e.IntlString("SETTINGS_APP_APPLEID_DONT_HAVE_ROADID")),5),d("div",{class:"settings-app-account-create-box-apps",style:et({top:this.appleid.login.needpassword?"34vh":"31vh"})},t[32]||(t[32]=[d("img",{src:oL,style:{width:"3vh"}},null,-1),d("img",{src:lL,style:{width:"3vh"}},null,-1),d("img",{src:uL,style:{width:"3vh"}},null,-1),d("img",{src:cL,style:{width:"3vh"}},null,-1)]),4),d("p",{id:"setup-box-select-country-text",style:et([{top:this.appleid.login.needpassword?"39vh":"37vh"},{"font-size":"1.1vh","font-family":"'SF-Pro-Light'","font-weight":"bold",width:"100%"}])},_(e.IntlString("SETTINGS_APP_APPLEID_SIGN_IN_EXPLAIN")),5)])):D("",!0),a.appleid.registerMenu&&a.appleid.register.nameMenu?(p(),b("div",FL,[d("p",{onClick:t[10]||(t[10]=(...r)=>s.closeRegisterAccountMenu&&s.closeRegisterAccountMenu(...r)),class:"settings-app-account-create-box-back"},_(e.IntlString("APP_SETTINGS_APPLEID_CANCEL")),1),d("h1",bL,_(e.IntlString("SETTINGS_APP_APPLEID_NAME_BIRTH_HEADER")),1),Re(d("input",{onFocus:t[11]||(t[11]=r=>s.focus(!0)),onFocusout:t[12]||(t[12]=r=>s.focus(!1)),type:"text",placeholder:e.IntlString("SETTINGS_APP_APPLEID_SIGN_IN_FIRSTNAME"),class:"settings-app-account-create-input-2",style:{"border-top-left-radius":"1vh","border-top-right-radius":"1vh","padding-left":"1vh"},"onUpdate:modelValue":t[13]||(t[13]=r=>a.appleid.register.firstname=r)},null,40,vL),[[Ne,a.appleid.register.firstname]]),Re(d("input",{onFocus:t[14]||(t[14]=r=>s.focus(!0)),onFocusout:t[15]||(t[15]=r=>s.focus(!1)),type:"text",placeholder:e.IntlString("SETTINGS_APP_APPLEID_SIGN_IN_LASTNAME"),class:"settings-app-account-create-input-2",style:{top:"18.8vh","padding-left":"1vh","border-bottom-left-radius":"1vh","border-bottom-right-radius":"1vh","border-bottom":"none"},"onUpdate:modelValue":t[16]||(t[16]=r=>a.appleid.register.lastname=r)},null,40,yL),[[Ne,a.appleid.register.lastname]]),d("p",wL,_(e.IntlString("SETTINGS_APP_APPLEID_DATE_OF_BIRTH")),1),Re(d("input",{placeholder:"12/12/1990","onUpdate:modelValue":t[17]||(t[17]=r=>a.appleid.register.birth=r),class:"settings-app-account-create-input-date"},null,512),[[Ne,a.appleid.register.birth]]),d("button",{class:"settings-app-account-create-continue-button",onClick:t[18]||(t[18]=(...r)=>s.changeToMailSite&&s.changeToMailSite(...r)),disabled:a.appleid.register.firstname==""||a.appleid.register.lastname==""||a.appleid.register.birth==""},_(e.IntlString("SETTINGS_APP_APPLEID_CONTINUE_BUTTON")),9,CL)])):D("",!0),a.appleid.registerMenu&&a.appleid.register.emailMenu?(p(),b("div",kL,[d("p",{onClick:t[19]||(t[19]=r=>{this.appleid.register.emailMenu=!1,this.appleid.register.nameMenu=!0}),class:"settings-app-account-create-box-back"},_(e.IntlString("SETTINGS_APP_BACK_TO_SETTINGS")),1),d("h1",EL,_(e.IntlString("SETTINGS_APP_APPLEID_MAIL_ADRESS")),1),d("p",BL,_(e.IntlString("SETTINGS_APP_APPLEID_MAIL")),1),d("p",SL,_(e.config.mail_domain),1),Re(d("input",{onFocus:t[20]||(t[20]=r=>s.focus(!0)),onFocusout:t[21]||(t[21]=r=>s.focus(!1)),max:"15",maxlength:"15",required:"required",type:"text",class:"settings-app-account-create-input-2",style:{top:"14.65vh","border-bottom":"none","padding-left":"6vh",width:"60%","border-radius":"0.8vh"},"onUpdate:modelValue":t[22]||(t[22]=r=>a.appleid.register.mail=r)},null,544),[[Ne,a.appleid.register.mail]]),d("p",DL,_(e.IntlString("SETTINGS_APP_APPLEID_NEW_ROADPAD_ID")),1),d("button",{class:"settings-app-account-create-continue-button",onClick:t[23]||(t[23]=(...r)=>s.checkValidMail&&s.checkValidMail(...r)),disabled:a.appleid.register.mail==""},_(e.IntlString("SETTINGS_APP_APPLEID_CONTINUE_BUTTON")),9,xL)])):D("",!0),a.appleid.registerMenu&&a.appleid.register.passwordMenu?(p(),b("div",TL,[d("p",{onClick:t[24]||(t[24]=r=>{this.appleid.register.passwordMenu=!1,this.appleid.register.emailMenu=!0}),class:"settings-app-account-create-box-back"},_(e.IntlString("SETTINGS_APP_BACK_TO_SETTINGS")),1),d("h1",IL,_(e.IntlString("SETTINGS_APP_ACCOUNT_ROADID"))+" "+_(e.IntlString("SETTINGS_APP_APPLEID_PASSWORD")),1),d("p",PL,_(e.IntlString("SETTINGS_APP_APPLEID_PASSWORD")),1),d("p",ML,_(e.IntlString("SETTINGS_APP_APPLEID_VERIFY")),1),Re(d("input",{onFocus:t[25]||(t[25]=r=>s.focus(!0)),onFocusout:t[26]||(t[26]=r=>s.focus(!1)),max:"64",placeholder:e.IntlString("SETTINGS_APP_APPLEID_PASSWORD_REQUIRED"),maxlength:"64",required:"required",type:"password",class:"settings-app-account-create-input-2",style:{top:"14.5vh","padding-left":"10vh",width:"50%","border-top-left-radius":"1vh","border-top-right-radius":"1vh"},"onUpdate:modelValue":t[27]||(t[27]=r=>a.appleid.register.password=r)},null,40,LL),[[Ne,a.appleid.register.password]]),Re(d("input",{onFocus:t[28]||(t[28]=r=>s.focus(!0)),onFocusout:t[29]||(t[29]=r=>s.focus(!1)),max:"64",placeholder:e.IntlString("SETTINGS_APP_APPLEID_RETYPE_PASSWORD"),maxlength:"64",required:"required",type:"password",class:"settings-app-account-create-input-2",style:{top:"18.3vh","border-bottom":"none","padding-left":"10vh",width:"50%","border-bottom-right-radius":"1vh","border-bottom-left-radius":"1vh"},"onUpdate:modelValue":t[30]||(t[30]=r=>a.appleid.register.repeatpassword=r)},null,40,RL),[[Ne,a.appleid.register.repeatpassword]]),d("button",{class:"settings-app-account-create-continue-button",onClick:t[31]||(t[31]=(...r)=>s.checkPassword&&s.checkPassword(...r)),disabled:a.appleid.register.password.length<6||a.appleid.register.repeatpassword!=a.appleid.register.password},_(e.IntlString("SETTINGS_APP_APPLEID_CONTINUE_BUTTON")),9,UL)])):D("",!0)],64)}const U3=ke(dL,[["render",OL],["__scopeId","data-v-bc4ab5c5"]]),Wt=ti("call",{state:()=>({callList:[],incomingCallNumber:null,outgoingCallNumber:null,inCallNumber:null,isInCall:!1,isMuted:!1,callIsAnonym:!1,callAnonymously:localStorage.roadphone_call_anonymous?parseInt(localStorage.roadphone_call_anonymous):0,callTime:"0:00",groupCall:{id:null,owner:null,name:null,members:[],joined:[]},inGroupCall:!1,phonebox:!1,speaker:!1,blockAnonymCall:localStorage.roadphone_block_call_anonymous?parseInt(localStorage.roadphone_block_call_anonymous):0}),getters:{getCallList(){return this.callList.sort((e,t)=>t.id-e.id)}},actions:{setPhoneSpeaker(e){this.speaker=e},setGroupCall(e,t,i,n){this.groupCall.id=e,this.groupCall.owner=t,this.groupCall.name=i,this.groupCall.members=n},setGroupCallOwner(e){this.groupCall.owner=e},setCallTime(e){this.callTime=e},setCallMuted(e){this.isMuted=e},setAnonymously(e){localStorage.roadphone_call_anonymous=e,this.callAnonymously=e},setBlockAnonymCall(e){localStorage.roadphone_block_call_anonymous=e,this.blockAnonymCall=e}}}),li=ti("tellonym",{state:()=>({tellonymUsername:localStorage.roadphone_tellonym_username,tellonymMail:localStorage.roadphone_tellonym_mail,tellonymPassword:localStorage.roadphone_tellonym_password,tellonymAvatarUrl:localStorage.roadphone_tellonym_avatarUrl,tellonymNotification:localStorage.roadphone_tellonym_notif?parseInt(localStorage.roadphone_tellonym_notif):1,tellonymNotificationSound:localStorage.roadphone_tellonym_notif_sound!=="false",tells:[],usertells:[],usertellsanswered:[],userTellsFromUser:[],tellonymUserInformation:null,answerTell:null,sendTell:null,user:[]}),getters:{gettellonymUsername(){return this.tellonymUsername},gettellonymPassword(){return this.tellonymPassword},gettellonymAvatarUrl(){return this.tellonymAvatarUrl},getTellonymTells(){return this.tells},getTellonymUserTells(){return this.usertells},getTellonymUserTellsFromUser(){return this.userTellsFromUser},getTellonymUserInformation(){return this.tellonymUserInformation},gettellonymMail(){return this.tellonymMail},getAnswerTell(){return this.answerTell},getTellonymUserTellsAnswered(){return this.usertellsanswered},getSendTell(){return this.sendTell}},actions:{setAccount(e){localStorage.roadphone_tellonym_username=e.username,localStorage.roadphone_tellonym_password=e.password,localStorage.roadphone_tellonym_mail=e.mail,localStorage.roadphone_tellonym_avatarUrl=e.avatarUrl,this.tellonymUsername=e.username,this.tellonymPassword=e.password,this.tellonymAvatarUrl=e.avatarUrl,this.tellonymMail=e.mail,Te.push("/tellonym/home")},tellonymLogout(){localStorage.removeItem("roadphone_tellonym_username"),localStorage.removeItem("roadphone_tellonym_mail"),localStorage.removeItem("roadphone_tellonym_password"),localStorage.removeItem("roadphone_tellonym_avatarUrl"),this.tellonymUsername=void 0,this.tellonymMail=void 0,this.tellonymPassword=void 0,this.tellonymAvatarUrl=void 0,Te.push("/tellonym/login")},setAnswerTell(e){this.answerTell=e},setTellonymAvatar(e){localStorage.roadphone_tellonym_avatarUrl=e,this.tellonymAvatarUrl=e},setSendTell(e){this.sendTell=e},toggleTellonymNotification(){this.tellonymNotification===1?this.tellonymNotification=0:this.tellonymNotification=1,localStorage.roadphone_tellonym_notif=this.tellonymNotification}}}),Kt=ti("insta",{state:()=>({instaAccountId:localStorage.roadphone_instagram_accountId,instaFirstname:localStorage.roadphone_instagram_firstname,instaLastname:localStorage.roadphone_instagram_lastname,instaUsername:localStorage.roadphone_instagram_username,instaPassword:localStorage.roadphone_instagram_password,instaAvatarUrl:localStorage.roadphone_instagram_avatarUrl?localStorage.roadphone_instagram_avatarUrl:"/public/img/user.png",instaNotification:localStorage.roadphone_instagram_notification?parseInt(localStorage.roadphone_instagram_notification):1,instaNotificationSound:localStorage.roadphone_instagram_notif_sound!=="false",posts:[],storys:[],users:[],instaVerified:localStorage.roadphone_instagram_verified?parseInt(localStorage.roadphone_instagram_verified):0}),getters:{getInstaFirstname(){return this.instaFirstname},getInstaLastname(){return this.instaLastname},getInstaUsername(){return this.instaUsername},getInstaSelfPosts(){return this.posts.filter(t=>t.author===this.instaUsername).sort(function(t,i){return i.id-t.id})},getInstaPosts(){return this.posts.sort((e,t)=>t.id-e.id)}},actions:{checkInstaAvatar(){var e=new Image;e.onerror=(function(){this.instaAvatarUrl="/public/img/user.png",localStorage.roadphone_instagram_avatarUrl="/public/img/user.png"}).bind(this),e.src=this.instaAvatarUrl},instaLogout(){localStorage.removeItem("roadphone_instagram_firstname"),localStorage.removeItem("roadphone_instagram_lastname"),localStorage.removeItem("roadphone_instagram_username"),localStorage.removeItem("roadphone_instagram_password"),localStorage.removeItem("roadphone_instagram_avatarUrl"),localStorage.removeItem("roadphone_instagram_verified"),localStorage.removeItem("roadphone_instagram_accountId"),this.instaUsername=void 0,this.instaPassword=void 0,this.instaAvatarUrl=void 0,this.instaFirstname=void 0,this.instaLastname=void 0,this.instaVerified=void 0,this.instaAccountId=void 0,Te.push("/instagram/login")},setAccount(e){localStorage.roadphone_instagram_accountId=e.accountId,localStorage.roadphone_instagram_firstname=e.firstname,localStorage.roadphone_instagram_lastname=e.lastname,localStorage.roadphone_instagram_username=e.username,localStorage.roadphone_instagram_password=e.password,localStorage.roadphone_instagram_avatarUrl=e.avatarUrl,localStorage.roadphone_instagram_verified=e.verify,this.instaFirstname=e.firstname,this.instaLastname=e.lastname,this.instaUsername=e.username,this.instaPassword=e.password,this.instaAvatarUrl=e.avatarUrl,this.instaVerified=e.verify,this.instaAccountId=e.accountId,M.instagram_getPosts(e.username,e.password),Te.push("/instagram/home")},updatePostLikes(e,t){let i=this.posts.find(n=>n.id===e);i&&(i.likes=t)},updatePostisLiked(e,t){let i=this.posts.find(n=>n.id===e);i&&(i.isLikes=!!t)},toggleInstagramNotification(){this.instaNotification===1?this.instaNotification=0:this.instaNotification=1,localStorage.roadphone_instagram_notification=this.instaNotification}}}),Xr=ti("yellow",{state:()=>({posts:[],yellowNotification:localStorage.roadphone_yellow_notif?parseInt(localStorage.roadphone_yellow_notif):1,yellowNotificationSound:localStorage.roadphone_yellow_notif_sound!=="false"}),getters:{getYellowPosts(){return this.posts.sort(function(e,t){return t.id-e.id}),this.posts}},actions:{toggleYellowNotification(){this.yellowNotification===1?this.yellowNotification=0:this.yellowNotification=1,localStorage.roadphone_yellow_notif=this.yellowNotification}}}),wi=ti("twitter",{state:()=>({twitterUsername:localStorage.roadphone_twitter_username,twitterPassword:localStorage.roadphone_twitter_password,twitterAvatarUrl:localStorage.roadphone_twitter_avatarUrl?localStorage.roadphone_twitter_avatarUrl:"/public/img/user.png",twitterCreated:localStorage.roadphone_twitter_created,twitterNotification:localStorage.roadphone_twitter_notif?parseInt(localStorage.roadphone_twitter_notif):1,twitterNotificationSound:localStorage.roadphone_twitter_notif_sound!=="false",tweets:[],userTweets:[],twitterVerified:localStorage.roadphone_twitter_verified?parseInt(localStorage.roadphone_twitter_verified):0,users:[]}),getters:{getTweets(){return this.tweets.sort((e,t)=>t.id-e.id)},gettwitterUsername(){return this.twitterUsername},gettwitterPassword(){return this.twitterPassword},gettwitterAvatarUrl(){return this.twitterAvatarUrl==="/public/img/app/user.png"?"/public/img/user.png":this.twitterAvatarUrl},gettwitterNotification(){return this.twitterNotification},gettwitterNotificationSound(){return this.twitterNotificationSound}},actions:{checkTwitterAvatar(){var e=new Image;e.onerror=(function(){this.twitterAvatarUrl="/public/img/user.png",localStorage.roadphone_twitter_avatarUrl="/public/img/user.png"}).bind(this),e.src=this.twitterAvatarUrl},twitterLogout(){localStorage.removeItem("roadphone_twitter_username"),localStorage.removeItem("roadphone_twitter_password"),localStorage.removeItem("roadphone_twitter_avatarUrl"),localStorage.removeItem("roadphone_twitter_created"),this.twitterUsername=void 0,this.twitterPassword=void 0,this.twitterAvatarUrl=void 0,this.twitterCreated=void 0,Te.push("/twitter/login")},setAccount(e){localStorage.roadphone_twitter_username=e.username,localStorage.roadphone_twitter_password=e.password,localStorage.roadphone_twitter_avatarUrl=e.avatarUrl,e.verify&&(localStorage.roadphone_twitter_verified=e.verify,this.twitterVerified=e.verify),e.created&&(localStorage.roadphone_twitter_created=e.created,this.twitterCreated=e.created),this.twitterUsername=e.username,this.twitterPassword=e.password,this.twitterAvatarUrl=e.avatarUrl,Te.push("/twitter/home")},setTwitterNotificationSound(e){localStorage.roadphone_twitter_notif_sound=e,this.twitterNotificationSound=e},toggleTwitterNotification(){this.twitterNotification===1?this.twitterNotification=0:this.twitterNotification=1,localStorage.roadphone_twitter_notif=this.twitterNotification}}}),vs=ti("livestream",{state:()=>({livestreams:[],livestreamUsername:localStorage.roadphone_livestream_username,livestreamPassword:localStorage.roadphone_livestream_password,livestreamAvatarUrl:localStorage.roadphone_livestream_avatarUrl?localStorage.roadphone_livestream_avatarUrl:"/public/img/user.png",livestreamMessages:[],livestreamNotification:localStorage.roadphone_livestream_notification?parseInt(localStorage.roadphone_livestream_notification):1}),getters:{getLivestreamUsername(){return this.livestreamUsername}},actions:{livestreamLogout(){localStorage.removeItem("roadphone_livestream_username"),localStorage.removeItem("roadphone_livestream_password"),localStorage.removeItem("roadphone_livestream_avatarUrl"),this.livestreamUsername=void 0,this.livestreamPassword=void 0,this.livestreamAvatarUrl=void 0,Te.push("/livestream/login")},setAccount(e){localStorage.roadphone_livestream_username=e.username,localStorage.roadphone_livestream_password=e.password,localStorage.roadphone_livestream_avatarUrl=e.avatarUrl,this.livestreamUsername=e.username,this.livestreamPassword=e.password,this.livestreamAvatarUrl=e.avatarUrl,Te.push("/livestream")},removeLiveStream(e){this.livestreams=this.livestreams.filter(t=>t.streamId!==e)},changePreviewLiveStream(e,t){this.livestreams=this.livestreams.map(i=>(i.streamId===e&&(i.preview=t),i))},toggleLivestreamNotification(){this.livestreamNotification===1?this.livestreamNotification=0:this.livestreamNotification=1,localStorage.roadphone_livestream_notification=this.livestreamNotification},updateLivestreamViewer(e,t){this.livestreams=this.livestreams.map(i=>(i.streamId===e&&(i.viewer=t),i))}}}),Jr=ti("news",{state:()=>({posts:[],newsNotification:localStorage.roadphone_news_notif?parseInt(localStorage.roadphone_news_notif):1,newsNotificationSound:localStorage.roadphone_news_notif_sound!=="false"}),getters:{getNewsPosts(){return this.posts.sort(function(e,t){return t.id-e.id}),this.posts}},actions:{toggleNewsNotification(){this.newsNotification===1?this.newsNotification=0:this.newsNotification=1,localStorage.roadphone_news_notif=this.newsNotification}}}),NL="/public/assets/settings-BaQNFpm3.svg",HL="/public/assets/settingsgrey-DW2iVnea.svg",QL="/public/assets/science-BZHou45s.svg",jL="/public/assets/scienceblue-DFaWrlhE.svg",Li="/public/img/settings/back-black.svg",Ri="/public/img/settings/back-white.svg",GL={name:"SettingsHome",components:{SettingsLoginRoadID:U3,Homebutton:Xe,Icon:Qe},data(){return{site:{home:!0,general:!1,display:!1,controlcenter:!1,wallpaper:!1,about:!1,updates:!1,airdrop:!1,sound:!1,call:!1,datetime:!1,notifications:!1,language:!1,reset:!1,bluetooth:!1,selectwallpaper:!1,music:!1,changenumber:!1,focus:!1,faceid:!1},brightnessinput:null,wallpaperselectinput:"",ringtonesound:null,lastringtone:null,newnumber:""}},computed:{...Z(ue,["config","otherproducts","darkmode","updateAvailable","changelog","newVersion","getRingtone","version","hour24time","getLang","IntlString","getPhoneNumber","bluetooth","installedapps","flightmode","getBackgrounds","brightness","focus","lockscreen","lockscreenPin","needlockscreenPin","large_app_icons","iconcolor","apps"]),...Z(_i,["getAccountID","createAccMenu","getProfilePicture","getFirstName","getLastName"]),...Z(Kn,["airdropreceiveoptions"]),...Z(Wt,["callAnonymously","blockAnonymCall"]),...Z(li,["tellonymNotification"]),...Z(Kt,["instaNotification"]),...Z(vs,["livestreamNotification"]),...Z(Xr,["yellowNotification"]),...Z(wi,["twitterNotification"]),...Z(Jr,["newsNotification"]),...Z(Qt,["streamermode"]),...Z(ki,["getVideos","getPhotos"]),getChangelogText(){let e=this.changelog;return e=e.replace(/(?:\r\n|\r|\n)/g,"
"),e}},methods:{...xe(ue,["setHeaderBlack","setDarkMode","setRingtone","setUpdateData","set24HourTime","setBluetooth","setFlightmode","setBrightness","setNeedSetup","setLang","setBackgroundURL","setFocus","toggleLockscreen","toggleneedLockscreenPin","setRoadPods","toggleLargeAppIcons","setIconColor"]),...xe(Kn,["setAirdropReceiveOptions"]),...xe(Wt,["setAnonymously","setBlockAnonymCall"]),...xe(Qt,["setStreamerMode"]),...xe(Kt,["toggleInstagramNotification"]),...xe(wi,["toggleTwitterNotification"]),...xe(Xr,["toggleYellowNotification"]),...xe(li,["toggleTellonymNotification"]),...xe(vs,["toggleLivestreamNotification"]),...xe(Ta,["removeLockScreenNotifyFromListByApp"]),...xe(Jr,["toggleNewsNotification"]),brightnesschange(){let e=this.brightnessinput;e<10&&(e=10),this.setBrightness(e)},getAppIcon(e){return e.light_icon?this.iconcolor==="light"?e.light_icon:e.dark_icon:e.icon},findAppIcon(e){const t=this.apps.find(i=>i.redirect===e);return t?this.getAppIcon(t):"/public/img/Apps/unknownapp.png"},setDisplayMode:function(e){e==="white"?(document.getElementById("settings-app-display-darkmode-checkbox").checked=!1,document.getElementById("settings-app-display-whitemode-checkbox").checked=!0,this.setDarkMode(!1),this.setHeaderBlack(!0)):(document.getElementById("settings-app-display-darkmode-checkbox").checked=!0,document.getElementById("settings-app-display-whitemode-checkbox").checked=!1,this.setDarkMode(!0),this.setHeaderBlack(!1))},hourtime(){if(this.hour24time==0){this.set24HourTime(1);return}this.set24HourTime(0)},focusinput(e){M.inputFocus(e)},bluetooth2(){if(this.bluetooth==0){this.setBluetooth(1);return}this.setBluetooth(0)},openShop(){window.invokeNative("openUrl","https://fivem.roadshop.org/")},setringtone2(e,t){this.ringtonesound&&(this.ringtonesound.pause(),this.ringtonesound=null),this.ringtonesound=new Howl({src:[t],loop:!1,volume:.5,html5:!0,preload:!0}),this.ringtonesound.play(),this.setRingtone(e)},anonymcall(){if(this.callAnonymously==0){this.setAnonymously(1);return}this.setAnonymously(0)},blockanonymcall(){if(this.blockAnonymCall==0){this.setBlockAnonymCall(1);return}this.setBlockAnonymCall(0)},changeStreamerMode(){if(this.streamermode==0){this.setStreamerMode(1),M.post("streamerMod",{streamerMod:!0});return}this.setStreamerMode(0),M.post("streamerMod",{streamerMod:!1})},setWallpaper(e){this.setBackgroundURL(e),M.onshow_notification({data:{apptitle:"APP_SETTINGS_NAME",message:"APP_ZEDGE_SET_BACKGROUND",img:"/public/img/Apps/light_mode/settings.webp"}})},setCustomWallpaper(){let e=new Image;e.onerror=e.onabort=function(){M.onshow_notification({data:{apptitle:"APP_SETTINGS_NAME",message:"Invalid image, please remove the image url or use a valid image url.",img:"/public/img/Apps/light_mode/settings.webp"}})},e.onload=()=>{this.setBackgroundURL(this.wallpaperselectinput),M.onshow_notification({data:{apptitle:"APP_SETTINGS_NAME",message:"APP_ZEDGE_SET_BACKGROUND",img:"/public/img/Apps/light_mode/settings.webp"}}),this.changeSite("wallpaper"),this.wallpaperselectinput=""},e.src=this.wallpaperselectinput},openRegisterAccountMenu(){this.emitter.emit("openAppleLogin")},async changeSite(e){switch(e){case"home":this.ringtonesound&&(this.ringtonesound.pause(),this.ringtonesound=null);break}for(const t in this.site)this.site[t]=t===e},changeFlightMode(){this.flightmode==0?(this.setFlightmode(1),M.post("flightmode",{flightmode:1})):(this.setFlightmode(0),M.post("flightmode",{flightmode:0}))},resetPhone(){M.onshow_notification({data:{img:"/public/img/Apps/light_mode/settings.webp",apptitle:"APP_SETTINGS_NAME",title:"APP_SETTINGS_IPAD_RESET",message:"APP_SETTINGS_IPAD_RESET_MESSAGE"}}),M.deleteSettings(),this.setNeedSetup(!0),Te.push("/resetphone")},confirmChangeNumber(){M.post("changeNumber",{number:this.newnumber})},roadpodsconnect(){if(this.otherproducts.roadpods===!1){M.post("connectRoadPods");return}this.setRoadPods(!1),M.post("roadpods_stop"),M.onshow_notification({data:{img:"/public/img/Apps/light_mode/settings.webp",apptitle:"APP_SETTINGS_NAME",title:"APP_SETTINGS_ROADPODS_DISCONNECTED",message:"APP_SETTINGS_ROADPODS_DISCONNECTED_TEXT"}})}},mounted(){this.$route.params.appleid&&this.openRegisterAccountMenu(),this.darkmode?this.setHeaderBlack(!1):this.setHeaderBlack(!0),this.brightnessinput=this.brightness,this.newnumber=this.getPhoneNumber,setTimeout((function(){const e=this.config.Ringtones;for(const[t,i]of Object.entries(e))this.lastringtone=i}).bind(this),1e3),this.removeLockScreenNotifyFromListByApp("settings")},beforeUnmount(){this.ringtonesound&&(this.ringtonesound.pause(),this.ringtonesound=null)}},zL={class:"settings-app-header-title"},qL={class:"settings-app-container-box-img"},VL=["src"],WL={style:{display:"flex","flex-direction":"column","margin-left":"0.7vh"}},KL={class:"settings-app-container-box-roadid-username",style:{margin:"0"}},YL={class:"settings-app-container-box-roadid-text",style:{color:"gray",margin:"0","margin-top":"0.2vh"}},XL={class:"settings-app-container-box-img"},JL=["src"],ZL={style:{display:"flex","flex-direction":"column","margin-left":"0.7vh"}},$L={class:"settings-app-container-box-roadid-username",style:{margin:"0",color:"#0a86ff","font-size":"1.2vh","font-weight":"normal"}},e8={class:"settings-app-container-box-roadid-text",style:{margin:"0"}},t8={class:"settings-app-container-box-selection"},i8={class:"settings-app-container-text"},n8=["checked"],a8={class:"settings-app-container-text"},s8={class:"settings-app-container-text-right",style:{right:"3vh"}},r8={class:"settings-app-container-text"},o8={class:"settings-app-container-text"},l8={class:"settings-app-container-text"},u8={key:0,alt:"AA",src:NL},c8={key:1,alt:"AA",src:HL},d8={class:"settings-app-container-text"},f8={key:0,class:"settings-app-container-red-dot-right"},h8={class:"settings-app-container-text"},A8={key:0,src:QL,style:{display:"block","margin-left":"auto","margin-right":"auto",width:"60%"},alt:"Science"},g8={key:1,src:jL,style:{display:"block","margin-left":"auto","margin-right":"auto",width:"60%"},alt:"Science"},m8={class:"settings-app-container-text"},p8={class:"settings-app-container-text"},_8=["src"],F8={class:"settings-app-container-text"},b8=["src"],v8={class:"settings-app-container-text"},y8={class:"settings-app-header"},w8={key:0,src:Li},C8={key:1,src:Ri},k8={class:"settings-app-header-text"},E8={class:"settings-app-container-text",style:{left:"1vh"}},B8={class:"settings-app-container-text",style:{left:"1vh"}},S8={key:0,class:"settings-app-container-red-dot-right"},D8={class:"settings-app-container-text",style:{left:"1vh"}},x8={class:"settings-app-container-text",style:{left:"1vh"}},T8={class:"settings-app-container-text",style:{left:"1vh"}},I8={class:"settings-app-container-text",style:{left:"1vh"}},P8={class:"settings-app-container-box-selection noborder",style:{cursor:"pointer","margin-left":"1vh"}},M8={class:"settings-app-container-text",style:{color:"#0a7afe",left:"1vh"}},L8={class:"settings-app-header"},R8={key:0,src:Li},U8={key:1,src:Ri},O8={class:"settings-app-header-text",style:{width:"13vh"}},N8={class:"settings-app-display-whitemode-text"},H8={class:"settings-app-display-darkmode-text"},Q8=["checked"],j8=["checked"],G8={class:"settings-app-display-gray-text"},z8={class:"settings-app-container-box-selection noborder",style:{"margin-left":"1vh"}},q8={class:"settings-app-container-text",style:{left:"1vh"}},V8=["checked"],W8={class:"settings-app-display-whitemode-text",style:{top:"3vh"}},K8={class:"settings-app-display-darkmode-text",style:{top:"3vh"}},Y8=["checked"],X8=["checked"],J8={class:"settings-app-header"},Z8={key:0,src:Li},$8={key:1,src:Ri},eR={class:"settings-app-header-text",style:{width:"13vh"}},tR=["onClick"],iR={class:"settings-app-container-text",style:{left:"4vh"}},nR={key:0,src:Li},aR={key:1,src:Ri},sR={class:"settings-app-header-text",style:{width:"13vh",top:"4.3vh"}},rR=["src","onClick"],oR={class:"settings-app-header"},lR={key:0,src:Li},uR={key:1,src:Ri},cR={class:"settings-app-header-text",style:{width:"13vh"}},dR=["disabled"],fR={class:"settings-app-header"},hR={key:0,src:Li},AR={key:1,src:Ri},gR={class:"settings-app-header-text",style:{width:"13vh"}},mR={class:"settings-app-container-text",style:{left:"1vh"}},pR=["checked"],_R={key:0,class:"settings-app-container-box-selection noborder",style:{cursor:"pointer","margin-left":"1vh"}},FR={class:"settings-app-header"},bR={key:0,src:Li},vR={key:1,src:Ri},yR={class:"settings-app-header-text",style:{width:"13vh"}},wR={class:"settings-app-container-box-selection noborder"},CR={class:"settings-app-container-text",style:{left:"1vh"}},kR=["checked"],ER={key:0,class:"settings-app-mydevice-text"},BR={class:"settings-app-container-box-selection",style:{"margin-left":"1vh"}},SR={class:"settings-app-container-text-right",style:{right:"3vh"}},DR={class:"settings-app-container-info-icon-right"},xR={class:"settings-app-container-text",style:{left:"1vh"}},TR={class:"settings-app-container-text-right",style:{right:"3vh"}},IR={class:"settings-app-container-info-icon-right"},PR={class:"settings-app-header"},MR={key:0,src:Li},LR={key:1,src:Ri},RR={class:"settings-app-header-text",style:{width:"13vh"}},UR={class:"settings-app-container-box-selection"},OR=["src"],NR={class:"settings-app-container-text"},HR=["checked"],QR={class:"settings-app-container-box-selection"},jR=["src"],GR={class:"settings-app-container-text"},zR=["checked"],qR={class:"settings-app-container-box-selection"},VR=["src"],WR={class:"settings-app-container-text"},KR=["checked"],YR={class:"settings-app-container-box-selection"},XR=["src"],JR={class:"settings-app-container-text"},ZR=["checked"],$R={class:"settings-app-container-box-selection noborder"},e7=["src"],t7={class:"settings-app-container-text"},i7=["checked"],n7={class:"settings-app-header"},a7={key:0,src:Li},s7={key:1,src:Ri},r7={class:"settings-app-header-text",style:{width:"13vh"}},o7={class:"settings-app-container-box-selection"},l7={class:"settings-app-container-box-icon",style:{color:"rgb(88, 86, 213)",background:"none"}},u7={class:"settings-app-container-text"},c7=["checked"],d7={class:"settings-app-container-box-selection"},f7={class:"settings-app-container-box-icon",style:{color:"rgb(89, 196, 189)",background:"none"}},h7={class:"settings-app-container-text"},A7=["checked"],g7={class:"settings-app-container-box-selection"},m7={class:"settings-app-container-box-icon",style:{background:"none",color:"rgb(163, 87, 215)"}},p7={class:"settings-app-container-text"},_7=["checked"],F7={class:"settings-app-container-box-selection noborder"},b7={class:"settings-app-container-box-icon",style:{background:"none",color:"rgb(89, 174, 196)"}},v7={class:"settings-app-container-text"},y7=["checked"],w7={class:"settings-app-header"},C7={key:0,src:Li},k7={key:1,src:Ri},E7={class:"settings-app-header-text",style:{width:"10vh"}},B7={class:"settings-app-container-box-selection noborder"},S7={class:"settings-app-container-text",style:{left:"1vh"}},D7=["checked"],x7={class:"settings-app-header"},T7={key:0,src:Li},I7={key:1,src:Ri},P7={class:"settings-app-header-text",style:{width:"12vh"}},M7=["onClick"],L7={class:"settings-app-container-text",style:{left:"1vh"}},R7={class:"settings-app-header"},U7={key:0,src:Li},O7={key:1,src:Ri},N7={class:"settings-app-header-text"},H7={class:"settings-app-container-box-selection",style:{"margin-left":"1vh"}},Q7={class:"settings-app-container-text",style:{left:"1vh"}},j7={class:"settings-app-container-text-right"},G7={class:"settings-app-container-box-selection",style:{"margin-left":"1vh"}},z7={class:"settings-app-container-text",style:{left:"1vh"}},q7={class:"settings-app-container-text-right"},V7={class:"settings-app-container-box-selection",style:{"margin-left":"1vh"}},W7={class:"settings-app-container-text",style:{left:"1vh"}},K7={class:"settings-app-container-box-selection noborder",style:{"margin-left":"1vh"}},Y7={class:"settings-app-container-text",style:{left:"1vh"}},X7={class:"settings-app-container-text-right"},J7={class:"settings-app-container-box-selection",style:{"margin-left":"1vh"}},Z7={class:"settings-app-container-text",style:{left:"1vh"}},$7={class:"settings-app-container-text-right"},eU={class:"settings-app-container-box-selection",style:{"margin-left":"1vh"}},tU={class:"settings-app-container-text",style:{left:"1vh"}},iU={class:"settings-app-container-text-right"},nU={class:"settings-app-container-box-selection",style:{"margin-left":"1vh"}},aU={class:"settings-app-container-text",style:{left:"1vh"}},sU={class:"settings-app-container-text-right"},rU={class:"settings-app-container-box-selection",style:{"margin-left":"1vh"}},oU={class:"settings-app-container-text",style:{left:"1vh"}},lU={class:"settings-app-container-box-selection noborder",style:{"margin-left":"1vh"}},uU={class:"settings-app-container-text",style:{left:"1vh"}},cU={class:"settings-app-header"},dU={key:0,src:Li},fU={key:1,src:Ri},hU={class:"settings-app-header-text",style:{width:"10vh"}},AU={key:1,class:"roados-version-text"},gU={class:"roados-update-available-box-os"},mU={key:3,class:"roados-version-text"},pU={class:"settings-app-header"},_U={key:0,src:Li},FU={key:1,src:Ri},bU={class:"settings-app-header-text"},vU={class:"settings-app-container-text",style:{left:"1vh"}},yU={class:"settings-app-container-text",style:{left:"1vh"}},wU={class:"settings-app-container-text",style:{left:"1vh"}},CU={class:"settings-app-header"},kU={key:0,src:Li},EU={key:1,src:Ri},BU={class:"settings-app-header-text"},SU={class:"settings-app-container-text",style:{left:"1vh"}},DU={class:"settings-app-container-text-right",style:{right:"3vh"}},xU={class:"settings-app-container-box-selection",style:{"margin-left":"1vh"}},TU={class:"settings-app-container-text",style:{left:"1vh"}},IU=["checked"],PU={class:"settings-app-container-box-selection noborder",style:{"margin-left":"1vh"}},MU={class:"settings-app-container-text",style:{left:"1vh"}},LU=["checked"],RU={class:"settings-app-header"},UU={key:0,src:Li},OU={key:1,src:Ri},NU={class:"settings-app-header-text"},HU=["disabled"],QU={class:"settings-app-header"},jU={key:0,src:Li},GU={key:1,src:Ri},zU={class:"settings-app-header-text"},qU={class:"settings-app-container-box-selection noborder",style:{"margin-left":"1vh"}},VU={class:"settings-app-container-text",style:{left:"1vh"}},WU=["checked"],KU={class:"settings-app-header"},YU={key:0,src:Li},XU={key:1,src:Ri},JU={class:"settings-app-header-text",style:{width:"18vh"}},ZU={class:"settings-app-container-box-h1"},$U={class:"settings-app-container-box-p"},eO={class:"settings-app-container-text",style:{cursor:"pointer",color:"#0a7afe",left:"1vh"}},tO={class:"settings-app-container-text",style:{cursor:"pointer",color:"#0a7afe",left:"1vh"}};function iO(e,t,i,n,a,s){const r=Y("SettingsLoginRoadID"),o=Y("Icon"),l=Y("font-awesome-icon"),c=Y("Homebutton");return p(),b(ne,null,[T(r),a.site.home?(p(),b("div",{key:0,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%",overflow:"scroll",position:"relative","align-items":"center","justify-content":"center",display:"flex"},class:H({brightness:e.createAccMenu,"darkmode-settings":e.darkmode})},[d("div",zL,_(e.IntlString("SETTINGS_APP_SIDEBAR_HEADER")),1),e.getAccountID!=0&&e.getAccountID!=null&&e.getAccountID!=null?(p(),b("div",{key:0,class:H(["settings-app-container-box-roadid",{"darkmode-settingsbox":e.darkmode}]),onClick:t[0]||(t[0]=f=>e.$router.push("/settings/roadid"))},[d("div",qL,[d("img",{class:"settings-app-container-box-img-img",src:e.getProfilePicture},null,8,VL)]),d("div",WL,[d("div",KL,_(e.getFirstName)+" "+_(e.getLastName),1),d("div",YL,_(e.IntlString("SETTINGS_APP_SIDEBAR_ACCOUNT_LOGGED_IN")),1)])],2)):D("",!0),e.getAccountID==0||e.getAccountID==null||e.getAccountID==null?(p(),b("div",{key:1,class:H(["settings-app-container-box-roadid",{"darkmode-settingsbox":e.darkmode}]),onClick:t[1]||(t[1]=(...f)=>s.openRegisterAccountMenu&&s.openRegisterAccountMenu(...f))},[d("div",XL,[d("img",{class:"settings-app-container-box-img-img",src:e.getProfilePicture},null,8,JL)]),d("div",ZL,[d("div",$L,_(e.IntlString("SETTINGS_APP_SIDEBAR_ACCOUNT_SIGN_IN")),1),d("div",e8,_(e.IntlString("SETTINGS_APP_SIDEBAR_ACCOUNT_NOT_LOGGED_IN")),1)])],2)):D("",!0),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"17vh"}},[d("div",t8,[d("div",{class:H(["settings-app-container-box-icon",{"settings-app-icon-darkmode":e.iconcolor=="dark"}]),style:{"background-color":"orange"}},[e.iconcolor!="dark"?(p(),We(o,{key:0,icon:"fa6-solid:plane"})):D("",!0),e.iconcolor=="dark"?(p(),We(o,{key:1,color:"orange",icon:"fa6-solid:plane"})):D("",!0)],2),d("div",i8,_(e.IntlString("SETTINGS_APP_FLIGHTMODE")),1),d("input",{checked:e.flightmode===1,onChange:t[2]||(t[2]=(...f)=>s.changeFlightMode&&s.changeFlightMode(...f)),class:"apple-switch",type:"checkbox",style:{"margin-top":"0","margin-right":"-1vh"}},null,40,n8)]),d("div",{class:"settings-app-container-box-selection noborder",onClick:t[3]||(t[3]=f=>s.changeSite("bluetooth"))},[d("div",{class:H(["settings-app-container-box-icon",{"settings-app-icon-darkmode":e.iconcolor=="dark"}]),style:{"background-color":"#0a7afe"}},[e.iconcolor!="dark"?(p(),We(o,{key:0,icon:"material-symbols:bluetooth-rounded"})):D("",!0),e.iconcolor=="dark"?(p(),We(o,{key:1,color:"#0a7afe",icon:"material-symbols:bluetooth-rounded"})):D("",!0)],2),d("div",a8,_(e.IntlString("SETTINGS_APP_BLUETOOTH")),1),d("div",s8,_(e.bluetooth==1?"On":"Off"),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})])],2),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"26vh"}},[d("div",{class:"settings-app-container-box-selection",onClick:t[4]||(t[4]=f=>s.changeSite("notifications"))},[d("div",{class:H(["settings-app-container-box-icon",{"settings-app-icon-darkmode":e.iconcolor=="dark"}]),style:{"background-color":"#fe234d"}},[e.iconcolor!="dark"?(p(),We(o,{key:0,icon:"mdi:bell-badge"})):D("",!0),e.iconcolor=="dark"?(p(),We(o,{key:1,color:"#fe234d",icon:"mdi:bell-badge"})):D("",!0)],2),d("div",r8,_(e.IntlString("SETTINGS_APP_NOTIFICATIONS")),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})]),d("div",{class:"settings-app-container-box-selection",onClick:t[5]||(t[5]=f=>s.changeSite("sound"))},[d("div",{class:H(["settings-app-container-box-icon",{"settings-app-icon-darkmode":e.iconcolor=="dark"}]),style:{"background-color":"#fe234d"}},[e.iconcolor!="dark"?(p(),We(o,{key:0,icon:"clarity:volume-up-solid"})):D("",!0),e.iconcolor=="dark"?(p(),We(o,{key:1,color:"#fe234d",icon:"clarity:volume-up-solid"})):D("",!0)],2),d("div",o8,_(e.IntlString("SETTINGS_APP_SOUNDS")),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})]),d("div",{class:"settings-app-container-box-selection noborder",onClick:t[6]||(t[6]=f=>s.changeSite("focus"))},[d("div",{class:H(["settings-app-container-box-icon",{"settings-app-icon-darkmode":e.iconcolor=="dark"}]),style:{"background-color":"#5856d5"}},[e.iconcolor!="dark"?(p(),We(o,{key:0,icon:"ph:moon-fill"})):D("",!0),e.iconcolor=="dark"?(p(),We(o,{key:1,color:"#5856d5",icon:"ph:moon-fill"})):D("",!0)],2),d("div",l8,_(e.IntlString("SETTINGS_APP_FOCUS")),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})])],2),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"39vh"}},[d("div",{class:"settings-app-container-box-selection",onClick:t[7]||(t[7]=f=>s.changeSite("general"))},[d("div",{class:H(["settings-app-container-box-icon",{"settings-app-icon-darkmode":e.iconcolor=="dark"}]),style:{"background-color":"#8e8e93"}},[e.iconcolor!="dark"?(p(),b("img",u8)):D("",!0),e.iconcolor=="dark"?(p(),b("img",c8)):D("",!0)],2),d("div",d8,_(e.IntlString("SETTINGS_APP_GENERAL")),1),e.updateAvailable?(p(),b("div",f8,"1")):D("",!0),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})]),d("div",{class:"settings-app-container-box-selection",onClick:t[8]||(t[8]=f=>s.changeSite("display"))},[d("div",{class:H(["settings-app-container-box-icon",{"settings-app-icon-darkmode":e.iconcolor=="dark"}]),style:{"background-color":"#0a7afe"}},[e.iconcolor!="dark"?(p(),We(o,{key:0,icon:"ph:sun-fill"})):D("",!0),e.iconcolor=="dark"?(p(),We(o,{key:1,color:"#0a7afe",icon:"ph:sun-fill"})):D("",!0)],2),d("div",h8,_(e.IntlString("SETTINGS_APP_DISPLAY_BRIGHTNESS")),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})]),d("div",{class:"settings-app-container-box-selection",onClick:t[9]||(t[9]=f=>s.changeSite("wallpaper"))},[d("div",{class:H(["settings-app-container-box-icon",{"settings-app-icon-darkmode":e.iconcolor=="dark"}]),style:{"background-color":"#34aadb"}},[e.iconcolor!="dark"?(p(),b("img",A8)):D("",!0),e.iconcolor=="dark"?(p(),b("img",g8)):D("",!0)],2),d("div",m8,_(e.IntlString("SETTINGS_APP_WALLPAPER")),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})]),d("div",{class:"settings-app-container-box-selection noborder",onClick:t[10]||(t[10]=f=>s.changeSite("faceid"))},[d("div",{class:H(["settings-app-container-box-icon",{"settings-app-icon-darkmode":e.iconcolor=="dark"}]),style:{"background-color":"rgb(75, 234, 102)"}},[e.iconcolor!="dark"?(p(),We(o,{key:0,icon:"mingcute:faceid-line"})):D("",!0),e.iconcolor=="dark"?(p(),We(o,{key:1,color:"rgb(75, 234, 102)",icon:"mingcute:faceid-line"})):D("",!0)],2),d("div",p8,_(e.IntlString("SETTINGS_APP_FACEID_AND_CODE")),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})])],2),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"56vh"}},[d("div",{class:"settings-app-container-box-selection",onClick:t[11]||(t[11]=f=>s.changeSite("call"))},[d("img",{class:"settings-app-container-box-icon",style:{background:"none"},src:s.findAppIcon("call")},null,8,_8),d("div",F8,_(e.IntlString("SETTINGS_APP_CALL")),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})]),d("div",{class:"settings-app-container-box-selection noborder",onClick:t[12]||(t[12]=f=>s.changeSite("music"))},[d("img",{class:"settings-app-container-box-icon",style:{background:"none"},src:s.findAppIcon("music")},null,8,b8),d("div",v8,_(e.IntlString("SETTINGS_APP_MUSIC")),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})])],2)],2)):D("",!0),a.site.general?(p(),b("div",{key:1,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",y8,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[13]||(t[13]=f=>s.changeSite("home"))},[e.darkmode?e.darkmode?(p(),b("img",C8)):D("",!0):(p(),b("img",w8))],2),d("div",k8,_(e.IntlString("SETTINGS_APP_GENERAL")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"5vh"}},[d("div",{class:"settings-app-container-box-selection",onClick:t[14]||(t[14]=f=>s.changeSite("about")),style:{"margin-left":"1vh"}},[d("div",E8,_(e.IntlString("SETTINGS_APP_GENERAL_ABOUT")),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})]),d("div",{class:"settings-app-container-box-selection noborder",onClick:t[15]||(t[15]=f=>s.changeSite("updates")),style:{"margin-left":"1vh"}},[d("div",B8,_(e.IntlString("SETTINGS_APP_GENERAL_SOFTWAREUPDATE")),1),e.updateAvailable?(p(),b("div",S8,"1")):D("",!0),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})])],2),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"14vh"}},[d("div",{class:"settings-app-container-box-selection",onClick:t[16]||(t[16]=f=>s.changeSite("airdrop")),style:{"margin-left":"1vh"}},[d("div",D8,_(e.IntlString("SETTINGS_APP_GENERAL_AIRDROP")),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})]),d("div",{class:"settings-app-container-box-selection",onClick:t[17]||(t[17]=f=>s.changeSite("datetime")),style:{"margin-left":"1vh"}},[d("div",x8,_(e.IntlString("SETTINGS_APP_GENERAL_DATEANDTIME")),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})]),d("div",{class:"settings-app-container-box-selection noborder",onClick:t[18]||(t[18]=f=>s.changeSite("language")),style:{"margin-left":"1vh"}},[d("div",T8,_(e.IntlString("SETTINGS_APP_GENERAL_LANGUAGE")),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})])],2),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"27vh"}},[d("div",{class:"settings-app-container-box-selection",onClick:t[19]||(t[19]=f=>s.changeSite("reset")),style:{"margin-left":"1vh"}},[d("div",I8,_(e.IntlString("SETTINGS_APP_GENERAL_TRANSFERORRESET")),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})]),d("div",P8,[d("div",M8,_(e.IntlString("SETTINGS_APP_GENERAL_SHUTDOWN")),1)])],2)])],2)):D("",!0),a.site.display?(p(),b("div",{key:2,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",L8,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[20]||(t[20]=f=>s.changeSite("home"))},[e.darkmode?e.darkmode?(p(),b("img",U8)):D("",!0):(p(),b("img",R8))],2),d("div",O8,_(e.IntlString("SETTINGS_APP_DISPLAY_BRIGHTNESS")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{height:"15vh",top:"5vh"}},[t[74]||(t[74]=d("img",{src:M3,style:{position:"absolute",width:"4vh",top:"1vh",left:"5.2vh"}},null,-1)),t[75]||(t[75]=d("img",{src:L3,style:{position:"absolute",width:"4vh",top:"1vh",right:"5.2vh"}},null,-1)),d("p",N8,_(e.IntlString("SETTINGS_APP_DISPLAY_WHITEMODE")),1),d("p",H8,_(e.IntlString("SETTINGS_APP_DISPLAY_DARKMODE")),1),d("input",{id:"settings-app-display-whitemode-checkbox",type:"checkbox",onClick:t[21]||(t[21]=f=>s.setDisplayMode("white")),checked:e.darkmode!=!0,class:H(["settings-app-display-whitemode-input",{"darkmode-checkbox":e.darkmode}])},null,10,Q8),d("input",{id:"settings-app-display-darkmode-checkbox",type:"checkbox",onClick:t[22]||(t[22]=f=>s.setDisplayMode("dark")),checked:e.darkmode==!0,class:H(["settings-app-display-darkmode-input",{"darkmode-checkbox":e.darkmode}])},null,10,j8)],2),d("p",G8,_(e.IntlString("SETTINGS_APP_DISPLAY_BRIGHTNESS_TEXT")),1),d("div",{class:H(["settings-app-display-brightness-box",{"darkmode-settingsbox":e.darkmode}])},[T(o,{class:"settings-app-display-sun-one",icon:"icon-park-solid:sun-one"}),Re(d("input",{type:"range",class:"settings-app-display-brightness-input",min:"1",max:"100","onUpdate:modelValue":t[23]||(t[23]=f=>a.brightnessinput=f),onInput:t[24]||(t[24]=(...f)=>s.brightnesschange&&s.brightnesschange(...f))},null,544),[[Ne,a.brightnessinput]]),T(o,{class:"settings-app-display-sun-fill",icon:"bi:sun-fill"})],2),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"31vh"}},[d("div",z8,[d("div",q8,_(e.IntlString("SETTINGS_APP_LARGE_APP_ICONS")),1),d("input",{checked:e.large_app_icons===1,onChange:t[25]||(t[25]=(...f)=>e.toggleLargeAppIcons&&e.toggleLargeAppIcons(...f)),class:"apple-switch",type:"checkbox",style:{"margin-top":"0","margin-right":"-1vh"}},null,40,V8)])],2),t[76]||(t[76]=d("p",{class:"settings-app-display-gray-text",style:{top:"37vh"}}," ICONS ",-1)),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{height:"7vh",top:"40vh"}},[d("p",W8,_(e.IntlString("SETTINGS_APP_DISPLAY_WHITEMODE")),1),d("p",K8,_(e.IntlString("SETTINGS_APP_DISPLAY_DARKMODE")),1),d("input",{id:"settings-app-icon-whitemode-checkbox",type:"checkbox",onClick:t[26]||(t[26]=f=>e.setIconColor("light")),checked:e.iconcolor=="light",class:H(["settings-app-display-whitemode-input",{"darkmode-checkbox":e.darkmode}])},null,10,Y8),d("input",{id:"settings-app-icon-darkmode-checkbox",type:"checkbox",onClick:t[27]||(t[27]=f=>e.setIconColor("dark")),checked:e.iconcolor=="dark",class:H(["settings-app-display-darkmode-input",{"darkmode-checkbox":e.darkmode}])},null,10,X8)],2)])],2)):D("",!0),a.site.sound?(p(),b("div",{key:3,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",J8,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[28]||(t[28]=f=>s.changeSite("home"))},[e.darkmode?e.darkmode?(p(),b("img",$8)):D("",!0):(p(),b("img",Z8))],2),d("div",eR,_(e.IntlString("SETTINGS_APP_SOUNDS")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{"max-height":"47vh","overflow-y":"scroll",top:"5vh"}},[(p(!0),b(ne,null,Me(e.config.Ringtones,(f,h)=>(p(),b("div",{class:"settings-app-container-box-selection",style:et([{borderBottom:a.lastringtone==f?"none":"0.1vh solid rgb(211,212,207)"},{"margin-left":"4vh"}]),onClick:A=>s.setringtone2(h,f)},[d("div",iR,_(h)+" "+_(e.config.default_ringtone===h?" (Default)":""),1),e.getRingtone===h?(p(),We(o,{key:0,style:{"font-size":"2.5vh",float:"left",color:"#0a7afe",position:"absolute",left:"1vh","margin-top":"-0.3vh"},icon:"teenyicons:tick-small-solid"})):D("",!0)],12,tR))),256))],2)])],2)):D("",!0),a.site.wallpaper?(p(),b("div",{key:4,style:{"background-color":"#ffffff",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",{class:H(["settings-app-header",{"darkmode-settings":e.darkmode}]),style:{background:"#ffffff",top:"0",height:"7vh"}},[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),style:{top:"3.8vh"},onClick:t[29]||(t[29]=f=>s.changeSite("home"))},[e.darkmode?e.darkmode?(p(),b("img",aR)):D("",!0):(p(),b("img",nR))],2),d("div",sR,_(e.IntlString("SETTINGS_APP_WALLPAPER")),1)],2),d("div",{class:H(["settings-app-wallpaper-backgrounds-container",{"darkmode-settings":e.darkmode}])},[(p(!0),b(ne,null,Me(e.getBackgrounds,f=>(p(),b("img",{src:f,onClick:h=>s.setWallpaper(f)},null,8,rR))),256))],2),d("p",{style:et([{color:e.darkmode?"#FFFFFF":"#000000"},{"margin-top":"1vh","margin-left":"auto","margin-right":"auto","font-size":"1vh"}])},[ut(_(e.IntlString("SETTINGS_APP_WALLPAPER_FOOTER_TEXT"))+" ",1),d("span",{style:{color:"#0a86ff",cursor:"pointer"},onClick:t[30]||(t[30]=f=>s.changeSite("selectwallpaper"))},_(e.IntlString("SETTINGS_APP_WALLPAPER_FOOTER_TEXT2")),1)],4)],2)):D("",!0),a.site.selectwallpaper?(p(),b("div",{key:5,style:{"background-color":"#ffffff",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",oR,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[31]||(t[31]=f=>s.changeSite("wallpaper"))},[e.darkmode?e.darkmode?(p(),b("img",uR)):D("",!0):(p(),b("img",lR))],2),d("div",cR,_(e.IntlString("SETTINGS_APP_WALLPAPER")),1),d("button",{class:"settings-app-wallpaper-finish",onClick:t[32]||(t[32]=(...f)=>s.setCustomWallpaper&&s.setCustomWallpaper(...f)),disabled:a.wallpaperselectinput.length===0},"Finish",8,dR),Re(d("input",{class:H([{"settings-app-changewallpaper-input-darkmode":e.darkmode},"settings-app-changewallpaper-input"]),"onUpdate:modelValue":t[33]||(t[33]=f=>a.wallpaperselectinput=f),type:"text",placeholder:"Link"},null,2),[[Ne,a.wallpaperselectinput]])])],2)):D("",!0),a.site.faceid?(p(),b("div",{key:6,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",fR,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[34]||(t[34]=f=>s.changeSite("home"))},[e.darkmode?e.darkmode?(p(),b("img",AR)):D("",!0):(p(),b("img",hR))],2),d("div",gR,_(e.IntlString("SETTINGS_APP_FACEID_AND_CODE")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"5vh"}},[d("div",{class:H(["settings-app-container-box-selection",{noborder:e.lockscreenPin===0||e.lockscreenPin==null}]),style:{"margin-left":"1vh"}},[d("div",mR,_(e.IntlString("SETTINGS_APP_FACEID_AND_CODE_ENABLE_LOCKSCREEN")),1),d("input",{checked:e.lockscreen===1,onChange:t[35]||(t[35]=(...f)=>e.toggleLockscreen&&e.toggleLockscreen(...f)),class:"apple-switch",type:"checkbox",style:{"margin-top":"0","margin-right":"-1vh"}},null,40,pR)],2),e.lockscreenPin!==0&&e.lockscreenPin!=null?(p(),b("div",_R,[d("div",{class:"settings-app-container-text",onClick:t[36]||(t[36]=(...f)=>e.toggleneedLockscreenPin&&e.toggleneedLockscreenPin(...f)),style:{color:"#0a7afe",left:"1vh"}},_(e.needlockscreenPin===1?e.IntlString("SETTINGS_APP_FACEID_AND_CODE_DISABLE_LOCKSCREEN_PIN"):e.IntlString("SETTINGS_APP_FACEID_AND_CODE_ENABLE_LOCKSCREEN_PIN")),1)])):D("",!0)],2)])],2)):D("",!0),a.site.bluetooth?(p(),b("div",{key:7,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",FR,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[37]||(t[37]=f=>s.changeSite("home"))},[e.darkmode?e.darkmode?(p(),b("img",vR)):D("",!0):(p(),b("img",bR))],2),d("div",yR,_(e.IntlString("SETTINGS_APP_BLUETOOTH")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"5vh"}},[d("div",wR,[d("div",CR,_(e.IntlString("SETTINGS_APP_BLUETOOTH_NAME")),1),d("input",{checked:e.bluetooth==1,onChange:t[38]||(t[38]=(...f)=>s.bluetooth2&&s.bluetooth2(...f)),class:"apple-switch",type:"checkbox",style:{"margin-top":"0","margin-right":"-1vh"}},null,40,kR)])],2),e.bluetooth==1?(p(),b("p",ER,_(e.IntlString("SETTINGS_APP_BLUETOOTH_MY_DEVICES")),1)):D("",!0),e.bluetooth==1?(p(),b("div",{key:1,class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"14vh"}},[d("div",BR,[t[77]||(t[77]=d("div",{class:"settings-app-container-text",style:{left:"1vh"}},"RoadPad",-1)),d("div",SR,_(e.otherproducts.roadpad?e.IntlString("SETTINGS_APP_BLUETOOTH_CONNECTED"):e.IntlString("SETTINGS_APP_BLUETOOTH_NOT_CONNECTED")),1),d("div",DR,[T(o,{icon:"material-symbols:info-outline"})])]),d("div",{class:"settings-app-container-box-selection noborder",onClick:t[39]||(t[39]=(...f)=>s.roadpodsconnect&&s.roadpodsconnect(...f)),style:{cursor:"pointer"}},[d("div",xR,_(e.IntlString("ROADPODS_NAME")),1),d("div",TR,_(e.otherproducts.roadpods?e.IntlString("SETTINGS_APP_BLUETOOTH_CONNECTED"):e.IntlString("SETTINGS_APP_BLUETOOTH_NOT_CONNECTED")),1),d("div",IR,[T(o,{icon:"material-symbols:info-outline"})])])],2)):D("",!0)])],2)):D("",!0),a.site.notifications?(p(),b("div",{key:8,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",PR,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[40]||(t[40]=f=>s.changeSite("home"))},[e.darkmode?e.darkmode?(p(),b("img",LR)):D("",!0):(p(),b("img",MR))],2),d("div",RR,_(e.IntlString("SETTINGS_APP_NOTIFICATIONS")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{"max-height":"47vh","overflow-y":"scroll",top:"5vh"}},[d("div",UR,[d("img",{class:"settings-app-container-box-icon",style:{background:"none"},src:s.findAppIcon("yellow_app")},null,8,OR),d("div",NR,_(e.IntlString("APP_YELLOWPAGES_NAME")),1),d("input",{class:"apple-switch",checked:e.yellowNotification===1,onChange:t[41]||(t[41]=(...f)=>e.toggleYellowNotification&&e.toggleYellowNotification(...f)),type:"checkbox",style:{"margin-top":"0","margin-right":"-1vh"}},null,40,HR)]),d("div",QR,[d("img",{class:"settings-app-container-box-icon",style:{background:"none"},src:s.findAppIcon("tellonym")},null,8,jR),d("div",GR,_(e.IntlString("APP_TELLONYM_NAME")),1),d("input",{class:"apple-switch",checked:e.tellonymNotification===1,onChange:t[42]||(t[42]=(...f)=>e.toggleTellonymNotification&&e.toggleTellonymNotification(...f)),type:"checkbox",style:{"margin-top":"0","margin-right":"-1vh"}},null,40,zR)]),d("div",qR,[d("img",{class:"settings-app-container-box-icon",style:{background:"none"},src:s.findAppIcon("instagram")},null,8,VR),d("div",WR,_(e.IntlString("APP_INSTAGRAM_NAME")),1),d("input",{class:"apple-switch",checked:e.instaNotification===1,onChange:t[43]||(t[43]=(...f)=>e.toggleInstagramNotification&&e.toggleInstagramNotification(...f)),type:"checkbox",style:{"margin-top":"0","margin-right":"-1vh"}},null,40,KR)]),d("div",YR,[d("img",{class:"settings-app-container-box-icon",style:{background:"none"},src:s.findAppIcon("news")},null,8,XR),d("div",JR,_(e.IntlString("APP_NEWS_NAME")),1),d("input",{class:"apple-switch",checked:e.newsNotification===1,onChange:t[44]||(t[44]=(...f)=>e.toggleNewsNotification&&e.toggleNewsNotification(...f)),type:"checkbox",style:{"margin-top":"0","margin-right":"-1vh"}},null,40,ZR)]),d("div",$R,[d("img",{class:"settings-app-container-box-icon",style:{background:"none"},src:s.findAppIcon("twitter_app")},null,8,e7),d("div",t7,_(e.IntlString("APP_TWITTER_NAME")),1),d("input",{class:"apple-switch",checked:e.twitterNotification===1,onChange:t[45]||(t[45]=(...f)=>e.toggleTwitterNotification&&e.toggleTwitterNotification(...f)),type:"checkbox",style:{"margin-top":"0","margin-right":"-1vh"}},null,40,i7)])],2)])],2)):D("",!0),a.site.focus?(p(),b("div",{key:9,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",n7,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[46]||(t[46]=f=>s.changeSite("home"))},[e.darkmode?e.darkmode?(p(),b("img",s7)):D("",!0):(p(),b("img",a7))],2),d("div",r7,_(e.IntlString("SETTINGS_APP_FOCUS")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{"max-height":"47vh","overflow-y":"scroll",top:"5vh"}},[d("div",o7,[d("div",l7,[T(o,{icon:"ph:moon-fill"})]),d("div",u7,_(e.IntlString("SETTINGS_APP_FOCUS_DONOTDISTURB")),1),d("input",{class:"apple-switch",checked:e.focus.donotdisturb===1,onChange:t[47]||(t[47]=f=>e.setFocus("donotdisturb")),type:"checkbox",style:{"margin-top":"0.35vh","margin-right":"-1vh"}},null,40,c7)]),d("div",d7,[d("div",f7,[T(o,{icon:"ic:baseline-bed"})]),d("div",h7,_(e.IntlString("SETTINGS_APP_FOCUS_SLEEP")),1),d("input",{class:"apple-switch",checked:e.focus.sleep===1,onChange:t[48]||(t[48]=f=>e.setFocus("sleep")),type:"checkbox",style:{"margin-top":"0.35vh","margin-right":"-1vh"}},null,40,A7)]),d("div",g7,[d("div",m7,[T(o,{icon:"icon-park-solid:people"})]),d("div",p7,_(e.IntlString("SETTINGS_APP_FOCUS_PERSONAL")),1),d("input",{class:"apple-switch",checked:e.focus.personal===1,onChange:t[49]||(t[49]=f=>e.setFocus("personal")),type:"checkbox",style:{"margin-top":"0.35vh","margin-right":"-1vh"}},null,40,_7)]),d("div",F7,[d("div",b7,[T(o,{icon:"material-symbols:work"})]),d("div",v7,_(e.IntlString("SETTINGS_APP_FOCUS_WORK")),1),d("input",{class:"apple-switch",checked:e.focus.work===1,onChange:t[50]||(t[50]=f=>e.setFocus("work")),type:"checkbox",style:{"margin-top":"0.35vh","margin-right":"-1vh"}},null,40,y7)])],2)])],2)):D("",!0),a.site.datetime?(p(),b("div",{key:10,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",w7,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[51]||(t[51]=f=>s.changeSite("general"))},[e.darkmode?e.darkmode?(p(),b("img",k7)):D("",!0):(p(),b("img",C7))],2),d("div",E7,_(e.IntlString("SETTINGS_APP_GENERAL_DATEANDTIME_HEADER")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"5vh"}},[d("div",B7,[d("div",S7,_(e.IntlString("SETTINGS_APP_GENERAL_DATEANDTIME_24HOUR_FORMAT")),1),d("input",{checked:e.hour24time===1,onChange:t[52]||(t[52]=(...f)=>s.hourtime&&s.hourtime(...f)),class:"apple-switch",type:"checkbox",style:{"margin-top":"0","margin-right":"-1vh"}},null,40,D7)])],2)])],2)):D("",!0),a.site.language?(p(),b("div",{key:11,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",x7,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[53]||(t[53]=f=>s.changeSite("general"))},[e.darkmode?e.darkmode?(p(),b("img",I7)):D("",!0):(p(),b("img",T7))],2),d("div",P7,_(e.IntlString("SETTINGS_APP_GENERAL_LANGUAGE_HEADER")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"5vh"}},[(p(!0),b(ne,null,Me(e.config.languages,(f,h)=>(p(),b("div",{class:"settings-app-container-box-selection",style:{"margin-left":"1vh"},key:f,onClick:A=>e.setLang(f)},[d("div",L7,_(h),1),e.getLang==f?(p(),We(o,{key:0,style:{"font-size":"2.5vh",float:"right",color:"#0a7afe",position:"absolute",right:"2vh","margin-top":"-0.3vh"},icon:"teenyicons:tick-small-solid"})):D("",!0)],8,M7))),128))],2)])],2)):D("",!0),a.site.about?(p(),b("div",{key:12,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",R7,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[54]||(t[54]=f=>s.changeSite("general"))},[e.darkmode?e.darkmode?(p(),b("img",O7)):D("",!0):(p(),b("img",U7))],2),d("div",N7,_(e.IntlString("SETTINGS_APP_GENERAL_ABOUT_INFO")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"5vh"}},[d("div",H7,[d("div",Q7,_(e.IntlString("SETTINGS_APP_GENERAL_INFO_NAME")),1),d("div",j7,_(e.getAccountID!=0?e.IntlString("SETTINGS_APP_ROADPHONE_FROM")+" "+e.getFirstName:"RoadPhone-Pro"),1)]),d("div",G7,[d("div",z7,_(e.IntlString("SETTINGS_APP_GENERAL_INFO_PHONE_VERSION")),1),d("div",q7,_(e.version),1)]),d("div",V7,[d("div",W7,_(e.IntlString("SETTINGS_APP_GENERAL_INFO_PHONE_MODELNAME")),1),t[78]||(t[78]=d("div",{class:"settings-app-container-text-right"},"RoadPhone-Pro",-1))]),d("div",K7,[d("div",Y7,_(e.IntlString("SETTINGS_APP_GENERAL_INFO_PURCHASE_AT")),1),d("div",X7,[d("a",{target:"_blank",href:"https://fivem.roadshop.org",style:{color:"rgb(10, 122, 254)"},onClick:t[55]||(t[55]=(...f)=>s.openShop&&s.openShop(...f))},"https://fivem.roadshop.org")])])],2),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"22vh"}},[d("div",J7,[d("div",Z7,_(e.IntlString("SETTINGS_APP_GENERAL_INFO_VIDEOS_NAME")),1),d("div",$7,_(e.getVideos?e.getVideos.length:0),1)]),d("div",eU,[d("div",tU,_(e.IntlString("SETTINGS_APP_GENERAL_INFO_PHOTOS_NAME")),1),d("div",iU,_(e.getPhotos?e.getPhotos.length:0),1)]),d("div",nU,[d("div",aU,_(e.IntlString("SETTINGS_APP_GENERAL_INFO_APPS_NAME")),1),d("div",sU,_(e.installedapps?e.installedapps.length:0),1)]),d("div",rU,[d("div",oU,_(e.IntlString("SETTINGS_APP_GENERAL_INFO_CAPACITY")),1),t[79]||(t[79]=d("div",{class:"settings-app-container-text-right"},"2 TB",-1))]),d("div",lU,[d("div",uU,_(e.IntlString("SETTINGS_APP_GENERAL_INFO_CAPACITY_LEFT")),1),t[80]||(t[80]=d("div",{class:"settings-app-container-text-right"},"1,78 TB",-1))])],2)])],2)):D("",!0),a.site.updates?(p(),b("div",{key:13,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",cU,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[56]||(t[56]=f=>s.changeSite("general"))},[e.darkmode?e.darkmode?(p(),b("img",fU)):D("",!0):(p(),b("img",dU))],2),d("div",hU,_(e.IntlString("SETTINGS_APP_GENERAL_SOFTWAREUPDATE_HEADER")),1),e.updateAvailable?D("",!0):(p(),b("p",{key:0,class:H(["roados-version-number",{"white-text":e.darkmode}])},"RoadOS "+_(e.version),3)),e.updateAvailable?D("",!0):(p(),b("p",AU," RoadOS "+_(e.IntlString("SETTINGS_APP_GENERAL_UPDATE_IS_UP_TO_DATE")),1)),e.updateAvailable&&e.config.ShowUpdateInfos?(p(),b("div",{key:2,class:H(["roados-update-available-box",{"darkmode-settingsbox":e.darkmode}])},[d("p",gU,"RoadOS "+_(e.newVersion),1),t[81]||(t[81]=d("p",{class:"roados-update-available-box-author"},"RoadShop",-1)),(p(!0),b(ne,null,Me(e.changelog,f=>(p(),b("p",{class:"roados-update-available-box-changelog",key:f},_(f),1))),128))],2)):D("",!0),e.updateAvailable&&!e.config.ShowUpdateInfos?(p(),b("p",mU," RoadOS "+_(e.IntlString("SETTINGS_APP_GENERAL_UPDATE_IS_NOT_UP_TO_DATE")),1)):D("",!0)])],2)):D("",!0),a.site.airdrop?(p(),b("div",{key:14,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",pU,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[57]||(t[57]=f=>s.changeSite("general"))},[e.darkmode?e.darkmode?(p(),b("img",FU)):D("",!0):(p(),b("img",_U))],2),d("div",bU,_(e.IntlString("SETTINGS_APP_GENERAL_AIRDROP_HEADER")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"5vh"}},[d("div",{class:"settings-app-container-box-selection",onClick:t[58]||(t[58]=f=>e.setAirdropReceiveOptions("nobody")),style:{"margin-left":"1vh"}},[d("div",vU,_(e.IntlString("SETTINGS_APP_GENERAL_AIRDROP_RECEIVING_OFF")),1),e.airdropreceiveoptions.nobody===1?(p(),We(o,{key:0,style:{"font-size":"2.5vh",float:"right",color:"#0a7afe",position:"absolute",right:"1.5vh","margin-top":"-0.3vh"},icon:"teenyicons:tick-small-solid"})):D("",!0)]),d("div",{class:"settings-app-container-box-selection",onClick:t[59]||(t[59]=f=>e.setAirdropReceiveOptions("contacts")),style:{"margin-left":"1vh"}},[d("div",yU,_(e.IntlString("SETTINGS_APP_GENERAL_AIRDROP_RECEIVING_CONTACTS")),1),e.airdropreceiveoptions.contacts===1?(p(),We(o,{key:0,style:{"font-size":"2.5vh",float:"right",color:"#0a7afe",position:"absolute",right:"1.5vh","margin-top":"-0.3vh"},icon:"teenyicons:tick-small-solid"})):D("",!0)]),d("div",{class:"settings-app-container-box-selection noborder",onClick:t[60]||(t[60]=f=>e.setAirdropReceiveOptions("everyone")),style:{"margin-left":"1vh"}},[d("div",wU,_(e.IntlString("SETTINGS_APP_GENERAL_AIRDROP_RECEIVING_EVERYONE")),1),e.airdropreceiveoptions.everyone===1?(p(),We(o,{key:0,style:{"font-size":"2.5vh",float:"right",color:"#0a7afe",position:"absolute",right:"1.5vh","margin-top":"-0.3vh"},icon:"teenyicons:tick-small-solid"})):D("",!0)])],2)])],2)):D("",!0),a.site.call?(p(),b("div",{key:15,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",CU,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[61]||(t[61]=f=>s.changeSite("home"))},[e.darkmode?e.darkmode?(p(),b("img",EU)):D("",!0):(p(),b("img",kU))],2),d("div",BU,_(e.IntlString("SETTINGS_APP_GENERAL_CALL_HEADER")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"5vh"}},[d("div",{class:"settings-app-container-box-selection",onClick:t[62]||(t[62]=f=>s.changeSite("changenumber")),style:{"margin-left":"1vh"}},[d("div",SU,_(e.IntlString("SETTINGS_APP_GENERAL_CALL_MYNUMBER")),1),d("div",DU,_(e.getPhoneNumber),1),T(l,{class:"arrow-right-settings-general",icon:"fa-chevron-right"})]),d("div",xU,[d("div",TU,_(e.IntlString("SETTINGS_APP_GENERAL_CALL_ANONYMOUSLY")),1),d("input",{checked:e.callAnonymously===1,onChange:t[63]||(t[63]=(...f)=>s.anonymcall&&s.anonymcall(...f)),class:"apple-switch",type:"checkbox",style:{"margin-top":"0","margin-right":"-1vh"}},null,40,IU)]),d("div",PU,[d("div",MU,_(e.IntlString("SETTINGS_CALL_DISABLE_ANONYM_CALLERS")),1),d("input",{checked:e.blockAnonymCall===1,onChange:t[64]||(t[64]=(...f)=>s.blockanonymcall&&s.blockanonymcall(...f)),class:"apple-switch",type:"checkbox",style:{"margin-top":"0","margin-right":"-1vh"}},null,40,LU)])],2)])],2)):D("",!0),a.site.changenumber?(p(),b("div",{key:16,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",RU,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[65]||(t[65]=f=>s.changeSite("call"))},[e.darkmode?e.darkmode?(p(),b("img",OU)):D("",!0):(p(),b("img",UU))],2),d("div",NU,_(e.IntlString("SETTINGS_APP_CALL_CHANGENUMBER_MYNUMBER")),1),d("button",{class:"settings-app-wallpaper-finish",onClick:t[66]||(t[66]=(...f)=>s.confirmChangeNumber&&s.confirmChangeNumber(...f)),disabled:a.newnumber.length===0},"Finish",8,HU),Re(d("input",{class:"change-number-input","onUpdate:modelValue":t[67]||(t[67]=f=>a.newnumber=f)},null,512),[[Ne,a.newnumber]])])],2)):D("",!0),a.site.music?(p(),b("div",{key:17,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",QU,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[68]||(t[68]=f=>s.changeSite("home"))},[e.darkmode?e.darkmode?(p(),b("img",GU)):D("",!0):(p(),b("img",jU))],2),d("div",zU,_(e.IntlString("SETTINGS_APP_GENERAL_MUSIC_HEADER")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"5vh"}},[d("div",qU,[d("div",VU,_(e.IntlString("SETTINGS_APP_MUSIC_STREAMER_MODE")),1),d("input",{checked:e.streamermode===1,onChange:t[69]||(t[69]=(...f)=>s.changeStreamerMode&&s.changeStreamerMode(...f)),class:"apple-switch",type:"checkbox",style:{"margin-top":"-0.2vh","margin-right":"-1vh"}},null,40,WU)])],2)])],2)):D("",!0),a.site.reset?(p(),b("div",{key:18,style:{"background-color":"rgb(242, 242, 246)",width:"100%",height:"100%"},class:H({"darkmode-settings":e.darkmode})},[d("div",KU,[d("div",{class:H(["settings-app-header-back",{"settings-app-header-back-darkmode":e.darkmode}]),onClick:t[70]||(t[70]=f=>s.changeSite("general"))},[e.darkmode?e.darkmode?(p(),b("img",XU)):D("",!0):(p(),b("img",YU))],2),d("div",JU,_(e.IntlString("SETTINGS_APP_GENERAL_RESETIPAD_HEADER")),1),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{height:"18vh",top:"5vh"}},[T(o,{class:"settings-app-general-device-icon",icon:"fluent:phone-20-regular"}),d("div",ZU,_(e.IntlString("SETTINGS_APP_GENERAL_RESET_PREPARE_FOR_NEW")),1),d("div",$U,_(e.IntlString("SETTINGS_APP_GENERAL_RESET_PREPARE_FOR_NEW_TEXT")),1),d("hr",{style:et([{position:"absolute",left:"0",right:"0",top:"14vh",width:"93%","margin-left":"auto","margin-right":"auto",color:"#e6e6e6 !important","border-collapse":"collapse",border:"none"},{borderBottom:e.darkmode?"1px solid #2a2a2a!important":"1px solid rgb(228, 227, 231)!important"}])},null,4),d("div",{class:"settings-app-container-box-h1",style:{cursor:"pointer",color:"#0a7afe",top:"15.8vh","font-weight":"normal"},onClick:t[71]||(t[71]=(...f)=>s.resetPhone&&s.resetPhone(...f))},_(e.IntlString("SETTINGS_APP_GENERAL_RESET_PREPARE_FOR_NEW_GETSTARTED")),1)],2),d("div",{class:H(["settings-app-container-box",{"darkmode-settingsbox":e.darkmode}]),style:{top:"44vh"}},[d("div",{class:"settings-app-container-box-selection",onClick:t[72]||(t[72]=(...f)=>s.resetPhone&&s.resetPhone(...f)),style:{"margin-left":"1vh"}},[d("div",eO,_(e.IntlString("SETTINGS_APP_GENERAL_TRANSFERORRESET_RESET")),1)]),d("div",{class:"settings-app-container-box-selection noborder",onClick:t[73]||(t[73]=(...f)=>s.resetPhone&&s.resetPhone(...f)),style:{"margin-left":"1vh"}},[d("div",tO,_(e.IntlString("SETTINGS_APP_GENERAL_ERASEALLCONTENTANDSETTINGS")),1)])],2)])],2)):D("",!0),T(c)],64)}const nO=ke(GL,[["render",iO],["__scopeId","data-v-8d784de8"]]),aO={name:"CallFooter",components:{Icon:Qe},computed:{...Z(ue,["IntlString"])}},sO={class:"call-footer"},rO={class:"call-footer-button-text"},oO={class:"call-footer-button-text"},lO={class:"call-footer-button-text"},uO={class:"call-footer-button-text"};function cO(e,t,i,n,a,s){const r=Y("Icon");return p(),b("div",sO,[d("div",{class:H(["call-footer-button",{selected:e.$route.name==="callfavourites"}]),onClick:t[0]||(t[0]=o=>e.$router.push("/call/favourites"))},[T(r,{icon:"material-symbols:star"}),d("div",rO,_(e.IntlString("CALL_APP_FOOTER_FAVOURITES")),1)],2),d("div",{class:H(["call-footer-button",{selected:e.$route.name==="calllist"}]),onClick:t[1]||(t[1]=o=>e.$router.push("/call/list"))},[T(r,{icon:"mdi:clock-time-nine"}),d("div",oO,_(e.IntlString("CALL_APP_FOOTER_RECENTS")),1)],2),d("div",{class:H(["call-footer-button",{selected:e.$route.name==="callcontacts"}]),onClick:t[2]||(t[2]=o=>e.$router.push("/call/contacts"))},[T(r,{icon:"bi:people-circle"}),d("div",lO,_(e.IntlString("CALL_APP_FOOTER_CONTACTS")),1)],2),d("div",{class:H(["call-footer-button",{selected:e.$route.name==="call"}]),onClick:t[3]||(t[3]=o=>e.$router.push("/call"))},[T(r,{icon:"eva:keypad-fill"}),d("div",uO,_(e.IntlString("CALL_APP_FOOTER_KEYPAD")),1)],2)])}const TA=ke(aO,[["render",cO],["__scopeId","data-v-c9503ccc"]]),dO={name:"Callnumblock",data(){return{enterednumber:""}},components:{ContactsAddContact:xA,CallFooter:TA,Homebutton:Xe,Icon:Qe},computed:{...Z(Wt,["incomingCallNumber","isInCall","groupCall","inGroupCall","outgoingCallNumber"]),...Z(ue,["IntlString","darkmode"])},methods:{...xe(ue,["setHeaderBlack"]),addNumber(e){this.enterednumber.length>=15||(this.enterednumber=this.enterednumber+e)},removeNumber(){this.enterednumber=this.enterednumber.slice(0,-1)},openAddContact(){Ge().emit("addContact",{number:this.enterednumber})},startCall(){this.enterednumber.length!==0&&M.startCall(this.enterednumber)}},mounted(){this.incomingCallNumber?Te.push("/call/incoming"):this.isInCall?Te.push("/call/active"):this.outgoingCallNumber?Te.push("/call/outgoing"):!this.inGroupCall&&this.groupCall.id?Te.push("/call/incoming/group"):this.inGroupCall&&this.groupCall.id&&Te.push("/call/groupcall"),this.darkmode?this.setHeaderBlack(!1):this.setHeaderBlack(!0)}},fO={class:"phone-numblock-grid"};function hO(e,t,i,n,a,s){const r=Y("ContactsAddContact"),o=Y("Icon"),l=Y("CallFooter"),c=Y("Homebutton");return p(),b(ne,null,[T(r),d("div",{style:et([{backgroundColor:e.darkmode?"#000000":"#FFFFFF"},{width:"100%",height:"100%"}])},[d("div",{class:H(["phone-numblock-number-entered",{"darkmode-text":e.darkmode}])},_(a.enterednumber),3),a.enterednumber.length>0?(p(),b("div",{key:0,class:"phone-numblock-add-number",onClick:t[0]||(t[0]=(...f)=>s.openAddContact&&s.openAddContact(...f))},_(e.IntlString("CALL_APP_KEYPAD_ADD_NUMBER")),1)):D("",!0),d("div",fO,[d("div",{class:H(["phone-numblock-enter-number",{"phone-numblock-enter-number-darkmode":e.darkmode}]),onClick:t[1]||(t[1]=f=>s.addNumber(1))},"1",2),d("div",{class:H(["phone-numblock-enter-number",{"phone-numblock-enter-number-darkmode":e.darkmode}]),onClick:t[2]||(t[2]=f=>s.addNumber(2))},"2",2),d("div",{class:H(["phone-numblock-enter-number",{"phone-numblock-enter-number-darkmode":e.darkmode}]),onClick:t[3]||(t[3]=f=>s.addNumber(3))},"3",2),d("div",{class:H(["phone-numblock-enter-number",{"phone-numblock-enter-number-darkmode":e.darkmode}]),onClick:t[4]||(t[4]=f=>s.addNumber(4))},"4",2),d("div",{class:H(["phone-numblock-enter-number",{"phone-numblock-enter-number-darkmode":e.darkmode}]),onClick:t[5]||(t[5]=f=>s.addNumber(5))},"5",2),d("div",{class:H(["phone-numblock-enter-number",{"phone-numblock-enter-number-darkmode":e.darkmode}]),onClick:t[6]||(t[6]=f=>s.addNumber(6))},"6",2),d("div",{class:H(["phone-numblock-enter-number",{"phone-numblock-enter-number-darkmode":e.darkmode}]),onClick:t[7]||(t[7]=f=>s.addNumber(7))},"7",2),d("div",{class:H(["phone-numblock-enter-number",{"phone-numblock-enter-number-darkmode":e.darkmode}]),onClick:t[8]||(t[8]=f=>s.addNumber(8))},"8",2),d("div",{class:H(["phone-numblock-enter-number",{"phone-numblock-enter-number-darkmode":e.darkmode}]),onClick:t[9]||(t[9]=f=>s.addNumber(9))},"9",2),d("div",{class:H(["phone-numblock-enter-number",{"phone-numblock-enter-number-darkmode":e.darkmode}]),onClick:t[10]||(t[10]=f=>s.addNumber("*"))},"*",2),d("div",{class:H(["phone-numblock-enter-number",{"phone-numblock-enter-number-darkmode":e.darkmode}]),onClick:t[11]||(t[11]=f=>s.addNumber(0))},"0",2),d("div",{class:H(["phone-numblock-enter-number",{"phone-numblock-enter-number-darkmode":e.darkmode}]),onClick:t[12]||(t[12]=f=>s.addNumber("-"))},"-",2)]),a.enterednumber.length>0?(p(),b("div",{key:1,class:H(["phone-numblock-remove-number",{"phone-numblock-remove-darkmode":e.darkmode}]),onClick:t[13]||(t[13]=(...f)=>s.removeNumber&&s.removeNumber(...f))},[T(o,{icon:"bxs:tag-x"})],2)):D("",!0),d("div",{class:"phone-startcall-button",onClick:t[14]||(t[14]=(...f)=>s.startCall&&s.startCall(...f))},[T(o,{color:"white",icon:"ion:call"})]),T(l)],4),T(c)],64)}const AO=ke(dO,[["render",hO],["__scopeId","data-v-6627779e"]]),gO={name:"Gag",components:{Homebutton:Xe},data(){return{nextCursor:"c=10",posts:[],currentSelectedPost:0,errorpost:!1}},methods:{...xe(ue,["setHeaderBlack"]),async loadMemes(){const t=await M.postURL("http://91.197.55.23:3000/getgag",{query:this.nextCursor});if(!t){this.errorpost=!0;return}this.errorpost=!1,this.posts.push(...t.data.posts),this.nextCursor=t.data.nextCursor},previewPost(){if(this.currentSelectedPost===0)return 0;this.currentSelectedPost-=1,setTimeout(()=>{this.$refs.video&&(this.$refs.video.volume=.15)},200)},nextPost(){this.currentSelectedPost+=1,setTimeout(()=>{this.$refs.video&&(this.$refs.video.volume=.15)},200)},eventHandler(e){switch(e.keyCode){case 37:this.previewPost();break;case 39:this.nextPost();break}}},computed:{currentPost(){if(this.posts&&this.posts.length>this.currentSelectedPost)return this.posts[this.currentSelectedPost];this.loadMemes()}},created(){document.addEventListener("keydown",this.eventHandler)},beforeUnmount(){document.removeEventListener("keydown",this.eventHandler)},mounted(){this.setHeaderBlack(!1),this.loadMemes()}},mO={key:0},pO={style:{position:"absolute","text-align":"center","margin-left":"auto","margin-right":"auto",left:"0",right:"0",top:"4vh","font-size":"1.2vh",width:"24vh",color:"white"}},_O=["src"],FO=["src"],bO={key:1,class:"phone-music-offline",style:{"text-align":"center",width:"20vh"}},vO={key:2};function yO(e,t,i,n,a,s){const r=Y("font-awesome-icon"),o=Y("Homebutton");return p(),b(ne,null,[d("div",{style:{"background-color":"black",width:"100%",height:"100%"},onKeyup:[t[2]||(t[2]=$i((...l)=>s.previewPost&&s.previewPost(...l),["left"])),t[3]||(t[3]=$i((...l)=>s.nextPost&&s.nextPost(...l),["right"]))]},[s.currentPost!==void 0?(p(),b("div",mO,[d("h1",pO,_(s.currentPost.title),1),d("div",{class:"gag-post gag-previewPost",onClick:t[0]||(t[0]=(...l)=>s.previewPost&&s.previewPost(...l))},[T(r,{icon:"arrow-left"})]),d("div",{class:"gag-post gag-nextPost",onClick:t[1]||(t[1]=(...l)=>s.nextPost&&s.nextPost(...l))},[T(r,{icon:"arrow-right"})]),s.currentPost.images.image460sv!==void 0?(p(),b("video",{key:0,ref:"video",class:"post-video",autoplay:"",loop:"",src:s.currentPost.images.image460sv.url},null,8,_O)):(p(),b("img",{key:1,class:"post-image",src:s.currentPost.images.image460.url,alt:""},null,8,FO))])):a.errorpost?(p(),b("div",bO,[T(r,{icon:"server",style:{"font-size":"2.5vh"}}),t[4]||(t[4]=d("p",{style:{"font-size":"1.2vh"}},"The servers are currently unavailable.",-1)),t[5]||(t[5]=d("p",{style:{"font-size":"1.2vh"}},"We are working hard to get the servers back online soon.",-1)),t[6]||(t[6]=d("span",{style:{"font-size":"1.3vh","font-weight":"bold"}},"Please try again later.",-1))])):(p(),b("div",vO,t[7]||(t[7]=[d("p",{style:{color:"#fff","font-size":"3vh",position:"absolute",top:"40%","margin-left":"auto","margin-right":"auto",left:"0",right:"0","text-align":"center"}},"Loading...",-1)])))],32),T(o)],64)}const wO=ke(gO,[["render",yO],["__scopeId","data-v-7db9bb0e"]]),CO={name:"CallContacts",components:{CallFooter:TA,ContactList:R3}};function kO(e,t,i,n,a,s){const r=Y("ContactList"),o=Y("CallFooter");return p(),b(ne,null,[T(r),T(o)],64)}const EO=ke(CO,[["render",kO]]);var ni=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function w1(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Bf={exports:{}},BO=Bf.exports,Tb;function SO(){return Tb||(Tb=1,function(e,t){(function(i,n){e.exports=n()})(BO,function(){var i=1e3,n=6e4,a=36e5,s="millisecond",r="second",o="minute",l="hour",c="day",f="week",h="month",A="quarter",m="year",F="date",y="Invalid Date",k=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,C=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,w={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(ge){var le=["th","st","nd","rd"],re=ge%100;return"["+ge+(le[(re-20)%10]||le[re]||le[0])+"]"}},B=function(ge,le,re){var pe=String(ge);return!pe||pe.length>=le?ge:""+Array(le+1-pe.length).join(re)+ge},S={s:B,z:function(ge){var le=-ge.utcOffset(),re=Math.abs(le),pe=Math.floor(re/60),$=re%60;return(le<=0?"+":"-")+B(pe,2,"0")+":"+B($,2,"0")},m:function ge(le,re){if(le.date()1)return ge(I[0])}else{var x=le.name;N[x]=le,$=x}return!pe&&$&&(U=$),$||!pe&&U},q=function(ge,le){if(Q(ge))return ge.clone();var re=typeof le=="object"?le:{};return re.date=ge,re.args=arguments,new ae(re)},J=S;J.l=R,J.i=Q,J.w=function(ge,le){return q(ge,{locale:le.$L,utc:le.$u,x:le.$x,$offset:le.$offset})};var ae=function(){function ge(re){this.$L=R(re.locale,null,!0),this.parse(re),this.$x=this.$x||re.x||{},this[z]=!0}var le=ge.prototype;return le.parse=function(re){this.$d=function(pe){var $=pe.date,V=pe.utc;if($===null)return new Date(NaN);if(J.u($))return new Date;if($ instanceof Date)return new Date($);if(typeof $=="string"&&!/Z$/i.test($)){var I=$.match(k);if(I){var x=I[2]-1||0,O=(I[7]||"0").substring(0,3);return V?new Date(Date.UTC(I[1],x,I[3]||1,I[4]||0,I[5]||0,I[6]||0,O)):new Date(I[1],x,I[3]||1,I[4]||0,I[5]||0,I[6]||0,O)}}return new Date($)}(re),this.init()},le.init=function(){var re=this.$d;this.$y=re.getFullYear(),this.$M=re.getMonth(),this.$D=re.getDate(),this.$W=re.getDay(),this.$H=re.getHours(),this.$m=re.getMinutes(),this.$s=re.getSeconds(),this.$ms=re.getMilliseconds()},le.$utils=function(){return J},le.isValid=function(){return this.$d.toString()!==y},le.isSame=function(re,pe){var $=q(re);return this.startOf(pe)<=$&&$<=this.endOf(pe)},le.isAfter=function(re,pe){return q(re){this.blockCooldown=!1},5e3),this.blockedNumbers.includes(this.selectedNumber)){M.post("removeBlock",{number:this.selectedNumber});return}M.post("blockContact",{number:this.selectedNumber})},openSelectNumber(e,t){this.selectedNumber=e,this.isAnonym=t,this.alreadyContact=this.contacts.find(i=>i.number==e)},openAddContact(e){this.selectedNumber=null,Ge().emit("addContact",{number:e})},closeSelectNumber(){this.selectedNumber=null,this.isAnonym=!1},startCall(){M.startCall(this.selectedNumber)},startVideoCall(){M.startVideoCall(this.selectedNumber)}},mounted(){this.incomingCallNumber?Te.push("/call/incoming"):this.isInCall?Te.push("/call/active"):this.outgoingCallNumber?Te.push("/call/outgoing"):!this.inGroupCall&&this.groupCall.id?Te.push("/call/incoming/group"):this.inGroupCall&&this.groupCall.id&&Te.push("/call/groupcall"),this.darkmode?this.setHeaderBlack(!1):this.setHeaderBlack(!0)}},TO={key:0,class:"gps-set-box"},IO=["disabled"],PO=["disabled"],MO=["disabled"],LO=["disabled"],RO={class:"call-app-list-header"},UO={class:"call-app-list-list"},OO=["onClick"],NO={class:"call-app-list-icon"},HO={class:"call-app-list-selection-text"},QO={class:"call-app-list-selection-date"},jO={class:"call-app-list-selection-date-icon"};function GO(e,t,i,n,a,s){const r=Y("ContactsAddContact"),o=Y("Icon"),l=Y("CallFooter"),c=Y("Homebutton");return p(),b(ne,null,[T(r),a.selectedNumber?(p(),b("div",TO,[d("div",{class:"gps-set-box-top",style:et({top:a.alreadyContact?67.5+"%":"61%"})},[a.alreadyContact?D("",!0):(p(),b("button",{key:0,class:H(["gps-set-box-top-button",{"darkmode-settingsbox":e.darkmode,"darkmode-hr":e.darkmode}]),onClick:t[0]||(t[0]=f=>s.openAddContact(a.selectedNumber)),disabled:a.isAnonym,style:{"border-top-left-radius":"1vh","border-top-right-radius":"1vh"}},_(e.IntlString("APP_CALL_SELECTION_ADD_CONTACT")),11,IO)),d("button",{class:H(["gps-set-box-top-button",{"darkmode-settingsbox":e.darkmode,"darkmode-hr":e.darkmode}]),onClick:t[1]||(t[1]=(...f)=>s.startCall&&s.startCall(...f)),style:et({borderTopLeftRadius:a.alreadyContact?"1vh":"0vh",borderTopRightRadius:a.alreadyContact?"1vh":"0vh"}),disabled:a.isAnonym},_(e.IntlString("APP_CALL_SELECTION_BOX_CALL")),15,PO),d("button",{class:H(["gps-set-box-top-button",{"darkmode-settingsbox":e.darkmode,"darkmode-hr":e.darkmode}]),onClick:t[2]||(t[2]=(...f)=>s.startVideoCall&&s.startVideoCall(...f)),disabled:a.isAnonym},_(e.IntlString("APP_CALL_SELECTION_BOX_VIDEO_CALL")),11,MO),d("button",{class:H(["gps-set-box-top-button",{"darkmode-settingsbox":e.darkmode,"darkmode-hr":e.darkmode}]),onClick:t[3]||(t[3]=(...f)=>s.blockContact&&s.blockContact(...f)),disabled:a.isAnonym,style:{color:"red","border-bottom-left-radius":"1vh","border-bottom-right-radius":"1vh"}},_(e.blockedNumbers.includes(a.selectedNumber)?e.IntlString("APP_CALL_LIST_UNBLOCK_CALLER"):e.IntlString("APP_CALL_LIST_BLOCK_CALLER")),11,LO)],4),d("div",{class:H(["gps-set-box-bottom",{"darkmode-settingsbox":e.darkmode}]),onClick:t[4]||(t[4]=(...f)=>s.closeSelectNumber&&s.closeSelectNumber(...f))},_(e.IntlString("APP_CALL_SELECTION_BOX_CANCEL")),3)])):D("",!0),d("div",{style:et([{backgroundColor:e.darkmode?"#000000":"#FFFFFF"},{width:"100%",height:"100%"}]),class:H({brightness:a.selectedNumber})},[d("div",RO,[d("div",{class:H(["call-app-list-header-title",{"darkmode-text":e.darkmode}])},_(e.IntlString("APP_CALL_CALL_LIST_HEADER")),3),d("div",UO,[(p(!0),b(ne,null,Me(e.getCallList,f=>(p(),b("div",{class:H(["call-app-list-selection",{"darkmode-hr":e.darkmode}]),onClick:h=>s.openSelectNumber(f.number,f.anonym)},[d("div",NO,[f.isincoming==1?(p(),We(o,{key:0,icon:"ic:baseline-phone-callback",color:"gray"})):(p(),We(o,{key:1,icon:"mdi:phone-outgoing",color:"gray"}))]),d("div",{class:H(["call-app-list-selection-name-number",{"darkmode-text":e.darkmode}])},_(f.anonym==1?e.IntlString("APP_CALL_ANONYMOUS"):(()=>{const h=e.contacts.find(A=>A.number==f.number);return h?`${h.firstname} ${h.lastname}`:f.number})()),3),d("div",HO,_(e.IntlString("APP_CALL_LIST_MOBILE")),1),d("div",QO,_(s.formatTime(f.date)),1),d("div",jO,[T(o,{icon:"material-symbols:info-outline"})])],10,OO))),256))])]),T(l)],6),T(c)],64)}const zO=ke(xO,[["render",GO],["__scopeId","data-v-ed6bcdf1"]]),qO={name:"CallFavourites",components:{Homebutton:Xe,CallFooter:TA,Icon:Qe},data(){return{selectedNumber:null}},computed:{...Z(Xt,["getFavoriteContacts"]),...Z(ue,["config","IntlString","darkmode"])},methods:{...xe(ue,["setHeaderBlack"]),openContactView(e){Te.push("/contact/view/"+e)},checkDisabled(e){return this.config.FavouriteContacts.find(t=>t.number==e)?!this.config.FavouriteContacts.find(t=>t.number==e).acceptMessage:!1},startCall(){M.startCall(this.selectedNumber)}},mounted(){this.darkmode?this.setHeaderBlack(!1):this.setHeaderBlack(!0)}},VO={key:0,class:"gps-set-box"},WO={class:"gps-set-box-top"},KO=["disabled"],YO={class:"call-app-favourites-header"},XO={class:"call-app-favourites-list"},JO=["onClick"],ZO=["src"],$O={class:"call-app-favourites-selection-text"},eN={class:"call-app-favourites-selection-date-icon"},tN=["onClick"],iN=["src"],nN={class:"call-app-favourites-selection-text"},aN=["onClick"];function sN(e,t,i,n,a,s){const r=Y("Icon"),o=Y("CallFooter"),l=Y("Homebutton");return p(),b(ne,null,[a.selectedNumber?(p(),b("div",VO,[d("div",WO,[d("div",{class:"gps-set-box-top-button",onClick:t[0]||(t[0]=(...c)=>s.startCall&&s.startCall(...c)),style:{"border-top-left-radius":"1vh","border-top-right-radius":"1vh"}},_(e.IntlString("APP_CALL_SELECTION_BOX_CALL")),1),d("button",{class:"gps-set-box-top-button",style:{"border-bottom-left-radius":"1vh","border-bottom-right-radius":"1vh"},disabled:s.checkDisabled(a.selectedNumber),onClick:t[1]||(t[1]=c=>e.$router.push("/messages/open/"+a.selectedNumber))},_(e.IntlString("APP_CALL_SELECTION_BOX_MESSAGE")),9,KO)]),d("div",{class:"gps-set-box-bottom",onClick:t[2]||(t[2]=c=>a.selectedNumber=null)},_(e.IntlString("APP_CALL_SELECTION_BOX_CANCEL")),1)])):D("",!0),d("div",{style:et([{backgroundColor:e.darkmode?"#000000":"#FFFFFF"},{width:"100%",height:"100%"}]),class:H({brightness:a.selectedNumber})},[d("div",YO,[t[3]||(t[3]=d("div",{class:"call-app-favourites-add-favourite"},"+",-1)),d("div",{class:H(["call-app-favourites-header-title",{"darkmode-text":e.darkmode}])},_(e.IntlString("APP_CALL_FAVOURITES_HEADER")),3),d("div",XO,[(p(!0),b(ne,null,Me(e.config.FavouriteContacts,c=>(p(),b("div",{class:H(["call-app-favourites-selection",{"darkmode-hr":e.darkmode}]),onClick:f=>a.selectedNumber=c.number},[d("img",{class:"call-app-favourites-icon",src:c.img?c.img:"/public/img/user.png"},null,8,ZO),d("div",{class:H(["call-app-favourites-selection-name-number",{"darkmode-text":e.darkmode}])},_(c.name),3),d("div",$O,_(e.IntlString("APP_CALL_FAVOURITES_SELECTION_FAVOURITE")),1),d("div",eN,[T(r,{icon:"material-symbols:info-outline"})])],10,JO))),256)),(p(!0),b(ne,null,Me(e.getFavoriteContacts,c=>(p(),b("div",{class:H(["call-app-favourites-selection",{"darkmode-hr":e.darkmode}]),onClick:f=>a.selectedNumber=c.number},[d("img",{class:"call-app-favourites-icon",src:c.picture?c.picture:"/public/img/user.png"},null,8,iN),d("div",{class:H(["call-app-favourites-selection-name-number",{"darkmode-text":e.darkmode}])},_(c.firstname+" "+c.lastname),3),d("div",nN,_(e.IntlString("APP_CALL_FAVOURITES_SELECTION_FAVOURITE")),1),d("div",{class:"call-app-favourites-selection-date-icon",onClick:f=>s.openContactView(c.id)},[T(r,{icon:"material-symbols:info-outline"})],8,aN)],10,tN))),256))])]),T(o)],6),T(l)],64)}const rN=ke(qO,[["render",sN],["__scopeId","data-v-a5305574"]]),oN={name:"Youtube",components:{Homebutton:Xe},data(){return{videosloaded:!1,erroryoutube:!1,search:null,timeout:!1,showvideo:!1,nothingfound:!1,videos:[]}},computed:{...Z(ue,["config","IntlString","darkmode"])},created(){this.loadVideos(this.config.default_youtubesearch)},methods:{...xe(ue,["setHeaderBlack"]),searchVideos(){this.loadVideos(this.search)},focus(e){M.inputFocus(e)},loadVideos:async function(e){if(this.videos.length=0,e==""||e==null||e==null||e==""||(this.nothingfound=!1,this.timeout))return;this.showvideo=!1;const i=await M.postURL("http://91.197.55.23:3000/api/youtube/search",{query:e});if(this.timeout=!0,setTimeout((function(){this.timeout=!1}).bind(this),3e3),this.videosloaded=!0,!i){this.erroryoutube=!0;return}for(let n=0;nthis.searchVideos&&this.searchVideos(...l),["enter"])),onFocus:t[1]||(t[1]=l=>s.focus(!0)),onFocusout:t[2]||(t[2]=l=>s.focus(!1)),"onUpdate:modelValue":t[3]||(t[3]=l=>this.search=l)},null,42,uN),[[Ne,this.search]])]),t[8]||(t[8]=d("div",{class:"youtube-app-border"},null,-1)),a.showvideo?(p(),b("div",cN,t[4]||(t[4]=[d("iframe",{class:"youtube-app-body-video-iframe"},null,-1)]))):D("",!0),a.erroryoutube?(p(),b("div",{key:1,class:H(["phone-music-offline",{"darkmode-youtube-text":e.darkmode}]),style:{"text-align":"center",width:"20vh"}},[T(r,{icon:"server",style:{"font-size":"2.5vh"}}),t[5]||(t[5]=d("p",{style:{"font-size":"1.2vh"}},"The servers are currently unavailable.",-1)),t[6]||(t[6]=d("p",{style:{"font-size":"1.2vh"}},"We are working hard to get the servers back online soon.",-1)),t[7]||(t[7]=d("span",{style:{"font-size":"1.3vh","font-weight":"bold"}},"Please try again later.",-1))],2)):D("",!0),a.nothingfound?(p(),b("p",{key:2,class:H([{"darkmode-youtube-text":e.darkmode},"youtube-app-center-text"])},_(e.IntlString("APP_YOUTUBE_SEARCH_NOTHING_FOUND")),3)):D("",!0),a.videosloaded?D("",!0):(p(),b("p",{key:3,class:H([{"darkmode-youtube-text":e.darkmode},"youtube-app-center-text"])},_(e.IntlString("APP_YOUTUBE_LOADINGVIDEOS")),3)),a.showvideo?D("",!0):(p(),b("div",dN,[(p(!0),b(ne,null,Me(a.videos,l=>(p(),b("div",{class:"youtube-app-body-element",onClick:c=>e.$router.push({name:"YoutubeIframe",params:{videoid:l.id}})},[d("img",{class:"youtube-app-body-img",src:l.thumbnail},null,8,hN)],8,fN))),256))]))],2),T(o)],64)}const gN=ke(oN,[["render",AN],["__scopeId","data-v-a431a1c3"]]),mN="https://www.youtube-nocookie.com",pN="https://www.youtube.com",O3="vue-youtube";var N3=(e=>(e[e.UNSTARTED=-1]="UNSTARTED",e[e.ENDED=0]="ENDED",e[e.PLAYING=1]="PLAYING",e[e.PAUSED=2]="PAUSED",e[e.BUFFERING=3]="BUFFERING",e[e.VIDEO_CUED=5]="VIDEO_CUED",e))(N3||{});function _N(e){const t=pi(e);return t?.$el??t}const FN=e=>({playerVars:e.playerVars??{},cookie:e.cookie??!0,height:e.height??720,width:e.width??1280}),bN=()=>{const e=Sa(O3);if(!e)throw new Error("You may forget to apply app.use(manager). See https://vue-youtube.github.io/docs/usage/manager.html for more information");return e},vN=e=>{const t={install(i){var n;i.provide(O3,t),(n=this._state.options.deferLoading)!=null&&n.enabled||this._insert()},register(i,n){var a;const s=i.id||`vue-youtube-${this._state.counter++}`,r=this._state.players.get(s);if(r!==void 0){r({factory:this._state.factory,id:s});return}this._state.factory===void 0?(this._state.backlog.set(s,n),(a=this._state.options.deferLoading)!=null&&a.enabled&&this._state.options.deferLoading.autoLoad&&this._insert()):n({factory:this._state.factory,id:s})},load(){this._state.factory===void 0&&this._insert()},_insert(){var i;const n=document.createElement("script");n.src="https://www.youtube.com/player_api";const a=document.querySelectorAll("script")[0];(i=a.parentNode)==null||i.insertBefore(n,a),window.onYouTubeIframeAPIReady=()=>{this._state.factory=window.YT;for(const[s,r]of this._state.backlog.entries())this._state.backlog.delete(s),this._state.players.set(s,r),r({factory:this._state.factory,id:s})}},_state:{backlog:new Map,players:new Map,options:e||{deferLoading:{enabled:!1,autoLoad:!1}},factory:void 0,counter:1}};return t},yN=(e,t,i={})=>{const{playerVars:n,cookie:a,height:s,width:r}=FN(i),o=a?pN:mN,l=bN(),c=new Array,f=new Array,h=new Array,A=new Array,m=new Array,F=new Array,y=E2(),k=Yt(e),C=Yt(!1),w=Yt(!1),B=(le,re)=>{for(const pe of re)pe(le)},S=(...le)=>{c.push(...le)},U=(...le)=>{f.push(...le)},N=(...le)=>{h.push(...le)},z=(...le)=>{A.push(...le)},Q=(...le)=>{m.push(...le)},R=(...le)=>{F.push(...le)},q=()=>{var le,re,pe;const $=(le=y.value)==null?void 0:le.getPlayerState();if($&&$===N3.PLAYING){(re=y.value)==null||re.pauseVideo();return}(pe=y.value)==null||pe.playVideo()},J=()=>{var le,re;if((le=y.value)!=null&&le.isMuted()){y.value.unMute();return}(re=y.value)==null||re.mute()},ae=()=>{var le,re;if(C.value){(le=y.value)==null||le.setShuffle(!1),C.value=!1;return}(re=y.value)==null||re.setShuffle(!0),C.value=!0},Fe=()=>{var le,re;if(w.value){(le=y.value)==null||le.setLoop(!1),w.value=!1;return}(re=y.value)==null||re.setLoop(!0),w.value=!0},ge=mr(k,le=>{var re;(re=y.value)==null||re.loadVideoById(le)});return Fa(()=>{const le=_N(t);le&&l.register(le,({factory:re,id:pe})=>{le.id=pe,y.value=new re.Player(pe,{videoId:pi(k),playerVars:n,height:s,width:r,host:o,events:{onPlaybackQualityChange:$=>{B($,c)},onPlaybackRateChange:$=>{B($,f)},onStateChange:$=>{B($,h)},onApiChange:$=>{B($,A)},onError:$=>{B($,m)},onReady:$=>{B($,F)}}})})}),AA(()=>{var le;(le=y.value)==null||le.destroy(),ge()}),{instance:y,togglePlay:q,toggleMute:J,toggleLoop:Fe,toggleShuffle:ae,onPlaybackQualityChange:S,onPlaybackRateChange:U,onStateChange:N,onApiChange:z,onError:Q,onReady:R}},wN=wo({name:"YoutubeIframe",props:{width:{type:[String,Number],default:1280},height:{type:[String,Number],default:720},playerVars:{type:Object,default:()=>({autoplay:0,time:0,mute:0})},videoId:{type:String,default:""},cookie:{type:Boolean,default:!0}},emits:["playback-quality-change","playback-rate-change","state-change","api-change","error","ready"],setup(e,{emit:t,expose:i}){const{videoId:n}=D2(e),a=Yt(),{instance:s,togglePlay:r,toggleMute:o,onPlaybackQualityChange:l,onPlaybackRateChange:c,onStateChange:f,onApiChange:h,onError:A,onReady:m}=yN(n,a,{playerVars:e.playerVars,height:e.height,cookie:e.cookie,width:e.width});return l(F=>{t("playback-quality-change",F)}),c(F=>{t("playback-rate-change",F)}),f(F=>{t("state-change",F)}),h(F=>{t("api-change",F)}),A(F=>{t("error",F)}),m(F=>{t("ready",F)}),i({instance:s,togglePlay:r,toggleMute:o}),()=>ai("div",{ref:a})}}),CN={key:0,style:{"background-color":"black",width:"100%",height:"100%"}},kN={__name:"YoutubeIframe",setup(e){const t=ue();t.homebuttoncolor="#FFFF",t.headerblack=!1;const i=n=>{n.target.playVideo()};return(n,a)=>(p(),b(ne,null,[n.$route.params.videoid?(p(),b("div",CN,[T(pi(wN),{width:"100%",cookie:!1,height:"90%","video-id":n.$route.params.videoid,onReady:i},null,8,["video-id"])])):D("",!0),d("div",{class:"phone-homebutton",onClick:a[0]||(a[0]=s=>n.$router.back()),style:{"background-color":"#ffffff"},id:"phone-homebutton"})],64))}},EN="/public/assets/cloud_logo-TT4ak2kh.png",BN={name:"MailLogin",components:{Homebutton:Xe},computed:{...Z(ue,["IntlString"]),...Z(_i,["getACCEmail","getAccountID"])},methods:{...xe(ue,["setHeaderBlack"]),sendToAppleLogin(){Te.push({name:"settings",params:{appleid:!0}})}},mounted(){this.setHeaderBlack(!0),this.getAccountID&&this.getAccountID!=0&&(M.loadMails(),Te.push("/mail/list"))}},SN={style:{"background-color":"#f3f2f8",width:"100%",height:"100%"}},DN={class:"welcome-mail"};function xN(e,t,i,n,a,s){const r=Y("Homebutton");return p(),b(ne,null,[d("div",SN,[d("h1",DN,_(e.IntlString("APP_MAIL_WELCOME_TEXT")),1),d("div",{class:"mail-login-box",onClick:t[0]||(t[0]=(...o)=>s.sendToAppleLogin&&s.sendToAppleLogin(...o))},[t[1]||(t[1]=d("img",{src:EN},null,-1)),ut(" "+_(e.IntlString("APP_MAIL_WELCOME_TEXT_CLOUD")),1)])]),T(r)],64)}const TN=ke(BN,[["render",xN],["__scopeId","data-v-1b1c8df9"]]),IN={name:"MailFooter",components:{Icon:Qe},methods:{openWriteMail(){Ge().emit("writemail")}},computed:{...Z(ue,["IntlString"])}},PN={class:"mail-footer"},MN={key:0,class:"mail-write-mail-text"};function LN(e,t,i,n,a,s){const r=Y("Icon");return p(),b("div",PN,[e.$route.name!="mail_boxes"?(p(),b("div",MN,_(e.IntlString("APP_MAIL_FOOTER_UPDATED_JUST_NOW")),1)):D("",!0),d("div",{class:"mail-write-mail-button",onClick:t[0]||(t[0]=(...o)=>s.openWriteMail&&s.openWriteMail(...o))},[T(r,{icon:"clarity:note-edit-line"})])])}const C1=ke(IN,[["render",LN],["__scopeId","data-v-40fab95e"]]),RN={name:"MailWrite",components:{Icon:Qe},data(){return{message:"",receiver:"",subject:"",lockSubject:!1}},computed:{...Z(_i,["getACCEmail","getFirstName","getLastName"]),...Z(ue,["IntlString"]),...Z(Wn,["mailImg"])},mounted(){this.emitter.on("setMailWriteData",e=>{e.receiver&&(this.receiver=e.receiver),e.subject&&(this.subject=e.subject,this.lockSubject=!0)})},methods:{sendMail(){this.receiver!==""&&this.subject!==""&&this.message!==""&&this.getFirstName!=null&&this.getLastName!=null&&(M.sendMail(this.receiver,this.subject,this.message,this.getACCEmail,this.getFirstName+" "+this.getLastName,this.mailImg),this.closeWriteMail())},focus(e){M.inputFocus(e)},closeWriteMail(){document.getElementById("mail-writemail-box").classList.add("writemail-out-class"),setTimeout((function(){Ge().emit("closeWriteMail")}).bind(this),180)}},beforeUnmount(){this.emitter.off("setMailWriteData")}},UN={class:"mail-writemail-box",id:"mail-writemail-box"},ON={class:"mail-writemail-new-mail"},NN=["disabled"],HN={class:"mail-writemail-input-text"},QN={class:"mail-writemail-input-text",style:{top:"10vh"}},jN=["value"],GN={class:"mail-writemail-input-text",style:{top:"12.8vh"}};function zN(e,t,i,n,a,s){const r=Y("Icon");return p(),b("div",UN,[d("div",{class:"mail-writemail-back",onClick:t[0]||(t[0]=(...o)=>s.closeWriteMail&&s.closeWriteMail(...o))},_(e.IntlString("APP_MAIL_MAILBOXES_CANCEL")),1),d("div",ON,_(a.subject.length===0?e.IntlString("APP_MAIL_MAILBOXES_NEW_MAIL"):a.subject.length>24?a.subject.slice(0,24)+"...":a.subject),1),d("button",{class:"mail-writemail-send-btn",onClick:t[1]||(t[1]=(...o)=>s.sendMail&&s.sendMail(...o)),disabled:a.receiver.length<3||a.subject.length<3||a.message==""},[T(r,{icon:"mdi:arrow-up"})],8,NN),d("div",HN,_(e.IntlString("APP_MAIL_MAILBOXES_MAIL_TO")),1),Re(d("input",{onFocus:t[2]||(t[2]=o=>s.focus(!0)),onFocusout:t[3]||(t[3]=o=>s.focus(!1)),class:"mail-writemail-input",maxlength:"50","onUpdate:modelValue":t[4]||(t[4]=o=>a.receiver=o)},null,544),[[Ne,a.receiver]]),d("div",QN,_(e.IntlString("APP_MAIL_MAILBOXES_MAIL_FROM")),1),d("input",{onFocus:t[5]||(t[5]=o=>s.focus(!0)),onFocusout:t[6]||(t[6]=o=>s.focus(!1)),class:"mail-writemail-input",readonly:"readonly",value:e.getACCEmail,style:{top:"9.3vh"}},null,40,jN),d("div",GN,_(e.IntlString("APP_MAIL_MAILBOXES_MAIL_SUBJECT")),1),a.lockSubject?D("",!0):Re((p(),b("input",{key:0,onFocus:t[7]||(t[7]=o=>s.focus(!0)),onFocusout:t[8]||(t[8]=o=>s.focus(!1)),class:"mail-writemail-input","onUpdate:modelValue":t[9]||(t[9]=o=>a.subject=o),maxlength:"17",style:{"padding-left":"4vh",top:"12.1vh"}},null,544)),[[Ne,a.subject]]),a.lockSubject?Re((p(),b("input",{key:1,readonly:"readonly",class:"mail-writemail-input","onUpdate:modelValue":t[10]||(t[10]=o=>a.subject=o),maxlength:"17",style:{"padding-left":"4vh",top:"12.1vh"}},null,512)),[[Ne,a.subject]]):D("",!0),Re(d("textarea",{onFocus:t[11]||(t[11]=o=>s.focus(!0)),onFocusout:t[12]||(t[12]=o=>s.focus(!1)),class:"mail-writemail-textarea","onUpdate:modelValue":t[13]||(t[13]=o=>a.message=o)},null,544),[[Ne,a.message]])])}const k1=ke(RN,[["render",zN],["__scopeId","data-v-dabaa048"]]),qN={name:"MailList",components:{MailWrite:k1,Homebutton:Xe,MailFooter:C1,Icon:Qe},data(){return{writeMail:!1}},computed:{...Z(Wn,["mails"]),...Z(ue,["IntlString"]),...Z(_i,["getAccountID"])},methods:{openMail(e){Te.push("/mail/read/"+e)},formatTime(e){return Yi(e).format("DD.MM.YYYY")}},mounted(){(this.getAccountID==0||!this.getAccountID)&&Te.push("/mail/login"),this.emitter.on("writemail",async e=>{this.writeMail=!0,await this.$nextTick(),e&&Ge().emit("setMailWriteData",e)}),this.emitter.on("closeWriteMail",()=>{this.writeMail=!1})},beforeUnmount(){this.emitter.off("closeWriteMail"),this.emitter.off("writemail")}},VN={class:"mail-app-list-header"},WN={class:"mail-app-list-header-title"},KN={class:"mail-app-list-list"},YN=["onClick"],XN={key:0,class:"mail-app-list-mail-unread"},JN={class:"mail-app-list-selection-name-number"},ZN={class:"mail-app-list-selection-text"},$N={key:1,class:"mail-app-list-selection-text-2"},eH={class:"mail-app-list-selection-date"},tH={class:"mail-app-list-selection-date-icon"};function iH(e,t,i,n,a,s){const r=Y("MailWrite"),o=Y("Icon"),l=Y("MailFooter"),c=Y("Homebutton");return p(),b(ne,null,[a.writeMail?(p(),We(r,{key:0})):D("",!0),d("div",{style:{"background-color":"#f3f2f8",width:"100%",height:"100%"},class:H({brightness:a.writeMail})},[d("div",VN,[d("div",{class:"mail-read-back-arrow",onClick:t[0]||(t[0]=f=>e.$router.push("/mail/boxes"))},"< "+_(e.IntlString("APP_MAIL_MAILBOXES_HEADER")),1),d("div",WN,_(e.IntlString("APP_MAIL_MAILBOXES_ALL_INBOXES")),1),d("div",KN,[(p(!0),b(ne,null,Me(e.mails,f=>(p(),b("div",{class:"mail-app-list-selection",onClick:h=>s.openMail(f.id)},[f.read===0?(p(),b("div",XN)):D("",!0),d("div",JN,_(f.sender),1),d("div",ZN,_(f.title),1),f.isSystem==0?(p(),b("div",$N,_(f.message.length>79?f.message.slice(0,80)+"...":f.message),1)):D("",!0),d("div",eH,_(s.formatTime(f.date)),1),d("div",tH,[T(o,{icon:"mdi:arrow-right-drop-circle-outline"})])],8,YN))),256))])]),T(l)],2),T(c)],64)}const nH=ke(qN,[["render",iH],["__scopeId","data-v-5cdd7744"]]),aH={name:"ClockFooter",components:{Homebutton:Xe,Icon:Qe},computed:{...Z(ue,["IntlString"])},methods:{...xe(ue,["setHeaderBlack"])},mounted(){this.setHeaderBlack(!1)}},sH={class:"clock-footer",style:{color:"#fff"}},rH={class:"clock-footer-button-text"},oH={class:"clock-footer-button-text"},lH={class:"clock-footer-button-text"};function uH(e,t,i,n,a,s){const r=Y("font-awesome-icon"),o=Y("Icon"),l=Y("Homebutton");return p(),b(ne,null,[d("div",sH,[d("div",{class:H(["clock-footer-button",{selected:e.$route.name==="clock_worldclock"}]),onClick:t[0]||(t[0]=c=>e.$router.push("/clock/worldclock"))},[T(r,{icon:"globe"}),d("div",rH,_(e.IntlString("CLOCK_APP_WORLDCLOCK")),1)],2),d("div",{class:H(["clock-footer-button",{selected:e.$route.name==="clock_stopwatch"}]),onClick:t[1]||(t[1]=c=>e.$router.push("/clock/stopwatch"))},[T(r,{icon:"clock"}),d("div",oH,_(e.IntlString("CLOCK_APP_STOPWATCH")),1)],2),d("div",{class:H(["clock-footer-button",{selected:e.$route.name==="clock_timer"}]),onClick:t[2]||(t[2]=c=>e.$router.push("/clock/timer"))},[T(o,{style:{"font-size":"1.8vh"},icon:"ion:timer-outline"}),d("div",lH,_(e.IntlString("CLOCK_APP_TIMER")),1)],2)]),T(l)],64)}const E1=ke(aH,[["render",uH],["__scopeId","data-v-b0691b5d"]]),Ts=ti("clock",{state:()=>({currentHour:null,currentSecond:null,currentMinute:null,timerrunning:!1,timerpaused:!1,stopwatchrunning:!1,stopwatchhours:0,stopwatchminutes:0,stopwatchseconds:0}),getters:{getStopwatchHours(){return this.stopwatchhours<10?"0"+this.stopwatchhours:this.stopwatchhours},getStopwatchMinutes(){return this.stopwatchminutes<10?"0"+this.stopwatchminutes:this.stopwatchminutes},getStopwatchSeconds(){return this.stopwatchseconds<10?"0"+this.stopwatchseconds:this.stopwatchseconds}},actions:{setCurrentHour(e){this.currentHour=e},setCurrentMinute(e){this.currentMinute=e},setCurrentSecond(e){this.currentSecond=e},setTimerRunning(e){this.timerrunning=e},setTimerPaused(e){this.timerpaused=e},setStopwatchRunning(e){this.stopwatchrunning=e},setStopwatchHours(e){this.stopwatchhours=e},setStopwatchMinutes(e){this.stopwatchminutes=e},setStopwatchSeconds(e){this.stopwatchseconds=e}}}),cH={name:"ClockStopWatch",components:{ClockFooter:E1},computed:{...Z(ue,["IntlString"]),...Z(Ts,["getStopwatchHours","getStopwatchSeconds","getStopwatchMinutes","stopwatchrunning"])},methods:{...xe(Ts,["setStopwatchRunning"]),resetStopWatch:function(){Ge().emit("resetStopWatch")},startStopWatch(){this.stopwatchrunning?Ge().emit("stopStopWatch"):Ge().emit("startStopWatch")}}},dH={style:{"background-color":"#000000",width:"100%",height:"100%"}},fH={class:"clock-stopwatch-time"},hH={id:"clock-stopwatch-time-number"},AH={key:0},gH={key:1},mH=["disabled"];function pH(e,t,i,n,a,s){const r=Y("ClockFooter");return p(),b("div",dH,[d("div",fH,[d("h1",hH,_(e.getStopwatchHours)+":"+_(e.getStopwatchMinutes)+","+_(e.getStopwatchSeconds),1)]),d("button",{class:H({"clock-timer-start-button":!e.stopwatchrunning,"clock-timer-stop-button":e.stopwatchrunning}),onClick:t[0]||(t[0]=(...o)=>s.startStopWatch&&s.startStopWatch(...o))},[e.stopwatchrunning?(p(),b("span",AH,_(e.IntlString("CLOCK_APP_STOPWATCH_STOP_BUTTON")),1)):D("",!0),e.stopwatchrunning?D("",!0):(p(),b("span",gH,_(e.IntlString("CLOCK_APP_STOPWATCH_START_BUTTON")),1))],2),d("button",{class:"clock-timer-reset-button",disabled:e.stopwatchrunning||e.getStopwatchSeconds==="00",onClick:t[1]||(t[1]=(...o)=>s.resetStopWatch&&s.resetStopWatch(...o))},_(e.IntlString("CLOCK_APP_STOPWATCH_RESET_BUTTON")),9,mH),T(r)])}const _H=ke(cH,[["render",pH],["__scopeId","data-v-63bede96"]]);function FH(e,t=83){let i=null;return function(){i&&(clearTimeout(i),i=null);const n=this,a=arguments;i=setTimeout(()=>e.apply(n,a),t)}}function bH(e){const{top:t,bottom:i}=e.getBoundingClientRect();return(t+i)/2}function Ib(e){return e.map(t=>{switch(typeof t){case"string":return{value:t,name:t};case"number":case"boolean":return{value:t,name:`${t}`}}return t})}function H3(e){return e.changedTouches||e.touches}function tm(e){return H3(e)?e.changedTouches[0]||e.touches[0]:e}const Q3=wo({props:{modelValue:null,options:{type:Array,default:()=>[]},dragSensitivity:{type:Number,default:1.7},touchSensitivity:{type:Number,default:1.7},scrollSensitivity:{type:Number,default:1},empty:{type:String,default:"No Items"},placeholder:{type:String,default:null}},emits:{"update:modelValue":e=>!0,start:()=>!0,move:e=>!0,end:e=>!0,cancel:()=>!0,wheel:e=>!0,click:(e,t)=>!0},data(){var e;const t=Ib(this.options);let i=t.findIndex(a=>a.value==this.modelValue);i===-1&&!this.placeholder&&!this.$slots.placeholder&&this.options.length>0&&(i=0);const n=((e=t[i])==null?void 0:e.value)??null;return{resizeObserver:null,refItems:[],internalOptions:t,internalIndex:i,internalValue:n,bounds:[],boundMin:0,boundMax:0,scroll:null,scrollOffsetTop:0,scrollMin:0,scrollMax:0,transitionTimeout:null,start:null,isDragging:!1}},computed:{hasPlaceholder(){return!!(this.placeholder||this.$slots.placeholder)}},watch:{modelValue(e){if(e==null&&this.hasPlaceholder){this.scrollTo(this.findScrollByIndex(-1));return}const t=this.internalOptions.findIndex(i=>i.value==e);if(t===-1){this.$emit("update:modelValue",this.internalValue);return}this.internalIndex!==t&&(this.internalIndex=t,this.scrollTo(this.findScrollByIndex(t)))},options:{handler(e){var t;const i=this.internalOptions=Ib(e);let n=i.findIndex(s=>s.value==this.modelValue);n===-1&&!this.hasPlaceholder&&this.options.length>0&&(n=0);const a=((t=i[n])==null?void 0:t.value)??null;this.$nextTick(()=>{this.calculateBounds(),this.scroll=this.findScrollByIndex(n),this.internalIndex=n,this.internalValue!==a&&this.$emit("update:modelValue",this.internalValue=a)})},deep:!0}},beforeUpdate(){this.refItems=[]},mounted(){this.calculateBounds(),this.scroll=this.findScrollByIndex(this.internalIndex),this.internalValue!==this.modelValue&&this.$emit("update:modelValue",this.internalValue);const e=this.$el;e.addEventListener("touchstart",this.onStart),e.addEventListener("touchmove",this.onMove),e.addEventListener("touchend",this.onEnd),e.addEventListener("touchcancel",this.onCancel),"onwheel"in e?e.addEventListener("wheel",this.onWheel):"onmousewheel"in e?e.addEventListener("mousewheel",this.onWheel):"onDOMMouseScroll"in e&&e.addEventListener("DOMMouseScroll",this.onWheel),e.addEventListener("mousedown",this.onStart),document.addEventListener("mousemove",this.onMove),document.addEventListener("mouseup",this.onEnd),document.addEventListener("mouseout",this.onDocumentMouseOut),typeof window.ResizeObserver<"u"&&(this.resizeObserver=new window.ResizeObserver(()=>this.resize())).observe(e)},beforeUnmount(){var e;const t=this.$el;t.removeEventListener("touchstart",this.onStart),t.removeEventListener("touchmove",this.onMove),t.removeEventListener("touchend",this.onEnd),t.removeEventListener("touchcancel",this.onCancel),"onwheel"in t?t.removeEventListener("wheel",this.onWheel):"onmousewheel"in t?t.removeEventListener("mousewheel",this.onWheel):"onDOMMouseScroll"in t&&t.removeEventListener("DOMMouseScroll",this.onWheel),t.removeEventListener("mousedown",this.onStart),document.removeEventListener("mousemove",this.onMove),document.removeEventListener("mouseup",this.onEnd),document.removeEventListener("mouseout",this.onDocumentMouseOut),(e=this.resizeObserver)==null||e.disconnect()},methods:{setRefItem(e){this.refItems.push(e)},resize(){this.$nextTick(()=>{this.calculateBounds(),this.scroll=this.findScrollByIndex(this.internalIndex)})},calculateBounds(){const e=this.$refs.rotator,t=this.$refs.layerSelection,i=e.getBoundingClientRect().top,n=this.bounds=this.refItems.map(o=>bH(o)-i).sort((o,l)=>o-l),a=this.boundMin=Math.min(...n),s=this.boundMax=Math.max(...n),r=this.scrollOffsetTop=t.offsetTop+t.offsetHeight/2;this.scrollMin=r-a,this.scrollMax=r-s},sanitizeInternalIndex(e){return Math.min(Math.max(e,this.hasPlaceholder?-1:0),this.internalOptions.length-1)},findIndexFromScroll(e){let t=null,i=0;return this.bounds.forEach((n,a)=>{const s=n+e-this.scrollOffsetTop;(t===null||Math.abs(t)>Math.abs(s))&&(i=a,t=s)}),this.hasPlaceholder||this.options.length===0?i-1:i},findScrollByIndex(e){let t=e;return(this.hasPlaceholder||this.options.length===0)&&t++,e>-1&&t in this.bounds?this.scrollOffsetTop-this.bounds[t]:e>=this.bounds.length?this.scrollOffsetTop-this.boundMax:this.scrollOffsetTop-this.boundMin},onWheel(e){if(this.scroll>=this.scrollMin&&e.deltaY<0||this.scroll<=this.scrollMax&&e.deltaY>0||this.bounds.length===1)return;e.preventDefault();const t=this.sanitizeInternalIndex(this.internalIndex+(e.deltaY>0?1:-1)),i=e.deltaY>0?this.findScrollByIndex(t-1)-this.findScrollByIndex(t):this.findScrollByIndex(t)-this.findScrollByIndex(t+1),n=Math.max(Math.min(e.deltaY,i),i*-1);this.scroll=Math.min(Math.max(this.scroll-n*this.scrollSensitivity,this.scrollMax),this.scrollMin);const a=this.sanitizeInternalIndex(this.findIndexFromScroll(this.scroll)),s=this.internalOptions[a],r=s?.value??null;this.internalIndex=a,this.$emit("wheel",r),this.internalValue!==r&&!(s!=null&&s.disabled)&&this.$emit("update:modelValue",this.internalValue=r),this.onAfterWheel(()=>{this.correction(this.scroll)})},onAfterWheel:FH(e=>{e()},200),onStart(e){e.cancelable&&e.preventDefault();const{clientY:t}=tm(e);this.start=[this.scroll,t],this.isDragging=!1,this.$emit("start")},onMove(e){var t;if(!this.start)return;e.cancelable&&e.preventDefault();const{clientY:i}=tm(e),n=i-this.start[1];Math.abs(n)>1.5&&(this.isDragging=!0),this.scroll=this.start[0]+n*(H3(e)?this.touchSensitivity:this.dragSensitivity);const a=this.sanitizeInternalIndex(this.findIndexFromScroll(this.scroll)),s=((t=this.internalOptions[a])==null?void 0:t.value)??null;this.$emit("move",s)},onEnd(e){this.start&&(e.cancelable&&e.preventDefault(),this.isDragging?this.correction(this.scroll):this.onClick(e),this.start=null,this.isDragging=!1,this.$emit("end",this.internalValue))},onDocumentMouseOut(e){var t;(e.relatedTarget===null||((t=e.relatedTarget)==null?void 0:t.nodeName)==="HTML")&&this.onCancel(e)},onCancel(e){e.cancelable&&e.preventDefault(),this.scrollTo(this.findScrollByIndex(this.internalIndex)),this.start=null,this.isDragging=!1,this.$emit("cancel")},onClick(e){const t=this.$refs.layerTop,i=this.$refs.layerBottom,{clientX:n,clientY:a}=tm(e),s=t.getBoundingClientRect(),r=i.getBoundingClientRect();let o=this.internalIndex;if(s.left<=n&&n<=s.right&&s.top<=a&&a<=s.bottom){if(this.internalIndex===(this.hasPlaceholder?-1:0))return;for(o--;this.internalOptions[o]&&this.internalOptions[o].disabled;)o--}else if(r.left<=n&&n<=r.right&&r.top<=a&&a<=r.bottom){if(this.internalIndex===this.internalOptions.length-1)return;for(o++;this.internalOptions[o]&&this.internalOptions[o].disabled;)o++}if(this.internalIndex!==o&&this.internalOptions[o]){const l=this.internalValue,c=this.internalOptions[o].value;this.scrollTo(this.findScrollByIndex(o),()=>{this.internalIndex=o,this.emitModalValue(c)}),this.$emit("click",c,l)}},correction(e){var t;const i=this.hasPlaceholder||this.options.length===0?1:0,n=this.bounds.map((s,r)=>[r-i,s+e-this.scrollOffsetTop]).sort((s,r)=>Math.abs(s[1])-Math.abs(r[1])).map(([s])=>s);let a=0;for(;n[a]!=null&&this.internalOptions[n[a]]&&this.internalOptions[n[a]].disabled;)a++;if(n[a]===-1||n[a]!=null&&this.internalOptions[n[a]]){const s=n[a],r=((t=this.internalOptions[s])==null?void 0:t.value)??null;this.scrollTo(this.findScrollByIndex(s),()=>{this.internalIndex=s,this.emitModalValue(r)})}else this.scrollTo(this.findScrollByIndex(this.internalIndex))},scrollTo(e,t){this.scroll=e,this.transitionTimeout&&clearTimeout(this.transitionTimeout),this.transitionTimeout=setTimeout(()=>{this.transitionTimeout=null,t?.()},100)},emitModalValue(e){this.internalValue!==e&&this.$emit("update:modelValue",this.internalValue=e)}},render(){let e=[];return this.hasPlaceholder?e.push(ai("div",{class:["vue-scroll-picker-item","vue-scroll-picker-item-placeholder",{"vue-scroll-picker-item-selected":this.internalIndex===-1}],ref:t=>t&&this.setRefItem(t)},no(this.$slots,"placeholder",{text:this.placeholder},()=>[this.placeholder]))):this.internalOptions.length===0&&e.push(ai("div",{class:["vue-scroll-picker-item","vue-scroll-picker-item-empty","vue-scroll-picker-item-selected"],ref:t=>t&&this.setRefItem(t)},no(this.$slots,"empty",{text:this.empty},()=>[this.empty]))),e=e.concat(this.internalOptions.map((t,i)=>ai("div",{class:["vue-scroll-picker-item",{"vue-scroll-picker-item-selected":this.internalIndex===i,"vue-scroll-picker-item-disabled":t.disabled}],key:t.value,ref:n=>n&&this.setRefItem(n)},no(this.$slots,"default",{option:t},()=>[t.name])))),ai("div",{class:["vue-scroll-picker"]},[ai("div",{ref:"rotator",class:["vue-scroll-picker-rotator",{"vue-scroll-picker-rotator-transition":this.transitionTimeout}],style:typeof this.scroll=="number"?{top:`${this.scroll}px`}:{}},e),ai("div",{class:["vue-scroll-picker-layer"]},[ai("div",{class:["vue-scroll-picker-layer-top"],ref:"layerTop"}),ai("div",{class:["vue-scroll-picker-layer-selection"],ref:"layerSelection"}),ai("div",{class:["vue-scroll-picker-layer-bottom"],ref:"layerBottom"})])])}});function vH(e){e.component("VueScrollPicker",Q3)}typeof window<"u"&&window.Vue&&vH(window.Vue);const yH={name:"ClockTimer",components:{ClockFooter:E1,VueScrollPicker:Q3},data(){return{hours:[],minutes:[],seconds:[],selectedHour:0,selectedMinute:0,selectedSecond:0}},computed:{...Z(ue,["IntlString"]),...Z(Ts,["timerpaused","timerrunning","currentHour","currentMinute","currentSecond"])},methods:{...xe(Ts,["setCurrentHour","setCurrentMinute","setCurrentSecond","setTimerRunning","setTimerPaused"]),fillOptions(){for(let e=0;e<24;e++)this.hours.push(e);for(let e=0;e<60;e++)this.minutes.push(e);for(let e=0;e<60;e++)this.seconds.push(e)},cancelTimer(){this.setTimerRunning(!1),this.setTimerPaused(!1),this.emitter.emit("clearTimerInterval")},startTimer(){M.startTimer(this.selectedSecond,this.selectedMinute,this.selectedHour)},pauseTimer(){this.setTimerPaused(!0)},continueTimer(){this.setTimerPaused(!1)}},mounted(){this.fillOptions()}},wH={style:{"background-color":"black",width:"100%",height:"100%"}},CH={key:0,class:"clocktimer-header-options",style:{left:"2vh"}},kH={key:1,class:"clocktimer-header-options",style:{left:"12.5vh"}},EH={key:2,class:"clocktimer-header-options",style:{right:"3vh"}},BH={key:3,class:"clocktimer-box",style:{color:"white",display:"flex",position:"absolute",top:"9vh",width:"100%"}},SH={key:4,class:"clocktimer-box",style:{color:"white",display:"flex",position:"absolute",top:"7vh",width:"100%"}},DH={class:"clocktimer-round"},xH=["disabled"];function TH(e,t,i,n,a,s){const r=Y("VueScrollPicker"),o=Y("ClockFooter");return p(),b("div",wH,[e.timerrunning?D("",!0):(p(),b("p",CH,_(e.IntlString("APP_CLOCK_TIMER_HOURS")),1)),e.timerrunning?D("",!0):(p(),b("p",kH,_(e.IntlString("APP_CLOCK_TIMER_MINUTES")),1)),e.timerrunning?D("",!0):(p(),b("p",EH,_(e.IntlString("APP_CLOCK_TIMER_SECONDS")),1)),e.timerrunning?D("",!0):(p(),b("div",BH,[T(r,{options:a.hours,modelValue:a.selectedHour,"onUpdate:modelValue":t[0]||(t[0]=l=>a.selectedHour=l)},null,8,["options","modelValue"]),T(r,{options:a.minutes,modelValue:a.selectedMinute,"onUpdate:modelValue":t[1]||(t[1]=l=>a.selectedMinute=l)},null,8,["options","modelValue"]),T(r,{options:a.seconds,modelValue:a.selectedSecond,"onUpdate:modelValue":t[2]||(t[2]=l=>a.selectedSecond=l)},null,8,["options","modelValue"])])),e.timerrunning?(p(),b("div",SH,[d("div",DH,[d("p",null,_(e.currentHour!=0?e.currentHour+":":null)+_(e.currentMinute)+":"+_(e.currentSecond<10?"0"+e.currentSecond:e.currentSecond),1)])])):D("",!0),e.timerrunning?D("",!0):(p(),b("button",{key:5,class:"clock-timer-start-button",onClick:t[3]||(t[3]=(...l)=>s.startTimer&&s.startTimer(...l))},_(e.IntlString("CLOCK_APP_TIMER_START_BUTTON")),1)),e.timerrunning&&!e.timerpaused?(p(),b("button",{key:6,class:"clock-timer-stop-button",onClick:t[4]||(t[4]=(...l)=>s.pauseTimer&&s.pauseTimer(...l))},_(e.IntlString("CLOCK_APP_TIMER_PAUSE_BUTTON")),1)):D("",!0),e.timerrunning&&e.timerpaused?(p(),b("button",{key:7,class:"clock-timer-start-button",onClick:t[5]||(t[5]=(...l)=>s.continueTimer&&s.continueTimer(...l))},_(e.IntlString("CLOCK_APP_STOPWATCH_RESUME_BUTTON")),1)):D("",!0),d("button",{class:"clock-timer-reset-button",disabled:!e.timerrunning,onClick:t[6]||(t[6]=(...l)=>s.cancelTimer&&s.cancelTimer(...l))},_(e.IntlString("CLOCK_APP_TIMER_CANCEL")),9,xH),T(o)])}const IH=ke(yH,[["render",TH],["__scopeId","data-v-4ee55b10"]]),PH={name:"ClockWorldClock",components:{ClockFooter:E1},computed:{...Z(ue,["IntlString"])},methods:{calcTime(e){const t=new Date,i=t.getTime()+t.getTimezoneOffset()*6e4,n=new Date(i+36e5*e);let a=n.getMinutes();return a<10&&(a="0"+a),n.getHours()+":"+a}}},MH={style:{"background-color":"black",width:"100%",height:"100%"}},LH={class:"clock-header"},RH={style:{position:"absolute",top:"8vh",width:"100%"}},UH={class:"clock-worldclock-selection"},OH={class:"clock-worldclock-selection-hours"},NH={class:"clock-worldclock-selection-time"},HH={class:"clock-worldclock-selection"},QH={class:"clock-worldclock-selection-hours"},jH={class:"clock-worldclock-selection-time"},GH={class:"clock-worldclock-selection"},zH={class:"clock-worldclock-selection-hours"},qH={class:"clock-worldclock-selection-time"},VH={class:"clock-worldclock-selection"},WH={class:"clock-worldclock-selection-hours"},KH={class:"clock-worldclock-selection-time"},YH={class:"clock-worldclock-selection"},XH={class:"clock-worldclock-selection-hours"},JH={class:"clock-worldclock-selection-time"},ZH={class:"clock-worldclock-selection"},$H={class:"clock-worldclock-selection-hours"},eQ={class:"clock-worldclock-selection-time"};function tQ(e,t,i,n,a,s){const r=Y("ClockFooter");return p(),b("div",MH,[d("p",LH,_(e.IntlString("CLOCK_APP_WORLDCLOCK")),1),d("div",RH,[d("div",UH,[d("div",OH,_(e.IntlString("CLOCK_APP_WORLDCLOCK_TODAY"))+", +0 STD",1),t[0]||(t[0]=d("div",{class:"clock-worldclock-selection-cityname"},"Berlin",-1)),d("div",NH,_(s.calcTime(2)),1)]),d("div",HH,[d("div",QH,_(e.IntlString("CLOCK_APP_WORLDCLOCK_TODAY"))+", -6 STD",1),t[1]||(t[1]=d("div",{class:"clock-worldclock-selection-cityname"},"New York",-1)),d("div",jH,_(s.calcTime(-4)),1)]),d("div",GH,[d("div",zH,_(e.IntlString("CLOCK_APP_WORLDCLOCK_TODAY"))+", +7 STD",1),t[2]||(t[2]=d("div",{class:"clock-worldclock-selection-cityname"},"Singapore",-1)),d("div",qH,_(s.calcTime(8)),1)]),d("div",VH,[d("div",WH,_(e.IntlString("CLOCK_APP_WORLDCLOCK_TODAY"))+", +6 STD",1),t[3]||(t[3]=d("div",{class:"clock-worldclock-selection-cityname"},"Bangkok",-1)),d("div",KH,_(s.calcTime(7)),1)]),d("div",YH,[d("div",XH,_(e.IntlString("CLOCK_APP_WORLDCLOCK_TODAY"))+", +2 STD",1),t[4]||(t[4]=d("div",{class:"clock-worldclock-selection-cityname"},"Dubai",-1)),d("div",JH,_(s.calcTime(4)),1)]),d("div",ZH,[d("div",$H,_(e.IntlString("CLOCK_APP_WORLDCLOCK_TODAY"))+", -1 STD",1),t[5]||(t[5]=d("div",{class:"clock-worldclock-selection-cityname"},"London",-1)),d("div",eQ,_(s.calcTime(1)),1)]),t[6]||(t[6]=d("div",{class:"clock-worldclock-selection"},null,-1))]),T(r)])}const iQ=ke(PH,[["render",tQ],["__scopeId","data-v-37b21b6f"]]);Number.EPSILON===void 0&&(Number.EPSILON=Math.pow(2,-52));Number.isInteger===void 0&&(Number.isInteger=function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e});Math.sign===void 0&&(Math.sign=function(e){return e<0?-1:e>0?1:+e});"name"in Function.prototype||Object.defineProperty(Function.prototype,"name",{get:function(){return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]}});Object.assign===void 0&&function(){Object.assign=function(e){if(e==null)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),i=1;i>8&255]+e[n>>16&255]+e[n>>24&255]+"-"+e[a&255]+e[a>>8&255]+"-"+e[a>>16&15|64]+e[a>>24&255]+"-"+e[s&63|128]+e[s>>8&255]+"-"+e[s>>16&255]+e[s>>24&255]+e[r&255]+e[r>>8&255]+e[r>>16&255]+e[r>>24&255];return o.toUpperCase()}}(),clamp:function(e,t,i){return Math.max(t,Math.min(i,e))},euclideanModulo:function(e,t){return(e%t+t)%t},mapLinear:function(e,t,i,n,a){return n+(e-t)*(a-n)/(i-t)},lerp:function(e,t,i){return(1-i)*e+i*t},smoothstep:function(e,t,i){return e<=t?0:e>=i?1:(e=(e-t)/(i-t),e*e*(3-2*e))},smootherstep:function(e,t,i){return e<=t?0:e>=i?1:(e=(e-t)/(i-t),e*e*e*(e*(e*6-15)+10))},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},degToRad:function(e){return e*Tt.DEG2RAD},radToDeg:function(e){return e*Tt.RAD2DEG},isPowerOfTwo:function(e){return(e&e-1)===0&&e!==0},ceilPowerOfTwo:function(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))},floorPowerOfTwo:function(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}};function Ke(e,t){this.x=e||0,this.y=t||0}Object.defineProperties(Ke.prototype,{width:{get:function(){return this.x},set:function(e){this.x=e}},height:{get:function(){return this.y},set:function(e){this.y=e}}});Object.assign(Ke.prototype,{isVector2:!0,set:function(e,t){return this.x=e,this.y=t,this},setScalar:function(e){return this.x=e,this.y=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(e){return this.x=e.x,this.y=e.y,this},add:function(e,t){return t!==void 0?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)},addScalar:function(e){return this.x+=e,this.y+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this},sub:function(e,t){return t!==void 0?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)},subScalar:function(e){return this.x-=e,this.y-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this},multiply:function(e){return this.x*=e.x,this.y*=e.y,this},multiplyScalar:function(e){return this.x*=e,this.y*=e,this},divide:function(e){return this.x/=e.x,this.y/=e.y,this},divideScalar:function(e){return this.multiplyScalar(1/e)},applyMatrix3:function(e){var t=this.x,i=this.y,n=e.elements;return this.x=n[0]*t+n[3]*i+n[6],this.y=n[1]*t+n[4]*i+n[7],this},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this},clampScalar:function(){var e=new Ke,t=new Ke;return function(n,a){return e.set(n,n),t.set(a,a),this.clamp(e,t)}}(),clampLength:function(e,t){var i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this},negate:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(e){return this.x*e.x+this.y*e.y},cross:function(e){return this.x*e.y-this.y*e.x},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length()||1)},angle:function(){var e=Math.atan2(this.y,this.x);return e<0&&(e+=2*Math.PI),e},distanceTo:function(e){return Math.sqrt(this.distanceToSquared(e))},distanceToSquared:function(e){var t=this.x-e.x,i=this.y-e.y;return t*t+i*i},manhattanDistanceTo:function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)},setLength:function(e){return this.normalize().multiplyScalar(e)},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this},lerpVectors:function(e,t,i){return this.subVectors(t,e).multiplyScalar(i).add(e)},equals:function(e){return e.x===this.x&&e.y===this.y},fromArray:function(e,t){return t===void 0&&(t=0),this.x=e[t],this.y=e[t+1],this},toArray:function(e,t){return e===void 0&&(e=[]),t===void 0&&(t=0),e[t]=this.x,e[t+1]=this.y,e},fromBufferAttribute:function(e,t,i){return i!==void 0&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this},rotateAround:function(e,t){var i=Math.cos(t),n=Math.sin(t),a=this.x-e.x,s=this.y-e.y;return this.x=a*i-s*n+e.x,this.y=a*n+s*i+e.y,this}});function wt(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}Object.assign(wt.prototype,{isMatrix4:!0,set:function(e,t,i,n,a,s,r,o,l,c,f,h,A,m,F,y){var k=this.elements;return k[0]=e,k[4]=t,k[8]=i,k[12]=n,k[1]=a,k[5]=s,k[9]=r,k[13]=o,k[2]=l,k[6]=c,k[10]=f,k[14]=h,k[3]=A,k[7]=m,k[11]=F,k[15]=y,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},clone:function(){return new wt().fromArray(this.elements)},copy:function(e){var t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this},copyPosition:function(e){var t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this},extractBasis:function(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this},makeBasis:function(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this},extractRotation:function(){var e=new ee;return function(i){var n=this.elements,a=i.elements,s=1/e.setFromMatrixColumn(i,0).length(),r=1/e.setFromMatrixColumn(i,1).length(),o=1/e.setFromMatrixColumn(i,2).length();return n[0]=a[0]*s,n[1]=a[1]*s,n[2]=a[2]*s,n[3]=0,n[4]=a[4]*r,n[5]=a[5]*r,n[6]=a[6]*r,n[7]=0,n[8]=a[8]*o,n[9]=a[9]*o,n[10]=a[10]*o,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}}(),makeRotationFromEuler:function(e){e&&e.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var t=this.elements,i=e.x,n=e.y,a=e.z,s=Math.cos(i),r=Math.sin(i),o=Math.cos(n),l=Math.sin(n),c=Math.cos(a),f=Math.sin(a);if(e.order==="XYZ"){var h=s*c,A=s*f,m=r*c,F=r*f;t[0]=o*c,t[4]=-o*f,t[8]=l,t[1]=A+m*l,t[5]=h-F*l,t[9]=-r*o,t[2]=F-h*l,t[6]=m+A*l,t[10]=s*o}else if(e.order==="YXZ"){var y=o*c,k=o*f,C=l*c,w=l*f;t[0]=y+w*r,t[4]=C*r-k,t[8]=s*l,t[1]=s*f,t[5]=s*c,t[9]=-r,t[2]=k*r-C,t[6]=w+y*r,t[10]=s*o}else if(e.order==="ZXY"){var y=o*c,k=o*f,C=l*c,w=l*f;t[0]=y-w*r,t[4]=-s*f,t[8]=C+k*r,t[1]=k+C*r,t[5]=s*c,t[9]=w-y*r,t[2]=-s*l,t[6]=r,t[10]=s*o}else if(e.order==="ZYX"){var h=s*c,A=s*f,m=r*c,F=r*f;t[0]=o*c,t[4]=m*l-A,t[8]=h*l+F,t[1]=o*f,t[5]=F*l+h,t[9]=A*l-m,t[2]=-l,t[6]=r*o,t[10]=s*o}else if(e.order==="YZX"){var B=s*o,S=s*l,U=r*o,N=r*l;t[0]=o*c,t[4]=N-B*f,t[8]=U*f+S,t[1]=f,t[5]=s*c,t[9]=-r*c,t[2]=-l*c,t[6]=S*f+U,t[10]=B-N*f}else if(e.order==="XZY"){var B=s*o,S=s*l,U=r*o,N=r*l;t[0]=o*c,t[4]=-f,t[8]=l*c,t[1]=B*f+N,t[5]=s*c,t[9]=S*f-U,t[2]=U*f-S,t[6]=r*c,t[10]=N*f+B}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},makeRotationFromQuaternion:function(){var e=new ee(0,0,0),t=new ee(1,1,1);return function(n){return this.compose(e,n,t)}}(),lookAt:function(){var e=new ee,t=new ee,i=new ee;return function(a,s,r){var o=this.elements;return i.subVectors(a,s),i.lengthSq()===0&&(i.z=1),i.normalize(),e.crossVectors(r,i),e.lengthSq()===0&&(Math.abs(r.z)===1?i.x+=1e-4:i.z+=1e-4,i.normalize(),e.crossVectors(r,i)),e.normalize(),t.crossVectors(i,e),o[0]=e.x,o[4]=t.x,o[8]=i.x,o[1]=e.y,o[5]=t.y,o[9]=i.y,o[2]=e.z,o[6]=t.z,o[10]=i.z,this}}(),multiply:function(e,t){return t!==void 0?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)},premultiply:function(e){return this.multiplyMatrices(e,this)},multiplyMatrices:function(e,t){var i=e.elements,n=t.elements,a=this.elements,s=i[0],r=i[4],o=i[8],l=i[12],c=i[1],f=i[5],h=i[9],A=i[13],m=i[2],F=i[6],y=i[10],k=i[14],C=i[3],w=i[7],B=i[11],S=i[15],U=n[0],N=n[4],z=n[8],Q=n[12],R=n[1],q=n[5],J=n[9],ae=n[13],Fe=n[2],ge=n[6],le=n[10],re=n[14],pe=n[3],$=n[7],V=n[11],I=n[15];return a[0]=s*U+r*R+o*Fe+l*pe,a[4]=s*N+r*q+o*ge+l*$,a[8]=s*z+r*J+o*le+l*V,a[12]=s*Q+r*ae+o*re+l*I,a[1]=c*U+f*R+h*Fe+A*pe,a[5]=c*N+f*q+h*ge+A*$,a[9]=c*z+f*J+h*le+A*V,a[13]=c*Q+f*ae+h*re+A*I,a[2]=m*U+F*R+y*Fe+k*pe,a[6]=m*N+F*q+y*ge+k*$,a[10]=m*z+F*J+y*le+k*V,a[14]=m*Q+F*ae+y*re+k*I,a[3]=C*U+w*R+B*Fe+S*pe,a[7]=C*N+w*q+B*ge+S*$,a[11]=C*z+w*J+B*le+S*V,a[15]=C*Q+w*ae+B*re+S*I,this},multiplyScalar:function(e){var t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this},applyToBufferAttribute:function(){var e=new ee;return function(i){for(var n=0,a=i.count;n=0?1:-1,w=1-k*k;if(w>Number.EPSILON){var B=Math.sqrt(w),S=Math.atan2(B,k*C);y=Math.sin(y*S)/B,r=Math.sin(r*S)/B}var U=r*C;if(o=o*y+h*U,l=l*y+A*U,c=c*y+m*U,f=f*y+F*U,y===1-r){var N=1/Math.sqrt(o*o+l*l+c*c+f*f);o*=N,l*=N,c*=N,f*=N}}e[t]=o,e[t+1]=l,e[t+2]=c,e[t+3]=f}});Object.defineProperties(en.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(e){this._y=e,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(e){this._z=e,this.onChangeCallback()}},w:{get:function(){return this._w},set:function(e){this._w=e,this.onChangeCallback()}}});Object.assign(en.prototype,{isQuaternion:!0,set:function(e,t,i,n){return this._x=e,this._y=t,this._z=i,this._w=n,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this.onChangeCallback(),this},setFromEuler:function(e,t){if(!(e&&e.isEuler))throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var i=e._x,n=e._y,a=e._z,s=e.order,r=Math.cos,o=Math.sin,l=r(i/2),c=r(n/2),f=r(a/2),h=o(i/2),A=o(n/2),m=o(a/2);return s==="XYZ"?(this._x=h*c*f+l*A*m,this._y=l*A*f-h*c*m,this._z=l*c*m+h*A*f,this._w=l*c*f-h*A*m):s==="YXZ"?(this._x=h*c*f+l*A*m,this._y=l*A*f-h*c*m,this._z=l*c*m-h*A*f,this._w=l*c*f+h*A*m):s==="ZXY"?(this._x=h*c*f-l*A*m,this._y=l*A*f+h*c*m,this._z=l*c*m+h*A*f,this._w=l*c*f-h*A*m):s==="ZYX"?(this._x=h*c*f-l*A*m,this._y=l*A*f+h*c*m,this._z=l*c*m-h*A*f,this._w=l*c*f+h*A*m):s==="YZX"?(this._x=h*c*f+l*A*m,this._y=l*A*f+h*c*m,this._z=l*c*m-h*A*f,this._w=l*c*f-h*A*m):s==="XZY"&&(this._x=h*c*f-l*A*m,this._y=l*A*f-h*c*m,this._z=l*c*m+h*A*f,this._w=l*c*f+h*A*m),t!==!1&&this.onChangeCallback(),this},setFromAxisAngle:function(e,t){var i=t/2,n=Math.sin(i);return this._x=e.x*n,this._y=e.y*n,this._z=e.z*n,this._w=Math.cos(i),this.onChangeCallback(),this},setFromRotationMatrix:function(e){var t=e.elements,i=t[0],n=t[4],a=t[8],s=t[1],r=t[5],o=t[9],l=t[2],c=t[6],f=t[10],h=i+r+f,A;return h>0?(A=.5/Math.sqrt(h+1),this._w=.25/A,this._x=(c-o)*A,this._y=(a-l)*A,this._z=(s-n)*A):i>r&&i>f?(A=2*Math.sqrt(1+i-r-f),this._w=(c-o)/A,this._x=.25*A,this._y=(n+s)/A,this._z=(a+l)/A):r>f?(A=2*Math.sqrt(1+r-i-f),this._w=(a-l)/A,this._x=(n+s)/A,this._y=.25*A,this._z=(o+c)/A):(A=2*Math.sqrt(1+f-i-r),this._w=(s-n)/A,this._x=(a+l)/A,this._y=(o+c)/A,this._z=.25*A),this.onChangeCallback(),this},setFromUnitVectors:function(){var e=new ee,t,i=1e-6;return function(a,s){return e===void 0&&(e=new ee),t=a.dot(s)+1,tMath.abs(a.z)?e.set(-a.y,a.x,0):e.set(0,-a.z,a.y)):e.crossVectors(a,s),this._x=e.x,this._y=e.y,this._z=e.z,this._w=t,this.normalize()}}(),angleTo:function(e){return 2*Math.acos(Math.abs(Tt.clamp(this.dot(e),-1,1)))},rotateTowards:function(e,t){var i=this.angleTo(e);if(i===0)return this;var n=Math.min(1,t/i);return this.slerp(e,n),this},inverse:function(){return this.conjugate()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this.onChangeCallback(),this},dot:function(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this.onChangeCallback(),this},multiply:function(e,t){return t!==void 0?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)},premultiply:function(e){return this.multiplyQuaternions(e,this)},multiplyQuaternions:function(e,t){var i=e._x,n=e._y,a=e._z,s=e._w,r=t._x,o=t._y,l=t._z,c=t._w;return this._x=i*c+s*r+n*l-a*o,this._y=n*c+s*o+a*r-i*l,this._z=a*c+s*l+i*o-n*r,this._w=s*c-i*r-n*o-a*l,this.onChangeCallback(),this},slerp:function(e,t){if(t===0)return this;if(t===1)return this.copy(e);var i=this._x,n=this._y,a=this._z,s=this._w,r=s*e._w+i*e._x+n*e._y+a*e._z;if(r<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,r=-r):this.copy(e),r>=1)return this._w=s,this._x=i,this._y=n,this._z=a,this;var o=1-r*r;if(o<=Number.EPSILON){var l=1-t;return this._w=l*s+t*this._w,this._x=l*i+t*this._x,this._y=l*n+t*this._y,this._z=l*a+t*this._z,this.normalize()}var c=Math.sqrt(o),f=Math.atan2(c,r),h=Math.sin((1-t)*f)/c,A=Math.sin(t*f)/c;return this._w=s*h+this._w*A,this._x=i*h+this._x*A,this._y=n*h+this._y*A,this._z=a*h+this._z*A,this.onChangeCallback(),this},equals:function(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w},fromArray:function(e,t){return t===void 0&&(t=0),this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this.onChangeCallback(),this},toArray:function(e,t){return e===void 0&&(e=[]),t===void 0&&(t=0),e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e},onChange:function(e){return this.onChangeCallback=e,this},onChangeCallback:function(){}});function ee(e,t,i){this.x=e||0,this.y=t||0,this.z=i||0}Object.assign(ee.prototype,{isVector3:!0,set:function(e,t,i){return this.x=e,this.y=t,this.z=i,this},setScalar:function(e){return this.x=e,this.y=e,this.z=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setZ:function(e){return this.z=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},add:function(e,t){return t!==void 0?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)},addScalar:function(e){return this.x+=e,this.y+=e,this.z+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this},sub:function(e,t){return t!==void 0?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)},subScalar:function(e){return this.x-=e,this.y-=e,this.z-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this},multiply:function(e,t){return t!==void 0?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)},multiplyScalar:function(e){return this.x*=e,this.y*=e,this.z*=e,this},multiplyVectors:function(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this},applyEuler:function(){var e=new en;return function(i){return i&&i.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(e.setFromEuler(i))}}(),applyAxisAngle:function(){var e=new en;return function(i,n){return this.applyQuaternion(e.setFromAxisAngle(i,n))}}(),applyMatrix3:function(e){var t=this.x,i=this.y,n=this.z,a=e.elements;return this.x=a[0]*t+a[3]*i+a[6]*n,this.y=a[1]*t+a[4]*i+a[7]*n,this.z=a[2]*t+a[5]*i+a[8]*n,this},applyMatrix4:function(e){var t=this.x,i=this.y,n=this.z,a=e.elements,s=1/(a[3]*t+a[7]*i+a[11]*n+a[15]);return this.x=(a[0]*t+a[4]*i+a[8]*n+a[12])*s,this.y=(a[1]*t+a[5]*i+a[9]*n+a[13])*s,this.z=(a[2]*t+a[6]*i+a[10]*n+a[14])*s,this},applyQuaternion:function(e){var t=this.x,i=this.y,n=this.z,a=e.x,s=e.y,r=e.z,o=e.w,l=o*t+s*n-r*i,c=o*i+r*t-a*n,f=o*n+a*i-s*t,h=-a*t-s*i-r*n;return this.x=l*o+h*-a+c*-r-f*-s,this.y=c*o+h*-s+f*-a-l*-r,this.z=f*o+h*-r+l*-s-c*-a,this},project:function(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)},unproject:function(){var e=new wt;return function(i){return this.applyMatrix4(e.getInverse(i.projectionMatrix)).applyMatrix4(i.matrixWorld)}}(),transformDirection:function(e){var t=this.x,i=this.y,n=this.z,a=e.elements;return this.x=a[0]*t+a[4]*i+a[8]*n,this.y=a[1]*t+a[5]*i+a[9]*n,this.z=a[2]*t+a[6]*i+a[10]*n,this.normalize()},divide:function(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this},divideScalar:function(e){return this.multiplyScalar(1/e)},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this},clampScalar:function(){var e=new ee,t=new ee;return function(n,a){return e.set(n,n,n),t.set(a,a,a),this.clamp(e,t)}}(),clampLength:function(e,t){var i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(e){return this.normalize().multiplyScalar(e)},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this},lerpVectors:function(e,t,i){return this.subVectors(t,e).multiplyScalar(i).add(e)},cross:function(e,t){return t!==void 0?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(e,t)):this.crossVectors(this,e)},crossVectors:function(e,t){var i=e.x,n=e.y,a=e.z,s=t.x,r=t.y,o=t.z;return this.x=n*o-a*r,this.y=a*s-i*o,this.z=i*r-n*s,this},projectOnVector:function(e){var t=e.dot(this)/e.lengthSq();return this.copy(e).multiplyScalar(t)},projectOnPlane:function(){var e=new ee;return function(i){return e.copy(this).projectOnVector(i),this.sub(e)}}(),reflect:function(){var e=new ee;return function(i){return this.sub(e.copy(i).multiplyScalar(2*this.dot(i)))}}(),angleTo:function(e){var t=this.dot(e)/Math.sqrt(this.lengthSq()*e.lengthSq());return Math.acos(Tt.clamp(t,-1,1))},distanceTo:function(e){return Math.sqrt(this.distanceToSquared(e))},distanceToSquared:function(e){var t=this.x-e.x,i=this.y-e.y,n=this.z-e.z;return t*t+i*i+n*n},manhattanDistanceTo:function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)},setFromSpherical:function(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)},setFromSphericalCoords:function(e,t,i){var n=Math.sin(t)*e;return this.x=n*Math.sin(i),this.y=Math.cos(t)*e,this.z=n*Math.cos(i),this},setFromCylindrical:function(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)},setFromCylindricalCoords:function(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this},setFromMatrixPosition:function(e){var t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this},setFromMatrixScale:function(e){var t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),n=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=n,this},setFromMatrixColumn:function(e,t){return this.fromArray(e.elements,t*4)},equals:function(e){return e.x===this.x&&e.y===this.y&&e.z===this.z},fromArray:function(e,t){return t===void 0&&(t=0),this.x=e[t],this.y=e[t+1],this.z=e[t+2],this},toArray:function(e,t){return e===void 0&&(e=[]),t===void 0&&(t=0),e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e},fromBufferAttribute:function(e,t,i){return i!==void 0&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}});function bn(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}Object.assign(bn.prototype,{isMatrix3:!0,set:function(e,t,i,n,a,s,r,o,l){var c=this.elements;return c[0]=e,c[1]=n,c[2]=r,c[3]=t,c[4]=a,c[5]=o,c[6]=i,c[7]=s,c[8]=l,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return new this.constructor().fromArray(this.elements)},copy:function(e){var t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this},setFromMatrix4:function(e){var t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this},applyToBufferAttribute:function(){var e=new ee;return function(i){for(var n=0,a=i.count;n"u")return e.src;if(e instanceof HTMLCanvasElement)t=e;else{No===void 0&&(No=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),No.width=e.width,No.height=e.height;var i=No.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=No}return t.width>2048||t.height>2048?t.toDataURL("image/jpeg",.6):t.toDataURL("image/png")}},Aj=0;function ci(e,t,i,n,a,s,r,o,l,c){Object.defineProperty(this,"id",{value:Aj++}),this.uuid=Tt.generateUUID(),this.name="",this.image=e!==void 0?e:ci.DEFAULT_IMAGE,this.mipmaps=[],this.mapping=t!==void 0?t:ci.DEFAULT_MAPPING,this.wrapS=i!==void 0?i:ca,this.wrapT=n!==void 0?n:ca,this.magFilter=a!==void 0?a:Fn,this.minFilter=s!==void 0?s:PA,this.anisotropy=l!==void 0?l:1,this.format=r!==void 0?r:Is,this.type=o!==void 0?o:MA,this.offset=new Ke(0,0),this.repeat=new Ke(1,1),this.center=new Ke(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new bn,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=c!==void 0?c:ih,this.version=0,this.onUpdate=null}ci.DEFAULT_IMAGE=void 0;ci.DEFAULT_MAPPING=B1;ci.prototype=Object.assign(Object.create(Ir.prototype),{constructor:ci,isTexture:!0,updateMatrix:function(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)},clone:function(){return new this.constructor().copy(this)},copy:function(e){return this.name=e.name,this.image=e.image,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.encoding=e.encoding,this},toJSON:function(e){var t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];var i={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(this.image!==void 0){var n=this.image;if(n.uuid===void 0&&(n.uuid=Tt.generateUUID()),!t&&e.images[n.uuid]===void 0){var a;if(Array.isArray(n)){a=[];for(var s=0,r=n.length;s1)switch(this.wrapS){case ur:e.x=e.x-Math.floor(e.x);break;case ca:e.x=e.x<0?0:1;break;case ml:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case ur:e.y=e.y-Math.floor(e.y);break;case ca:e.y=e.y<0?0:1;break;case ml:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}});Object.defineProperty(ci.prototype,"needsUpdate",{set:function(e){e===!0&&this.version++}});function ui(e,t,i,n){this.x=e||0,this.y=t||0,this.z=i||0,this.w=n!==void 0?n:1}Object.assign(ui.prototype,{isVector4:!0,set:function(e,t,i,n){return this.x=e,this.y=t,this.z=i,this.w=n,this},setScalar:function(e){return this.x=e,this.y=e,this.z=e,this.w=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setZ:function(e){return this.z=e,this},setW:function(e){return this.w=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this},add:function(e,t){return t!==void 0?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)},addScalar:function(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this},sub:function(e,t){return t!==void 0?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)},subScalar:function(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this},multiplyScalar:function(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this},applyMatrix4:function(e){var t=this.x,i=this.y,n=this.z,a=this.w,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*n+s[12]*a,this.y=s[1]*t+s[5]*i+s[9]*n+s[13]*a,this.z=s[2]*t+s[6]*i+s[10]*n+s[14]*a,this.w=s[3]*t+s[7]*i+s[11]*n+s[15]*a,this},divideScalar:function(e){return this.multiplyScalar(1/e)},setAxisAngleFromQuaternion:function(e){this.w=2*Math.acos(e.w);var t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this},setAxisAngleFromRotationMatrix:function(e){var t,i,n,a,s=.01,r=.1,o=e.elements,l=o[0],c=o[4],f=o[8],h=o[1],A=o[5],m=o[9],F=o[2],y=o[6],k=o[10];if(Math.abs(c-h)w&&C>B?CB?wa&&(a=c),f>s&&(s=f),h>r&&(r=h)}return this.min.set(t,i,n),this.max.set(a,s,r),this},setFromBufferAttribute:function(e){for(var t=1/0,i=1/0,n=1/0,a=-1/0,s=-1/0,r=-1/0,o=0,l=e.count;oa&&(a=c),f>s&&(s=f),h>r&&(r=h)}return this.min.set(t,i,n),this.max.set(a,s,r),this},setFromPoints:function(e){this.makeEmpty();for(var t=0,i=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)},containsBox:function(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z},getParameter:function(e,t){return t===void 0&&(console.warn("THREE.Box3: .getParameter() target is now required"),t=new ee),t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)},intersectsSphere:function(){var e=new ee;return function(i){return this.clampPoint(i.center,e),e.distanceToSquared(i.center)<=i.radius*i.radius}}(),intersectsPlane:function(e){var t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),t<=-e.constant&&i>=-e.constant},intersectsTriangle:function(){var e=new ee,t=new ee,i=new ee,n=new ee,a=new ee,s=new ee,r=new ee,o=new ee,l=new ee,c=new ee;function f(h){var A,m;for(A=0,m=h.length-3;A<=m;A+=3){r.fromArray(h,A);var F=l.x*Math.abs(r.x)+l.y*Math.abs(r.y)+l.z*Math.abs(r.z),y=e.dot(r),k=t.dot(r),C=i.dot(r);if(Math.max(-Math.max(y,k,C),Math.min(y,k,C))>F)return!1}return!0}return function(A){if(this.isEmpty())return!1;this.getCenter(o),l.subVectors(this.max,o),e.subVectors(A.a,o),t.subVectors(A.b,o),i.subVectors(A.c,o),n.subVectors(t,e),a.subVectors(i,t),s.subVectors(e,i);var m=[0,-n.z,n.y,0,-a.z,a.y,0,-s.z,s.y,n.z,0,-n.x,a.z,0,-a.x,s.z,0,-s.x,-n.y,n.x,0,-a.y,a.x,0,-s.y,s.x,0];return!f(m)||(m=[1,0,0,0,1,0,0,0,1],!f(m))?!1:(c.crossVectors(n,a),m=[c.x,c.y,c.z],f(m))}}(),clampPoint:function(e,t){return t===void 0&&(console.warn("THREE.Box3: .clampPoint() target is now required"),t=new ee),t.copy(e).clamp(this.min,this.max)},distanceToPoint:function(){var e=new ee;return function(i){var n=e.copy(i).clamp(this.min,this.max);return n.sub(i).length()}}(),getBoundingSphere:function(){var e=new ee;return function(i){return i===void 0&&(console.warn("THREE.Box3: .getBoundingSphere() target is now required"),i=new Za),this.getCenter(i.center),i.radius=this.getSize(e).length()*.5,i}}(),intersect:function(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this},union:function(e){return this.min.min(e.min),this.max.max(e.max),this},applyMatrix4:function(){var e=[new ee,new ee,new ee,new ee,new ee,new ee,new ee,new ee];return function(i){return this.isEmpty()?this:(e[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(i),e[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(i),e[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(i),e[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(i),e[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(i),e[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(i),e[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(i),e[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(i),this.setFromPoints(e),this)}}(),translate:function(e){return this.min.add(e),this.max.add(e),this},equals:function(e){return e.min.equals(this.min)&&e.max.equals(this.max)}});function Za(e,t){this.center=e!==void 0?e:new ee,this.radius=t!==void 0?t:0}Object.assign(Za.prototype,{set:function(e,t){return this.center.copy(e),this.radius=t,this},setFromPoints:function(){var e=new wr;return function(i,n){var a=this.center;n!==void 0?a.copy(n):e.setFromPoints(i).getCenter(a);for(var s=0,r=0,o=i.length;rthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t},getBoundingBox:function(e){return e===void 0&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),e=new wr),e.set(this.center,this.center),e.expandByScalar(this.radius),e},applyMatrix4:function(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this},translate:function(e){return this.center.add(e),this},equals:function(e){return e.center.equals(this.center)&&e.radius===this.radius}});function ys(e,t){this.normal=e!==void 0?e:new ee(1,0,0),this.constant=t!==void 0?t:0}Object.assign(ys.prototype,{set:function(e,t){return this.normal.copy(e),this.constant=t,this},setComponents:function(e,t,i,n){return this.normal.set(e,t,i),this.constant=n,this},setFromNormalAndCoplanarPoint:function(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this},setFromCoplanarPoints:function(){var e=new ee,t=new ee;return function(n,a,s){var r=e.subVectors(s,a).cross(t.subVectors(n,a)).normalize();return this.setFromNormalAndCoplanarPoint(r,n),this}}(),clone:function(){return new this.constructor().copy(this)},copy:function(e){return this.normal.copy(e.normal),this.constant=e.constant,this},normalize:function(){var e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this},negate:function(){return this.constant*=-1,this.normal.negate(),this},distanceToPoint:function(e){return this.normal.dot(e)+this.constant},distanceToSphere:function(e){return this.distanceToPoint(e.center)-e.radius},projectPoint:function(e,t){return t===void 0&&(console.warn("THREE.Plane: .projectPoint() target is now required"),t=new ee),t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)},intersectLine:function(){var e=new ee;return function(i,n){n===void 0&&(console.warn("THREE.Plane: .intersectLine() target is now required"),n=new ee);var a=i.delta(e),s=this.normal.dot(a);if(s===0)return this.distanceToPoint(i.start)===0?n.copy(i.start):void 0;var r=-(i.start.dot(this.normal)+this.constant)/s;if(!(r<0||r>1))return n.copy(a).multiplyScalar(r).add(i.start)}}(),intersectsLine:function(e){var t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return t<0&&i>0||i<0&&t>0},intersectsBox:function(e){return e.intersectsPlane(this)},intersectsSphere:function(e){return e.intersectsPlane(this)},coplanarPoint:function(e){return e===void 0&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),e=new ee),e.copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var e=new ee,t=new bn;return function(n,a){var s=a||t.getNormalMatrix(n),r=this.coplanarPoint(e).applyMatrix4(n),o=this.normal.applyMatrix3(s).normalize();return this.constant=-r.dot(o),this}}(),translate:function(e){return this.constant-=e.dot(this.normal),this},equals:function(e){return e.normal.equals(this.normal)&&e.constant===this.constant}});function M1(e,t,i,n,a,s){this.planes=[e!==void 0?e:new ys,t!==void 0?t:new ys,i!==void 0?i:new ys,n!==void 0?n:new ys,a!==void 0?a:new ys,s!==void 0?s:new ys]}Object.assign(M1.prototype,{set:function(e,t,i,n,a,s){var r=this.planes;return r[0].copy(e),r[1].copy(t),r[2].copy(i),r[3].copy(n),r[4].copy(a),r[5].copy(s),this},clone:function(){return new this.constructor().copy(this)},copy:function(e){for(var t=this.planes,i=0;i<6;i++)t[i].copy(e.planes[i]);return this},setFromMatrix:function(e){var t=this.planes,i=e.elements,n=i[0],a=i[1],s=i[2],r=i[3],o=i[4],l=i[5],c=i[6],f=i[7],h=i[8],A=i[9],m=i[10],F=i[11],y=i[12],k=i[13],C=i[14],w=i[15];return t[0].setComponents(r-n,f-o,F-h,w-y).normalize(),t[1].setComponents(r+n,f+o,F+h,w+y).normalize(),t[2].setComponents(r+a,f+l,F+A,w+k).normalize(),t[3].setComponents(r-a,f-l,F-A,w-k).normalize(),t[4].setComponents(r-s,f-c,F-m,w-C).normalize(),t[5].setComponents(r+s,f+c,F+m,w+C).normalize(),this},intersectsObject:function(){var e=new Za;return function(i){var n=i.geometry;return n.boundingSphere===null&&n.computeBoundingSphere(),e.copy(n.boundingSphere).applyMatrix4(i.matrixWorld),this.intersectsSphere(e)}}(),intersectsSprite:function(){var e=new Za;return function(i){return e.center.set(0,0,0),e.radius=.7071067811865476,e.applyMatrix4(i.matrixWorld),this.intersectsSphere(e)}}(),intersectsSphere:function(e){for(var t=this.planes,i=e.center,n=-e.radius,a=0;a<6;a++){var s=t[a].distanceToPoint(i);if(s0?i.max.x:i.min.x,e.y=s.normal.y>0?i.max.y:i.min.y,e.z=s.normal.z>0?i.max.z:i.min.z,s.distanceToPoint(e)<0)return!1}return!0}}(),containsPoint:function(e){for(var t=this.planes,i=0;i<6;i++)if(t[i].distanceToPoint(e)<0)return!1;return!0}});const gj=`
+#ifdef USE_ALPHAMAP
+
+ diffuseColor.a *= texture2D( alphaMap, vUv ).g;
+
+#endif
+`,mj=`
+#ifdef USE_ALPHAMAP
+
+ uniform sampler2D alphaMap;
+
+#endif
+`,pj=`
+#ifdef ALPHATEST
+
+ if ( diffuseColor.a < ALPHATEST ) discard;
+
+#endif
+`,_j=`
+#ifdef USE_AOMAP
+
+ // reads channel R, compatible with a combined OcclusionRoughnessMetallic (RGB) texture
+ float ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;
+
+ reflectedLight.indirectDiffuse *= ambientOcclusion;
+
+ #if defined( USE_ENVMAP ) && defined( PHYSICAL )
+
+ float dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );
+
+ reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );
+
+ #endif
+
+#endif
+`,Fj=`
+#ifdef USE_AOMAP
+
+ uniform sampler2D aoMap;
+ uniform float aoMapIntensity;
+
+#endif
+`,bj=`
+vec3 transformed = vec3( position );
+`,vj=`
+vec3 objectNormal = vec3( normal );
+`,yj=`
+float punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {
+
+#if defined ( PHYSICALLY_CORRECT_LIGHTS )
+
+ // based upon Frostbite 3 Moving to Physically-based Rendering
+ // page 32, equation 26: E[window1]
+ // https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf
+ // this is intended to be used on spot and point lights who are represented as luminous intensity
+ // but who must be converted to luminous irradiance for surface lighting calculation
+ float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );
+
+ if( cutoffDistance > 0.0 ) {
+
+ distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );
+
+ }
+
+ return distanceFalloff;
+
+#else
+
+ if( cutoffDistance > 0.0 && decayExponent > 0.0 ) {
+
+ return pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );
+
+ }
+
+ return 1.0;
+
+#endif
+
+}
+
+vec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {
+
+ return RECIPROCAL_PI * diffuseColor;
+
+} // validated
+
+vec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {
+
+ // Original approximation by Christophe Schlick '94
+ // float fresnel = pow( 1.0 - dotLH, 5.0 );
+
+ // Optimized variant (presented by Epic at SIGGRAPH '13)
+ // https://cdn2.unrealengine.com/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf
+ float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );
+
+ return ( 1.0 - specularColor ) * fresnel + specularColor;
+
+} // validated
+
+// Microfacet Models for Refraction through Rough Surfaces - equation (34)
+// http://graphicrants.blogspot.com/2013/08/specular-brdf-reference.html
+// alpha is "roughness squared" in Disney’s reparameterization
+float G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {
+
+ // geometry term (normalized) = G(l)⋅G(v) / 4(n⋅l)(n⋅v)
+ // also see #12151
+
+ float a2 = pow2( alpha );
+
+ float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );
+ float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );
+
+ return 1.0 / ( gl * gv );
+
+} // validated
+
+// Moving Frostbite to Physically Based Rendering 3.0 - page 12, listing 2
+// https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf
+float G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {
+
+ float a2 = pow2( alpha );
+
+ // dotNL and dotNV are explicitly swapped. This is not a mistake.
+ float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );
+ float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );
+
+ return 0.5 / max( gv + gl, EPSILON );
+
+}
+
+// Microfacet Models for Refraction through Rough Surfaces - equation (33)
+// http://graphicrants.blogspot.com/2013/08/specular-brdf-reference.html
+// alpha is "roughness squared" in Disney’s reparameterization
+float D_GGX( const in float alpha, const in float dotNH ) {
+
+ float a2 = pow2( alpha );
+
+ float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; // avoid alpha = 0 with dotNH = 1
+
+ return RECIPROCAL_PI * a2 / pow2( denom );
+
+}
+
+// GGX Distribution, Schlick Fresnel, GGX-Smith Visibility
+vec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {
+
+ float alpha = pow2( roughness ); // UE4's roughness
+
+ vec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );
+
+ float dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );
+ float dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );
+ float dotNH = saturate( dot( geometry.normal, halfDir ) );
+ float dotLH = saturate( dot( incidentLight.direction, halfDir ) );
+
+ vec3 F = F_Schlick( specularColor, dotLH );
+
+ float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );
+
+ float D = D_GGX( alpha, dotNH );
+
+ return F * ( G * D );
+
+} // validated
+
+// Rect Area Light
+
+// Real-Time Polygonal-Light Shading with Linearly Transformed Cosines
+// by Eric Heitz, Jonathan Dupuy, Stephen Hill and David Neubelt
+// code: https://github.com/selfshadow/ltc_code/
+
+vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {
+
+ const float LUT_SIZE = 64.0;
+ const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;
+ const float LUT_BIAS = 0.5 / LUT_SIZE;
+
+ float dotNV = saturate( dot( N, V ) );
+
+ // texture parameterized by sqrt( GGX alpha ) and sqrt( 1 - cos( theta ) )
+ vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );
+
+ uv = uv * LUT_SCALE + LUT_BIAS;
+
+ return uv;
+
+}
+
+float LTC_ClippedSphereFormFactor( const in vec3 f ) {
+
+ // Real-Time Area Lighting: a Journey from Research to Production (p.102)
+ // An approximation of the form factor of a horizon-clipped rectangle.
+
+ float l = length( f );
+
+ return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );
+
+}
+
+vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {
+
+ float x = dot( v1, v2 );
+
+ float y = abs( x );
+
+ // rational polynomial approximation to theta / sin( theta ) / 2PI
+ float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;
+ float b = 3.4175940 + ( 4.1616724 + y ) * y;
+ float v = a / b;
+
+ float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;
+
+ return cross( v1, v2 ) * theta_sintheta;
+
+}
+
+vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {
+
+ // bail if point is on back side of plane of light
+ // assumes ccw winding order of light vertices
+ vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];
+ vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];
+ vec3 lightNormal = cross( v1, v2 );
+
+ if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );
+
+ // construct orthonormal basis around N
+ vec3 T1, T2;
+ T1 = normalize( V - N * dot( V, N ) );
+ T2 = - cross( N, T1 ); // negated from paper; possibly due to a different handedness of world coordinate system
+
+ // compute transform
+ mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );
+
+ // transform rect
+ vec3 coords[ 4 ];
+ coords[ 0 ] = mat * ( rectCoords[ 0 ] - P );
+ coords[ 1 ] = mat * ( rectCoords[ 1 ] - P );
+ coords[ 2 ] = mat * ( rectCoords[ 2 ] - P );
+ coords[ 3 ] = mat * ( rectCoords[ 3 ] - P );
+
+ // project rect onto sphere
+ coords[ 0 ] = normalize( coords[ 0 ] );
+ coords[ 1 ] = normalize( coords[ 1 ] );
+ coords[ 2 ] = normalize( coords[ 2 ] );
+ coords[ 3 ] = normalize( coords[ 3 ] );
+
+ // calculate vector form factor
+ vec3 vectorFormFactor = vec3( 0.0 );
+ vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );
+ vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );
+ vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );
+ vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );
+
+ // adjust for horizon clipping
+ float result = LTC_ClippedSphereFormFactor( vectorFormFactor );
+
+/*
+ // alternate method of adjusting for horizon clipping (see referece)
+ // refactoring required
+ float len = length( vectorFormFactor );
+ float z = vectorFormFactor.z / len;
+
+ const float LUT_SIZE = 64.0;
+ const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;
+ const float LUT_BIAS = 0.5 / LUT_SIZE;
+
+ // tabulated horizon-clipped sphere, apparently...
+ vec2 uv = vec2( z * 0.5 + 0.5, len );
+ uv = uv * LUT_SCALE + LUT_BIAS;
+
+ float scale = texture2D( ltc_2, uv ).w;
+
+ float result = len * scale;
+*/
+
+ return vec3( result );
+
+}
+
+// End Rect Area Light
+
+// ref: https://www.unrealengine.com/blog/physically-based-shading-on-mobile - environmentBRDF for GGX on mobile
+vec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {
+
+ float dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );
+
+ const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );
+
+ const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );
+
+ vec4 r = roughness * c0 + c1;
+
+ float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;
+
+ vec2 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;
+
+ return specularColor * AB.x + AB.y;
+
+} // validated
+
+
+float G_BlinnPhong_Implicit( /* const in float dotNL, const in float dotNV */ ) {
+
+ // geometry term is (n dot l)(n dot v) / 4(n dot l)(n dot v)
+ return 0.25;
+
+}
+
+float D_BlinnPhong( const in float shininess, const in float dotNH ) {
+
+ return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );
+
+}
+
+vec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {
+
+ vec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );
+
+ //float dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );
+ //float dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );
+ float dotNH = saturate( dot( geometry.normal, halfDir ) );
+ float dotLH = saturate( dot( incidentLight.direction, halfDir ) );
+
+ vec3 F = F_Schlick( specularColor, dotLH );
+
+ float G = G_BlinnPhong_Implicit( /* dotNL, dotNV */ );
+
+ float D = D_BlinnPhong( shininess, dotNH );
+
+ return F * ( G * D );
+
+} // validated
+
+// source: http://simonstechblog.blogspot.ca/2011/12/microfacet-brdf.html
+float GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {
+ return ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );
+}
+
+float BlinnExponentToGGXRoughness( const in float blinnExponent ) {
+ return sqrt( 2.0 / ( blinnExponent + 2.0 ) );
+}
+`,wj=`
+#ifdef USE_BUMPMAP
+
+ uniform sampler2D bumpMap;
+ uniform float bumpScale;
+
+ // Bump Mapping Unparametrized Surfaces on the GPU by Morten S. Mikkelsen
+ // http://api.unrealengine.com/attachments/Engine/Rendering/LightingAndShadows/BumpMappingWithoutTangentSpace/mm_sfgrad_bump.pdf
+
+ // Evaluate the derivative of the height w.r.t. screen-space using forward differencing (listing 2)
+
+ vec2 dHdxy_fwd() {
+
+ vec2 dSTdx = dFdx( vUv );
+ vec2 dSTdy = dFdy( vUv );
+
+ float Hll = bumpScale * texture2D( bumpMap, vUv ).x;
+ float dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;
+ float dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;
+
+ return vec2( dBx, dBy );
+
+ }
+
+ vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {
+
+ // Workaround for Adreno 3XX dFd*( vec3 ) bug. See #9988
+
+ vec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );
+ vec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );
+ vec3 vN = surf_norm; // normalized
+
+ vec3 R1 = cross( vSigmaY, vN );
+ vec3 R2 = cross( vN, vSigmaX );
+
+ float fDet = dot( vSigmaX, R1 );
+
+ fDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );
+
+ vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );
+ return normalize( abs( fDet ) * surf_norm - vGrad );
+
+ }
+
+#endif
+`,Cj=`
+#if NUM_CLIPPING_PLANES > 0
+
+ vec4 plane;
+
+ #pragma unroll_loop
+ for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {
+
+ plane = clippingPlanes[ i ];
+ if ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;
+
+ }
+
+ #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES
+
+ bool clipped = true;
+
+ #pragma unroll_loop
+ for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {
+
+ plane = clippingPlanes[ i ];
+ clipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;
+
+ }
+
+ if ( clipped ) discard;
+
+ #endif
+
+#endif
+`,kj=`
+#if NUM_CLIPPING_PLANES > 0
+
+ #if ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )
+ varying vec3 vViewPosition;
+ #endif
+
+ uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];
+
+#endif
+`,Ej=`
+#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )
+ varying vec3 vViewPosition;
+#endif
+`,Bj=`
+#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )
+ vViewPosition = - mvPosition.xyz;
+#endif
+`,Sj=`
+#ifdef USE_COLOR
+
+ diffuseColor.rgb *= vColor;
+
+#endif
+`,Dj=`
+#ifdef USE_COLOR
+
+ varying vec3 vColor;
+
+#endif
+`,xj=`
+#ifdef USE_COLOR
+
+ varying vec3 vColor;
+
+#endif
+`,Tj=`
+#ifdef USE_COLOR
+
+ vColor.xyz = color.xyz;
+
+#endif
+`,Ij=`
+#define PI 3.14159265359
+#define PI2 6.28318530718
+#define PI_HALF 1.5707963267949
+#define RECIPROCAL_PI 0.31830988618
+#define RECIPROCAL_PI2 0.15915494
+#define LOG2 1.442695
+#define EPSILON 1e-6
+
+#define saturate(a) clamp( a, 0.0, 1.0 )
+#define whiteCompliment(a) ( 1.0 - saturate( a ) )
+
+float pow2( const in float x ) { return x*x; }
+float pow3( const in float x ) { return x*x*x; }
+float pow4( const in float x ) { float x2 = x*x; return x2*x2; }
+float average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }
+// expects values in the range of [0,1]x[0,1], returns values in the [0,1] range.
+// do not collapse into a single function per: http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/
+highp float rand( const in vec2 uv ) {
+ const highp float a = 12.9898, b = 78.233, c = 43758.5453;
+ highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );
+ return fract(sin(sn) * c);
+}
+
+struct IncidentLight {
+ vec3 color;
+ vec3 direction;
+ bool visible;
+};
+
+struct ReflectedLight {
+ vec3 directDiffuse;
+ vec3 directSpecular;
+ vec3 indirectDiffuse;
+ vec3 indirectSpecular;
+};
+
+struct GeometricContext {
+ vec3 position;
+ vec3 normal;
+ vec3 viewDir;
+};
+
+vec3 transformDirection( in vec3 dir, in mat4 matrix ) {
+
+ return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );
+
+}
+
+// http://en.wikibooks.org/wiki/GLSL_Programming/Applying_Matrix_Transformations
+vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {
+
+ return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );
+
+}
+
+vec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {
+
+ float distance = dot( planeNormal, point - pointOnPlane );
+
+ return - distance * planeNormal + point;
+
+}
+
+float sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {
+
+ return sign( dot( point - pointOnPlane, planeNormal ) );
+
+}
+
+vec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {
+
+ return lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;
+
+}
+
+mat3 transposeMat3( const in mat3 m ) {
+
+ mat3 tmp;
+
+ tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );
+ tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );
+ tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );
+
+ return tmp;
+
+}
+
+// https://en.wikipedia.org/wiki/Relative_luminance
+float linearToRelativeLuminance( const in vec3 color ) {
+
+ vec3 weights = vec3( 0.2126, 0.7152, 0.0722 );
+
+ return dot( weights, color.rgb );
+
+}
+`,Pj=`
+#ifdef ENVMAP_TYPE_CUBE_UV
+
+#define cubeUV_textureSize (1024.0)
+
+int getFaceFromDirection(vec3 direction) {
+ vec3 absDirection = abs(direction);
+ int face = -1;
+ if( absDirection.x > absDirection.z ) {
+ if(absDirection.x > absDirection.y )
+ face = direction.x > 0.0 ? 0 : 3;
+ else
+ face = direction.y > 0.0 ? 1 : 4;
+ }
+ else {
+ if(absDirection.z > absDirection.y )
+ face = direction.z > 0.0 ? 2 : 5;
+ else
+ face = direction.y > 0.0 ? 1 : 4;
+ }
+ return face;
+}
+#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)
+#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))
+
+vec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {
+ float scale = exp2(cubeUV_maxLods1 - roughnessLevel);
+ float dxRoughness = dFdx(roughness);
+ float dyRoughness = dFdy(roughness);
+ vec3 dx = dFdx( vec * scale * dxRoughness );
+ vec3 dy = dFdy( vec * scale * dyRoughness );
+ float d = max( dot( dx, dx ), dot( dy, dy ) );
+ // Clamp the value to the max mip level counts. hard coded to 6 mips
+ d = clamp(d, 1.0, cubeUV_rangeClamp);
+ float mipLevel = 0.5 * log2(d);
+ return vec2(floor(mipLevel), fract(mipLevel));
+}
+
+#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)
+#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)
+
+vec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {
+ mipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;
+ float a = 16.0 * cubeUV_rcpTextureSize;
+
+ vec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );
+ vec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;
+ // float powScale = exp2(roughnessLevel + mipLevel);
+ float powScale = exp2_packed.x * exp2_packed.y;
+ // float scale = 1.0 / exp2(roughnessLevel + 2.0 + mipLevel);
+ float scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;
+ // float mipOffset = 0.75*(1.0 - 1.0/exp2(mipLevel))/exp2(roughnessLevel);
+ float mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;
+
+ bool bRes = mipLevel == 0.0;
+ scale = bRes && (scale < a) ? a : scale;
+
+ vec3 r;
+ vec2 offset;
+ int face = getFaceFromDirection(direction);
+
+ float rcpPowScale = 1.0 / powScale;
+
+ if( face == 0) {
+ r = vec3(direction.x, -direction.z, direction.y);
+ offset = vec2(0.0+mipOffset,0.75 * rcpPowScale);
+ offset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;
+ }
+ else if( face == 1) {
+ r = vec3(direction.y, direction.x, direction.z);
+ offset = vec2(scale+mipOffset, 0.75 * rcpPowScale);
+ offset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;
+ }
+ else if( face == 2) {
+ r = vec3(direction.z, direction.x, direction.y);
+ offset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);
+ offset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;
+ }
+ else if( face == 3) {
+ r = vec3(direction.x, direction.z, direction.y);
+ offset = vec2(0.0+mipOffset,0.5 * rcpPowScale);
+ offset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;
+ }
+ else if( face == 4) {
+ r = vec3(direction.y, direction.x, -direction.z);
+ offset = vec2(scale+mipOffset, 0.5 * rcpPowScale);
+ offset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;
+ }
+ else {
+ r = vec3(direction.z, -direction.x, direction.y);
+ offset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);
+ offset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;
+ }
+ r = normalize(r);
+ float texelOffset = 0.5 * cubeUV_rcpTextureSize;
+ vec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;
+ vec2 base = offset + vec2( texelOffset );
+ return base + s * ( scale - 2.0 * texelOffset );
+}
+
+#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)
+
+vec4 textureCubeUV( sampler2D envMap, vec3 reflectedDirection, float roughness ) {
+ float roughnessVal = roughness* cubeUV_maxLods3;
+ float r1 = floor(roughnessVal);
+ float r2 = r1 + 1.0;
+ float t = fract(roughnessVal);
+ vec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);
+ float s = mipInfo.y;
+ float level0 = mipInfo.x;
+ float level1 = level0 + 1.0;
+ level1 = level1 > 5.0 ? 5.0 : level1;
+
+ // round to nearest mipmap if we are not interpolating.
+ level0 += min( floor( s + 0.5 ), 5.0 );
+
+ // Tri linear interpolation.
+ vec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);
+ vec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));
+
+ vec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);
+ vec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));
+
+ vec4 result = mix(color10, color20, t);
+
+ return vec4(result.rgb, 1.0);
+}
+
+#endif
+`,Mj=`
+vec3 transformedNormal = normalMatrix * objectNormal;
+
+#ifdef FLIP_SIDED
+
+ transformedNormal = - transformedNormal;
+
+#endif
+`,Lj=`
+#ifdef USE_DISPLACEMENTMAP
+
+ uniform sampler2D displacementMap;
+ uniform float displacementScale;
+ uniform float displacementBias;
+
+#endif
+`,Rj=`
+#ifdef USE_DISPLACEMENTMAP
+
+ transformed += normalize( objectNormal ) * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );
+
+#endif
+`,Uj=`
+#ifdef USE_EMISSIVEMAP
+
+ vec4 emissiveColor = texture2D( emissiveMap, vUv );
+
+ emissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;
+
+ totalEmissiveRadiance *= emissiveColor.rgb;
+
+#endif
+`,Oj=`
+#ifdef USE_EMISSIVEMAP
+
+ uniform sampler2D emissiveMap;
+
+#endif
+`,Nj=`
+ gl_FragColor = linearToOutputTexel( gl_FragColor );
+`,Hj=`
+// For a discussion of what this is, please read this: http://lousodrome.net/blog/light/2013/05/26/gamma-correct-and-hdr-rendering-in-a-32-bits-buffer/
+
+vec4 LinearToLinear( in vec4 value ) {
+ return value;
+}
+
+vec4 GammaToLinear( in vec4 value, in float gammaFactor ) {
+ return vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );
+}
+
+vec4 LinearToGamma( in vec4 value, in float gammaFactor ) {
+ return vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );
+}
+
+vec4 sRGBToLinear( in vec4 value ) {
+ return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );
+}
+
+vec4 LinearTosRGB( in vec4 value ) {
+ return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );
+}
+
+vec4 RGBEToLinear( in vec4 value ) {
+ return vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );
+}
+
+vec4 LinearToRGBE( in vec4 value ) {
+ float maxComponent = max( max( value.r, value.g ), value.b );
+ float fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );
+ return vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );
+// return vec4( value.brg, ( 3.0 + 128.0 ) / 256.0 );
+}
+
+// reference: http://iwasbeingirony.blogspot.ca/2010/06/difference-between-rgbm-and-rgbd.html
+vec4 RGBMToLinear( in vec4 value, in float maxRange ) {
+ return vec4( value.rgb * value.a * maxRange, 1.0 );
+}
+
+vec4 LinearToRGBM( in vec4 value, in float maxRange ) {
+ float maxRGB = max( value.r, max( value.g, value.b ) );
+ float M = clamp( maxRGB / maxRange, 0.0, 1.0 );
+ M = ceil( M * 255.0 ) / 255.0;
+ return vec4( value.rgb / ( M * maxRange ), M );
+}
+
+// reference: http://iwasbeingirony.blogspot.ca/2010/06/difference-between-rgbm-and-rgbd.html
+vec4 RGBDToLinear( in vec4 value, in float maxRange ) {
+ return vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );
+}
+
+vec4 LinearToRGBD( in vec4 value, in float maxRange ) {
+ float maxRGB = max( value.r, max( value.g, value.b ) );
+ float D = max( maxRange / maxRGB, 1.0 );
+ D = min( floor( D ) / 255.0, 1.0 );
+ return vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );
+}
+
+// LogLuv reference: http://graphicrants.blogspot.ca/2009/04/rgbm-color-encoding.html
+
+// M matrix, for encoding
+const mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );
+vec4 LinearToLogLuv( in vec4 value ) {
+ vec3 Xp_Y_XYZp = value.rgb * cLogLuvM;
+ Xp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );
+ vec4 vResult;
+ vResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;
+ float Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;
+ vResult.w = fract( Le );
+ vResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;
+ return vResult;
+}
+
+// Inverse M matrix, for decoding
+const mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );
+vec4 LogLuvToLinear( in vec4 value ) {
+ float Le = value.z * 255.0 + value.w;
+ vec3 Xp_Y_XYZp;
+ Xp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );
+ Xp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;
+ Xp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;
+ vec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;
+ return vec4( max( vRGB, 0.0 ), 1.0 );
+}
+`,Qj=`
+#ifdef USE_ENVMAP
+
+ #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )
+
+ vec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );
+
+ // Transforming Normal Vectors with the Inverse Transformation
+ vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
+
+ #ifdef ENVMAP_MODE_REFLECTION
+
+ vec3 reflectVec = reflect( cameraToVertex, worldNormal );
+
+ #else
+
+ vec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );
+
+ #endif
+
+ #else
+
+ vec3 reflectVec = vReflect;
+
+ #endif
+
+ #ifdef ENVMAP_TYPE_CUBE
+
+ vec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );
+
+ #elif defined( ENVMAP_TYPE_EQUIREC )
+
+ vec2 sampleUV;
+
+ reflectVec = normalize( reflectVec );
+
+ sampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;
+
+ sampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;
+
+ vec4 envColor = texture2D( envMap, sampleUV );
+
+ #elif defined( ENVMAP_TYPE_SPHERE )
+
+ reflectVec = normalize( reflectVec );
+
+ vec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );
+
+ vec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );
+
+ #else
+
+ vec4 envColor = vec4( 0.0 );
+
+ #endif
+
+ envColor = envMapTexelToLinear( envColor );
+
+ #ifdef ENVMAP_BLENDING_MULTIPLY
+
+ outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );
+
+ #elif defined( ENVMAP_BLENDING_MIX )
+
+ outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );
+
+ #elif defined( ENVMAP_BLENDING_ADD )
+
+ outgoingLight += envColor.xyz * specularStrength * reflectivity;
+
+ #endif
+
+#endif
+`,jj=`
+#if defined( USE_ENVMAP ) || defined( PHYSICAL )
+ uniform float reflectivity;
+ uniform float envMapIntensity;
+#endif
+
+#ifdef USE_ENVMAP
+
+ #if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )
+ varying vec3 vWorldPosition;
+ #endif
+
+ #ifdef ENVMAP_TYPE_CUBE
+ uniform samplerCube envMap;
+ #else
+ uniform sampler2D envMap;
+ #endif
+ uniform float flipEnvMap;
+ uniform int maxMipLevel;
+
+ #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )
+ uniform float refractionRatio;
+ #else
+ varying vec3 vReflect;
+ #endif
+
+#endif
+`,Gj=`
+#ifdef USE_ENVMAP
+
+ #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )
+ varying vec3 vWorldPosition;
+
+ #else
+
+ varying vec3 vReflect;
+ uniform float refractionRatio;
+
+ #endif
+
+#endif
+`,zj=`
+#ifdef USE_ENVMAP
+
+ #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )
+
+ vWorldPosition = worldPosition.xyz;
+
+ #else
+
+ vec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );
+
+ vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );
+
+ #ifdef ENVMAP_MODE_REFLECTION
+
+ vReflect = reflect( cameraToVertex, worldNormal );
+
+ #else
+
+ vReflect = refract( cameraToVertex, worldNormal, refractionRatio );
+
+ #endif
+
+ #endif
+
+#endif
+`,qj=`
+#ifdef USE_FOG
+
+ fogDepth = -mvPosition.z;
+
+#endif
+`,Vj=`
+#ifdef USE_FOG
+
+ varying float fogDepth;
+
+#endif
+`,Wj=`
+#ifdef USE_FOG
+
+ #ifdef FOG_EXP2
+
+ float fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );
+
+ #else
+
+ float fogFactor = smoothstep( fogNear, fogFar, fogDepth );
+
+ #endif
+
+ gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );
+
+#endif
+`,Kj=`
+#ifdef USE_FOG
+
+ uniform vec3 fogColor;
+ varying float fogDepth;
+
+ #ifdef FOG_EXP2
+
+ uniform float fogDensity;
+
+ #else
+
+ uniform float fogNear;
+ uniform float fogFar;
+
+ #endif
+
+#endif
+`,Yj=`
+#ifdef TOON
+
+ uniform sampler2D gradientMap;
+
+ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {
+
+ // dotNL will be from -1.0 to 1.0
+ float dotNL = dot( normal, lightDirection );
+ vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );
+
+ #ifdef USE_GRADIENTMAP
+
+ return texture2D( gradientMap, coord ).rgb;
+
+ #else
+
+ return ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );
+
+ #endif
+
+
+ }
+
+#endif
+`,Xj=`
+#ifdef USE_LIGHTMAP
+
+ reflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity; // factor of PI should not be present; included here to prevent breakage
+
+#endif
+`,Jj=`
+#ifdef USE_LIGHTMAP
+
+ uniform sampler2D lightMap;
+ uniform float lightMapIntensity;
+
+#endif
+`,Zj=`
+vec3 diffuse = vec3( 1.0 );
+
+GeometricContext geometry;
+geometry.position = mvPosition.xyz;
+geometry.normal = normalize( transformedNormal );
+geometry.viewDir = normalize( -mvPosition.xyz );
+
+GeometricContext backGeometry;
+backGeometry.position = geometry.position;
+backGeometry.normal = -geometry.normal;
+backGeometry.viewDir = geometry.viewDir;
+
+vLightFront = vec3( 0.0 );
+
+#ifdef DOUBLE_SIDED
+ vLightBack = vec3( 0.0 );
+#endif
+
+IncidentLight directLight;
+float dotNL;
+vec3 directLightColor_Diffuse;
+
+#if NUM_POINT_LIGHTS > 0
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
+
+ getPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );
+
+ dotNL = dot( geometry.normal, directLight.direction );
+ directLightColor_Diffuse = PI * directLight.color;
+
+ vLightFront += saturate( dotNL ) * directLightColor_Diffuse;
+
+ #ifdef DOUBLE_SIDED
+
+ vLightBack += saturate( -dotNL ) * directLightColor_Diffuse;
+
+ #endif
+
+ }
+
+#endif
+
+#if NUM_SPOT_LIGHTS > 0
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
+
+ getSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );
+
+ dotNL = dot( geometry.normal, directLight.direction );
+ directLightColor_Diffuse = PI * directLight.color;
+
+ vLightFront += saturate( dotNL ) * directLightColor_Diffuse;
+
+ #ifdef DOUBLE_SIDED
+
+ vLightBack += saturate( -dotNL ) * directLightColor_Diffuse;
+
+ #endif
+ }
+
+#endif
+
+/*
+#if NUM_RECT_AREA_LIGHTS > 0
+
+ for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {
+
+ // TODO (abelnation): implement
+
+ }
+
+#endif
+*/
+
+#if NUM_DIR_LIGHTS > 0
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
+
+ getDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );
+
+ dotNL = dot( geometry.normal, directLight.direction );
+ directLightColor_Diffuse = PI * directLight.color;
+
+ vLightFront += saturate( dotNL ) * directLightColor_Diffuse;
+
+ #ifdef DOUBLE_SIDED
+
+ vLightBack += saturate( -dotNL ) * directLightColor_Diffuse;
+
+ #endif
+
+ }
+
+#endif
+
+#if NUM_HEMI_LIGHTS > 0
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {
+
+ vLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );
+
+ #ifdef DOUBLE_SIDED
+
+ vLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );
+
+ #endif
+
+ }
+
+#endif
+`,$j=`
+uniform vec3 ambientLightColor;
+
+vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
+
+ vec3 irradiance = ambientLightColor;
+
+ #ifndef PHYSICALLY_CORRECT_LIGHTS
+
+ irradiance *= PI;
+
+ #endif
+
+ return irradiance;
+
+}
+
+#if NUM_DIR_LIGHTS > 0
+
+ struct DirectionalLight {
+ vec3 direction;
+ vec3 color;
+
+ int shadow;
+ float shadowBias;
+ float shadowRadius;
+ vec2 shadowMapSize;
+ };
+
+ uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];
+
+ void getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {
+
+ directLight.color = directionalLight.color;
+ directLight.direction = directionalLight.direction;
+ directLight.visible = true;
+
+ }
+
+#endif
+
+
+#if NUM_POINT_LIGHTS > 0
+
+ struct PointLight {
+ vec3 position;
+ vec3 color;
+ float distance;
+ float decay;
+
+ int shadow;
+ float shadowBias;
+ float shadowRadius;
+ vec2 shadowMapSize;
+ float shadowCameraNear;
+ float shadowCameraFar;
+ };
+
+ uniform PointLight pointLights[ NUM_POINT_LIGHTS ];
+
+ // directLight is an out parameter as having it as a return value caused compiler errors on some devices
+ void getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {
+
+ vec3 lVector = pointLight.position - geometry.position;
+ directLight.direction = normalize( lVector );
+
+ float lightDistance = length( lVector );
+
+ directLight.color = pointLight.color;
+ directLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );
+ directLight.visible = ( directLight.color != vec3( 0.0 ) );
+
+ }
+
+#endif
+
+
+#if NUM_SPOT_LIGHTS > 0
+
+ struct SpotLight {
+ vec3 position;
+ vec3 direction;
+ vec3 color;
+ float distance;
+ float decay;
+ float coneCos;
+ float penumbraCos;
+
+ int shadow;
+ float shadowBias;
+ float shadowRadius;
+ vec2 shadowMapSize;
+ };
+
+ uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];
+
+ // directLight is an out parameter as having it as a return value caused compiler errors on some devices
+ void getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {
+
+ vec3 lVector = spotLight.position - geometry.position;
+ directLight.direction = normalize( lVector );
+
+ float lightDistance = length( lVector );
+ float angleCos = dot( directLight.direction, spotLight.direction );
+
+ if ( angleCos > spotLight.coneCos ) {
+
+ float spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );
+
+ directLight.color = spotLight.color;
+ directLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );
+ directLight.visible = true;
+
+ } else {
+
+ directLight.color = vec3( 0.0 );
+ directLight.visible = false;
+
+ }
+ }
+
+#endif
+
+
+#if NUM_RECT_AREA_LIGHTS > 0
+
+ struct RectAreaLight {
+ vec3 color;
+ vec3 position;
+ vec3 halfWidth;
+ vec3 halfHeight;
+ };
+
+ // Pre-computed values of LinearTransformedCosine approximation of BRDF
+ // BRDF approximation Texture is 64x64
+ uniform sampler2D ltc_1; // RGBA Float
+ uniform sampler2D ltc_2; // RGBA Float
+
+ uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];
+
+#endif
+
+
+#if NUM_HEMI_LIGHTS > 0
+
+ struct HemisphereLight {
+ vec3 direction;
+ vec3 skyColor;
+ vec3 groundColor;
+ };
+
+ uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];
+
+ vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {
+
+ float dotNL = dot( geometry.normal, hemiLight.direction );
+ float hemiDiffuseWeight = 0.5 * dotNL + 0.5;
+
+ vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );
+
+ #ifndef PHYSICALLY_CORRECT_LIGHTS
+
+ irradiance *= PI;
+
+ #endif
+
+ return irradiance;
+
+ }
+
+#endif
+`,eG=`
+#if defined( USE_ENVMAP ) && defined( PHYSICAL )
+
+ vec3 getLightProbeIndirectIrradiance( /*const in SpecularLightProbe specularLightProbe,*/ const in GeometricContext geometry, const in int maxMIPLevel ) {
+
+ vec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );
+
+ #ifdef ENVMAP_TYPE_CUBE
+
+ vec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );
+
+ // TODO: replace with properly filtered cubemaps and access the irradiance LOD level, be it the last LOD level
+ // of a specular cubemap, or just the default level of a specially created irradiance cubemap.
+
+ #ifdef TEXTURE_LOD_EXT
+
+ vec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );
+
+ #else
+
+ // force the bias high to get the last LOD level as it is the most blurred.
+ vec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );
+
+ #endif
+
+ envMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;
+
+ #elif defined( ENVMAP_TYPE_CUBE_UV )
+
+ vec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );
+ vec4 envMapColor = textureCubeUV( envMap, queryVec, 1.0 );
+
+ #else
+
+ vec4 envMapColor = vec4( 0.0 );
+
+ #endif
+
+ return PI * envMapColor.rgb * envMapIntensity;
+
+ }
+
+ // taken from here: http://casual-effects.blogspot.ca/2011/08/plausible-environment-lighting-in-two.html
+ float getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {
+
+ //float envMapWidth = pow( 2.0, maxMIPLevelScalar );
+ //float desiredMIPLevel = log2( envMapWidth * sqrt( 3.0 ) ) - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );
+
+ float maxMIPLevelScalar = float( maxMIPLevel );
+ float desiredMIPLevel = maxMIPLevelScalar + 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );
+
+ // clamp to allowable LOD ranges.
+ return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );
+
+ }
+
+ vec3 getLightProbeIndirectRadiance( /*const in SpecularLightProbe specularLightProbe,*/ const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {
+
+ #ifdef ENVMAP_MODE_REFLECTION
+
+ vec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );
+
+ #else
+
+ vec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );
+
+ #endif
+
+ reflectVec = inverseTransformDirection( reflectVec, viewMatrix );
+
+ float specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );
+
+ #ifdef ENVMAP_TYPE_CUBE
+
+ vec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );
+
+ #ifdef TEXTURE_LOD_EXT
+
+ vec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );
+
+ #else
+
+ vec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );
+
+ #endif
+
+ envMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;
+
+ #elif defined( ENVMAP_TYPE_CUBE_UV )
+
+ vec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );
+ vec4 envMapColor = textureCubeUV( envMap, queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent ));
+
+ #elif defined( ENVMAP_TYPE_EQUIREC )
+
+ vec2 sampleUV;
+ sampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;
+ sampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;
+
+ #ifdef TEXTURE_LOD_EXT
+
+ vec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );
+
+ #else
+
+ vec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );
+
+ #endif
+
+ envMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;
+
+ #elif defined( ENVMAP_TYPE_SPHERE )
+
+ vec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );
+
+ #ifdef TEXTURE_LOD_EXT
+
+ vec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );
+
+ #else
+
+ vec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );
+
+ #endif
+
+ envMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;
+
+ #endif
+
+ return envMapColor.rgb * envMapIntensity;
+
+ }
+
+#endif
+`,tG=`
+BlinnPhongMaterial material;
+material.diffuseColor = diffuseColor.rgb;
+material.specularColor = specular;
+material.specularShininess = shininess;
+material.specularStrength = specularStrength;
+`,iG=`
+varying vec3 vViewPosition;
+
+#ifndef FLAT_SHADED
+
+ varying vec3 vNormal;
+
+#endif
+
+
+struct BlinnPhongMaterial {
+
+ vec3 diffuseColor;
+ vec3 specularColor;
+ float specularShininess;
+ float specularStrength;
+
+};
+
+void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {
+
+ #ifdef TOON
+
+ vec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;
+
+ #else
+
+ float dotNL = saturate( dot( geometry.normal, directLight.direction ) );
+ vec3 irradiance = dotNL * directLight.color;
+
+ #endif
+
+ #ifndef PHYSICALLY_CORRECT_LIGHTS
+
+ irradiance *= PI; // punctual light
+
+ #endif
+
+ reflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
+
+ reflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;
+
+}
+
+void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {
+
+ reflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
+
+}
+
+#define RE_Direct RE_Direct_BlinnPhong
+#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong
+
+#define Material_LightProbeLOD( material ) (0)
+`,nG=`
+PhysicalMaterial material;
+material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );
+material.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );
+#ifdef STANDARD
+ material.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );
+#else
+ material.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );
+ material.clearCoat = saturate( clearCoat ); // Burley clearcoat model
+ material.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );
+#endif
+`,aG=`
+struct PhysicalMaterial {
+
+ vec3 diffuseColor;
+ float specularRoughness;
+ vec3 specularColor;
+
+ #ifndef STANDARD
+ float clearCoat;
+ float clearCoatRoughness;
+ #endif
+
+};
+
+#define MAXIMUM_SPECULAR_COEFFICIENT 0.16
+#define DEFAULT_SPECULAR_COEFFICIENT 0.04
+
+// Clear coat directional hemishperical reflectance (this approximation should be improved)
+float clearCoatDHRApprox( const in float roughness, const in float dotNL ) {
+
+ return DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );
+
+}
+
+#if NUM_RECT_AREA_LIGHTS > 0
+
+ void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
+
+ vec3 normal = geometry.normal;
+ vec3 viewDir = geometry.viewDir;
+ vec3 position = geometry.position;
+ vec3 lightPos = rectAreaLight.position;
+ vec3 halfWidth = rectAreaLight.halfWidth;
+ vec3 halfHeight = rectAreaLight.halfHeight;
+ vec3 lightColor = rectAreaLight.color;
+ float roughness = material.specularRoughness;
+
+ vec3 rectCoords[ 4 ];
+ rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; // counterclockwise; light shines in local neg z direction
+ rectCoords[ 1 ] = lightPos - halfWidth - halfHeight;
+ rectCoords[ 2 ] = lightPos - halfWidth + halfHeight;
+ rectCoords[ 3 ] = lightPos + halfWidth + halfHeight;
+
+ vec2 uv = LTC_Uv( normal, viewDir, roughness );
+
+ vec4 t1 = texture2D( ltc_1, uv );
+ vec4 t2 = texture2D( ltc_2, uv );
+
+ mat3 mInv = mat3(
+ vec3( t1.x, 0, t1.y ),
+ vec3( 0, 1, 0 ),
+ vec3( t1.z, 0, t1.w )
+ );
+
+ // LTC Fresnel Approximation by Stephen Hill
+ // http://blog.selfshadow.com/publications/s2016-advances/s2016_ltc_fresnel.pdf
+ vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );
+
+ reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );
+
+ reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );
+
+ }
+
+#endif
+
+void RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
+
+ float dotNL = saturate( dot( geometry.normal, directLight.direction ) );
+
+ vec3 irradiance = dotNL * directLight.color;
+
+ #ifndef PHYSICALLY_CORRECT_LIGHTS
+
+ irradiance *= PI; // punctual light
+
+ #endif
+
+ #ifndef STANDARD
+ float clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );
+ #else
+ float clearCoatDHR = 0.0;
+ #endif
+
+ reflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );
+
+ reflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
+
+ #ifndef STANDARD
+
+ reflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );
+
+ #endif
+
+}
+
+void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
+
+ reflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );
+
+}
+
+void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
+
+ #ifndef STANDARD
+ float dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );
+ float dotNL = dotNV;
+ float clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );
+ #else
+ float clearCoatDHR = 0.0;
+ #endif
+
+ reflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );
+
+ #ifndef STANDARD
+
+ reflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );
+
+ #endif
+
+}
+
+#define RE_Direct RE_Direct_Physical
+#define RE_Direct_RectArea RE_Direct_RectArea_Physical
+#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical
+#define RE_IndirectSpecular RE_IndirectSpecular_Physical
+
+#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )
+#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )
+
+// ref: https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf
+float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {
+
+ return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );
+
+}
+`,sG=`
+/**
+ * This is a template that can be used to light a material, it uses pluggable
+ * RenderEquations (RE)for specific lighting scenarios.
+ *
+ * Instructions for use:
+ * - Ensure that both RE_Direct, RE_IndirectDiffuse and RE_IndirectSpecular are defined
+ * - If you have defined an RE_IndirectSpecular, you need to also provide a Material_LightProbeLOD. <---- ???
+ * - Create a material parameter that is to be passed as the third parameter to your lighting functions.
+ *
+ * TODO:
+ * - Add area light support.
+ * - Add sphere light support.
+ * - Add diffuse light probe (irradiance cubemap) support.
+ */
+
+GeometricContext geometry;
+
+geometry.position = - vViewPosition;
+geometry.normal = normal;
+geometry.viewDir = normalize( vViewPosition );
+
+IncidentLight directLight;
+
+#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )
+
+ PointLight pointLight;
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
+
+ pointLight = pointLights[ i ];
+
+ getPointDirectLightIrradiance( pointLight, geometry, directLight );
+
+ #ifdef USE_SHADOWMAP
+ directLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;
+ #endif
+
+ RE_Direct( directLight, geometry, material, reflectedLight );
+
+ }
+
+#endif
+
+#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )
+
+ SpotLight spotLight;
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
+
+ spotLight = spotLights[ i ];
+
+ getSpotDirectLightIrradiance( spotLight, geometry, directLight );
+
+ #ifdef USE_SHADOWMAP
+ directLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;
+ #endif
+
+ RE_Direct( directLight, geometry, material, reflectedLight );
+
+ }
+
+#endif
+
+#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )
+
+ DirectionalLight directionalLight;
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
+
+ directionalLight = directionalLights[ i ];
+
+ getDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );
+
+ #ifdef USE_SHADOWMAP
+ directLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
+ #endif
+
+ RE_Direct( directLight, geometry, material, reflectedLight );
+
+ }
+
+#endif
+
+#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )
+
+ RectAreaLight rectAreaLight;
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {
+
+ rectAreaLight = rectAreaLights[ i ];
+ RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );
+
+ }
+
+#endif
+
+#if defined( RE_IndirectDiffuse )
+
+ vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );
+
+ #if ( NUM_HEMI_LIGHTS > 0 )
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {
+
+ irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );
+
+ }
+
+ #endif
+
+#endif
+
+#if defined( RE_IndirectSpecular )
+
+ vec3 radiance = vec3( 0.0 );
+ vec3 clearCoatRadiance = vec3( 0.0 );
+
+#endif
+`,rG=`
+#if defined( RE_IndirectDiffuse )
+
+ #ifdef USE_LIGHTMAP
+
+ vec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;
+
+ #ifndef PHYSICALLY_CORRECT_LIGHTS
+
+ lightMapIrradiance *= PI; // factor of PI should not be present; included here to prevent breakage
+
+ #endif
+
+ irradiance += lightMapIrradiance;
+
+ #endif
+
+ #if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )
+
+ irradiance += getLightProbeIndirectIrradiance( /*lightProbe,*/ geometry, maxMipLevel );
+
+ #endif
+
+#endif
+
+#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )
+
+ radiance += getLightProbeIndirectRadiance( /*specularLightProbe,*/ geometry, Material_BlinnShininessExponent( material ), maxMipLevel );
+
+ #ifndef STANDARD
+ clearCoatRadiance += getLightProbeIndirectRadiance( /*specularLightProbe,*/ geometry, Material_ClearCoat_BlinnShininessExponent( material ), maxMipLevel );
+ #endif
+
+#endif
+`,oG=`
+#if defined( RE_IndirectDiffuse )
+
+ RE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );
+
+#endif
+
+#if defined( RE_IndirectSpecular )
+
+ RE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );
+
+#endif
+`,lG=`
+#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )
+
+ gl_FragDepthEXT = log2( vFragDepth ) * logDepthBufFC * 0.5;
+
+#endif
+`,uG=`
+#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )
+
+ uniform float logDepthBufFC;
+ varying float vFragDepth;
+
+#endif
+`,cG=`
+#ifdef USE_LOGDEPTHBUF
+
+ #ifdef USE_LOGDEPTHBUF_EXT
+
+ varying float vFragDepth;
+
+ #else
+
+ uniform float logDepthBufFC;
+
+ #endif
+
+#endif
+`,dG=`
+#ifdef USE_LOGDEPTHBUF
+
+ #ifdef USE_LOGDEPTHBUF_EXT
+
+ vFragDepth = 1.0 + gl_Position.w;
+
+ #else
+
+ gl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;
+
+ gl_Position.z *= gl_Position.w;
+
+ #endif
+
+#endif
+`,fG=`
+#ifdef USE_MAP
+
+ vec4 texelColor = texture2D( map, vUv );
+
+ texelColor = mapTexelToLinear( texelColor );
+ diffuseColor *= texelColor;
+
+#endif
+`,hG=`
+#ifdef USE_MAP
+
+ uniform sampler2D map;
+
+#endif
+`,AG=`
+#ifdef USE_MAP
+
+ vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;
+ vec4 mapTexel = texture2D( map, uv );
+ diffuseColor *= mapTexelToLinear( mapTexel );
+
+#endif
+`,gG=`
+#ifdef USE_MAP
+
+ uniform mat3 uvTransform;
+ uniform sampler2D map;
+
+#endif
+`,mG=`
+float metalnessFactor = metalness;
+
+#ifdef USE_METALNESSMAP
+
+ vec4 texelMetalness = texture2D( metalnessMap, vUv );
+
+ // reads channel B, compatible with a combined OcclusionRoughnessMetallic (RGB) texture
+ metalnessFactor *= texelMetalness.b;
+
+#endif
+`,pG=`
+#ifdef USE_METALNESSMAP
+
+ uniform sampler2D metalnessMap;
+
+#endif
+`,_G=`
+#ifdef USE_MORPHNORMALS
+
+ objectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];
+ objectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];
+ objectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];
+ objectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];
+
+#endif
+`,FG=`
+#ifdef USE_MORPHTARGETS
+
+ #ifndef USE_MORPHNORMALS
+
+ uniform float morphTargetInfluences[ 8 ];
+
+ #else
+
+ uniform float morphTargetInfluences[ 4 ];
+
+ #endif
+
+#endif
+`,bG=`
+#ifdef USE_MORPHTARGETS
+
+ transformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];
+ transformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];
+ transformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];
+ transformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];
+
+ #ifndef USE_MORPHNORMALS
+
+ transformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];
+ transformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];
+ transformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];
+ transformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];
+
+ #endif
+
+#endif
+`,vG=`
+#ifdef FLAT_SHADED
+
+ // Workaround for Adreno/Nexus5 not able able to do dFdx( vViewPosition ) ...
+
+ vec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );
+ vec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );
+ vec3 normal = normalize( cross( fdx, fdy ) );
+
+#else
+
+ vec3 normal = normalize( vNormal );
+
+ #ifdef DOUBLE_SIDED
+
+ normal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );
+
+ #endif
+
+#endif
+`,yG=`
+#ifdef USE_NORMALMAP
+
+ #ifdef OBJECTSPACE_NORMALMAP
+
+ normal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0; // overrides both flatShading and attribute normals
+
+ #ifdef FLIP_SIDED
+
+ normal = - normal;
+
+ #endif
+
+ #ifdef DOUBLE_SIDED
+
+ normal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );
+
+ #endif
+
+ normal = normalize( normalMatrix * normal );
+
+ #else // tangent-space normal map
+
+ normal = perturbNormal2Arb( -vViewPosition, normal );
+
+ #endif
+
+#elif defined( USE_BUMPMAP )
+
+ normal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );
+
+#endif
+`,wG=`
+#ifdef USE_NORMALMAP
+
+ uniform sampler2D normalMap;
+ uniform vec2 normalScale;
+
+ #ifdef OBJECTSPACE_NORMALMAP
+
+ uniform mat3 normalMatrix;
+
+ #else
+
+ // Per-Pixel Tangent Space Normal Mapping
+ // http://hacksoflife.blogspot.ch/2009/11/per-pixel-tangent-space-normal-mapping.html
+
+ vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {
+
+ // Workaround for Adreno 3XX dFd*( vec3 ) bug. See #9988
+
+ vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );
+ vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );
+ vec2 st0 = dFdx( vUv.st );
+ vec2 st1 = dFdy( vUv.st );
+
+ float scale = sign( st1.t * st0.s - st0.t * st1.s ); // we do not care about the magnitude
+
+ vec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );
+ vec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );
+ vec3 N = normalize( surf_norm );
+ mat3 tsn = mat3( S, T, N );
+
+ vec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;
+
+ mapN.xy *= normalScale;
+ mapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );
+
+ return normalize( tsn * mapN );
+
+ }
+
+ #endif
+
+#endif
+`,CG=`
+vec3 packNormalToRGB( const in vec3 normal ) {
+ return normalize( normal ) * 0.5 + 0.5;
+}
+
+vec3 unpackRGBToNormal( const in vec3 rgb ) {
+ return 2.0 * rgb.xyz - 1.0;
+}
+
+const float PackUpscale = 256. / 255.; // fraction -> 0..1 (including 1)
+const float UnpackDownscale = 255. / 256.; // 0..1 -> fraction (excluding 1)
+
+const vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );
+const vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );
+
+const float ShiftRight8 = 1. / 256.;
+
+vec4 packDepthToRGBA( const in float v ) {
+ vec4 r = vec4( fract( v * PackFactors ), v );
+ r.yzw -= r.xyz * ShiftRight8; // tidy overflow
+ return r * PackUpscale;
+}
+
+float unpackRGBAToDepth( const in vec4 v ) {
+ return dot( v, UnpackFactors );
+}
+
+// NOTE: viewZ/eyeZ is < 0 when in front of the camera per OpenGL conventions
+
+float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {
+ return ( viewZ + near ) / ( near - far );
+}
+float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {
+ return linearClipZ * ( near - far ) - near;
+}
+
+float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {
+ return (( near + viewZ ) * far ) / (( far - near ) * viewZ );
+}
+float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {
+ return ( near * far ) / ( ( far - near ) * invClipZ - far );
+}
+`,kG=`
+#ifdef PREMULTIPLIED_ALPHA
+
+ // Get get normal blending with premultipled, use with CustomBlending, OneFactor, OneMinusSrcAlphaFactor, AddEquation.
+ gl_FragColor.rgb *= gl_FragColor.a;
+
+#endif
+`,EG=`
+vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );
+
+gl_Position = projectionMatrix * mvPosition;
+`,BG=`
+#if defined( DITHERING )
+
+ gl_FragColor.rgb = dithering( gl_FragColor.rgb );
+
+#endif
+`,SG=`
+#if defined( DITHERING )
+
+ // based on https://www.shadertoy.com/view/MslGR8
+ vec3 dithering( vec3 color ) {
+ //Calculate grid position
+ float grid_position = rand( gl_FragCoord.xy );
+
+ //Shift the individual colors differently, thus making it even harder to see the dithering pattern
+ vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );
+
+ //modify shift acording to grid position.
+ dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );
+
+ //shift the color by dither_shift
+ return color + dither_shift_RGB;
+ }
+
+#endif
+`,DG=`
+float roughnessFactor = roughness;
+
+#ifdef USE_ROUGHNESSMAP
+
+ vec4 texelRoughness = texture2D( roughnessMap, vUv );
+
+ // reads channel G, compatible with a combined OcclusionRoughnessMetallic (RGB) texture
+ roughnessFactor *= texelRoughness.g;
+
+#endif
+`,xG=`
+#ifdef USE_ROUGHNESSMAP
+
+ uniform sampler2D roughnessMap;
+
+#endif
+`,TG=`
+#ifdef USE_SHADOWMAP
+
+ #if NUM_DIR_LIGHTS > 0
+
+ uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];
+ varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];
+
+ #endif
+
+ #if NUM_SPOT_LIGHTS > 0
+
+ uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];
+ varying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];
+
+ #endif
+
+ #if NUM_POINT_LIGHTS > 0
+
+ uniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];
+ varying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];
+
+ #endif
+
+ /*
+ #if NUM_RECT_AREA_LIGHTS > 0
+
+ // TODO (abelnation): create uniforms for area light shadows
+
+ #endif
+ */
+
+ float texture2DCompare( sampler2D depths, vec2 uv, float compare ) {
+
+ return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );
+
+ }
+
+ float texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {
+
+ const vec2 offset = vec2( 0.0, 1.0 );
+
+ vec2 texelSize = vec2( 1.0 ) / size;
+ vec2 centroidUV = floor( uv * size + 0.5 ) / size;
+
+ float lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );
+ float lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );
+ float rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );
+ float rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );
+
+ vec2 f = fract( uv * size + 0.5 );
+
+ float a = mix( lb, lt, f.y );
+ float b = mix( rb, rt, f.y );
+ float c = mix( a, b, f.x );
+
+ return c;
+
+ }
+
+ float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {
+
+ float shadow = 1.0;
+
+ shadowCoord.xyz /= shadowCoord.w;
+ shadowCoord.z += shadowBias;
+
+ // if ( something && something ) breaks ATI OpenGL shader compiler
+ // if ( all( something, something ) ) using this instead
+
+ bvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );
+ bool inFrustum = all( inFrustumVec );
+
+ bvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );
+
+ bool frustumTest = all( frustumTestVec );
+
+ if ( frustumTest ) {
+
+ #if defined( SHADOWMAP_TYPE_PCF )
+
+ vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
+
+ float dx0 = - texelSize.x * shadowRadius;
+ float dy0 = - texelSize.y * shadowRadius;
+ float dx1 = + texelSize.x * shadowRadius;
+ float dy1 = + texelSize.y * shadowRadius;
+
+ shadow = (
+ texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +
+ texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +
+ texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +
+ texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +
+ texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +
+ texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +
+ texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +
+ texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +
+ texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )
+ ) * ( 1.0 / 9.0 );
+
+ #elif defined( SHADOWMAP_TYPE_PCF_SOFT )
+
+ vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
+
+ float dx0 = - texelSize.x * shadowRadius;
+ float dy0 = - texelSize.y * shadowRadius;
+ float dx1 = + texelSize.x * shadowRadius;
+ float dy1 = + texelSize.y * shadowRadius;
+
+ shadow = (
+ texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +
+ texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +
+ texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +
+ texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +
+ texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +
+ texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +
+ texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +
+ texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +
+ texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )
+ ) * ( 1.0 / 9.0 );
+
+ #else // no percentage-closer filtering:
+
+ shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );
+
+ #endif
+
+ }
+
+ return shadow;
+
+ }
+
+ // cubeToUV() maps a 3D direction vector suitable for cube texture mapping to a 2D
+ // vector suitable for 2D texture mapping. This code uses the following layout for the
+ // 2D texture:
+ //
+ // xzXZ
+ // y Y
+ //
+ // Y - Positive y direction
+ // y - Negative y direction
+ // X - Positive x direction
+ // x - Negative x direction
+ // Z - Positive z direction
+ // z - Negative z direction
+ //
+ // Source and test bed:
+ // https://gist.github.com/tschw/da10c43c467ce8afd0c4
+
+ vec2 cubeToUV( vec3 v, float texelSizeY ) {
+
+ // Number of texels to avoid at the edge of each square
+
+ vec3 absV = abs( v );
+
+ // Intersect unit cube
+
+ float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );
+ absV *= scaleToCube;
+
+ // Apply scale to avoid seams
+
+ // two texels less per square (one texel will do for NEAREST)
+ v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );
+
+ // Unwrap
+
+ // space: -1 ... 1 range for each square
+ //
+ // #X## dim := ( 4 , 2 )
+ // # # center := ( 1 , 1 )
+
+ vec2 planar = v.xy;
+
+ float almostATexel = 1.5 * texelSizeY;
+ float almostOne = 1.0 - almostATexel;
+
+ if ( absV.z >= almostOne ) {
+
+ if ( v.z > 0.0 )
+ planar.x = 4.0 - v.x;
+
+ } else if ( absV.x >= almostOne ) {
+
+ float signX = sign( v.x );
+ planar.x = v.z * signX + 2.0 * signX;
+
+ } else if ( absV.y >= almostOne ) {
+
+ float signY = sign( v.y );
+ planar.x = v.x + 2.0 * signY + 2.0;
+ planar.y = v.z * signY - 2.0;
+
+ }
+
+ // Transform to UV space
+
+ // scale := 0.5 / dim
+ // translate := ( center + 0.5 ) / dim
+ return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );
+
+ }
+
+ float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {
+
+ vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );
+
+ // for point lights, the uniform @vShadowCoord is re-purposed to hold
+ // the vector from the light to the world-space position of the fragment.
+ vec3 lightToPosition = shadowCoord.xyz;
+
+ // dp = normalized distance from light to fragment position
+ float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); // need to clamp?
+ dp += shadowBias;
+
+ // bd3D = base direction 3D
+ vec3 bd3D = normalize( lightToPosition );
+
+ #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )
+
+ vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;
+
+ return (
+ texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +
+ texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +
+ texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +
+ texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +
+ texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +
+ texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +
+ texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +
+ texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +
+ texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )
+ ) * ( 1.0 / 9.0 );
+
+ #else // no percentage-closer filtering
+
+ return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );
+
+ #endif
+
+ }
+
+#endif
+`,IG=`
+#ifdef USE_SHADOWMAP
+
+ #if NUM_DIR_LIGHTS > 0
+
+ uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];
+ varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];
+
+ #endif
+
+ #if NUM_SPOT_LIGHTS > 0
+
+ uniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];
+ varying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];
+
+ #endif
+
+ #if NUM_POINT_LIGHTS > 0
+
+ uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];
+ varying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];
+
+ #endif
+
+ /*
+ #if NUM_RECT_AREA_LIGHTS > 0
+
+ // TODO (abelnation): uniforms for area light shadows
+
+ #endif
+ */
+
+#endif
+`,PG=`
+#ifdef USE_SHADOWMAP
+
+ #if NUM_DIR_LIGHTS > 0
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
+
+ vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;
+
+ }
+
+ #endif
+
+ #if NUM_SPOT_LIGHTS > 0
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
+
+ vSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;
+
+ }
+
+ #endif
+
+ #if NUM_POINT_LIGHTS > 0
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
+
+ vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;
+
+ }
+
+ #endif
+
+ /*
+ #if NUM_RECT_AREA_LIGHTS > 0
+
+ // TODO (abelnation): update vAreaShadowCoord with area light info
+
+ #endif
+ */
+
+#endif
+`,MG=`
+float getShadowMask() {
+
+ float shadow = 1.0;
+
+ #ifdef USE_SHADOWMAP
+
+ #if NUM_DIR_LIGHTS > 0
+
+ DirectionalLight directionalLight;
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
+
+ directionalLight = directionalLights[ i ];
+ shadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
+
+ }
+
+ #endif
+
+ #if NUM_SPOT_LIGHTS > 0
+
+ SpotLight spotLight;
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
+
+ spotLight = spotLights[ i ];
+ shadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;
+
+ }
+
+ #endif
+
+ #if NUM_POINT_LIGHTS > 0
+
+ PointLight pointLight;
+
+ #pragma unroll_loop
+ for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
+
+ pointLight = pointLights[ i ];
+ shadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;
+
+ }
+
+ #endif
+
+ /*
+ #if NUM_RECT_AREA_LIGHTS > 0
+
+ // TODO (abelnation): update shadow for Area light
+
+ #endif
+ */
+
+ #endif
+
+ return shadow;
+
+}
+`,LG=`
+#ifdef USE_SKINNING
+
+ mat4 boneMatX = getBoneMatrix( skinIndex.x );
+ mat4 boneMatY = getBoneMatrix( skinIndex.y );
+ mat4 boneMatZ = getBoneMatrix( skinIndex.z );
+ mat4 boneMatW = getBoneMatrix( skinIndex.w );
+
+#endif
+`,RG=`
+#ifdef USE_SKINNING
+
+ uniform mat4 bindMatrix;
+ uniform mat4 bindMatrixInverse;
+
+ #ifdef BONE_TEXTURE
+
+ uniform sampler2D boneTexture;
+ uniform int boneTextureSize;
+
+ mat4 getBoneMatrix( const in float i ) {
+
+ float j = i * 4.0;
+ float x = mod( j, float( boneTextureSize ) );
+ float y = floor( j / float( boneTextureSize ) );
+
+ float dx = 1.0 / float( boneTextureSize );
+ float dy = 1.0 / float( boneTextureSize );
+
+ y = dy * ( y + 0.5 );
+
+ vec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );
+ vec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );
+ vec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );
+ vec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );
+
+ mat4 bone = mat4( v1, v2, v3, v4 );
+
+ return bone;
+
+ }
+
+ #else
+
+ uniform mat4 boneMatrices[ MAX_BONES ];
+
+ mat4 getBoneMatrix( const in float i ) {
+
+ mat4 bone = boneMatrices[ int(i) ];
+ return bone;
+
+ }
+
+ #endif
+
+#endif
+`,UG=`
+#ifdef USE_SKINNING
+
+ vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );
+
+ vec4 skinned = vec4( 0.0 );
+ skinned += boneMatX * skinVertex * skinWeight.x;
+ skinned += boneMatY * skinVertex * skinWeight.y;
+ skinned += boneMatZ * skinVertex * skinWeight.z;
+ skinned += boneMatW * skinVertex * skinWeight.w;
+
+ transformed = ( bindMatrixInverse * skinned ).xyz;
+
+#endif
+`,OG=`
+#ifdef USE_SKINNING
+
+ mat4 skinMatrix = mat4( 0.0 );
+ skinMatrix += skinWeight.x * boneMatX;
+ skinMatrix += skinWeight.y * boneMatY;
+ skinMatrix += skinWeight.z * boneMatZ;
+ skinMatrix += skinWeight.w * boneMatW;
+ skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;
+
+ objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;
+
+#endif
+`,NG=`
+float specularStrength;
+
+#ifdef USE_SPECULARMAP
+
+ vec4 texelSpecular = texture2D( specularMap, vUv );
+ specularStrength = texelSpecular.r;
+
+#else
+
+ specularStrength = 1.0;
+
+#endif
+`,HG=`
+#ifdef USE_SPECULARMAP
+
+ uniform sampler2D specularMap;
+
+#endif
+`,QG=`
+#if defined( TONE_MAPPING )
+
+ gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );
+
+#endif
+`,jG=`
+#ifndef saturate
+ #define saturate(a) clamp( a, 0.0, 1.0 )
+#endif
+
+uniform float toneMappingExposure;
+uniform float toneMappingWhitePoint;
+
+// exposure only
+vec3 LinearToneMapping( vec3 color ) {
+
+ return toneMappingExposure * color;
+
+}
+
+// source: https://www.cs.utah.edu/~reinhard/cdrom/
+vec3 ReinhardToneMapping( vec3 color ) {
+
+ color *= toneMappingExposure;
+ return saturate( color / ( vec3( 1.0 ) + color ) );
+
+}
+
+// source: http://filmicgames.com/archives/75
+#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )
+vec3 Uncharted2ToneMapping( vec3 color ) {
+
+ // John Hable's filmic operator from Uncharted 2 video game
+ color *= toneMappingExposure;
+ return saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );
+
+}
+
+// source: http://filmicgames.com/archives/75
+vec3 OptimizedCineonToneMapping( vec3 color ) {
+
+ // optimized filmic operator by Jim Hejl and Richard Burgess-Dawson
+ color *= toneMappingExposure;
+ color = max( vec3( 0.0 ), color - 0.004 );
+ return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );
+
+}
+
+// source: https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/
+vec3 ACESFilmicToneMapping( vec3 color ) {
+
+ color *= toneMappingExposure;
+ return saturate( ( color * ( 2.51 * color + 0.03 ) ) / ( color * ( 2.43 * color + 0.59 ) + 0.14 ) );
+
+}
+`,GG=`
+#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )
+
+ varying vec2 vUv;
+
+#endif
+`,zG=`
+#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )
+
+ varying vec2 vUv;
+ uniform mat3 uvTransform;
+
+#endif
+`,qG=`
+#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )
+
+ vUv = ( uvTransform * vec3( uv, 1 ) ).xy;
+
+#endif
+`,VG=`
+#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
+
+ varying vec2 vUv2;
+
+#endif
+`,WG=`
+#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
+
+ attribute vec2 uv2;
+ varying vec2 vUv2;
+
+#endif
+`,KG=`
+#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
+
+ vUv2 = uv2;
+
+#endif
+`,YG=`
+#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )
+
+ vec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );
+
+#endif
+`,XG=`
+uniform sampler2D t2D;
+
+varying vec2 vUv;
+
+void main() {
+
+ vec4 texColor = texture2D( t2D, vUv );
+
+ gl_FragColor = mapTexelToLinear( texColor );
+
+ #include
+ #include
+
+}
+`,JG=`
+varying vec2 vUv;
+uniform mat3 uvTransform;
+
+void main() {
+
+ vUv = ( uvTransform * vec3( uv, 1 ) ).xy;
+
+ gl_Position = vec4( position.xy, 1.0, 1.0 );
+
+}
+`,ZG=`
+uniform samplerCube tCube;
+uniform float tFlip;
+uniform float opacity;
+
+varying vec3 vWorldDirection;
+
+void main() {
+
+ vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );
+
+ gl_FragColor = mapTexelToLinear( texColor );
+ gl_FragColor.a *= opacity;
+
+ #include
+ #include
+
+}
+`,$G=`
+varying vec3 vWorldDirection;
+
+#include
+
+void main() {
+
+ vWorldDirection = transformDirection( position, modelMatrix );
+
+ #include
+ #include
+
+ gl_Position.z = gl_Position.w; // set z to camera.far
+
+}
+`,ez=`
+#if DEPTH_PACKING == 3200
+
+ uniform float opacity;
+
+#endif
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+void main() {
+
+ #include
+
+ vec4 diffuseColor = vec4( 1.0 );
+
+ #if DEPTH_PACKING == 3200
+
+ diffuseColor.a = opacity;
+
+ #endif
+
+ #include
+ #include
+ #include
+
+ #include
+
+ #if DEPTH_PACKING == 3200
+
+ gl_FragColor = vec4( vec3( 1.0 - gl_FragCoord.z ), opacity );
+
+ #elif DEPTH_PACKING == 3201
+
+ gl_FragColor = packDepthToRGBA( gl_FragCoord.z );
+
+ #endif
+
+}
+`,tz=`
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+void main() {
+
+ #include
+
+ #include
+
+ #ifdef USE_DISPLACEMENTMAP
+
+ #include
+ #include
+ #include
+
+ #endif
+
+ #include
+ #include
+ #include
+ #include
+ #include
+ #include
+ #include
+
+}
+`,iz=`
+#define DISTANCE
+
+uniform vec3 referencePosition;
+uniform float nearDistance;
+uniform float farDistance;
+varying vec3 vWorldPosition;
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+void main () {
+
+ #include
+
+ vec4 diffuseColor = vec4( 1.0 );
+
+ #include
+ #include
+ #include
+
+ float dist = length( vWorldPosition - referencePosition );
+ dist = ( dist - nearDistance ) / ( farDistance - nearDistance );
+ dist = saturate( dist ); // clamp to [ 0, 1 ]
+
+ gl_FragColor = packDepthToRGBA( dist );
+
+}
+`,nz=`
+#define DISTANCE
+
+varying vec3 vWorldPosition;
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+void main() {
+
+ #include
+
+ #include
+
+ #ifdef USE_DISPLACEMENTMAP
+
+ #include
+ #include
+ #include
+
+ #endif
+
+ #include
+ #include
+ #include
+ #include
+ #include
+ #include
+ #include
+
+ vWorldPosition = worldPosition.xyz;
+
+}
+`,az=`
+uniform sampler2D tEquirect;
+
+varying vec3 vWorldDirection;
+
+#include
+
+void main() {
+
+ vec3 direction = normalize( vWorldDirection );
+
+ vec2 sampleUV;
+
+ sampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;
+
+ sampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;
+
+ vec4 texColor = texture2D( tEquirect, sampleUV );
+
+ gl_FragColor = mapTexelToLinear( texColor );
+
+ #include
+ #include
+
+}
+`,sz=`
+varying vec3 vWorldDirection;
+
+#include
+
+void main() {
+
+ vWorldDirection = transformDirection( position, modelMatrix );
+
+ #include
+ #include
+
+}
+`,rz=`
+uniform vec3 diffuse;
+uniform float opacity;
+
+uniform float dashSize;
+uniform float totalSize;
+
+varying float vLineDistance;
+
+#include
+#include
+#include
+#include
+#include
+
+void main() {
+
+ #include
+
+ if ( mod( vLineDistance, totalSize ) > dashSize ) {
+
+ discard;
+
+ }
+
+ vec3 outgoingLight = vec3( 0.0 );
+ vec4 diffuseColor = vec4( diffuse, opacity );
+
+ #include
+ #include
+
+ outgoingLight = diffuseColor.rgb; // simple shader
+
+ gl_FragColor = vec4( outgoingLight, diffuseColor.a );
+
+ #include
+ #include
+ #include
+ #include
+
+}
+`,oz=`
+uniform float scale;
+attribute float lineDistance;
+
+varying float vLineDistance;
+
+#include
+#include
+#include
+#include
+#include
+
+void main() {
+
+ #include
+
+ vLineDistance = scale * lineDistance;
+
+ vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
+ gl_Position = projectionMatrix * mvPosition;
+
+ #include
+ #include
+ #include
+
+}
+`,lz=`
+uniform vec3 diffuse;
+uniform float opacity;
+
+#ifndef FLAT_SHADED
+
+ varying vec3 vNormal;
+
+#endif
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+void main() {
+
+ #include
+
+ vec4 diffuseColor = vec4( diffuse, opacity );
+
+ #include
+ #include
+ #include
+ #include
+ #include
+ #include
+
+ ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
+
+ // accumulation (baked indirect lighting only)
+ #ifdef USE_LIGHTMAP
+
+ reflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;
+
+ #else
+
+ reflectedLight.indirectDiffuse += vec3( 1.0 );
+
+ #endif
+
+ // modulation
+ #include
+
+ reflectedLight.indirectDiffuse *= diffuseColor.rgb;
+
+ vec3 outgoingLight = reflectedLight.indirectDiffuse;
+
+ #include
+
+ gl_FragColor = vec4( outgoingLight, diffuseColor.a );
+
+ #include
+ #include
+ #include
+ #include
+
+}
+`,uz=`
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include