diff --git a/resources/LSRPC-K9/READ ME FIRST!!!.md b/resources/LSRPC-K9/READ ME FIRST!!!.md new file mode 100644 index 000000000..0c99dbc61 --- /dev/null +++ b/resources/LSRPC-K9/READ ME FIRST!!!.md @@ -0,0 +1,25 @@ + + + + +## Installation +1. Drag LSRPC-K9 into resources folder. +2. Add resource name to LSRPC-K9 config. +3. Start server. +4. DO NOT CHANGE THE FOLDER NAME UNLESS YOU KNOW WHAT YOUR DOING + +SUPPORT HERE + +https://discord.gg/tUGFErqPx8 Toxic Custom Scripts + +or + +https://discord.gg/VbDtGCd Burk Studios Custom EUP | 3D MODELING + +## Controls +1. OPEN MENU | /K9 +2. FOLLOW / STOP | F1 +3. ATTACK | Point + F1 +4. GET IN & OUT VEHICLE | Delete + + diff --git a/resources/LSRPC-K9/__resource.lua b/resources/LSRPC-K9/__resource.lua new file mode 100644 index 000000000..726d8b35f --- /dev/null +++ b/resources/LSRPC-K9/__resource.lua @@ -0,0 +1,29 @@ +--[[ + Scripted by: Xander Harrison [X. Cross] +--]] +resource_manifest_version '44febabe-d386-4d18-afbe-5e627f4af937' + +ui_page("html/index.html") + +files { + "html/index.html", + "html/libraries/axios.min.js", + "html/libraries/vue.min.js", + "html/libraries/vuetify.js", + "html/libraries/vuetify.css", + "html/style.css", + "html/script.js", + "html/images/dog_left.png", + "html/images/dog_right.png", + "html/images/husky.png", + "html/images/rottweiler.png", + "html/images/shepherd.png", + "html/images/retriever.png", + "html/images/poodle.png", + "html/images/pug.png", + "html/images/westy.png", +} + +server_script "config.lua" +server_script "server.lua" +client_script "client.lua" \ No newline at end of file diff --git a/resources/LSRPC-K9/client.lua b/resources/LSRPC-K9/client.lua new file mode 100644 index 000000000..1339bb626 --- /dev/null +++ b/resources/LSRPC-K9/client.lua @@ -0,0 +1,554 @@ +--[[ Variables ]]-- + -- DO NOT CHANGE -- + local just_started = true + local k9_name = "Default" + local spawned_ped = nil + local following = false + local attacking = false + local attacked_player = 0 + local searching = false + local playing_animation = false + + local animations = { + ['Normal'] = { + sit = { + dict = "creatures@rottweiler@amb@world_dog_sitting@idle_a", + anim = "idle_b" + }, + laydown = { + dict = "creatures@rottweiler@amb@sleep_in_kennel@", + anim = "sleep_in_kennel" + }, + searchhit = { + dict = "creatures@rottweiler@indication@", + anim = "indicate_high" + } + } + } +--]] + +--[[ Tables ]]-- +local language = {} +--]] + +--[[ NUI Messages ]]-- + + -- Open Menu -- + function EnableMenu() + SetNuiFocus(true, true) + SendNUIMessage({ + type = "open_k9_menu" + }) + end + +--]] + +--[[ NUI Callbacks ]]-- + + RegisterNUICallback("closemenu", function(data) + SetNuiFocus(false, false) + end) + + RegisterNUICallback("updatename", function(data) + k9_name = data.name + end) + + RegisterNUICallback("spawnk9", function(data) + TriggerEvent("K9:ToggleK9", data.model) + end) + + RegisterNUICallback("vehicletoggle", function(data) + if spawned_ped ~= nil then + TriggerServerEvent("K9:RequestVehicleToggle") + end + end) + + RegisterNUICallback("vehiclesearch", function(data) + if spawned_ped ~= nil then + TriggerServerEvent("K9:RequestItems") + end + end) + + RegisterNUICallback("sit", function(data) + if spawned_ped ~= nil then + PlayAnimation(animations['Normal'].sit.dict, animations['Normal'].sit.anim) + end + end) + + RegisterNUICallback("laydown", function(data) + if spawned_ped ~= nil then + PlayAnimation(animations['Normal'].laydown.dict, animations['Normal'].laydown.anim) + end + end) + +--]] + +--[[ Main Event Handlers ]]-- + + -- Updates Language Settings + RegisterNetEvent("K9:UpdateLanguage") + AddEventHandler("K9:UpdateLanguage", function(commands) + language = commands + Citizen.Trace(tostring(json.encode(language))) + end) + + -- Opens K9 Menu + RegisterNetEvent("K9:OpenMenu") + AddEventHandler("K9:OpenMenu", function(pedRestriction, pedList) + if pedRestriction then + if CheckPedRestriction(GetLocalPed(), pedList) then + EnableMenu() + else + Notification(tostring("~r~You do not have the right PED to use the K9.")) + end + else + EnableMenu() + end + end) + + -- Error for Identifier Whitelist + RegisterNetEvent("K9:IdentifierRestricted") + AddEventHandler("K9:IdentifierRestricted", function() + Notification(tostring("~r~You do not match any identifiers in the whitelist.")) + end) + + -- Spawns and Deletes K9 + RegisterNetEvent("K9:ToggleK9") + AddEventHandler("K9:ToggleK9", function(model) + if spawned_ped == nil then + local ped = GetHashKey(model) + RequestModel(ped) + while not HasModelLoaded(ped) do + Citizen.Wait(1) + RequestModel(ped) + end + local plyCoords = GetOffsetFromEntityInWorldCoords(GetLocalPed(), 0.0, 2.0, 0.0) + local dog = CreatePed(28, ped, plyCoords.x, plyCoords.y, plyCoords.z, GetEntityHeading(GetLocalPed()), 0, 1) + spawned_ped = dog + SetBlockingOfNonTemporaryEvents(spawned_ped, true) + SetPedFleeAttributes(spawned_ped, 0, 0) + SetPedRelationshipGroupHash(spawned_ped, GetHashKey("k9")) + local blip = AddBlipForEntity(spawned_ped) + SetBlipAsFriendly(blip, true) + SetBlipSprite(blip, 442) + BeginTextCommandSetBlipName("STRING") + AddTextComponentString(tostring("K9: ".. k9_name)) + EndTextCommandSetBlipName(blip) + NetworkRegisterEntityAsNetworked(spawned_ped) + GiveWeaponToPed(spawned_ped, GetHashKey("WEAPON_ANIMAL"), 200, true, true); + while not NetworkGetEntityIsNetworked(spawned_ped) do + NetworkRegisterEntityAsNetworked(spawned_ped) + Citizen.Wait(1) + end + else + local has_control = false + RequestNetworkControl(function(cb) + has_control = cb + end) + if has_control then + SetEntityAsMissionEntity(spawned_ped, true, true) + DeleteEntity(spawned_ped) + spawned_ped = nil + if attacking then + SetPedRelationshipGroupDefaultHash(target_ped, GetHashKey("CIVMALE")) + target_ped = nil + attacking = false + end + following = false + searching = false + playing_animation = false + end + end + end) + + -- Toggles K9 to Follow / Heel + RegisterNetEvent("K9:ToggleFollow") + AddEventHandler("K9:ToggleFollow", function() + if spawned_ped ~= nil then + if not following then + local has_control = false + RequestNetworkControl(function(cb) + has_control = cb + end) + if has_control then + TaskFollowToOffsetOfEntity(spawned_ped, GetLocalPed(), 0.5, 0.0, 0.0, 5.0, -1, 0.0, 1) + SetPedKeepTask(spawned_ped, true) + following = true + attacking = false + Notification(tostring(k9_name .. " " .. language.follow)) + end + else + local has_control = false + RequestNetworkControl(function(cb) + has_control = cb + end) + if has_control then + SetPedKeepTask(spawned_ped, false) + ClearPedTasks(spawned_ped) + following = false + attacking = false + Notification(tostring(k9_name .. " " .. language.stop)) + end + end + end + end) + + -- Toggles K9 In and Out of Vehicles + RegisterNetEvent("K9:ToggleVehicle") + AddEventHandler("K9:ToggleVehicle", function(isRestricted, vehList) + if not searching then + if IsPedInAnyVehicle(spawned_ped, false) then + SetEntityInvincible(spawned_ped, true) + SetPedCanRagdoll(spawned_ped, false) + TaskLeaveVehicle(spawned_ped, GetVehiclePedIsIn(spawned_ped, false), 256) + Notification(tostring(k9_name .. " " .. language.exit)) + Wait(2000) + SetPedCanRagdoll(spawned_ped, true) + SetEntityInvincible(spawned_ped, false) + else + if not IsPedInAnyVehicle(GetLocalPed(), false) then + local plyCoords = GetEntityCoords(GetLocalPed(), false) + local vehicle = GetVehicleAheadOfPlayer() + local door = GetClosestVehicleDoor(vehicle) + if door ~= false then + if isRestricted then + if CheckVehicleRestriction(vehicle, vehList) then + TaskEnterVehicle(spawned_ped, vehicle, -1, door, 2.0, 1, 0) + Notification(tostring(k9_name .. " " .. language.enter)) + end + else + TaskEnterVehicle(spawned_ped, vehicle, -1, door, 2.0, 1, 0) + Notification(tostring(k9_name .. " " .. language.enter)) + end + end + else + local vehicle = GetVehiclePedIsIn(GetLocalPed(), false) + local door = 1 + if isRestricted then + if CheckVehicleRestriction(vehicle, vehList) then + TaskEnterVehicle(spawned_ped, vehicle, -1, door, 2.0, 1, 0) + Notification(tostring(k9_name .. " " .. language.enter)) + end + else + TaskEnterVehicle(spawned_ped, vehicle, -1, door, 2.0, 1, 0) + Notification(tostring(k9_name .. " " .. language.enter)) + end + end + end + end + end) + + -- Triggers K9 to Attack + RegisterNetEvent("K9:ToggleAttack") + AddEventHandler("K9:ToggleAttack", function(target) + if not attacking and not searching then + if IsPedAPlayer(target) then + local has_control = false + RequestNetworkControl(function(cb) + has_control = cb + end) + if has_control then + local player = GetPlayerFromServerId(GetPlayerId(target)) + SetCanAttackFriendly(spawned_ped, true, true) + TaskPutPedDirectlyIntoMelee(spawned_ped, target, 0.0, -1.0, 0.0, 0) + attacked_player = player + end + else + local has_control = false + RequestNetworkControl(function(cb) + has_control = cb + end) + if has_control then + SetCanAttackFriendly(spawned_ped, true, true) + TaskPutPedDirectlyIntoMelee(spawned_ped, target, 0.0, -1.0, 0.0, 0) + attacked_player = 0 + end + end + attacking = true + following = false + Notification(tostring(k9_name .. " " .. language.attack)) + end + end) + + -- Triggers K9 to Search Vehicle + RegisterNetEvent("K9:SearchVehicle") + AddEventHandler("K9:SearchVehicle", function(items, openDoors) + local vehicle = GetVehicleAheadOfPlayer() + Citizen.Trace(tostring(vehicle)) + Citizen.Trace(tostring(json.encode(items))) + if vehicle ~= 0 and not searching then + searching = true + local found_table = {} + + Notification(tostring(k9_name .. " has began searching...")) + + if openDoors then + SetVehicleDoorOpen(vehicle, 0, 0, 0) + SetVehicleDoorOpen(vehicle, 1, 0, 0) + SetVehicleDoorOpen(vehicle, 2, 0, 0) + SetVehicleDoorOpen(vehicle, 3, 0, 0) + SetVehicleDoorOpen(vehicle, 4, 0, 0) + SetVehicleDoorOpen(vehicle, 5, 0, 0) + SetVehicleDoorOpen(vehicle, 6, 0, 0) + SetVehicleDoorOpen(vehicle, 7, 0, 0) + end + + -- Back Right + local offsetOne = GetOffsetFromEntityInWorldCoords(vehicle, 2.0, -2.0, 0.0) + TaskGoToCoordAnyMeans(spawned_ped, offsetOne.x, offsetOne.y, offsetOne.z, 5.0, 0, 0, 1, 10.0) + local oneItem = ChooseItem(items) + if oneItem ~= false then + table.insert(found_table, oneItem) + end + + Citizen.Wait(7000) + + -- Front Right + local offsetTwo = GetOffsetFromEntityInWorldCoords(vehicle, 2.0, 2.0, 0.0) + TaskGoToCoordAnyMeans(spawned_ped, offsetTwo.x, offsetTwo.y, offsetTwo.z, 5.0, 0, 0, 1, 10.0) + local twoItem = ChooseItem(items) + if twoItem ~= false then + table.insert(found_table, twoItem) + end + + Citizen.Wait(7000) + + -- Front Left + local offsetThree = GetOffsetFromEntityInWorldCoords(vehicle, -2.0, 2.0, 0.0) + TaskGoToCoordAnyMeans(spawned_ped, offsetThree.x, offsetThree.y, offsetThree.z, 5.0, 0, 0, 1, 10.0) + local threeItem = ChooseItem(items) + if threeItem ~= false then + table.insert(found_table, threeItem) + end + + Citizen.Wait(7000) + + -- Front Right + local offsetFour = GetOffsetFromEntityInWorldCoords(vehicle, -2.0, -2.0, 0.0) + TaskGoToCoordAnyMeans(spawned_ped, offsetFour.x, offsetFour.y, offsetFour.z, 5.0, 0, 0, 1, 10.0) + local fourItem = ChooseItem(items) + if fourItem ~= false then + table.insert(found_table, fourItem) + end + + Citizen.Wait(7000) + + if openDoors then + SetVehicleDoorsShut(vehicle, 0) + end + + local stringified_table = {} + local found_illegal_item = false + for a = 1, #found_table do + table.insert(stringified_table, found_table[a].item) + if found_table[a].illegal then + found_illegal_item = true + end + end + + if found_illegal_item then + PlayAnimation(animations['Normal'].searchhit.dict, animations['Normal'].searchhit.anim) + Citizen.Wait(3000) + PlayAnimation(animations['Normal'].sit.dict, animations['Normal'].sit.anim) + end + + Notification(tostring(k9_name .. " has found [ " .. tostring(table.concat(stringified_table, ", ")) .. " ].")) + searching = false + end + end) + +--]] + +--[[ Threads ]] + + -- Controls Menu + Citizen.CreateThread(function() + while true do + Citizen.Wait(0) + + -- Trigger Attack + if IsControlJustPressed(1, 288) and IsPlayerFreeAiming(PlayerId()) then + local bool, target = GetEntityPlayerIsFreeAimingAt(PlayerId()) + + if bool then + if IsEntityAPed(target) then + TriggerEvent("K9:ToggleAttack", target) + end + end + end + + -- Trigger Follow + if IsControlJustPressed(1, 288) and not IsPlayerFreeAiming(PlayerId()) then + TriggerEvent("K9:ToggleFollow") + end + + if IsControlJustPressed(1, 178) then + if spawned_ped ~= nil then + TriggerServerEvent("K9:RequestVehicleToggle") + end + end + end + end) + + -- DO NOT TOUCH (CLEANER) + Citizen.CreateThread(function() + while true do + Citizen.Wait(0) + + -- Setting K9 Settings + if just_started then + Citizen.Wait(1000) + local resource = GetCurrentResourceName() + SendNUIMessage({ + type = "update_resource_name", + name = resource + }) + just_started = false + TriggerServerEvent("K9:SendLanguage") + end + + -- Deletes K9 when you die + if spawned_ped ~= nil and IsEntityDead(GetLocalPed()) then + TriggerEvent("K9:ToggleK9") + end + end + end) + +--]] + +--[[ EXTRA FUNCTIONS ]]-- + +-- Gets Local Ped +function GetLocalPed() + return GetPlayerPed(PlayerId()) +end + +-- Gets Control Of Ped +function RequestNetworkControl(callback) + local netId = NetworkGetNetworkIdFromEntity(spawned_ped) + local timer = 0 + NetworkRequestControlOfNetworkId(netId) + while not NetworkHasControlOfNetworkId(netId) do + Citizen.Wait(1) + NetworkRequestControlOfNetworkId(netId) + timer = timer + 1 + if timer == 5000 then + Citizen.Trace("Control failed") + callback(false) + break + end + end + callback(true) +end + +-- Gets Players +function GetPlayers() + local players = {} + for i = 0, 32 do + if NetworkIsPlayerActive(i) then + table.insert(players, i) + end + end + return players +end + +-- Get Searching item +function ChooseItem(items) + local number = math.random(1, 100) + + if number > 70 and number < 95 then -- 70 | 95 + local randomItem = math.random(1, #items) + return items[randomItem] + else + return false + end +end + +-- Set K9 Animation (Sit / Laydown) +function PlayAnimation(dict, anim) + RequestAnimDict(dict) + while not HasAnimDictLoaded(dict) do + Citizen.Wait(0) + end + + TaskPlayAnim(spawned_ped, dict, anim, 8.0, -8.0, -1, 2, 0.0, 0, 0, 0) +end + +-- Gets Player ID +function GetPlayerId(target_ped) + local players = GetPlayers() + for a = 1, #players do + local ped = GetPlayerPed(players[a]) + local server_id = GetPlayerServerId(players[a]) + if target_ped == ped then + return server_id + end + end + return 0 +end + +-- Checks Ped Restriction +function CheckPedRestriction(ped, PedList) + for i = 1, #PedList do + if GetHashKey(PedList[i]) == GetEntityModel(ped) then + return true + end + end + return false +end + +-- Checks Vehicle Restriction +function CheckVehicleRestriction(vehicle, VehicleList) + for i = 1, #VehicleList do + if GetHashKey(VehicleList[i]) == GetEntityModel(vehicle) then + return true + end + end + return false +end + +-- Gets Vehicle Ahead Of Player +function GetVehicleAheadOfPlayer() + local lPed = GetLocalPed() + local lPedCoords = GetEntityCoords(lPed, alive) + local lPedOffset = GetOffsetFromEntityInWorldCoords(lPed, 0.0, 3.0, 0.0) + local rayHandle = StartShapeTestCapsule(lPedCoords.x, lPedCoords.y, lPedCoords.z, lPedOffset.x, lPedOffset.y, lPedOffset.z, 1.2, 10, lPed, 7) + local returnValue, hit, endcoords, surface, vehicle = GetShapeTestResult(rayHandle) + + if hit then + return vehicle + else + return false + end +end + +RegisterCommand('k9', function(source, args) + TriggerServerEvent("K9:RequestOpenMenu") +end, false) + +-- Gets Closest Door To Player +function GetClosestVehicleDoor(vehicle) + local plyCoords = GetEntityCoords(GetLocalPed(), false) + local backleft = GetWorldPositionOfEntityBone(vehicle, GetEntityBoneIndexByName(vehicle, "door_dside_r")) + local backright = GetWorldPositionOfEntityBone(vehicle, GetEntityBoneIndexByName(vehicle, "door_pside_r")) + local bldistance = GetDistanceBetweenCoords(backleft['x'], backleft['y'], backleft['z'], plyCoords.x, plyCoords.y, plyCoords.z, 1) + local brdistance = GetDistanceBetweenCoords(backright['x'], backright['y'], backright['z'], plyCoords.x, plyCoords.y, plyCoords.z, 1) + + local found_door = false + + if (bldistance < brdistance) then + found_door = 1 + elseif(brdistance < bldistance) then + found_door = 2 + end + + return found_door +end + +-- Displays Notification +function Notification(message) + SetNotificationTextEntry("STRING") + AddTextComponentString(message) + DrawNotification(0, 1) +end +--]] diff --git a/resources/LSRPC-K9/config.lua b/resources/LSRPC-K9/config.lua new file mode 100644 index 000000000..3a677ea00 --- /dev/null +++ b/resources/LSRPC-K9/config.lua @@ -0,0 +1,49 @@ +K9Config = {} +K9Config = setmetatable(K9Config, {}) + +K9Config.OpenMenuIdentifierRestriction = false +K9Config.OpenMenuPedRestriction = false +K9Config.LicenseIdentifiers = { + "license:c06fbf1faaf995c7b9e207ef77712971a3ed4dc3" +} +--K9Config.SteamIdentifiers = { + --"steam:1100001081f9ab0" +--} +K9Config.PedsList = { + "s_m_y_cop_01", + "s_m_y_sheriff_01" +} + +-- Restricts the dog to getting into certain vehicles +K9Config.VehicleRestriction = false +K9Config.VehiclesList = { + +} + +-- Searching Type ( RANDOM [AVAILABLE] | VRP [NOT AVAILABLE] | ESX [NOT AVAILABLE] ) +K9Config.SearchType = "Random" +K9Config.OpenDoorsOnSearch = false + +-- Used for Random Search Type -- +K9Config.Items = { + {item = "Cocaine", illegal = true}, + {item = "Marijuana", illegal = true}, + {item = "Blunt Spray", illegal = false}, + {item = "Crowbar", illegal = false}, + {item = "Lockpicks", illegal = false}, + {item = "Baggies", illegal = false}, + {item = "Used Needle", illegal = false}, + {item = "Open Container", illegal = false}, +} + +-- Language -- +K9Config.LanguageChoice = "English" +K9Config.Languages = { + ["English"] = { + follow = "Come", + stop = "Heel", + attack = "Bite", + enter = "In", + exit = "Out" + } +} \ No newline at end of file diff --git a/resources/LSRPC-K9/html/images - Copy/husky.png b/resources/LSRPC-K9/html/images - Copy/husky.png new file mode 100644 index 000000000..0aac11a98 Binary files /dev/null and b/resources/LSRPC-K9/html/images - Copy/husky.png differ diff --git a/resources/LSRPC-K9/html/images - Copy/retriever.png b/resources/LSRPC-K9/html/images - Copy/retriever.png new file mode 100644 index 000000000..17ecfe7ac Binary files /dev/null and b/resources/LSRPC-K9/html/images - Copy/retriever.png differ diff --git a/resources/LSRPC-K9/html/images - Copy/rottweiler.png b/resources/LSRPC-K9/html/images - Copy/rottweiler.png new file mode 100644 index 000000000..f7ce81722 Binary files /dev/null and b/resources/LSRPC-K9/html/images - Copy/rottweiler.png differ diff --git a/resources/LSRPC-K9/html/images - Copy/shepherd.png b/resources/LSRPC-K9/html/images - Copy/shepherd.png new file mode 100644 index 000000000..4c00ccf62 Binary files /dev/null and b/resources/LSRPC-K9/html/images - Copy/shepherd.png differ diff --git a/resources/LSRPC-K9/html/images/husky.png b/resources/LSRPC-K9/html/images/husky.png new file mode 100644 index 000000000..f39641b29 Binary files /dev/null and b/resources/LSRPC-K9/html/images/husky.png differ diff --git a/resources/LSRPC-K9/html/images/poodle.png b/resources/LSRPC-K9/html/images/poodle.png new file mode 100644 index 000000000..d2e44e9c5 Binary files /dev/null and b/resources/LSRPC-K9/html/images/poodle.png differ diff --git a/resources/LSRPC-K9/html/images/pug.png b/resources/LSRPC-K9/html/images/pug.png new file mode 100644 index 000000000..a0ff355ba Binary files /dev/null and b/resources/LSRPC-K9/html/images/pug.png differ diff --git a/resources/LSRPC-K9/html/images/retriever.png b/resources/LSRPC-K9/html/images/retriever.png new file mode 100644 index 000000000..ecd538d06 Binary files /dev/null and b/resources/LSRPC-K9/html/images/retriever.png differ diff --git a/resources/LSRPC-K9/html/images/rottweiler.png b/resources/LSRPC-K9/html/images/rottweiler.png new file mode 100644 index 000000000..9aff6f172 Binary files /dev/null and b/resources/LSRPC-K9/html/images/rottweiler.png differ diff --git a/resources/LSRPC-K9/html/images/shepherd.png b/resources/LSRPC-K9/html/images/shepherd.png new file mode 100644 index 000000000..6298d5a38 Binary files /dev/null and b/resources/LSRPC-K9/html/images/shepherd.png differ diff --git a/resources/LSRPC-K9/html/images/westy.png b/resources/LSRPC-K9/html/images/westy.png new file mode 100644 index 000000000..7058d0a00 Binary files /dev/null and b/resources/LSRPC-K9/html/images/westy.png differ diff --git a/resources/LSRPC-K9/html/index.html b/resources/LSRPC-K9/html/index.html new file mode 100644 index 000000000..7e960d1dd --- /dev/null +++ b/resources/LSRPC-K9/html/index.html @@ -0,0 +1,100 @@ + +
+ K9 Menu (LSRPC K9 MENU (LSRPC) + + + + + + +
+ + +
+ +
+
+ K9 Menu +
+ +
+ +
+ Options + Animations + Actions +
+ +
+ + Change Model + Spawn/Delete K9 + Go Back +
+ +
+ Sit + Laydown + Go Back +
+ +
+ Search + Get in/out Vehicle + Go Back +
+ + Close Menu + + +
+ +
+ + + Choose Your Name + + + + + Submit + + + + +
+ +
+ + + Choose Your Model + + + + + + + + + + {{model.title}} + + Select + + + + + + + + + +
+ +
+
+
+ + + + \ No newline at end of file diff --git a/resources/LSRPC-K9/html/libraries/axios.min.js b/resources/LSRPC-K9/html/libraries/axios.min.js new file mode 100644 index 000000000..69cc188e4 --- /dev/null +++ b/resources/LSRPC-K9/html/libraries/axios.min.js @@ -0,0 +1,9 @@ +/* axios v0.18.0 | (c) 2018 by Matt Zabriskie */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new s(e),n=i(s.prototype.request,t);return o.extend(n,s.prototype,t),o.extend(n,t),n}var o=n(2),i=n(3),s=n(5),u=n(6),a=r(u);a.Axios=s,a.create=function(e){return r(o.merge(u,e))},a.Cancel=n(23),a.CancelToken=n(24),a.isCancel=n(20),a.all=function(e){return Promise.all(e)},a.spread=n(25),e.exports=a,e.exports.default=a},function(e,t,n){"use strict";function r(e){return"[object Array]"===R.call(e)}function o(e){return"[object ArrayBuffer]"===R.call(e)}function i(e){return"undefined"!=typeof FormData&&e instanceof FormData}function s(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function u(e){return"string"==typeof e}function a(e){return"number"==typeof e}function c(e){return"undefined"==typeof e}function f(e){return null!==e&&"object"==typeof e}function p(e){return"[object Date]"===R.call(e)}function d(e){return"[object File]"===R.call(e)}function l(e){return"[object Blob]"===R.call(e)}function h(e){return"[object Function]"===R.call(e)}function m(e){return f(e)&&h(e.pipe)}function y(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function w(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function g(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function v(e,t){if(null!==e&&"undefined"!=typeof e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n + * @license MIT + */ +e.exports=function(e){return null!=e&&(n(e)||r(e)||!!e._isBuffer)}},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new s,response:new s}}var o=n(6),i=n(2),s=n(17),u=n(18);r.prototype.request=function(e){"string"==typeof e&&(e=i.merge({url:arguments[0]},arguments[1])),e=i.merge(o,{method:"get"},this.defaults,e),e.method=e.method.toLowerCase();var t=[u,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},i.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(i.merge(n||{},{method:e,url:t}))}}),i.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(i.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function o(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(8):"undefined"!=typeof process&&(e=n(8)),e}var i=n(2),s=n(7),u={"Content-Type":"application/x-www-form-urlencoded"},a={adapter:o(),transformRequest:[function(e,t){return s(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};a.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){a.headers[e]={}}),i.forEach(["post","put","patch"],function(e){a.headers[e]=i.merge(u)}),e.exports=a},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),o=n(9),i=n(12),s=n(13),u=n(14),a=n(10),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(15);e.exports=function(e){return new Promise(function(t,f){var p=e.data,d=e.headers;r.isFormData(p)&&delete d["Content-Type"];var l=new XMLHttpRequest,h="onreadystatechange",m=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in l||u(e.url)||(l=new window.XDomainRequest,h="onload",m=!0,l.onprogress=function(){},l.ontimeout=function(){}),e.auth){var y=e.auth.username||"",w=e.auth.password||"";d.Authorization="Basic "+c(y+":"+w)}if(l.open(e.method.toUpperCase(),i(e.url,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,l[h]=function(){if(l&&(4===l.readyState||m)&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in l?s(l.getAllResponseHeaders()):null,r=e.responseType&&"text"!==e.responseType?l.response:l.responseText,i={data:r,status:1223===l.status?204:l.status,statusText:1223===l.status?"No Content":l.statusText,headers:n,config:e,request:l};o(t,f,i),l=null}},l.onerror=function(){f(a("Network Error",e,null,l)),l=null},l.ontimeout=function(){f(a("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",l)),l=null},r.isStandardBrowserEnv()){var g=n(16),v=(e.withCredentials||u(e.url))&&e.xsrfCookieName?g.read(e.xsrfCookieName):void 0;v&&(d[e.xsrfHeaderName]=v)}if("setRequestHeader"in l&&r.forEach(d,function(e,t){"undefined"==typeof p&&"content-type"===t.toLowerCase()?delete d[t]:l.setRequestHeader(t,e)}),e.withCredentials&&(l.withCredentials=!0),e.responseType)try{l.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){l&&(l.abort(),f(e),l=null)}),void 0===p&&(p=null),l.send(p)})}},function(e,t,n){"use strict";var r=n(10);e.exports=function(e,t,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e,t,n,o,i){var s=new Error(e);return r(s,t,n,o,i)}},function(e,t){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=n(2);e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(o.isURLSearchParams(t))i=t.toString();else{var s=[];o.forEach(t,function(e,t){null!==e&&"undefined"!=typeof e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),s.push(r(t)+"="+r(e))}))}),i=s.join("&")}return i&&(e+=(e.indexOf("?")===-1?"?":"&")+i),e}},function(e,t,n){"use strict";var r=n(2),o=["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"];e.exports=function(e){var t,n,i,s={};return e?(r.forEach(e.split("\n"),function(e){if(i=e.indexOf(":"),t=r.trim(e.substr(0,i)).toLowerCase(),n=r.trim(e.substr(i+1)),t){if(s[t]&&o.indexOf(t)>=0)return;"set-cookie"===t?s[t]=(s[t]?s[t]:[]).concat([n]):s[t]=s[t]?s[t]+", "+n:n}}),s):s}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(o.setAttribute("href",t),t=o.href),o.setAttribute("href",t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return t=e(window.location.href),function(n){var o=r.isString(n)?e(n):n;return o.protocol===t.protocol&&o.host===t.host}}():function(){return function(){return!0}}()},function(e,t){"use strict";function n(){this.message="String contains an invalid character"}function r(e){for(var t,r,i=String(e),s="",u=0,a=o;i.charAt(0|u)||(a="=",u%1);s+=a.charAt(63&t>>8-u%1*8)){if(r=i.charCodeAt(u+=.75),r>255)throw new n;t=t<<8|r}return s}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=r},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,i,s){var u=[];u.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&u.push("expires="+new Date(n).toGMTString()),r.isString(o)&&u.push("path="+o),r.isString(i)&&u.push("domain="+i),s===!0&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";function r(){this.handlers=[]}var o=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){o.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var o=n(2),i=n(19),s=n(20),u=n(6),a=n(21),c=n(22);e.exports=function(e){r(e),e.baseURL&&!a(e.url)&&(e.url=c(e.baseURL,e.url)),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t=e.adapter||u.adapter;return t(e).then(function(t){return r(e),t.data=i(t.data,t.headers,e.transformResponse),t},function(t){return s(t)||(r(e),t&&t.response&&(t.response.data=i(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new o(e),t(n.reason))})}var o=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e,t=new r(function(t){e=t});return{token:t,cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])}); +//# sourceMappingURL=axios.min.map \ No newline at end of file diff --git a/resources/LSRPC-K9/html/libraries/vue.min.js b/resources/LSRPC-K9/html/libraries/vue.min.js new file mode 100644 index 000000000..836793b4c --- /dev/null +++ b/resources/LSRPC-K9/html/libraries/vue.min.js @@ -0,0 +1,6 @@ +/*! + * Vue.js v2.5.13 + * (c) 2014-2017 Evan You + * Released under the MIT License. + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.Vue=e()}(this,function(){"use strict";function t(t){return void 0===t||null===t}function e(t){return void 0!==t&&null!==t}function n(t){return!0===t}function r(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function i(t){return null!==t&&"object"==typeof t}function o(t){return"[object Object]"===Nn.call(t)}function a(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function s(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null,2):String(t)}function c(t){var e=parseFloat(t);return isNaN(e)?t:e}function u(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i-1)return t.splice(n,1)}}function f(t,e){return Mn.call(t,e)}function p(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}function d(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function v(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function h(t,e){for(var n in e)t[n]=e[n];return t}function m(t){for(var e={},n=0;n0&&(tt((s=et(s,(o||"")+"_"+a))[0])&&tt(u)&&(l[c]=x(u.text+s[0].text),s.shift()),l.push.apply(l,s)):r(s)?tt(u)?l[c]=x(u.text+s):""!==s&&l.push(x(s)):tt(s)&&tt(u)?l[c]=x(u.text+s.text):(n(i._isVList)&&e(s.tag)&&t(s.key)&&e(o)&&(s.key="__vlist"+o+"_"+a+"__"),l.push(s)));return l}function nt(t,e){return(t.__esModule||fr&&"Module"===t[Symbol.toStringTag])&&(t=t.default),i(t)?e.extend(t):t}function rt(t){return t.isComment&&t.asyncFactory}function it(t){if(Array.isArray(t))for(var n=0;n=0||n.indexOf(t[i])<0)&&r.push(t[i]);return r}return t}}(n[o],r[o],i[o]));return e}(t);r&&h(t.extendOptions,r),(e=t.options=F(n,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function Rt(t){this._init(t)}function Ht(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name,a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=F(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)mt(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)gt(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,zn.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=h({},a.options),i[r]=a,a}}function Bt(t){return t&&(t.Ctor.options.name||t.tag)}function Ut(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!function(t){return"[object RegExp]"===Nn.call(t)}(t)&&t.test(e)}function Vt(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var s=Bt(a.componentOptions);s&&!e(s)&&zt(n,o,r,i)}}}function zt(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,l(n,e)}function Kt(t){for(var n=t.data,r=t,i=t;e(i.componentInstance);)(i=i.componentInstance._vnode)&&i.data&&(n=Jt(i.data,n));for(;e(r=r.parent);)r&&r.data&&(n=Jt(n,r.data));return function(t,n){if(e(t)||e(n))return qt(t,Wt(n));return""}(n.staticClass,n.class)}function Jt(t,n){return{staticClass:qt(t.staticClass,n.staticClass),class:e(t.class)?[t.class,n.class]:n.class}}function qt(t,e){return t?e?t+" "+e:t:e||""}function Wt(t){return Array.isArray(t)?function(t){for(var n,r="",i=0,o=t.length;i=0&&" "===(m=t.charAt(h));h--);m&&Ii.test(m)||(l=!0)}}else void 0===o?(v=i+1,o=t.slice(0,i).trim()):e();if(void 0===o?o=t.slice(0,i).trim():0!==v&&e(),a)for(i=0;i-1?{exp:t.slice(0,ii),key:'"'+t.slice(ii+1)+'"'}:{exp:t,key:null};ni=t,ii=oi=ai=0;for(;!_e();)be(ri=ge())?$e(ri):91===ri&&function(t){var e=1;oi=ii;for(;!_e();)if(t=ge(),be(t))$e(t);else if(91===t&&e++,93===t&&e--,0===e){ai=ii;break}}(ri);return{exp:t.slice(0,oi),key:t.slice(oi+1,ai)}}(t);return null===n.key?t+"="+e:"$set("+n.exp+", "+n.key+", "+e+")"}function ge(){return ni.charCodeAt(++ii)}function _e(){return ii>=ei}function be(t){return 34===t||39===t}function $e(t){for(var e=t;!_e()&&(t=ge())!==e;);}function Ce(t,e,n,r,i){e=function(t){return t._withTask||(t._withTask=function(){Er=!0;var e=t.apply(null,arguments);return Er=!1,e})}(e),n&&(e=function(t,e,n){var r=si;return function i(){null!==t.apply(null,arguments)&&we(e,i,n,r)}}(e,t,r)),si.addEventListener(t,e,or?{capture:r,passive:i}:r)}function we(t,e,n,r){(r||si).removeEventListener(t,e._withTask||e,n)}function xe(n,r){if(!t(n.data.on)||!t(r.data.on)){var i=r.data.on||{},o=n.data.on||{};si=r.elm,function(t){if(e(t[Li])){var n=Qn?"change":"input";t[n]=[].concat(t[Li],t[n]||[]),delete t[Li]}e(t[Mi])&&(t.change=[].concat(t[Mi],t.change||[]),delete t[Mi])}(i),X(i,o,Ce,we,r.context),si=void 0}}function ke(n,r){if(!t(n.data.domProps)||!t(r.data.domProps)){var i,o,a=r.elm,s=n.data.domProps||{},u=r.data.domProps||{};e(u.__ob__)&&(u=r.data.domProps=h({},u));for(i in s)t(u[i])&&(a[i]="");for(i in u){if(o=u[i],"textContent"===i||"innerHTML"===i){if(r.children&&(r.children.length=0),o===s[i])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===i){a._value=o;var l=t(o)?"":String(o);(function(t,n){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,n)||function(t,n){var r=t.value,i=t._vModifiers;if(e(i)){if(i.lazy)return!1;if(i.number)return c(r)!==c(n);if(i.trim)return r.trim()!==n.trim()}return r!==n}(t,n))})(a,l)&&(a.value=l)}else a[i]=o}}}function Ae(t){var e=Oe(t.style);return t.staticStyle?h(t.staticStyle,e):e}function Oe(t){return Array.isArray(t)?m(t):"string"==typeof t?Fi(t):t}function Se(n,r){var i=r.data,o=n.data;if(!(t(i.staticStyle)&&t(i.style)&&t(o.staticStyle)&&t(o.style))){var a,s,c=r.elm,u=o.staticStyle,l=o.normalizedStyle||o.style||{},f=u||l,p=Oe(r.data.style)||{};r.data.normalizedStyle=e(p.__ob__)?h({},p):p;var d=function(t,e){var n,r={};if(e)for(var i=t;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=Ae(i.data))&&h(r,n);(n=Ae(t.data))&&h(r,n);for(var o=t;o=o.parent;)o.data&&(n=Ae(o.data))&&h(r,n);return r}(r,!0);for(s in f)t(d[s])&&Bi(c,s,"");for(s in d)(a=d[s])!==f[s]&&Bi(c,s,null==a?"":a)}}function Te(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Ee(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function je(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&h(e,Ki(t.name||"v")),h(e,t),e}return"string"==typeof t?Ki(t):void 0}}function Ne(t){Qi(function(){Qi(t)})}function Ie(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Te(t,e))}function Le(t,e){t._transitionClasses&&l(t._transitionClasses,e),Ee(t,e)}function Me(t,e,n){var r=De(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===qi?Zi:Yi,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout(function(){c0&&(n=qi,l=a,f=o.length):e===Wi?u>0&&(n=Wi,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?qi:Wi:null)?n===qi?o.length:c.length:0;return{type:n,timeout:l,propCount:f,hasTransform:n===qi&&to.test(r[Gi+"Property"])}}function Pe(t,e){for(;t.length1}function Ve(t,e){!0!==e.data.show&&Re(e)}function ze(t,e,n){Ke(t,e,n),(Qn||er)&&setTimeout(function(){Ke(t,e,n)},0)}function Ke(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=t.options.length;s-1,a.selected!==o&&(a.selected=o);else if(g(qe(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function Je(t,e){return e.every(function(e){return!g(e,t)})}function qe(t){return"_value"in t?t._value:t.value}function We(t){t.target.composing=!0}function Ge(t){t.target.composing&&(t.target.composing=!1,Ze(t.target,"input"))}function Ze(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Xe(t){return!t.componentInstance||t.data&&t.data.transition?t:Xe(t.componentInstance._vnode)}function Ye(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Ye(it(e.children)):t}function Qe(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[Pn(o)]=i[o];return e}function tn(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function en(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function nn(t){t.data.newPos=t.elm.getBoundingClientRect()}function rn(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}function on(t,e){var n=e?zo:Vo;return t.replace(n,function(t){return Uo[t]})}function an(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:function(t){for(var e={},n=0,r=t.length;n=0&&a[i].lowerCasedTag!==s;i--);else i=0;if(i>=0){for(var c=a.length-1;c>=i;c--)e.end&&e.end(a[c].tag,n,r);a.length=i,o=i&&a[i-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,r):"p"===s&&(e.start&&e.start(t,[],!1,n,r),e.end&&e.end(t,n,r))}for(var i,o,a=[],s=e.expectHTML,c=e.isUnaryTag||Bn,u=e.canBeLeftOpenTag||Bn,l=0;t;){if(i=t,o&&Ho(o)){var f=0,p=o.toLowerCase(),d=Bo[p]||(Bo[p]=new RegExp("([\\s\\S]*?)(]*>)","i")),v=t.replace(d,function(t,n,r){return f=r.length,Ho(p)||"noscript"===p||(n=n.replace(//g,"$1").replace(//g,"$1")),Jo(p,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""});l+=t.length-v.length,t=v,r(p,l-f,l)}else{var h=t.indexOf("<");if(0===h){if(Ao.test(t)){var m=t.indexOf("--\x3e");if(m>=0){e.shouldKeepComment&&e.comment(t.substring(4,m)),n(m+3);continue}}if(Oo.test(t)){var y=t.indexOf("]>");if(y>=0){n(y+2);continue}}var g=t.match(ko);if(g){n(g[0].length);continue}var _=t.match(xo);if(_){var b=l;n(_[0].length),r(_[1],b,l);continue}var $=function(){var e=t.match(Co);if(e){var r={tagName:e[1],attrs:[],start:l};n(e[0].length);for(var i,o;!(i=t.match(wo))&&(o=t.match(_o));)n(o[0].length),r.attrs.push(o);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=l,r}}();if($){!function(t){var n=t.tagName,i=t.unarySlash;s&&("p"===o&&go(n)&&r(o),u(n)&&o===n&&r(n));for(var l=c(n)||!!i,f=t.attrs.length,p=new Array(f),d=0;d=0){for(w=t.slice(h);!(xo.test(w)||Co.test(w)||Ao.test(w)||Oo.test(w)||(x=w.indexOf("<",1))<0);)h+=x,w=t.slice(h);C=t.substring(0,h),n(h)}h<0&&(C=t,t=""),e.chars&&C&&e.chars(C)}if(t===i){e.chars&&e.chars(t);break}}r()}(t,{warn:To,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,start:function(t,a,u){var l=i&&i.ns||Do(t);Qn&&"svg"===l&&(a=function(t){for(var e=[],n=0;nc&&(s.push(o=t.slice(c,i)),a.push(JSON.stringify(o)));var u=ae(r[1].trim());a.push("_s("+u+")"),s.push({"@binding":u}),c=i+r[0].length}return c':'
',Ro.innerHTML.indexOf(" ")>0}var jn=Object.freeze({}),Nn=Object.prototype.toString,In=u("slot,component",!0),Ln=u("key,ref,slot,slot-scope,is"),Mn=Object.prototype.hasOwnProperty,Dn=/-(\w)/g,Pn=p(function(t){return t.replace(Dn,function(t,e){return e?e.toUpperCase():""})}),Fn=p(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Rn=/\B([A-Z])/g,Hn=p(function(t){return t.replace(Rn,"-$1").toLowerCase()}),Bn=function(t,e,n){return!1},Un=function(t){return t},Vn="data-server-rendered",zn=["component","directive","filter"],Kn=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Jn={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Bn,isReservedAttr:Bn,isUnknownElement:Bn,getTagNamespace:y,parsePlatformTagName:Un,mustUseProp:Bn,_lifecycleHooks:Kn},qn=/[^\w.$]/,Wn="__proto__"in{},Gn="undefined"!=typeof window,Zn="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Xn=Zn&&WXEnvironment.platform.toLowerCase(),Yn=Gn&&window.navigator.userAgent.toLowerCase(),Qn=Yn&&/msie|trident/.test(Yn),tr=Yn&&Yn.indexOf("msie 9.0")>0,er=Yn&&Yn.indexOf("edge/")>0,nr=Yn&&Yn.indexOf("android")>0||"android"===Xn,rr=Yn&&/iphone|ipad|ipod|ios/.test(Yn)||"ios"===Xn,ir=(Yn&&/chrome\/\d+/.test(Yn),{}.watch),or=!1;if(Gn)try{var ar={};Object.defineProperty(ar,"passive",{get:function(){or=!0}}),window.addEventListener("test-passive",null,ar)}catch(t){}var sr,cr,ur=function(){return void 0===sr&&(sr=!Gn&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),sr},lr=Gn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,fr="undefined"!=typeof Symbol&&w(Symbol)&&"undefined"!=typeof Reflect&&w(Reflect.ownKeys);cr="undefined"!=typeof Set&&w(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var pr=y,dr=0,vr=function(){this.id=dr++,this.subs=[]};vr.prototype.addSub=function(t){this.subs.push(t)},vr.prototype.removeSub=function(t){l(this.subs,t)},vr.prototype.depend=function(){vr.target&&vr.target.addDep(this)},vr.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;eVr&&Fr[n].id>t.id;)n--;Fr.splice(n+1,0,t)}else Fr.push(t);Br||(Br=!0,q(ht))}}(this)},Kr.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||i(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){V(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},Kr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Kr.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},Kr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||l(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Jr={enumerable:!0,configurable:!0,get:y,set:y},qr={lazy:!0};Nt(It.prototype);var Wr={init:function(t,n,r,i){if(!t.componentInstance||t.componentInstance._isDestroyed){(t.componentInstance=function(t,n,r,i){var o={_isComponent:!0,parent:n,_parentVnode:t,_parentElm:r||null,_refElm:i||null},a=t.data.inlineTemplate;return e(a)&&(o.render=a.render,o.staticRenderFns=a.staticRenderFns),new t.componentOptions.Ctor(o)}(t,Pr,r,i)).$mount(n?t.elm:void 0,n)}else if(t.data.keepAlive){var o=t;Wr.prepatch(o,o)}},prepatch:function(t,e){var n=e.componentOptions;!function(t,e,n,r,i){var o=!!(i||t.$options._renderChildren||r.data.scopedSlots||t.$scopedSlots!==jn);if(t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r),t.$options._renderChildren=i,t.$attrs=r.data&&r.data.attrs||jn,t.$listeners=n||jn,e&&t.$options.props){Cr.shouldConvert=!1;for(var a=t._props,s=t.$options._propKeys||[],c=0;c1?v(n):n;for(var r=v(arguments,1),i=0,o=n.length;iparseInt(this.max)&&zt(a,s[0],s,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={};e.get=function(){return Jn},Object.defineProperty(t,"config",e),t.util={warn:pr,extend:h,mergeOptions:F,defineReactive:E},t.set=j,t.delete=N,t.nextTick=q,t.options=Object.create(null),zn.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,h(t.options.components,ti),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=v(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=F(this.options,t),this}}(t),Ht(t),function(t){zn.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&o(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}(t)}(Rt),Object.defineProperty(Rt.prototype,"$isServer",{get:ur}),Object.defineProperty(Rt.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Rt.version="2.5.13";var ei,ni,ri,ii,oi,ai,si,ci,ui=u("style,class"),li=u("input,textarea,option,select,progress"),fi=function(t,e,n){return"value"===n&&li(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},pi=u("contenteditable,draggable,spellcheck"),di=u("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),vi="http://www.w3.org/1999/xlink",hi=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},mi=function(t){return hi(t)?t.slice(6,t.length):""},yi=function(t){return null==t||!1===t},gi={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},_i=u("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),bi=u("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),$i=function(t){return _i(t)||bi(t)},Ci=Object.create(null),wi=u("text,number,password,search,email,tel,url"),xi=Object.freeze({createElement:function(t,e){var n=document.createElement(t);return"select"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)},createElementNS:function(t,e){return document.createElementNS(gi[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setAttribute:function(t,e,n){t.setAttribute(e,n)}}),ki={create:function(t,e){Xt(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Xt(t,!0),Xt(e))},destroy:function(t){Xt(t,!0)}},Ai=new mr("",{},[]),Oi=["create","activate","update","remove","destroy"],Si={create:te,update:te,destroy:function(t){te(t,Ai)}},Ti=Object.create(null),Ei=[ki,Si],ji={create:re,update:re},Ni={create:oe,update:oe},Ii=/[\w).+\-_$\]]/,Li="__r",Mi="__c",Di={create:xe,update:xe},Pi={create:ke,update:ke},Fi=p(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}),Ri=/^--/,Hi=/\s*!important$/,Bi=function(t,e,n){if(Ri.test(e))t.style.setProperty(e,n);else if(Hi.test(n))t.style.setProperty(e,n.replace(Hi,""),"important");else{var r=Vi(e);if(Array.isArray(n))for(var i=0,o=n.length;id?v(n,t(i[g+1])?null:i[g+1].elm,i,p,g,o):p>g&&m(0,r,f,d)}function _(r,i,o,a){if(r!==i){var s=i.elm=r.elm;if(n(r.isAsyncPlaceholder))e(i.asyncFactory.resolved)?$(r.elm,i,o):i.isAsyncPlaceholder=!0;else if(n(i.isStatic)&&n(r.isStatic)&&i.key===r.key&&(n(i.isCloned)||n(i.isOnce)))i.componentInstance=r.componentInstance;else{var c,u=i.data;e(u)&&e(c=u.hook)&&e(c=c.prepatch)&&c(r,i);var l=r.children,p=i.children;if(e(u)&&f(i)){for(c=0;c-1?Ci[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Ci[t]=/HTMLUnknownElement/.test(e.toString())},h(Rt.options.directives,ro),h(Rt.options.components,so),Rt.prototype.__patch__=Gn?eo:y,Rt.prototype.$mount=function(t,e){return t=t&&Gn?Zt(t):void 0,function(t,e,n){t.$el=e,t.$options.render||(t.$options.render=gr),vt(t,"beforeMount");var r;return r=function(){t._update(t._render(),n)},new Kr(t,r,y,null,!0),n=!1,null==t.$vnode&&(t._isMounted=!0,vt(t,"mounted")),t}(this,t,e)},Rt.nextTick(function(){Jn.devtools&&lr&&lr.emit("init",Rt)},0);var co,uo=/\{\{((?:.|\n)+?)\}\}/g,lo=/[-.*+?^${}()|[\]\/\\]/g,fo=p(function(t){var e=t[0].replace(lo,"\\$&"),n=t[1].replace(lo,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")}),po={staticKeys:["staticClass"],transformNode:function(t,e){e.warn;var n=he(t,"class");n&&(t.staticClass=JSON.stringify(n));var r=ve(t,"class",!1);r&&(t.classBinding=r)},genData:function(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}},vo={staticKeys:["staticStyle"],transformNode:function(t,e){e.warn;var n=he(t,"style");n&&(t.staticStyle=JSON.stringify(Fi(n)));var r=ve(t,"style",!1);r&&(t.styleBinding=r)},genData:function(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}},ho=function(t){return co=co||document.createElement("div"),co.innerHTML=t,co.textContent},mo=u("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),yo=u("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),go=u("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),_o=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,bo="[a-zA-Z_][\\w\\-\\.]*",$o="((?:"+bo+"\\:)?"+bo+")",Co=new RegExp("^<"+$o),wo=/^\s*(\/?)>/,xo=new RegExp("^<\\/"+$o+"[^>]*>"),ko=/^]+>/i,Ao=/^