diff --git a/components/api/client.js b/components/api/client.js index e04a640..3255807 100644 --- a/components/api/client.js +++ b/components/api/client.js @@ -10,6 +10,7 @@ const makeRequest = async (path, params, vars, method = "GET", data = null) => { options.headers = { "Content-Type": "application/json;charset=utf-8" }; options.body = JSON.stringify(data); } + console.log(`${URL}${path}${pathVariables}${requestParams}`); const response = await fetch(`${URL}${path}${pathVariables}${requestParams}`, options); if (!response.ok) { throw new Error(`Response status: ${response?.status}`); @@ -27,11 +28,37 @@ const makeRequest = async (path, params, vars, method = "GET", data = null) => { } }; -export const getAllItems = (path, params) => makeRequest(path, params); +export async function getAllItems(path, query = "") { + const url = `${URL}${path}?${query}`; + + try { + const response = await fetch(url, { + headers: { + Accept: "application/json", + }, + }); + + if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); + return await response.json(); + } catch (error) { + console.error(`Failed to fetch ${url}:`, error); + throw error; + } +} export const getItem = (path, id) => makeRequest(path, null, id); -export const createItem = (path, data) => makeRequest(path, null, null, "POST", data); +export const createItem = async (path, data) => { + const response = await fetch(`${URL}${path}`, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(data), + }); + + if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); + // eslint-disable-next-line no-return-await + return await response.json(); +}; export const updateItem = (path, id, data) => makeRequest(path, null, id, "PUT", data); diff --git a/components/select-helper.js b/components/select-helper.js index bf0d757..aad182d 100644 --- a/components/select-helper.js +++ b/components/select-helper.js @@ -1,10 +1,26 @@ -const populateSelect = (select, data) => { - data.forEach((playlist) => { - const option = document.createElement("option"); - option.value = playlist.id; - option.innerText = playlist.name; - select.appendChild(option); - }); -}; +export default function populateSelect(selectElement, items) { + if (!selectElement || !(selectElement instanceof HTMLSelectElement)) { + throw new Error("Invalid select element"); + } -export default populateSelect; + // Сохраняем статичные options + const staticOptions = Array.from(selectElement.options).filter((opt) => !opt.value); + + // Создаем новый select + const newSelect = selectElement.cloneNode(false); + + // Восстанавливаем статичные options + staticOptions.forEach((opt) => newSelect.add(opt.cloneNode(true))); + + // Добавляем динамические items + if (Array.isArray(items)) { + items.forEach((item) => { + newSelect.add(new Option(item.name || item.title || `Item ${item.id}`, item.id)); + }); + } + + // Заменяем элемент в DOM + selectElement.replaceWith(newSelect); + + return newSelect; +} diff --git a/components/table-helper.js b/components/table-helper.js index 9280eca..bf98347 100644 --- a/components/table-helper.js +++ b/components/table-helper.js @@ -1,12 +1,17 @@ import { buttonIcon } from "./button-helper"; -const deepGet = (obj, keys) => keys.reduce((xs, x) => xs?.[x] ?? null, obj); +const deepGetByPath = (obj, path) => { + const keys = path.split("."); + let result = obj; -const deepGetByPath = (obj, path) => - deepGet( - obj, - path.split(".").filter((t) => t !== "") - ); + // eslint-disable-next-line no-restricted-syntax + for (const key of keys) { + if (!result) break; + result = result[key]; + } + + return result || ""; +}; const headCell = (text) => { const column = document.createElement("th"); diff --git a/components/toast-helper.js b/components/toast-helper.js deleted file mode 100644 index 6d1e809..0000000 --- a/components/toast-helper.js +++ /dev/null @@ -1,70 +0,0 @@ -import { Toast } from "bootstrap"; -// eslint-disable-next-line import/no-extraneous-dependencies -import moment from "moment"; - -export const toastsInit = () => { - const wrapper = document.createElement("div"); - wrapper.classList.add("toast-container", "position-fixed", "top-0", "end-0", "p-3", "mt-5"); - const body = document.querySelector("body"); - body.appendChild(wrapper); - return wrapper; -}; - -const toast = () => { - const toastElement = document.createElement("div"); - toastElement.classList.add("toast", "bg-dark", "text-light"); - toastElement.setAttribute("role", "alert"); - return toastElement; -}; - -const caption = (title) => { - const captionElement = document.createElement("strong"); - captionElement.classList.add("me-auto"); - captionElement.innerText = title; - return captionElement; -}; - -const dateTime = () => { - const dateTimeElement = document.createElement("small"); - dateTimeElement.classList.add("text-light"); - dateTimeElement.innerText = moment().format("DD.MM HH:mm"); - return dateTimeElement; -}; - -const closeButton = () => { - const closeElement = document.createElement("button"); - closeElement.setAttribute("type", "button"); - closeElement.setAttribute("data-bs-dismiss", "toast"); - closeElement.classList.add("btn-close", "btn-close-white"); - return closeElement; -}; - -const header = (title) => { - const headerElement = document.createElement("div"); - headerElement.classList.add("toast-header", "bg-dark", "text-light"); - headerElement.appendChild(caption(title)); - headerElement.appendChild(dateTime()); - headerElement.appendChild(closeButton()); - return headerElement; -}; - -const body = (message) => { - const bodyElement = document.createElement("div"); - bodyElement.classList.add("toast-body"); - bodyElement.innerText = message; - return bodyElement; -}; - -export const showToast = (container, title, message) => { - const toastElement = toast(); - toastElement.appendChild(header(title)); - toastElement.appendChild(body(message)); - - toastElement.addEventListener("hidden.bs.toast", () => { - container.removeChild(toastElement); - }); - - container.appendChild(toastElement); - - new Toast(toastElement).show(); -}; diff --git a/components/videos/form/controller.js b/components/videos/form/controller.js index 68dd636..ae87d80 100644 --- a/components/videos/form/controller.js +++ b/components/videos/form/controller.js @@ -6,48 +6,77 @@ class FormElement extends HTMLElement { super(); this.currentId = null; + console.log("Initializing FormElement..."); const saveCallback = this.save.bind(this); const backCallback = this.back.bind(this); this.view = new FormView(this, saveCallback, backCallback); this.model = new FormModel(); + console.log("Model initialized:", this.model); } async connectedCallback() { const params = new URLSearchParams(document.location.search); this.currentId = params.get("id") || null; - console.log("FormElement connected"); try { - this.view.render(this.model); + // Загружаем справочники await this.model.getPlaylists(); await this.model.getCategories(); - console.log("Playlists:", this.model.playlists); - console.log("Categories:", this.model.categories); - this.view.update(this.model); + + if (!this.currentId) { + const nextId = await this.model.getNextId(); + this.model.resetForNew(); + this.model.element.id = nextId.toString(); + + // Устанавливаем первые доступные значения + if (this.model.playlists.length > 0) { + this.model.element.playlistId = this.model.playlists[0].id; + } + if (this.model.categories.length > 0) { + this.model.element.categoryId = this.model.categories[0].id; + } + } + + this.view.render(this.model); + if (this.currentId) { - await this.get(); + await this.model.get(this.currentId); } } catch (error) { - console.error("Error loading data:", error); + console.error("Error:", error); } } - async get() { - if (this.currentId) { - await this.model.get(this.currentId); + async get(id) { + if (id) { + await this.model.get(id); } - this.view.update(this.model); + this.view.update(this.model); // Обновляем view в любом случае } async save() { - if (!this.currentId) { - await this.model.create(); - } else { - await this.model.update(); + try { + // Проверка заполненности обязательных полей + if (!this.model.element.name || !this.model.element.playlistId || !this.model.element.categoryId) { + console.error("Заполните все обязательные поля"); + return; + } + + const result = !this.currentId ? await this.model.create() : await this.model.update(); + + if (!result || !result.id) { + throw new Error("Сервер не вернул созданную запись"); + } + + this.currentId = result.id; + console.log("Успешно сохранено:", result); + + // Перенаправляем на страницу редактирования + window.location.href = `/pageForm?id=${result.id}`; + } catch (error) { + console.error("Ошибка сохранения:", error); } - this.view.successToast(); - this.view.update(this.model); } back() { diff --git a/components/videos/form/model.js b/components/videos/form/model.js index f2a1603..96cef5f 100644 --- a/components/videos/form/model.js +++ b/components/videos/form/model.js @@ -1,22 +1,53 @@ import { createItem, getAllItems, getItem, updateItem } from "../../api/client"; -const PATH = "videos"; +const PATH = "video"; export default class FormModel { constructor() { - this.element = {}; + this.resetForNew(); this.playlists = []; this.categories = []; + this.lastId = 0; + } + + resetForNew() { + this.element = { + id: "", + name: "", + image: "", + description: "", + playlistId: "", + categoryId: "", + }; + } + + async getNextId() { + try { + const items = await getAllItems(PATH); + this.lastId = items.length > 0 ? Math.max(...items.map((item) => parseInt(item.id, 10))) + 1 : 1; + return this.lastId; + } catch (error) { + console.error("Error fetching last ID:", error); + return Date.now(); // Fallback + } } async getPlaylists() { this.playlists = []; - this.playlists = await getAllItems("playlists"); + this.playlists = await getAllItems("playlist"); } async getCategories() { this.categories = []; - this.categories = await getAllItems("categories"); + this.categories = await getAllItems("category"); + } + + getFullData() { + return { + ...this.element, + playlistName: this.playlists.find((p) => p.id === this.element.playlistId)?.name || "", + categoryName: this.categories.find((c) => c.id === this.element.categoryId)?.name || "", + }; } async get(id) { @@ -28,9 +59,18 @@ export default class FormModel { async create() { if (!this.element || Object.keys(this.element).length === 0) { - throw new Error("Item is null or empty!"); + throw new Error("Объект для создания пуст"); } - this.element = await createItem(PATH, this.element); + + // Убедимся, что передаем все обязательные поля + const dataToSend = { + ...this.element, + playlistId: this.element.playlistId || this.playlists[0]?.id, + categoryId: this.element.categoryId || this.categories[0]?.id, + }; + + this.element = await createItem(PATH, dataToSend); + return this.element; // Возвращаем обновленный элемент } async update() { diff --git a/components/videos/form/view.js b/components/videos/form/view.js index 4a48999..92c400a 100644 --- a/components/videos/form/view.js +++ b/components/videos/form/view.js @@ -1,6 +1,4 @@ import validation from "../../../js/validation"; -import populateSelect from "../../select-helper"; -import { showToast, toastsInit } from "../../toast-helper"; const getKey = (input) => input.getAttribute("id").replace("-", "_"); @@ -9,62 +7,134 @@ export default class FormView { this.root = root; this.saveCallback = saveCallback; this.backCallback = backCallback; + this.playlistsSelector = null; // Явная инициализация + this.categoriesSelector = null; + this.inputs = null; } render(model) { - const template = document.getElementById("videos-form-template").content.cloneNode(true); + this.root.innerHTML = ""; // Очищаем перед рендером + // Клонируем шаблон + const template = document.getElementById("videos-form-template"); if (!template) { console.error("Template not found!"); return; } - console.debug("GOOD"); - const form = template.querySelector("form"); - form.addEventListener("submit", async () => { - if (!form.checkValidity()) { - return; - } - this.saveCallback(); + const content = template.content.cloneNode(true); + this.root.appendChild(content); + console.log("Model data when rendering:", { + playlists: model.playlists, + categories: model.categories, + element: model.element, }); - this.inputs = template.querySelectorAll("input"); - this.inputs.forEach((input) => { - input.addEventListener("change", (event) => { - model.setValue(getKey(event.target), event.target.value); + // Инициализируем элементы + this.form = this.root.querySelector("form"); + this.inputs = this.root.querySelectorAll("input"); + this.currentId = this.root.querySelector("id"); + this.playlistsSelector = this.root.querySelector("#playlist"); + this.categoriesSelector = this.root.querySelector("#category"); + this.backButton = this.root.querySelector("#btn-back"); + + // Добавляем обработчики только если элементы существуют + if (this.form) { + this.form.addEventListener("submit", async (e) => { + e.preventDefault(); + if (this.form.checkValidity()) { + await this.saveCallback(); + } }); - }); + } - this.playlistsSelector = template.getElementById("playlist"); - this.playlistsSelector.addEventListener("change", (event) => { - model.setValue("playlistId", event.target.value); - }); - populateSelect(this.playlistsSelector, model.playlists); + if (this.inputs) { + this.inputs.forEach((input) => { + input.addEventListener("change", (event) => { + model.setValue(getKey(event.target), event.target.value); + }); + }); + } - this.categoriesSelector = template.getElementById("category"); - this.categoriesSelector.addEventListener("change", (event) => { - model.setValue("categoryId", event.target.value); - }); - populateSelect(this.categoriesSelector, model.categories); + if (this.playlistsSelector && model.playlists.length > 0) { + this.playlistsSelector.value = model.element.playlistId || model.playlists[0].id; + } - const backButton = template.getElementById("btn-back"); - backButton.addEventListener("click", this.backCallback); + if (this.playlistsSelector) { + this.playlistsSelector.addEventListener("change", (event) => { + model.setValue("playlistId", event.target.value); + }); + this.updateSelect(this.playlistsSelector, model.playlists, model.element.playlistId); + } - this.root.appendChild(template); + if (this.categoriesSelector) { + this.categoriesSelector.addEventListener("change", (event) => { + model.setValue("categoryId", event.target.value); + }); + this.updateSelect(this.categoriesSelector, model.categories, model.element.categoryId); + } - this.toasts = toastsInit(); + if (this.backButton) { + this.backButton.addEventListener("click", this.backCallback); + } validation(); + + // Первоначальное заполнение данных + this.update(model); } update(model) { - this.inputs.forEach((input) => { - const control = input; - control.value = model.getValue(getKey(input)); - }); - this.playlistsSelector.value = model.element.playlistId || ""; - this.categoriesSelector.value = model.element.categoryId || ""; + if (!model || !model.element) return; + + // Обновляем inputs + if (this.inputs) { + this.inputs.forEach((input) => { + const key = getKey(input); + // eslint-disable-next-line no-param-reassign + input.value = model.getValue(key) || ""; + }); + } + + // Принудительно обновляем select'ы + if (this.playlistsSelector) { + this.playlistsSelector.value = model.element.playlistId || ""; + } + if (this.categoriesSelector) { + this.categoriesSelector.value = model.element.categoryId || ""; + } } - successToast() { - showToast(this.toasts, "Сохранение", "Сохранение успешно завершено"); + updateSelect(selectElement, items, selectedValue) { + if (!selectElement) return; + + // Создаем новый select + const newSelect = selectElement.cloneNode(false); + + // Сохраняем статичные options (с пустым value) + const staticOptions = Array.from(selectElement.options).filter((opt) => !opt.value); + + // Добавляем статичные options + staticOptions.forEach((opt) => newSelect.add(opt.cloneNode(true))); + + // Добавляем динамические items + if (Array.isArray(items)) { + items.forEach((item) => { + newSelect.add(new Option(item.name, item.id)); + }); + } + + // Устанавливаем выбранное значение + if (selectedValue) { + newSelect.value = selectedValue; + } + + // Заменяем элемент в DOM + selectElement.replaceWith(newSelect); + + // Обновляем ссылку в классе, если это основной select + if (selectElement === this.playlistsSelector) { + this.playlistsSelector = newSelect; + } else if (selectElement === this.categoriesSelector) { + this.categoriesSelector = newSelect; + } } } diff --git a/components/videos/table/controller.js b/components/videos/table/controller.js index e37247c..e05834a 100644 --- a/components/videos/table/controller.js +++ b/components/videos/table/controller.js @@ -33,7 +33,6 @@ class TableElement extends HTMLElement { async deleteVideo(item) { if (await this.view.deleteQuestion(item)) { await this.model.delete(item); - this.view.successToast(); this.getAllVideos(); } } diff --git a/components/videos/table/model.js b/components/videos/table/model.js index f90f00c..0f0ee29 100644 --- a/components/videos/table/model.js +++ b/components/videos/table/model.js @@ -11,11 +11,20 @@ export default class TableModel { } async getAll() { - const elements = await getAllItems(PATH, "_embed=playlist&_embed=category"); - this.data = elements.map((item) => ({ - ...item, - star: this.stars.includes(item.id), - })); + try { + const videos = await getAllItems("video"); + const playlists = await getAllItems("playlist"); + const categories = await getAllItems("category"); + + this.data = videos.map((video) => ({ + ...video, + playlistName: playlists.find((p) => p.id === video.playlistId)?.name || "Не указан", + categoryName: categories.find((c) => c.id === video.categoryId)?.name || "Не указан", + })); + } catch (error) { + console.error("Failed to load videos:", error); + this.data = []; + } } async delete(item) { diff --git a/components/videos/table/view.js b/components/videos/table/view.js index ac54f38..97408c9 100644 --- a/components/videos/table/view.js +++ b/components/videos/table/view.js @@ -1,6 +1,5 @@ import showQuestion from "../../modal-helper"; import { populateTable, table } from "../../table-helper"; -import { showToast, toastsInit } from "../../toast-helper"; export default class TableView { constructor(root, toggleStarCallback, editCallback, deleteCallback) { @@ -12,7 +11,7 @@ export default class TableView { render() { const columns = ["", "№", "Название", "Превью", "Описание", "Плейлист", "Категория", "Группа", "", ""]; - this.keys = ["id", "name", "image", "description", "playlist.name", "category.name"]; + this.keys = ["id", "name", "image", "description", "playlistName", "categoryName"]; this.callbacks = { star: this.toggleStarCallback, edit: this.editCallback, @@ -24,19 +23,25 @@ export default class TableView { tableWrapper.classList.add("table-responsive"); tableWrapper.appendChild(this.tableElement); this.root.appendChild(tableWrapper); - - this.toasts = toastsInit(); } update(model) { - populateTable(this.tableElement, model.data, this.keys, this.callbacks); + const displayData = + model.data.length > 0 + ? model.data + : [ + { + id: "Нет данных", + name: "", + playlistName: "", + categoryName: "", + }, + ]; + + populateTable(this.tableElement, displayData, this.keys, this.callbacks); } deleteQuestion(item = null) { return showQuestion("Удаление", "Удалить", `Удалить элемент '${item.id}'?`); } - - successToast() { - showToast(this.toasts, "Удаление", "Удаление успешно завершено"); - } } diff --git a/database/data.json b/database/data.json index 76d91a6..222d20e 100644 --- a/database/data.json +++ b/database/data.json @@ -6,7 +6,7 @@ "image": "adfefwefw", "description": "frefeerfe", "playlistId": "1", - "сategoryId": "1" + "categoryId": "1" }, { "id": "2", @@ -14,7 +14,7 @@ "image": "fdsdvrvr", "description": "vvgtgtg", "playlistId": "0", - "сategoryId": "1" + "categoryId": "1" }, { "id": "3", @@ -22,15 +22,23 @@ "image": "gergreg", "description": "wsfrf3", "playlistId": "3", - "сategoryId": "2" + "categoryId": "2" }, { "id": "4", - "name": "new_vid4", - "image": "btbtb4b", - "description": "xccrfr", + "name": "NEW VIDEO", + "image": "preview", + "description": "da", "playlistId": "2", - "сategoryId": "3" + "categoryId": "3" + }, + { + "id": "5", + "name": "1234124", + "image": "4аывацу", + "description": "3213133", + "playlistId": "1", + "categoryId": "1" } ], "playlist": [ @@ -47,7 +55,7 @@ "name": "How to make a nuclear bomb at home! Guide" } ], - "сategory": [ + "category": [ { "id": "1", "name": "jst vibing" diff --git a/dist/assets/client-BDIKmhNV.js b/dist/assets/client-BDIKmhNV.js new file mode 100644 index 0000000..470a31c --- /dev/null +++ b/dist/assets/client-BDIKmhNV.js @@ -0,0 +1 @@ +(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))n(e);new MutationObserver(e=>{for(const t of e)if(t.type==="childList")for(const c of t.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&n(c)}).observe(document,{childList:!0,subtree:!0});function s(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?t.credentials="include":e.crossOrigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function n(e){if(e.ep)return;e.ep=!0;const t=s(e);fetch(e.href,t)}})();const i="http://localhost:3000/",u=async(o,r,s,n="GET",e=null)=>{try{const t=r?`?${r}`:"",c=s?`/${s}`:"",l={method:n};(n==="POST"||n==="PUT")&&e&&(l.headers={"Content-Type":"application/json;charset=utf-8"},l.body=JSON.stringify(e)),console.log(`${i}${o}${c}${t}`);const a=await fetch(`${i}${o}${c}${t}`,l);if(!a.ok)throw new Error(`Response status: ${a==null?void 0:a.status}`);const f=await a.json();return console.debug(o,f),f}catch(t){throw t instanceof SyntaxError?new Error("There was a SyntaxError",t):new Error("There was an error",t)}};async function p(o,r=""){const s=`${i}${o}?${r}`;try{const n=await fetch(s,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);return await n.json()}catch(n){throw console.error(`Failed to fetch ${s}:`,n),n}}const h=(o,r)=>u(o,null,r),y=async(o,r)=>{const s=await fetch(`${i}${o}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return s.json()},w=(o,r,s)=>u(o,null,r,"PUT",s),$=(o,r)=>u(o,null,r,"DELETE");export{h as a,y as c,$ as d,p as g,w as u}; diff --git a/dist/assets/page3-B-T1pNgL.js b/dist/assets/page3-B-T1pNgL.js deleted file mode 100644 index 456f2db..0000000 --- a/dist/assets/page3-B-T1pNgL.js +++ /dev/null @@ -1 +0,0 @@ -import{g as y,d as f,M as w,t as A,s as v}from"./toast-helper-Cn8ctBTk.js";/* empty css */const p=(e,t)=>{localStorage.setItem(e,JSON.stringify(t))},T=e=>JSON.parse(localStorage.getItem(e))||[],u="video",c="video-stars";class S{constructor(){this.data=[],this.stars=T(c)}async getAll(){const t=await y(u,"_embed=playlist&_embed=category");this.data=t.map(n=>({...n,star:this.stars.includes(n.id)}))}async delete(t){await f(u,t.id),this.stars=this.stars.filter(n=>n!==t.id),p(c,this.stars)}toggleStar(t){const n=t;n.star=!n.star,n.star?this.stars.push(n.id):this.stars=this.stars.filter(s=>s!==n.id),p(c,this.stars)}}const L=()=>{const e=document.createElement("div");return e.classList.add("modal"),e.setAttribute("tabindex",-1),e},d=e=>{const t=document.createElement("div");return t.classList.add(e),t},C=e=>{const t=document.createElement("button");return t.setAttribute("type","button"),t.addEventListener("click",()=>e()),t},k=(e,t)=>{const n=d("modal-header"),s=document.createElement("h5");s.innerText=e,n.appendChild(s);const o=C(t);return o.classList.add("btn-close"),n.appendChild(o),n},V=(e,t,n)=>{const s=d("modal-footer"),o=document.createElement("button");o.classList.add("btn","btn-primary"),o.setAttribute("type","button"),o.innerText=e,o.addEventListener("click",()=>t()),s.appendChild(o);const a=C(n);return a.classList.add("btn","btn-secondary"),a.innerText="Отмена",s.appendChild(a),s},I=(e,t,n,s,o)=>{const a=L(),i=d("modal-dialog"),l=d("modal-content"),r=k(e,o);l.appendChild(r);const m=d("modal-body");m.appendChild(n),l.appendChild(m);const g=V(t,s,o);return l.appendChild(g),i.appendChild(l),a.appendChild(i),a},x=(e,t,n)=>{const s=document.createElement("p");return s.innerText=n,new Promise(o=>{let a;const r=I(e,t,s,()=>{a.hide(),o(!0)},()=>{a.hide(),o(!1)});a=new w(r),a.show()})},b=e=>{const t=document.createElement("i");return t.classList.add("bi",`bi-${e}`),t},B=(e,t,n="primary")=>{const s=document.createElement("button");return s.classList.add("btn",`btn-${n}`),s.setAttribute("type","button"),b&&s.appendChild(b(t)),s},M=(e,t)=>B(null,e,t),$=(e,t)=>t.reduce((n,s)=>(n==null?void 0:n[s])??null,e),O=(e,t)=>$(e,t.split(".").filter(n=>n!=="")),P=e=>{const t=document.createElement("th");return t.setAttribute("scope","col"),t.innerText=e,t},Q=e=>{if(!e||!Array.isArray(e)||e.length===0)throw new Error("Columns are not defined");const t=document.createElement("thead"),n=document.createElement("tr");return e.forEach(s=>n.appendChild(P(s))),t.appendChild(n),t},E=e=>{const t=document.createElement("td");return t.innerText=e,t},h=(e,t,n,s)=>{const o=M(t,n);o.addEventListener("click",()=>s(e));const a=document.createElement("td");return a.appendChild(o),a},R=(e,t,n)=>{const s=document.createElement("tr");if(n!=null&&n.star){const o=e.star?"star-fill":"star";s.appendChild(h(e,o,"null",n.star))}return!t||!Array.isArray(t)?Object.values(e).forEach(o=>s.appendChild(E(o))):t.forEach(o=>s.appendChild(E(O(e,o)))),n&&(n.edit&&s.appendChild(h(e,"pencil-fill","warning",n.edit)),n.delete&&s.appendChild(h(e,"trash-fill","danger",n.delete))),s},_=(e,t,n)=>{if(!e||!Array.isArray(e))throw new Error("Data is not defined");const s=document.createElement("tbody");return e.forEach(o=>s.appendChild(R(o,t,n))),s},q=e=>{const t=document.createElement("table");return t.classList.add("table","table-hover","table-sm"),t.appendChild(Q(e)),t},D=(e,t,n,s)=>{const o=e.querySelector("tbody");o&&e.removeChild(o),e.appendChild(_(t,n,s))};class G{constructor(t,n,s,o){this.root=t,this.toggleStarCallback=n,this.editCallback=s,this.deleteCallback=o}render(){const t=["","№","Название","Превью","Описание","Плейлист","Категория","Группа","",""];this.keys=["id","name","image","description","playlist.name","category.name"],this.callbacks={star:this.toggleStarCallback,edit:this.editCallback,delete:this.deleteCallback},this.tableElement=q(t);const n=document.createElement("div");n.classList.add("table-responsive"),n.appendChild(this.tableElement),this.root.appendChild(n),this.toasts=A()}update(t){D(this.tableElement,t.data,this.keys,this.callbacks)}deleteQuestion(t=null){return x("Удаление","Удалить",`Удалить элемент '${t.id}'?`)}successToast(){v(this.toasts,"Удаление","Удаление успешно завершено")}}class H extends HTMLElement{constructor(){super();const t=this.toggleStar.bind(this),n=this.editVideo.bind(this),s=this.deleteVideo.bind(this);this.view=new G(this,t,n,s),this.model=new S}connectedCallback(){this.view.render(),this.getAllVideos()}async getAllVideos(){await this.model.getAll(),this.view.update(this.model)}editVideo(t){window.location.href=`/pageForm?id=${t.id}`}toggleStar(t){this.model.toggleStar(t),this.view.update(this.model)}async deleteVideo(t){await this.view.deleteQuestion(t)&&(await this.model.delete(t),this.view.successToast(),this.getAllVideos())}}customElements.define("videos-table",H); diff --git a/dist/assets/page3-C-EbPu6q.js b/dist/assets/page3-C-EbPu6q.js new file mode 100644 index 0000000..bac1b41 --- /dev/null +++ b/dist/assets/page3-C-EbPu6q.js @@ -0,0 +1,5 @@ +import{g as Oe,d as gi}from"./client-BDIKmhNV.js";/* empty css */const Cn=(n,t)=>{localStorage.setItem(n,JSON.stringify(t))},Ei=n=>JSON.parse(localStorage.getItem(n))||[],vi="video",Ne="video-stars";class bi{constructor(){this.data=[],this.stars=Ei(Ne)}async getAll(){try{const t=await Oe("video"),e=await Oe("playlist"),s=await Oe("category");this.data=t.map(i=>{var r,o;return{...i,playlistName:((r=e.find(a=>a.id===i.playlistId))==null?void 0:r.name)||"Не указан",categoryName:((o=s.find(a=>a.id===i.categoryId))==null?void 0:o.name)||"Не указан"}})}catch(t){console.error("Failed to load videos:",t),this.data=[]}}async delete(t){await gi(vi,t.id),this.stars=this.stars.filter(e=>e!==t.id),Cn(Ne,this.stars)}toggleStar(t){const e=t;e.star=!e.star,e.star?this.stars.push(e.id):this.stars=this.stars.filter(s=>s!==e.id),Cn(Ne,this.stars)}}var $="top",M="bottom",R="right",I="left",pe="auto",It=[$,M,R,I],pt="start",Ot="end",us="clippingParents",Qe="viewport",Tt="popper",ds="reference",Ke=It.reduce(function(n,t){return n.concat([t+"-"+pt,t+"-"+Ot])},[]),Je=[].concat(It,[pe]).reduce(function(n,t){return n.concat([t,t+"-"+pt,t+"-"+Ot])},[]),hs="beforeRead",fs="read",ps="afterRead",_s="beforeMain",ms="main",gs="afterMain",Es="beforeWrite",vs="write",bs="afterWrite",As=[hs,fs,ps,_s,ms,gs,Es,vs,bs];function z(n){return n?(n.nodeName||"").toLowerCase():null}function k(n){if(n==null)return window;if(n.toString()!=="[object Window]"){var t=n.ownerDocument;return t&&t.defaultView||window}return n}function _t(n){var t=k(n).Element;return n instanceof t||n instanceof Element}function V(n){var t=k(n).HTMLElement;return n instanceof t||n instanceof HTMLElement}function Ze(n){if(typeof ShadowRoot>"u")return!1;var t=k(n).ShadowRoot;return n instanceof t||n instanceof ShadowRoot}function Ai(n){var t=n.state;Object.keys(t.elements).forEach(function(e){var s=t.styles[e]||{},i=t.attributes[e]||{},r=t.elements[e];!V(r)||!z(r)||(Object.assign(r.style,s),Object.keys(i).forEach(function(o){var a=i[o];a===!1?r.removeAttribute(o):r.setAttribute(o,a===!0?"":a)}))})}function Ti(n){var t=n.state,e={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,e.popper),t.styles=e,t.elements.arrow&&Object.assign(t.elements.arrow.style,e.arrow),function(){Object.keys(t.elements).forEach(function(s){var i=t.elements[s],r=t.attributes[s]||{},o=Object.keys(t.styles.hasOwnProperty(s)?t.styles[s]:e[s]),a=o.reduce(function(c,d){return c[d]="",c},{});!V(i)||!z(i)||(Object.assign(i.style,a),Object.keys(r).forEach(function(c){i.removeAttribute(c)}))})}}const tn={name:"applyStyles",enabled:!0,phase:"write",fn:Ai,effect:Ti,requires:["computeStyles"]};function Y(n){return n.split("-")[0]}var ft=Math.max,ue=Math.min,Nt=Math.round;function Ye(){var n=navigator.userAgentData;return n!=null&&n.brands&&Array.isArray(n.brands)?n.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Ts(){return!/^((?!chrome|android).)*safari/i.test(Ye())}function St(n,t,e){t===void 0&&(t=!1),e===void 0&&(e=!1);var s=n.getBoundingClientRect(),i=1,r=1;t&&V(n)&&(i=n.offsetWidth>0&&Nt(s.width)/n.offsetWidth||1,r=n.offsetHeight>0&&Nt(s.height)/n.offsetHeight||1);var o=_t(n)?k(n):window,a=o.visualViewport,c=!Ts()&&e,d=(s.left+(c&&a?a.offsetLeft:0))/i,u=(s.top+(c&&a?a.offsetTop:0))/r,p=s.width/i,_=s.height/r;return{width:p,height:_,top:u,right:d+p,bottom:u+_,left:d,x:d,y:u}}function en(n){var t=St(n),e=n.offsetWidth,s=n.offsetHeight;return Math.abs(t.width-e)<=1&&(e=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:n.offsetLeft,y:n.offsetTop,width:e,height:s}}function ys(n,t){var e=t.getRootNode&&t.getRootNode();if(n.contains(t))return!0;if(e&&Ze(e)){var s=t;do{if(s&&n.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function X(n){return k(n).getComputedStyle(n)}function yi(n){return["table","td","th"].indexOf(z(n))>=0}function st(n){return((_t(n)?n.ownerDocument:n.document)||window.document).documentElement}function _e(n){return z(n)==="html"?n:n.assignedSlot||n.parentNode||(Ze(n)?n.host:null)||st(n)}function On(n){return!V(n)||X(n).position==="fixed"?null:n.offsetParent}function wi(n){var t=/firefox/i.test(Ye()),e=/Trident/i.test(Ye());if(e&&V(n)){var s=X(n);if(s.position==="fixed")return null}var i=_e(n);for(Ze(i)&&(i=i.host);V(i)&&["html","body"].indexOf(z(i))<0;){var r=X(i);if(r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].indexOf(r.willChange)!==-1||t&&r.willChange==="filter"||t&&r.filter&&r.filter!=="none")return i;i=i.parentNode}return null}function Kt(n){for(var t=k(n),e=On(n);e&&yi(e)&&X(e).position==="static";)e=On(e);return e&&(z(e)==="html"||z(e)==="body"&&X(e).position==="static")?t:e||wi(n)||t}function nn(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function Wt(n,t,e){return ft(n,ue(t,e))}function Ci(n,t,e){var s=Wt(n,t,e);return s>e?e:s}function ws(){return{top:0,right:0,bottom:0,left:0}}function Cs(n){return Object.assign({},ws(),n)}function Os(n,t){return t.reduce(function(e,s){return e[s]=n,e},{})}var Oi=function(t,e){return t=typeof t=="function"?t(Object.assign({},e.rects,{placement:e.placement})):t,Cs(typeof t!="number"?t:Os(t,It))};function Ni(n){var t,e=n.state,s=n.name,i=n.options,r=e.elements.arrow,o=e.modifiersData.popperOffsets,a=Y(e.placement),c=nn(a),d=[I,R].indexOf(a)>=0,u=d?"height":"width";if(!(!r||!o)){var p=Oi(i.padding,e),_=en(r),f=c==="y"?$:I,A=c==="y"?M:R,m=e.rects.reference[u]+e.rects.reference[c]-o[c]-e.rects.popper[u],E=o[c]-e.rects.reference[c],T=Kt(r),w=T?c==="y"?T.clientHeight||0:T.clientWidth||0:0,C=m/2-E/2,g=p[f],v=w-_[u]-p[A],b=w/2-_[u]/2+C,y=Wt(g,b,v),S=c;e.modifiersData[s]=(t={},t[S]=y,t.centerOffset=y-b,t)}}function Si(n){var t=n.state,e=n.options,s=e.element,i=s===void 0?"[data-popper-arrow]":s;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||ys(t.elements.popper,i)&&(t.elements.arrow=i))}const Ns={name:"arrow",enabled:!0,phase:"main",fn:Ni,effect:Si,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Dt(n){return n.split("-")[1]}var Di={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Li(n,t){var e=n.x,s=n.y,i=t.devicePixelRatio||1;return{x:Nt(e*i)/i||0,y:Nt(s*i)/i||0}}function Nn(n){var t,e=n.popper,s=n.popperRect,i=n.placement,r=n.variation,o=n.offsets,a=n.position,c=n.gpuAcceleration,d=n.adaptive,u=n.roundOffsets,p=n.isFixed,_=o.x,f=_===void 0?0:_,A=o.y,m=A===void 0?0:A,E=typeof u=="function"?u({x:f,y:m}):{x:f,y:m};f=E.x,m=E.y;var T=o.hasOwnProperty("x"),w=o.hasOwnProperty("y"),C=I,g=$,v=window;if(d){var b=Kt(e),y="clientHeight",S="clientWidth";if(b===k(e)&&(b=st(e),X(b).position!=="static"&&a==="absolute"&&(y="scrollHeight",S="scrollWidth")),b=b,i===$||(i===I||i===R)&&r===Ot){g=M;var N=p&&b===v&&v.visualViewport?v.visualViewport.height:b[y];m-=N-s.height,m*=c?1:-1}if(i===I||(i===$||i===M)&&r===Ot){C=R;var O=p&&b===v&&v.visualViewport?v.visualViewport.width:b[S];f-=O-s.width,f*=c?1:-1}}var D=Object.assign({position:a},d&&Di),j=u===!0?Li({x:f,y:m},k(e)):{x:f,y:m};if(f=j.x,m=j.y,c){var L;return Object.assign({},D,(L={},L[g]=w?"0":"",L[C]=T?"0":"",L.transform=(v.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",L))}return Object.assign({},D,(t={},t[g]=w?m+"px":"",t[C]=T?f+"px":"",t.transform="",t))}function $i(n){var t=n.state,e=n.options,s=e.gpuAcceleration,i=s===void 0?!0:s,r=e.adaptive,o=r===void 0?!0:r,a=e.roundOffsets,c=a===void 0?!0:a,d={placement:Y(t.placement),variation:Dt(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Nn(Object.assign({},d,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Nn(Object.assign({},d,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const sn={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:$i,data:{}};var te={passive:!0};function Ii(n){var t=n.state,e=n.instance,s=n.options,i=s.scroll,r=i===void 0?!0:i,o=s.resize,a=o===void 0?!0:o,c=k(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return r&&d.forEach(function(u){u.addEventListener("scroll",e.update,te)}),a&&c.addEventListener("resize",e.update,te),function(){r&&d.forEach(function(u){u.removeEventListener("scroll",e.update,te)}),a&&c.removeEventListener("resize",e.update,te)}}const rn={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Ii,data:{}};var Pi={left:"right",right:"left",bottom:"top",top:"bottom"};function ae(n){return n.replace(/left|right|bottom|top/g,function(t){return Pi[t]})}var xi={start:"end",end:"start"};function Sn(n){return n.replace(/start|end/g,function(t){return xi[t]})}function on(n){var t=k(n),e=t.pageXOffset,s=t.pageYOffset;return{scrollLeft:e,scrollTop:s}}function an(n){return St(st(n)).left+on(n).scrollLeft}function Mi(n,t){var e=k(n),s=st(n),i=e.visualViewport,r=s.clientWidth,o=s.clientHeight,a=0,c=0;if(i){r=i.width,o=i.height;var d=Ts();(d||!d&&t==="fixed")&&(a=i.offsetLeft,c=i.offsetTop)}return{width:r,height:o,x:a+an(n),y:c}}function Ri(n){var t,e=st(n),s=on(n),i=(t=n.ownerDocument)==null?void 0:t.body,r=ft(e.scrollWidth,e.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),o=ft(e.scrollHeight,e.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-s.scrollLeft+an(n),c=-s.scrollTop;return X(i||e).direction==="rtl"&&(a+=ft(e.clientWidth,i?i.clientWidth:0)-r),{width:r,height:o,x:a,y:c}}function ln(n){var t=X(n),e=t.overflow,s=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(e+i+s)}function Ss(n){return["html","body","#document"].indexOf(z(n))>=0?n.ownerDocument.body:V(n)&&ln(n)?n:Ss(_e(n))}function Bt(n,t){var e;t===void 0&&(t=[]);var s=Ss(n),i=s===((e=n.ownerDocument)==null?void 0:e.body),r=k(s),o=i?[r].concat(r.visualViewport||[],ln(s)?s:[]):s,a=t.concat(o);return i?a:a.concat(Bt(_e(o)))}function Ue(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function ki(n,t){var e=St(n,!1,t==="fixed");return e.top=e.top+n.clientTop,e.left=e.left+n.clientLeft,e.bottom=e.top+n.clientHeight,e.right=e.left+n.clientWidth,e.width=n.clientWidth,e.height=n.clientHeight,e.x=e.left,e.y=e.top,e}function Dn(n,t,e){return t===Qe?Ue(Mi(n,e)):_t(t)?ki(t,e):Ue(Ri(st(n)))}function Vi(n){var t=Bt(_e(n)),e=["absolute","fixed"].indexOf(X(n).position)>=0,s=e&&V(n)?Kt(n):n;return _t(s)?t.filter(function(i){return _t(i)&&ys(i,s)&&z(i)!=="body"}):[]}function Hi(n,t,e,s){var i=t==="clippingParents"?Vi(n):[].concat(t),r=[].concat(i,[e]),o=r[0],a=r.reduce(function(c,d){var u=Dn(n,d,s);return c.top=ft(u.top,c.top),c.right=ue(u.right,c.right),c.bottom=ue(u.bottom,c.bottom),c.left=ft(u.left,c.left),c},Dn(n,o,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Ds(n){var t=n.reference,e=n.element,s=n.placement,i=s?Y(s):null,r=s?Dt(s):null,o=t.x+t.width/2-e.width/2,a=t.y+t.height/2-e.height/2,c;switch(i){case $:c={x:o,y:t.y-e.height};break;case M:c={x:o,y:t.y+t.height};break;case R:c={x:t.x+t.width,y:a};break;case I:c={x:t.x-e.width,y:a};break;default:c={x:t.x,y:t.y}}var d=i?nn(i):null;if(d!=null){var u=d==="y"?"height":"width";switch(r){case pt:c[d]=c[d]-(t[u]/2-e[u]/2);break;case Ot:c[d]=c[d]+(t[u]/2-e[u]/2);break}}return c}function Lt(n,t){t===void 0&&(t={});var e=t,s=e.placement,i=s===void 0?n.placement:s,r=e.strategy,o=r===void 0?n.strategy:r,a=e.boundary,c=a===void 0?us:a,d=e.rootBoundary,u=d===void 0?Qe:d,p=e.elementContext,_=p===void 0?Tt:p,f=e.altBoundary,A=f===void 0?!1:f,m=e.padding,E=m===void 0?0:m,T=Cs(typeof E!="number"?E:Os(E,It)),w=_===Tt?ds:Tt,C=n.rects.popper,g=n.elements[A?w:_],v=Hi(_t(g)?g:g.contextElement||st(n.elements.popper),c,u,o),b=St(n.elements.reference),y=Ds({reference:b,element:C,placement:i}),S=Ue(Object.assign({},C,y)),N=_===Tt?S:b,O={top:v.top-N.top+T.top,bottom:N.bottom-v.bottom+T.bottom,left:v.left-N.left+T.left,right:N.right-v.right+T.right},D=n.modifiersData.offset;if(_===Tt&&D){var j=D[i];Object.keys(O).forEach(function(L){var ot=[R,M].indexOf(L)>=0?1:-1,at=[$,M].indexOf(L)>=0?"y":"x";O[L]+=j[at]*ot})}return O}function Wi(n,t){t===void 0&&(t={});var e=t,s=e.placement,i=e.boundary,r=e.rootBoundary,o=e.padding,a=e.flipVariations,c=e.allowedAutoPlacements,d=c===void 0?Je:c,u=Dt(s),p=u?a?Ke:Ke.filter(function(A){return Dt(A)===u}):It,_=p.filter(function(A){return d.indexOf(A)>=0});_.length===0&&(_=p);var f=_.reduce(function(A,m){return A[m]=Lt(n,{placement:m,boundary:i,rootBoundary:r,padding:o})[Y(m)],A},{});return Object.keys(f).sort(function(A,m){return f[A]-f[m]})}function Bi(n){if(Y(n)===pe)return[];var t=ae(n);return[Sn(n),t,Sn(t)]}function ji(n){var t=n.state,e=n.options,s=n.name;if(!t.modifiersData[s]._skip){for(var i=e.mainAxis,r=i===void 0?!0:i,o=e.altAxis,a=o===void 0?!0:o,c=e.fallbackPlacements,d=e.padding,u=e.boundary,p=e.rootBoundary,_=e.altBoundary,f=e.flipVariations,A=f===void 0?!0:f,m=e.allowedAutoPlacements,E=t.options.placement,T=Y(E),w=T===E,C=c||(w||!A?[ae(E)]:Bi(E)),g=[E].concat(C).reduce(function(vt,J){return vt.concat(Y(J)===pe?Wi(t,{placement:J,boundary:u,rootBoundary:p,padding:d,flipVariations:A,allowedAutoPlacements:m}):J)},[]),v=t.rects.reference,b=t.rects.popper,y=new Map,S=!0,N=g[0],O=0;O=0,at=ot?"width":"height",x=Lt(t,{placement:D,boundary:u,rootBoundary:p,altBoundary:_,padding:d}),F=ot?L?R:I:L?M:$;v[at]>b[at]&&(F=ae(F));var qt=ae(F),lt=[];if(r&<.push(x[j]<=0),a&<.push(x[F]<=0,x[qt]<=0),lt.every(function(vt){return vt})){N=D,S=!1;break}y.set(D,lt)}if(S)for(var Xt=A?3:1,Te=function(J){var kt=g.find(function(Jt){var ct=y.get(Jt);if(ct)return ct.slice(0,J).every(function(ye){return ye})});if(kt)return N=kt,"break"},Rt=Xt;Rt>0;Rt--){var Qt=Te(Rt);if(Qt==="break")break}t.placement!==N&&(t.modifiersData[s]._skip=!0,t.placement=N,t.reset=!0)}}const Ls={name:"flip",enabled:!0,phase:"main",fn:ji,requiresIfExists:["offset"],data:{_skip:!1}};function Ln(n,t,e){return e===void 0&&(e={x:0,y:0}),{top:n.top-t.height-e.y,right:n.right-t.width+e.x,bottom:n.bottom-t.height+e.y,left:n.left-t.width-e.x}}function $n(n){return[$,R,M,I].some(function(t){return n[t]>=0})}function Fi(n){var t=n.state,e=n.name,s=t.rects.reference,i=t.rects.popper,r=t.modifiersData.preventOverflow,o=Lt(t,{elementContext:"reference"}),a=Lt(t,{altBoundary:!0}),c=Ln(o,s),d=Ln(a,i,r),u=$n(c),p=$n(d);t.modifiersData[e]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:u,hasPopperEscaped:p},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":p})}const $s={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Fi};function Ki(n,t,e){var s=Y(n),i=[I,$].indexOf(s)>=0?-1:1,r=typeof e=="function"?e(Object.assign({},t,{placement:n})):e,o=r[0],a=r[1];return o=o||0,a=(a||0)*i,[I,R].indexOf(s)>=0?{x:a,y:o}:{x:o,y:a}}function Yi(n){var t=n.state,e=n.options,s=n.name,i=e.offset,r=i===void 0?[0,0]:i,o=Je.reduce(function(u,p){return u[p]=Ki(p,t.rects,r),u},{}),a=o[t.placement],c=a.x,d=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=d),t.modifiersData[s]=o}const Is={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Yi};function Ui(n){var t=n.state,e=n.name;t.modifiersData[e]=Ds({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}const cn={name:"popperOffsets",enabled:!0,phase:"read",fn:Ui,data:{}};function zi(n){return n==="x"?"y":"x"}function Gi(n){var t=n.state,e=n.options,s=n.name,i=e.mainAxis,r=i===void 0?!0:i,o=e.altAxis,a=o===void 0?!1:o,c=e.boundary,d=e.rootBoundary,u=e.altBoundary,p=e.padding,_=e.tether,f=_===void 0?!0:_,A=e.tetherOffset,m=A===void 0?0:A,E=Lt(t,{boundary:c,rootBoundary:d,padding:p,altBoundary:u}),T=Y(t.placement),w=Dt(t.placement),C=!w,g=nn(T),v=zi(g),b=t.modifiersData.popperOffsets,y=t.rects.reference,S=t.rects.popper,N=typeof m=="function"?m(Object.assign({},t.rects,{placement:t.placement})):m,O=typeof N=="number"?{mainAxis:N,altAxis:N}:Object.assign({mainAxis:0,altAxis:0},N),D=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,j={x:0,y:0};if(b){if(r){var L,ot=g==="y"?$:I,at=g==="y"?M:R,x=g==="y"?"height":"width",F=b[g],qt=F+E[ot],lt=F-E[at],Xt=f?-S[x]/2:0,Te=w===pt?y[x]:S[x],Rt=w===pt?-S[x]:-y[x],Qt=t.elements.arrow,vt=f&&Qt?en(Qt):{width:0,height:0},J=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:ws(),kt=J[ot],Jt=J[at],ct=Wt(0,y[x],vt[x]),ye=C?y[x]/2-Xt-ct-kt-O.mainAxis:Te-ct-kt-O.mainAxis,di=C?-y[x]/2+Xt+ct+Jt+O.mainAxis:Rt+ct+Jt+O.mainAxis,we=t.elements.arrow&&Kt(t.elements.arrow),hi=we?g==="y"?we.clientTop||0:we.clientLeft||0:0,mn=(L=D==null?void 0:D[g])!=null?L:0,fi=F+ye-mn-hi,pi=F+di-mn,gn=Wt(f?ue(qt,fi):qt,F,f?ft(lt,pi):lt);b[g]=gn,j[g]=gn-F}if(a){var En,_i=g==="x"?$:I,mi=g==="x"?M:R,ut=b[v],Zt=v==="y"?"height":"width",vn=ut+E[_i],bn=ut-E[mi],Ce=[$,I].indexOf(T)!==-1,An=(En=D==null?void 0:D[v])!=null?En:0,Tn=Ce?vn:ut-y[Zt]-S[Zt]-An+O.altAxis,yn=Ce?ut+y[Zt]+S[Zt]-An-O.altAxis:bn,wn=f&&Ce?Ci(Tn,ut,yn):Wt(f?Tn:vn,ut,f?yn:bn);b[v]=wn,j[v]=wn-ut}t.modifiersData[s]=j}}const Ps={name:"preventOverflow",enabled:!0,phase:"main",fn:Gi,requiresIfExists:["offset"]};function qi(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function Xi(n){return n===k(n)||!V(n)?on(n):qi(n)}function Qi(n){var t=n.getBoundingClientRect(),e=Nt(t.width)/n.offsetWidth||1,s=Nt(t.height)/n.offsetHeight||1;return e!==1||s!==1}function Ji(n,t,e){e===void 0&&(e=!1);var s=V(t),i=V(t)&&Qi(t),r=st(t),o=St(n,i,e),a={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(s||!s&&!e)&&((z(t)!=="body"||ln(r))&&(a=Xi(t)),V(t)?(c=St(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):r&&(c.x=an(r))),{x:o.left+a.scrollLeft-c.x,y:o.top+a.scrollTop-c.y,width:o.width,height:o.height}}function Zi(n){var t=new Map,e=new Set,s=[];n.forEach(function(r){t.set(r.name,r)});function i(r){e.add(r.name);var o=[].concat(r.requires||[],r.requiresIfExists||[]);o.forEach(function(a){if(!e.has(a)){var c=t.get(a);c&&i(c)}}),s.push(r)}return n.forEach(function(r){e.has(r.name)||i(r)}),s}function tr(n){var t=Zi(n);return As.reduce(function(e,s){return e.concat(t.filter(function(i){return i.phase===s}))},[])}function er(n){var t;return function(){return t||(t=new Promise(function(e){Promise.resolve().then(function(){t=void 0,e(n())})})),t}}function nr(n){var t=n.reduce(function(e,s){var i=e[s.name];return e[s.name]=i?Object.assign({},i,s,{options:Object.assign({},i.options,s.options),data:Object.assign({},i.data,s.data)}):s,e},{});return Object.keys(t).map(function(e){return t[e]})}var In={placement:"bottom",modifiers:[],strategy:"absolute"};function Pn(){for(var n=arguments.length,t=new Array(n),e=0;e(n&&window.CSS&&window.CSS.escape&&(n=n.replace(/#([^\s"#']+)/g,(t,e)=>`#${CSS.escape(e)}`)),n),cr=n=>n==null?`${n}`:Object.prototype.toString.call(n).match(/\s([a-z]+)/i)[1].toLowerCase(),ur=n=>{do n+=Math.floor(Math.random()*ar);while(document.getElementById(n));return n},dr=n=>{if(!n)return 0;let{transitionDuration:t,transitionDelay:e}=window.getComputedStyle(n);const s=Number.parseFloat(t),i=Number.parseFloat(e);return!s&&!i?0:(t=t.split(",")[0],e=e.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(e))*lr)},Rs=n=>{n.dispatchEvent(new Event(ze))},G=n=>!n||typeof n!="object"?!1:(typeof n.jquery<"u"&&(n=n[0]),typeof n.nodeType<"u"),tt=n=>G(n)?n.jquery?n[0]:n:typeof n=="string"&&n.length>0?document.querySelector(Ms(n)):null,Pt=n=>{if(!G(n)||n.getClientRects().length===0)return!1;const t=getComputedStyle(n).getPropertyValue("visibility")==="visible",e=n.closest("details:not([open])");if(!e)return t;if(e!==n){const s=n.closest("summary");if(s&&s.parentNode!==e||s===null)return!1}return t},et=n=>!n||n.nodeType!==Node.ELEMENT_NODE||n.classList.contains("disabled")?!0:typeof n.disabled<"u"?n.disabled:n.hasAttribute("disabled")&&n.getAttribute("disabled")!=="false",ks=n=>{if(!document.documentElement.attachShadow)return null;if(typeof n.getRootNode=="function"){const t=n.getRootNode();return t instanceof ShadowRoot?t:null}return n instanceof ShadowRoot?n:n.parentNode?ks(n.parentNode):null},de=()=>{},Yt=n=>{n.offsetHeight},Vs=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,De=[],hr=n=>{document.readyState==="loading"?(De.length||document.addEventListener("DOMContentLoaded",()=>{for(const t of De)t()}),De.push(n)):n()},H=()=>document.documentElement.dir==="rtl",B=n=>{hr(()=>{const t=Vs();if(t){const e=n.NAME,s=t.fn[e];t.fn[e]=n.jQueryInterface,t.fn[e].Constructor=n,t.fn[e].noConflict=()=>(t.fn[e]=s,n.jQueryInterface)}})},P=(n,t=[],e=n)=>typeof n=="function"?n(...t):e,Hs=(n,t,e=!0)=>{if(!e){P(n);return}const i=dr(t)+5;let r=!1;const o=({target:a})=>{a===t&&(r=!0,t.removeEventListener(ze,o),P(n))};t.addEventListener(ze,o),setTimeout(()=>{r||Rs(t)},i)},dn=(n,t,e,s)=>{const i=n.length;let r=n.indexOf(t);return r===-1?!e&&s?n[i-1]:n[0]:(r+=e?1:-1,s&&(r=(r+i)%i),n[Math.max(0,Math.min(r,i-1))])},fr=/[^.]*(?=\..*)\.|.*/,pr=/\..*/,_r=/::\d+$/,Le={};let xn=1;const Ws={mouseenter:"mouseover",mouseleave:"mouseout"},mr=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function Bs(n,t){return t&&`${t}::${xn++}`||n.uidEvent||xn++}function js(n){const t=Bs(n);return n.uidEvent=t,Le[t]=Le[t]||{},Le[t]}function gr(n,t){return function e(s){return hn(s,{delegateTarget:n}),e.oneOff&&l.off(n,s.type,t),t.apply(n,[s])}}function Er(n,t,e){return function s(i){const r=n.querySelectorAll(t);for(let{target:o}=i;o&&o!==this;o=o.parentNode)for(const a of r)if(a===o)return hn(i,{delegateTarget:o}),s.oneOff&&l.off(n,i.type,t,e),e.apply(o,[i])}}function Fs(n,t,e=null){return Object.values(n).find(s=>s.callable===t&&s.delegationSelector===e)}function Ks(n,t,e){const s=typeof t=="string",i=s?e:t||e;let r=Ys(n);return mr.has(r)||(r=n),[s,i,r]}function Mn(n,t,e,s,i){if(typeof t!="string"||!n)return;let[r,o,a]=Ks(t,e,s);t in Ws&&(o=(A=>function(m){if(!m.relatedTarget||m.relatedTarget!==m.delegateTarget&&!m.delegateTarget.contains(m.relatedTarget))return A.call(this,m)})(o));const c=js(n),d=c[a]||(c[a]={}),u=Fs(d,o,r?e:null);if(u){u.oneOff=u.oneOff&&i;return}const p=Bs(o,t.replace(fr,"")),_=r?Er(n,e,o):gr(n,o);_.delegationSelector=r?e:null,_.callable=o,_.oneOff=i,_.uidEvent=p,d[p]=_,n.addEventListener(a,_,r)}function Ge(n,t,e,s,i){const r=Fs(t[e],s,i);r&&(n.removeEventListener(e,r,!!i),delete t[e][r.uidEvent])}function vr(n,t,e,s){const i=t[e]||{};for(const[r,o]of Object.entries(i))r.includes(s)&&Ge(n,t,e,o.callable,o.delegationSelector)}function Ys(n){return n=n.replace(pr,""),Ws[n]||n}const l={on(n,t,e,s){Mn(n,t,e,s,!1)},one(n,t,e,s){Mn(n,t,e,s,!0)},off(n,t,e,s){if(typeof t!="string"||!n)return;const[i,r,o]=Ks(t,e,s),a=o!==t,c=js(n),d=c[o]||{},u=t.startsWith(".");if(typeof r<"u"){if(!Object.keys(d).length)return;Ge(n,c,o,r,i?e:null);return}if(u)for(const p of Object.keys(c))vr(n,c,p,t.slice(1));for(const[p,_]of Object.entries(d)){const f=p.replace(_r,"");(!a||t.includes(f))&&Ge(n,c,o,_.callable,_.delegationSelector)}},trigger(n,t,e){if(typeof t!="string"||!n)return null;const s=Vs(),i=Ys(t),r=t!==i;let o=null,a=!0,c=!0,d=!1;r&&s&&(o=s.Event(t,e),s(n).trigger(o),a=!o.isPropagationStopped(),c=!o.isImmediatePropagationStopped(),d=o.isDefaultPrevented());const u=hn(new Event(t,{bubbles:a,cancelable:!0}),e);return d&&u.preventDefault(),c&&n.dispatchEvent(u),u.defaultPrevented&&o&&o.preventDefault(),u}};function hn(n,t={}){for(const[e,s]of Object.entries(t))try{n[e]=s}catch{Object.defineProperty(n,e,{configurable:!0,get(){return s}})}return n}function Rn(n){if(n==="true")return!0;if(n==="false")return!1;if(n===Number(n).toString())return Number(n);if(n===""||n==="null")return null;if(typeof n!="string")return n;try{return JSON.parse(decodeURIComponent(n))}catch{return n}}function $e(n){return n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const q={setDataAttribute(n,t,e){n.setAttribute(`data-bs-${$e(t)}`,e)},removeDataAttribute(n,t){n.removeAttribute(`data-bs-${$e(t)}`)},getDataAttributes(n){if(!n)return{};const t={},e=Object.keys(n.dataset).filter(s=>s.startsWith("bs")&&!s.startsWith("bsConfig"));for(const s of e){let i=s.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),t[i]=Rn(n.dataset[s])}return t},getDataAttribute(n,t){return Rn(n.getAttribute(`data-bs-${$e(t)}`))}};class Ut{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const s=G(e)?q.getDataAttribute(e,"config"):{};return{...this.constructor.Default,...typeof s=="object"?s:{},...G(e)?q.getDataAttributes(e):{},...typeof t=="object"?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[s,i]of Object.entries(e)){const r=t[s],o=G(r)?"element":cr(r);if(!new RegExp(i).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${o}" but expected type "${i}".`)}}}const br="5.3.3";class K extends Ut{constructor(t,e){super(),t=tt(t),t&&(this._element=t,this._config=this._getConfig(e),Se.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Se.remove(this._element,this.constructor.DATA_KEY),l.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,s=!0){Hs(t,e,s)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return Se.get(tt(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}static get VERSION(){return br}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const Ie=n=>{let t=n.getAttribute("data-bs-target");if(!t||t==="#"){let e=n.getAttribute("href");if(!e||!e.includes("#")&&!e.startsWith("."))return null;e.includes("#")&&!e.startsWith("#")&&(e=`#${e.split("#")[1]}`),t=e&&e!=="#"?e.trim():null}return t?t.split(",").map(e=>Ms(e)).join(","):null},h={find(n,t=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(t,n))},findOne(n,t=document.documentElement){return Element.prototype.querySelector.call(t,n)},children(n,t){return[].concat(...n.children).filter(e=>e.matches(t))},parents(n,t){const e=[];let s=n.parentNode.closest(t);for(;s;)e.push(s),s=s.parentNode.closest(t);return e},prev(n,t){let e=n.previousElementSibling;for(;e;){if(e.matches(t))return[e];e=e.previousElementSibling}return[]},next(n,t){let e=n.nextElementSibling;for(;e;){if(e.matches(t))return[e];e=e.nextElementSibling}return[]},focusableChildren(n){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(",");return this.find(t,n).filter(e=>!et(e)&&Pt(e))},getSelectorFromElement(n){const t=Ie(n);return t&&h.findOne(t)?t:null},getElementFromSelector(n){const t=Ie(n);return t?h.findOne(t):null},getMultipleElementsFromSelector(n){const t=Ie(n);return t?h.find(t):[]}},ge=(n,t="hide")=>{const e=`click.dismiss${n.EVENT_KEY}`,s=n.NAME;l.on(document,e,`[data-bs-dismiss="${s}"]`,function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),et(this))return;const r=h.getElementFromSelector(this)||this.closest(`.${s}`);n.getOrCreateInstance(r)[t]()})},Ar="alert",Tr="bs.alert",Us=`.${Tr}`,yr=`close${Us}`,wr=`closed${Us}`,Cr="fade",Or="show";class Ee extends K{static get NAME(){return Ar}close(){if(l.trigger(this._element,yr).defaultPrevented)return;this._element.classList.remove(Or);const e=this._element.classList.contains(Cr);this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),l.trigger(this._element,wr),this.dispose()}static jQueryInterface(t){return this.each(function(){const e=Ee.getOrCreateInstance(this);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}ge(Ee,"close");B(Ee);const Nr="button",Sr="bs.button",Dr=`.${Sr}`,Lr=".data-api",$r="active",kn='[data-bs-toggle="button"]',Ir=`click${Dr}${Lr}`;class ve extends K{static get NAME(){return Nr}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle($r))}static jQueryInterface(t){return this.each(function(){const e=ve.getOrCreateInstance(this);t==="toggle"&&e[t]()})}}l.on(document,Ir,kn,n=>{n.preventDefault();const t=n.target.closest(kn);ve.getOrCreateInstance(t).toggle()});B(ve);const Pr="swipe",xt=".bs.swipe",xr=`touchstart${xt}`,Mr=`touchmove${xt}`,Rr=`touchend${xt}`,kr=`pointerdown${xt}`,Vr=`pointerup${xt}`,Hr="touch",Wr="pen",Br="pointer-event",jr=40,Fr={endCallback:null,leftCallback:null,rightCallback:null},Kr={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class he extends Ut{constructor(t,e){super(),this._element=t,!(!t||!he.isSupported())&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Fr}static get DefaultType(){return Kr}static get NAME(){return Pr}dispose(){l.off(this._element,xt)}_start(t){if(!this._supportPointerEvents){this._deltaX=t.touches[0].clientX;return}this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX)}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),P(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=jr)return;const e=t/this._deltaX;this._deltaX=0,e&&P(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(l.on(this._element,kr,t=>this._start(t)),l.on(this._element,Vr,t=>this._end(t)),this._element.classList.add(Br)):(l.on(this._element,xr,t=>this._start(t)),l.on(this._element,Mr,t=>this._move(t)),l.on(this._element,Rr,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&(t.pointerType===Wr||t.pointerType===Hr)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Yr="carousel",Ur="bs.carousel",it=`.${Ur}`,zs=".data-api",zr="ArrowLeft",Gr="ArrowRight",qr=500,Vt="next",bt="prev",yt="left",le="right",Xr=`slide${it}`,Pe=`slid${it}`,Qr=`keydown${it}`,Jr=`mouseenter${it}`,Zr=`mouseleave${it}`,to=`dragstart${it}`,eo=`load${it}${zs}`,no=`click${it}${zs}`,Gs="carousel",ee="active",so="slide",io="carousel-item-end",ro="carousel-item-start",oo="carousel-item-next",ao="carousel-item-prev",qs=".active",Xs=".carousel-item",lo=qs+Xs,co=".carousel-item img",uo=".carousel-indicators",ho="[data-bs-slide], [data-bs-slide-to]",fo='[data-bs-ride="carousel"]',po={[zr]:le,[Gr]:yt},_o={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},mo={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class zt extends K{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=h.findOne(uo,this._element),this._addEventListeners(),this._config.ride===Gs&&this.cycle()}static get Default(){return _o}static get DefaultType(){return mo}static get NAME(){return Yr}next(){this._slide(Vt)}nextWhenVisible(){!document.hidden&&Pt(this._element)&&this.next()}prev(){this._slide(bt)}pause(){this._isSliding&&Rs(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){l.one(this._element,Pe,()=>this.cycle());return}this.cycle()}}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding){l.one(this._element,Pe,()=>this.to(t));return}const s=this._getItemIndex(this._getActive());if(s===t)return;const i=t>s?Vt:bt;this._slide(i,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&l.on(this._element,Qr,t=>this._keydown(t)),this._config.pause==="hover"&&(l.on(this._element,Jr,()=>this.pause()),l.on(this._element,Zr,()=>this._maybeEnableCycle())),this._config.touch&&he.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const s of h.find(co,this._element))l.on(s,to,i=>i.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder(yt)),rightCallback:()=>this._slide(this._directionToOrder(le)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),qr+this._config.interval))}};this._swipeHelper=new he(this._element,e)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=po[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=h.findOne(qs,this._indicatorsElement);e.classList.remove(ee),e.removeAttribute("aria-current");const s=h.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);s&&(s.classList.add(ee),s.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const s=this._getActive(),i=t===Vt,r=e||dn(this._getItems(),s,i,this._config.wrap);if(r===s)return;const o=this._getItemIndex(r),a=f=>l.trigger(this._element,f,{relatedTarget:r,direction:this._orderToDirection(t),from:this._getItemIndex(s),to:o});if(a(Xr).defaultPrevented||!s||!r)return;const d=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=r;const u=i?ro:io,p=i?oo:ao;r.classList.add(p),Yt(r),s.classList.add(u),r.classList.add(u);const _=()=>{r.classList.remove(u,p),r.classList.add(ee),s.classList.remove(ee,p,u),this._isSliding=!1,a(Pe)};this._queueCallback(_,s,this._isAnimated()),d&&this.cycle()}_isAnimated(){return this._element.classList.contains(so)}_getActive(){return h.findOne(lo,this._element)}_getItems(){return h.find(Xs,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return H()?t===yt?bt:Vt:t===yt?Vt:bt}_orderToDirection(t){return H()?t===bt?yt:le:t===bt?le:yt}static jQueryInterface(t){return this.each(function(){const e=zt.getOrCreateInstance(this,t);if(typeof t=="number"){e.to(t);return}if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t]()}})}}l.on(document,no,ho,function(n){const t=h.getElementFromSelector(this);if(!t||!t.classList.contains(Gs))return;n.preventDefault();const e=zt.getOrCreateInstance(t),s=this.getAttribute("data-bs-slide-to");if(s){e.to(s),e._maybeEnableCycle();return}if(q.getDataAttribute(this,"slide")==="next"){e.next(),e._maybeEnableCycle();return}e.prev(),e._maybeEnableCycle()});l.on(window,eo,()=>{const n=h.find(fo);for(const t of n)zt.getOrCreateInstance(t)});B(zt);const go="collapse",Eo="bs.collapse",Gt=`.${Eo}`,vo=".data-api",bo=`show${Gt}`,Ao=`shown${Gt}`,To=`hide${Gt}`,yo=`hidden${Gt}`,wo=`click${Gt}${vo}`,xe="show",Ct="collapse",ne="collapsing",Co="collapsed",Oo=`:scope .${Ct} .${Ct}`,No="collapse-horizontal",So="width",Do="height",Lo=".collapse.show, .collapse.collapsing",qe='[data-bs-toggle="collapse"]',$o={parent:null,toggle:!0},Io={parent:"(null|element)",toggle:"boolean"};class Ft extends K{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const s=h.find(qe);for(const i of s){const r=h.getSelectorFromElement(i),o=h.find(r).filter(a=>a===this._element);r!==null&&o.length&&this._triggerArray.push(i)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return $o}static get DefaultType(){return Io}static get NAME(){return go}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(Lo).filter(a=>a!==this._element).map(a=>Ft.getOrCreateInstance(a,{toggle:!1}))),t.length&&t[0]._isTransitioning||l.trigger(this._element,bo).defaultPrevented)return;for(const a of t)a.hide();const s=this._getDimension();this._element.classList.remove(Ct),this._element.classList.add(ne),this._element.style[s]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=()=>{this._isTransitioning=!1,this._element.classList.remove(ne),this._element.classList.add(Ct,xe),this._element.style[s]="",l.trigger(this._element,Ao)},o=`scroll${s[0].toUpperCase()+s.slice(1)}`;this._queueCallback(i,this._element,!0),this._element.style[s]=`${this._element[o]}px`}hide(){if(this._isTransitioning||!this._isShown()||l.trigger(this._element,To).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,Yt(this._element),this._element.classList.add(ne),this._element.classList.remove(Ct,xe);for(const i of this._triggerArray){const r=h.getElementFromSelector(i);r&&!this._isShown(r)&&this._addAriaAndCollapsedClass([i],!1)}this._isTransitioning=!0;const s=()=>{this._isTransitioning=!1,this._element.classList.remove(ne),this._element.classList.add(Ct),l.trigger(this._element,yo)};this._element.style[e]="",this._queueCallback(s,this._element,!0)}_isShown(t=this._element){return t.classList.contains(xe)}_configAfterMerge(t){return t.toggle=!!t.toggle,t.parent=tt(t.parent),t}_getDimension(){return this._element.classList.contains(No)?So:Do}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(qe);for(const e of t){const s=h.getElementFromSelector(e);s&&this._addAriaAndCollapsedClass([e],this._isShown(s))}}_getFirstLevelChildren(t){const e=h.find(Oo,this._config.parent);return h.find(t,this._config.parent).filter(s=>!e.includes(s))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const s of t)s.classList.toggle(Co,!e),s.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return typeof t=="string"&&/show|hide/.test(t)&&(e.toggle=!1),this.each(function(){const s=Ft.getOrCreateInstance(this,e);if(typeof t=="string"){if(typeof s[t]>"u")throw new TypeError(`No method named "${t}"`);s[t]()}})}}l.on(document,wo,qe,function(n){(n.target.tagName==="A"||n.delegateTarget&&n.delegateTarget.tagName==="A")&&n.preventDefault();for(const t of h.getMultipleElementsFromSelector(this))Ft.getOrCreateInstance(t,{toggle:!1}).toggle()});B(Ft);const Vn="dropdown",Po="bs.dropdown",gt=`.${Po}`,fn=".data-api",xo="Escape",Hn="Tab",Mo="ArrowUp",Wn="ArrowDown",Ro=2,ko=`hide${gt}`,Vo=`hidden${gt}`,Ho=`show${gt}`,Wo=`shown${gt}`,Qs=`click${gt}${fn}`,Js=`keydown${gt}${fn}`,Bo=`keyup${gt}${fn}`,wt="show",jo="dropup",Fo="dropend",Ko="dropstart",Yo="dropup-center",Uo="dropdown-center",dt='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',zo=`${dt}.${wt}`,ce=".dropdown-menu",Go=".navbar",qo=".navbar-nav",Xo=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Qo=H()?"top-end":"top-start",Jo=H()?"top-start":"top-end",Zo=H()?"bottom-end":"bottom-start",ta=H()?"bottom-start":"bottom-end",ea=H()?"left-start":"right-start",na=H()?"right-start":"left-start",sa="top",ia="bottom",ra={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},oa={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class U extends K{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=h.next(this._element,ce)[0]||h.prev(this._element,ce)[0]||h.findOne(ce,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return ra}static get DefaultType(){return oa}static get NAME(){return Vn}toggle(){return this._isShown()?this.hide():this.show()}show(){if(et(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!l.trigger(this._element,Ho,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(qo))for(const s of[].concat(...document.body.children))l.on(s,"mouseover",de);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(wt),this._element.classList.add(wt),l.trigger(this._element,Wo,t)}}hide(){if(et(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!l.trigger(this._element,ko,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const s of[].concat(...document.body.children))l.off(s,"mouseover",de);this._popper&&this._popper.destroy(),this._menu.classList.remove(wt),this._element.classList.remove(wt),this._element.setAttribute("aria-expanded","false"),q.removeDataAttribute(this._menu,"popper"),l.trigger(this._element,Vo,t)}}_getConfig(t){if(t=super._getConfig(t),typeof t.reference=="object"&&!G(t.reference)&&typeof t.reference.getBoundingClientRect!="function")throw new TypeError(`${Vn.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(typeof xs>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;this._config.reference==="parent"?t=this._parent:G(this._config.reference)?t=tt(this._config.reference):typeof this._config.reference=="object"&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=un(t,this._menu,e)}_isShown(){return this._menu.classList.contains(wt)}_getPlacement(){const t=this._parent;if(t.classList.contains(Fo))return ea;if(t.classList.contains(Ko))return na;if(t.classList.contains(Yo))return sa;if(t.classList.contains(Uo))return ia;const e=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return t.classList.contains(jo)?e?Jo:Qo:e?ta:Zo}_detectNavbar(){return this._element.closest(Go)!==null}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(e=>Number.parseInt(e,10)):typeof t=="function"?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(q.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...P(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const s=h.find(Xo,this._menu).filter(i=>Pt(i));s.length&&dn(s,e,t===Wn,!s.includes(e)).focus()}static jQueryInterface(t){return this.each(function(){const e=U.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}static clearMenus(t){if(t.button===Ro||t.type==="keyup"&&t.key!==Hn)return;const e=h.find(zo);for(const s of e){const i=U.getInstance(s);if(!i||i._config.autoClose===!1)continue;const r=t.composedPath(),o=r.includes(i._menu);if(r.includes(i._element)||i._config.autoClose==="inside"&&!o||i._config.autoClose==="outside"&&o||i._menu.contains(t.target)&&(t.type==="keyup"&&t.key===Hn||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const a={relatedTarget:i._element};t.type==="click"&&(a.clickEvent=t),i._completeHide(a)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),s=t.key===xo,i=[Mo,Wn].includes(t.key);if(!i&&!s||e&&!s)return;t.preventDefault();const r=this.matches(dt)?this:h.prev(this,dt)[0]||h.next(this,dt)[0]||h.findOne(dt,t.delegateTarget.parentNode),o=U.getOrCreateInstance(r);if(i){t.stopPropagation(),o.show(),o._selectMenuItem(t);return}o._isShown()&&(t.stopPropagation(),o.hide(),r.focus())}}l.on(document,Js,dt,U.dataApiKeydownHandler);l.on(document,Js,ce,U.dataApiKeydownHandler);l.on(document,Qs,U.clearMenus);l.on(document,Bo,U.clearMenus);l.on(document,Qs,dt,function(n){n.preventDefault(),U.getOrCreateInstance(this).toggle()});B(U);const Zs="backdrop",aa="fade",Bn="show",jn=`mousedown.bs.${Zs}`,la={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},ca={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class ti extends Ut{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return la}static get DefaultType(){return ca}static get NAME(){return Zs}show(t){if(!this._config.isVisible){P(t);return}this._append();const e=this._getElement();this._config.isAnimated&&Yt(e),e.classList.add(Bn),this._emulateAnimation(()=>{P(t)})}hide(t){if(!this._config.isVisible){P(t);return}this._getElement().classList.remove(Bn),this._emulateAnimation(()=>{this.dispose(),P(t)})}dispose(){this._isAppended&&(l.off(this._element,jn),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add(aa),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=tt(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),l.on(t,jn,()=>{P(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){Hs(t,this._getElement(),this._config.isAnimated)}}const ua="focustrap",da="bs.focustrap",fe=`.${da}`,ha=`focusin${fe}`,fa=`keydown.tab${fe}`,pa="Tab",_a="forward",Fn="backward",ma={autofocus:!0,trapElement:null},ga={autofocus:"boolean",trapElement:"element"};class ei extends Ut{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return ma}static get DefaultType(){return ga}static get NAME(){return ua}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),l.off(document,fe),l.on(document,ha,t=>this._handleFocusin(t)),l.on(document,fa,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,l.off(document,fe))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const s=h.focusableChildren(e);s.length===0?e.focus():this._lastTabNavDirection===Fn?s[s.length-1].focus():s[0].focus()}_handleKeydown(t){t.key===pa&&(this._lastTabNavDirection=t.shiftKey?Fn:_a)}}const Kn=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Yn=".sticky-top",se="padding-right",Un="margin-right";class Xe{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,se,e=>e+t),this._setElementAttributes(Kn,se,e=>e+t),this._setElementAttributes(Yn,Un,e=>e-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,se),this._resetElementAttributes(Kn,se),this._resetElementAttributes(Yn,Un)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,s){const i=this.getWidth(),r=o=>{if(o!==this._element&&window.innerWidth>o.clientWidth+i)return;this._saveInitialAttribute(o,e);const a=window.getComputedStyle(o).getPropertyValue(e);o.style.setProperty(e,`${s(Number.parseFloat(a))}px`)};this._applyManipulationCallback(t,r)}_saveInitialAttribute(t,e){const s=t.style.getPropertyValue(e);s&&q.setDataAttribute(t,e,s)}_resetElementAttributes(t,e){const s=i=>{const r=q.getDataAttribute(i,e);if(r===null){i.style.removeProperty(e);return}q.removeDataAttribute(i,e),i.style.setProperty(e,r)};this._applyManipulationCallback(t,s)}_applyManipulationCallback(t,e){if(G(t)){e(t);return}for(const s of h.find(t,this._element))e(s)}}const Ea="modal",va="bs.modal",W=`.${va}`,ba=".data-api",Aa="Escape",Ta=`hide${W}`,ya=`hidePrevented${W}`,ni=`hidden${W}`,si=`show${W}`,wa=`shown${W}`,Ca=`resize${W}`,Oa=`click.dismiss${W}`,Na=`mousedown.dismiss${W}`,Sa=`keydown.dismiss${W}`,Da=`click${W}${ba}`,zn="modal-open",La="fade",Gn="show",Me="modal-static",$a=".modal.show",Ia=".modal-dialog",Pa=".modal-body",xa='[data-bs-toggle="modal"]',Ma={backdrop:!0,focus:!0,keyboard:!0},Ra={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class mt extends K{constructor(t,e){super(t,e),this._dialog=h.findOne(Ia,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Xe,this._addEventListeners()}static get Default(){return Ma}static get DefaultType(){return Ra}static get NAME(){return Ea}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||l.trigger(this._element,si,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(zn),this._adjustDialog(),this._backdrop.show(()=>this._showElement(t)))}hide(){!this._isShown||this._isTransitioning||l.trigger(this._element,Ta).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Gn),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){l.off(window,W),l.off(this._dialog,W),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new ti({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new ei({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=h.findOne(Pa,this._dialog);e&&(e.scrollTop=0),Yt(this._element),this._element.classList.add(Gn);const s=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,l.trigger(this._element,wa,{relatedTarget:t})};this._queueCallback(s,this._dialog,this._isAnimated())}_addEventListeners(){l.on(this._element,Sa,t=>{if(t.key===Aa){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),l.on(window,Ca,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),l.on(this._element,Na,t=>{l.one(this._element,Oa,e=>{if(!(this._element!==t.target||this._element!==e.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(zn),this._resetAdjustments(),this._scrollBar.reset(),l.trigger(this._element,ni)})}_isAnimated(){return this._element.classList.contains(La)}_triggerBackdropTransition(){if(l.trigger(this._element,ya).defaultPrevented)return;const e=this._element.scrollHeight>document.documentElement.clientHeight,s=this._element.style.overflowY;s==="hidden"||this._element.classList.contains(Me)||(e||(this._element.style.overflowY="hidden"),this._element.classList.add(Me),this._queueCallback(()=>{this._element.classList.remove(Me),this._queueCallback(()=>{this._element.style.overflowY=s},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),s=e>0;if(s&&!t){const i=H()?"paddingLeft":"paddingRight";this._element.style[i]=`${e}px`}if(!s&&t){const i=H()?"paddingRight":"paddingLeft";this._element.style[i]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each(function(){const s=mt.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof s[t]>"u")throw new TypeError(`No method named "${t}"`);s[t](e)}})}}l.on(document,Da,xa,function(n){const t=h.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&n.preventDefault(),l.one(t,si,i=>{i.defaultPrevented||l.one(t,ni,()=>{Pt(this)&&this.focus()})});const e=h.findOne($a);e&&mt.getInstance(e).hide(),mt.getOrCreateInstance(t).toggle(this)});ge(mt);B(mt);const ka="offcanvas",Va="bs.offcanvas",Q=`.${Va}`,ii=".data-api",Ha=`load${Q}${ii}`,Wa="Escape",qn="show",Xn="showing",Qn="hiding",Ba="offcanvas-backdrop",ri=".offcanvas.show",ja=`show${Q}`,Fa=`shown${Q}`,Ka=`hide${Q}`,Jn=`hidePrevented${Q}`,oi=`hidden${Q}`,Ya=`resize${Q}`,Ua=`click${Q}${ii}`,za=`keydown.dismiss${Q}`,Ga='[data-bs-toggle="offcanvas"]',qa={backdrop:!0,keyboard:!0,scroll:!1},Xa={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class nt extends K{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return qa}static get DefaultType(){return Xa}static get NAME(){return ka}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown||l.trigger(this._element,ja,{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new Xe().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Xn);const s=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(qn),this._element.classList.remove(Xn),l.trigger(this._element,Fa,{relatedTarget:t})};this._queueCallback(s,this._element,!0)}hide(){if(!this._isShown||l.trigger(this._element,Ka).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Qn),this._backdrop.hide();const e=()=>{this._element.classList.remove(qn,Qn),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Xe().reset(),l.trigger(this._element,oi)};this._queueCallback(e,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=()=>{if(this._config.backdrop==="static"){l.trigger(this._element,Jn);return}this.hide()},e=!!this._config.backdrop;return new ti({className:Ba,isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?t:null})}_initializeFocusTrap(){return new ei({trapElement:this._element})}_addEventListeners(){l.on(this._element,za,t=>{if(t.key===Wa){if(this._config.keyboard){this.hide();return}l.trigger(this._element,Jn)}})}static jQueryInterface(t){return this.each(function(){const e=nt.getOrCreateInstance(this,t);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}l.on(document,Ua,Ga,function(n){const t=h.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),et(this))return;l.one(t,oi,()=>{Pt(this)&&this.focus()});const e=h.findOne(ri);e&&e!==t&&nt.getInstance(e).hide(),nt.getOrCreateInstance(t).toggle(this)});l.on(window,Ha,()=>{for(const n of h.find(ri))nt.getOrCreateInstance(n).show()});l.on(window,Ya,()=>{for(const n of h.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(n).position!=="fixed"&&nt.getOrCreateInstance(n).hide()});ge(nt);B(nt);const Qa=/^aria-[\w-]*$/i,ai={"*":["class","dir","id","lang","role",Qa],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Ja=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Za=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,tl=(n,t)=>{const e=n.nodeName.toLowerCase();return t.includes(e)?Ja.has(e)?!!Za.test(n.nodeValue):!0:t.filter(s=>s instanceof RegExp).some(s=>s.test(e))};function el(n,t,e){if(!n.length)return n;if(e&&typeof e=="function")return e(n);const i=new window.DOMParser().parseFromString(n,"text/html"),r=[].concat(...i.body.querySelectorAll("*"));for(const o of r){const a=o.nodeName.toLowerCase();if(!Object.keys(t).includes(a)){o.remove();continue}const c=[].concat(...o.attributes),d=[].concat(t["*"]||[],t[a]||[]);for(const u of c)tl(u,d)||o.removeAttribute(u.nodeName)}return i.body.innerHTML}const nl="TemplateFactory",sl={allowList:ai,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},il={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},rl={entry:"(string|element|function|null)",selector:"(string|element)"};class ol extends Ut{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return sl}static get DefaultType(){return il}static get NAME(){return nl}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[i,r]of Object.entries(this._config.content))this._setContent(t,r,i);const e=t.children[0],s=this._resolvePossibleFunction(this._config.extraClass);return s&&e.classList.add(...s.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,s]of Object.entries(t))super._typeCheckConfig({selector:e,entry:s},rl)}_setContent(t,e,s){const i=h.findOne(s,t);if(i){if(e=this._resolvePossibleFunction(e),!e){i.remove();return}if(G(e)){this._putElementInTemplate(tt(e),i);return}if(this._config.html){i.innerHTML=this._maybeSanitize(e);return}i.textContent=e}}_maybeSanitize(t){return this._config.sanitize?el(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return P(t,[this])}_putElementInTemplate(t,e){if(this._config.html){e.innerHTML="",e.append(t);return}e.textContent=t.textContent}}const al="tooltip",ll=new Set(["sanitize","allowList","sanitizeFn"]),Re="fade",cl="modal",ie="show",ul=".tooltip-inner",Zn=`.${cl}`,ts="hide.bs.modal",Ht="hover",ke="focus",dl="click",hl="manual",fl="hide",pl="hidden",_l="show",ml="shown",gl="inserted",El="click",vl="focusin",bl="focusout",Al="mouseenter",Tl="mouseleave",yl={AUTO:"auto",TOP:"top",RIGHT:H()?"left":"right",BOTTOM:"bottom",LEFT:H()?"right":"left"},wl={allowList:ai,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Cl={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Mt extends K{constructor(t,e){if(typeof xs>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return wl}static get DefaultType(){return Cl}static get NAME(){return al}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),l.off(this._element.closest(Zn),ts,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const t=l.trigger(this._element,this.constructor.eventName(_l)),s=(ks(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!s)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:r}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(r.append(i),l.trigger(this._element,this.constructor.eventName(gl))),this._popper=this._createPopper(i),i.classList.add(ie),"ontouchstart"in document.documentElement)for(const a of[].concat(...document.body.children))l.on(a,"mouseover",de);const o=()=>{l.trigger(this._element,this.constructor.eventName(ml)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(o,this.tip,this._isAnimated())}hide(){if(!this._isShown()||l.trigger(this._element,this.constructor.eventName(fl)).defaultPrevented)return;if(this._getTipElement().classList.remove(ie),"ontouchstart"in document.documentElement)for(const i of[].concat(...document.body.children))l.off(i,"mouseover",de);this._activeTrigger[dl]=!1,this._activeTrigger[ke]=!1,this._activeTrigger[Ht]=!1,this._isHovered=null;const s=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),l.trigger(this._element,this.constructor.eventName(pl)))};this._queueCallback(s,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Re,ie),e.classList.add(`bs-${this.constructor.NAME}-auto`);const s=ur(this.constructor.NAME).toString();return e.setAttribute("id",s),this._isAnimated()&&e.classList.add(Re),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new ol({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[ul]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Re)}_isShown(){return this.tip&&this.tip.classList.contains(ie)}_createPopper(t){const e=P(this._config.placement,[this,t,this._element]),s=yl[e.toUpperCase()];return un(this._element,t,this._getPopperConfig(s))}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(e=>Number.parseInt(e,10)):typeof t=="function"?e=>t(e,this._element):t}_resolvePossibleFunction(t){return P(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:s=>{this._getTipElement().setAttribute("data-popper-placement",s.state.placement)}}]};return{...e,...P(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if(e==="click")l.on(this._element,this.constructor.eventName(El),this._config.selector,s=>{this._initializeOnDelegatedTarget(s).toggle()});else if(e!==hl){const s=e===Ht?this.constructor.eventName(Al):this.constructor.eventName(vl),i=e===Ht?this.constructor.eventName(Tl):this.constructor.eventName(bl);l.on(this._element,s,this._config.selector,r=>{const o=this._initializeOnDelegatedTarget(r);o._activeTrigger[r.type==="focusin"?ke:Ht]=!0,o._enter()}),l.on(this._element,i,this._config.selector,r=>{const o=this._initializeOnDelegatedTarget(r);o._activeTrigger[r.type==="focusout"?ke:Ht]=o._element.contains(r.relatedTarget),o._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},l.on(this._element.closest(Zn),ts,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=q.getDataAttributes(this._element);for(const s of Object.keys(e))ll.has(s)&&delete e[s];return t={...e,...typeof t=="object"&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=t.container===!1?document.body:tt(t.container),typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),typeof t.title=="number"&&(t.title=t.title.toString()),typeof t.content=="number"&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,s]of Object.entries(this._config))this.constructor.Default[e]!==s&&(t[e]=s);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each(function(){const e=Mt.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}}B(Mt);const Ol="popover",Nl=".popover-header",Sl=".popover-body",Dl={...Mt.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Ll={...Mt.DefaultType,content:"(null|string|element|function)"};class pn extends Mt{static get Default(){return Dl}static get DefaultType(){return Ll}static get NAME(){return Ol}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Nl]:this._getTitle(),[Sl]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each(function(){const e=pn.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}}B(pn);const $l="scrollspy",Il="bs.scrollspy",_n=`.${Il}`,Pl=".data-api",xl=`activate${_n}`,es=`click${_n}`,Ml=`load${_n}${Pl}`,Rl="dropdown-item",At="active",kl='[data-bs-spy="scroll"]',Ve="[href]",Vl=".nav, .list-group",ns=".nav-link",Hl=".nav-item",Wl=".list-group-item",Bl=`${ns}, ${Hl} > ${ns}, ${Wl}`,jl=".dropdown",Fl=".dropdown-toggle",Kl={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Yl={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class be extends K{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Kl}static get DefaultType(){return Yl}static get NAME(){return $l}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=tt(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,typeof t.threshold=="string"&&(t.threshold=t.threshold.split(",").map(e=>Number.parseFloat(e))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(l.off(this._config.target,es),l.on(this._config.target,es,Ve,t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const s=this._rootElement||window,i=e.offsetTop-this._element.offsetTop;if(s.scrollTo){s.scrollTo({top:i,behavior:"smooth"});return}s.scrollTop=i}}))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(e=>this._observerCallback(e),t)}_observerCallback(t){const e=o=>this._targetLinks.get(`#${o.target.id}`),s=o=>{this._previousScrollData.visibleEntryTop=o.target.offsetTop,this._process(e(o))},i=(this._rootElement||document.documentElement).scrollTop,r=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const a=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(r&&a){if(s(o),!i)return;continue}!r&&!a&&s(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=h.find(Ve,this._config.target);for(const e of t){if(!e.hash||et(e))continue;const s=h.findOne(decodeURI(e.hash),this._element);Pt(s)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,s))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(At),this._activateParents(t),l.trigger(this._element,xl,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains(Rl)){h.findOne(Fl,t.closest(jl)).classList.add(At);return}for(const e of h.parents(t,Vl))for(const s of h.prev(e,Bl))s.classList.add(At)}_clearActiveClass(t){t.classList.remove(At);const e=h.find(`${Ve}.${At}`,t);for(const s of e)s.classList.remove(At)}static jQueryInterface(t){return this.each(function(){const e=be.getOrCreateInstance(this,t);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t]()}})}}l.on(window,Ml,()=>{for(const n of h.find(kl))be.getOrCreateInstance(n)});B(be);const Ul="tab",zl="bs.tab",Et=`.${zl}`,Gl=`hide${Et}`,ql=`hidden${Et}`,Xl=`show${Et}`,Ql=`shown${Et}`,Jl=`click${Et}`,Zl=`keydown${Et}`,tc=`load${Et}`,ec="ArrowLeft",ss="ArrowRight",nc="ArrowUp",is="ArrowDown",He="Home",rs="End",ht="active",os="fade",We="show",sc="dropdown",li=".dropdown-toggle",ic=".dropdown-menu",Be=`:not(${li})`,rc='.list-group, .nav, [role="tablist"]',oc=".nav-item, .list-group-item",ac=`.nav-link${Be}, .list-group-item${Be}, [role="tab"]${Be}`,ci='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',je=`${ac}, ${ci}`,lc=`.${ht}[data-bs-toggle="tab"], .${ht}[data-bs-toggle="pill"], .${ht}[data-bs-toggle="list"]`;class $t extends K{constructor(t){super(t),this._parent=this._element.closest(rc),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),l.on(this._element,Zl,e=>this._keydown(e)))}static get NAME(){return Ul}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),s=e?l.trigger(e,Gl,{relatedTarget:t}):null;l.trigger(t,Xl,{relatedTarget:e}).defaultPrevented||s&&s.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){if(!t)return;t.classList.add(ht),this._activate(h.getElementFromSelector(t));const s=()=>{if(t.getAttribute("role")!=="tab"){t.classList.add(We);return}t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),l.trigger(t,Ql,{relatedTarget:e})};this._queueCallback(s,t,t.classList.contains(os))}_deactivate(t,e){if(!t)return;t.classList.remove(ht),t.blur(),this._deactivate(h.getElementFromSelector(t));const s=()=>{if(t.getAttribute("role")!=="tab"){t.classList.remove(We);return}t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),l.trigger(t,ql,{relatedTarget:e})};this._queueCallback(s,t,t.classList.contains(os))}_keydown(t){if(![ec,ss,nc,is,He,rs].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter(i=>!et(i));let s;if([He,rs].includes(t.key))s=e[t.key===He?0:e.length-1];else{const i=[ss,is].includes(t.key);s=dn(e,t.target,i,!0)}s&&(s.focus({preventScroll:!0}),$t.getOrCreateInstance(s).show())}_getChildren(){return h.find(je,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const s of e)this._setInitialAttributesOnChild(s)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),s=this._getOuterElement(t);t.setAttribute("aria-selected",e),s!==t&&this._setAttributeIfNotExists(s,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=h.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const s=this._getOuterElement(t);if(!s.classList.contains(sc))return;const i=(r,o)=>{const a=h.findOne(r,s);a&&a.classList.toggle(o,e)};i(li,ht),i(ic,We),s.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,s){t.hasAttribute(e)||t.setAttribute(e,s)}_elemIsActive(t){return t.classList.contains(ht)}_getInnerElement(t){return t.matches(je)?t:h.findOne(je,t)}_getOuterElement(t){return t.closest(oc)||t}static jQueryInterface(t){return this.each(function(){const e=$t.getOrCreateInstance(this);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t]()}})}}l.on(document,Jl,ci,function(n){["A","AREA"].includes(this.tagName)&&n.preventDefault(),!et(this)&&$t.getOrCreateInstance(this).show()});l.on(window,tc,()=>{for(const n of h.find(lc))$t.getOrCreateInstance(n)});B($t);const cc="toast",uc="bs.toast",rt=`.${uc}`,dc=`mouseover${rt}`,hc=`mouseout${rt}`,fc=`focusin${rt}`,pc=`focusout${rt}`,_c=`hide${rt}`,mc=`hidden${rt}`,gc=`show${rt}`,Ec=`shown${rt}`,vc="fade",as="hide",re="show",oe="showing",bc={animation:"boolean",autohide:"boolean",delay:"number"},Ac={animation:!0,autohide:!0,delay:5e3};class Ae extends K{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Ac}static get DefaultType(){return bc}static get NAME(){return cc}show(){if(l.trigger(this._element,gc).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(vc);const e=()=>{this._element.classList.remove(oe),l.trigger(this._element,Ec),this._maybeScheduleHide()};this._element.classList.remove(as),Yt(this._element),this._element.classList.add(re,oe),this._queueCallback(e,this._element,this._config.animation)}hide(){if(!this.isShown()||l.trigger(this._element,_c).defaultPrevented)return;const e=()=>{this._element.classList.add(as),this._element.classList.remove(oe,re),l.trigger(this._element,mc)};this._element.classList.add(oe),this._queueCallback(e,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(re),super.dispose()}isShown(){return this._element.classList.contains(re)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=e;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=e;break}}if(e){this._clearTimeout();return}const s=t.relatedTarget;this._element===s||this._element.contains(s)||this._maybeScheduleHide()}_setListeners(){l.on(this._element,dc,t=>this._onInteraction(t,!0)),l.on(this._element,hc,t=>this._onInteraction(t,!1)),l.on(this._element,fc,t=>this._onInteraction(t,!0)),l.on(this._element,pc,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each(function(){const e=Ae.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}ge(Ae);B(Ae);const Tc=()=>{const n=document.createElement("div");return n.classList.add("modal"),n.setAttribute("tabindex",-1),n},jt=n=>{const t=document.createElement("div");return t.classList.add(n),t},ui=n=>{const t=document.createElement("button");return t.setAttribute("type","button"),t.addEventListener("click",()=>n()),t},yc=(n,t)=>{const e=jt("modal-header"),s=document.createElement("h5");s.innerText=n,e.appendChild(s);const i=ui(t);return i.classList.add("btn-close"),e.appendChild(i),e},wc=(n,t,e)=>{const s=jt("modal-footer"),i=document.createElement("button");i.classList.add("btn","btn-primary"),i.setAttribute("type","button"),i.innerText=n,i.addEventListener("click",()=>t()),s.appendChild(i);const r=ui(e);return r.classList.add("btn","btn-secondary"),r.innerText="Отмена",s.appendChild(r),s},Cc=(n,t,e,s,i)=>{const r=Tc(),o=jt("modal-dialog"),a=jt("modal-content"),c=yc(n,i);a.appendChild(c);const d=jt("modal-body");d.appendChild(e),a.appendChild(d);const u=wc(t,s,i);return a.appendChild(u),o.appendChild(a),r.appendChild(o),r},Oc=(n,t,e)=>{const s=document.createElement("p");return s.innerText=e,new Promise(i=>{let r;const c=Cc(n,t,s,()=>{r.hide(),i(!0)},()=>{r.hide(),i(!1)});r=new mt(c),r.show()})},ls=n=>{const t=document.createElement("i");return t.classList.add("bi",`bi-${n}`),t},Nc=(n,t,e="primary")=>{const s=document.createElement("button");return s.classList.add("btn",`btn-${e}`),s.setAttribute("type","button"),ls&&s.appendChild(ls(t)),s},Sc=(n,t)=>Nc(null,n,t),Dc=(n,t)=>{const e=t.split(".");let s=n;for(const i of e){if(!s)break;s=s[i]}return s||""},Lc=n=>{const t=document.createElement("th");return t.setAttribute("scope","col"),t.innerText=n,t},$c=n=>{if(!n||!Array.isArray(n)||n.length===0)throw new Error("Columns are not defined");const t=document.createElement("thead"),e=document.createElement("tr");return n.forEach(s=>e.appendChild(Lc(s))),t.appendChild(e),t},cs=n=>{const t=document.createElement("td");return t.innerText=n,t},Fe=(n,t,e,s)=>{const i=Sc(t,e);i.addEventListener("click",()=>s(n));const r=document.createElement("td");return r.appendChild(i),r},Ic=(n,t,e)=>{const s=document.createElement("tr");if(e!=null&&e.star){const i=n.star?"star-fill":"star";s.appendChild(Fe(n,i,"null",e.star))}return!t||!Array.isArray(t)?Object.values(n).forEach(i=>s.appendChild(cs(i))):t.forEach(i=>s.appendChild(cs(Dc(n,i)))),e&&(e.edit&&s.appendChild(Fe(n,"pencil-fill","warning",e.edit)),e.delete&&s.appendChild(Fe(n,"trash-fill","danger",e.delete))),s},Pc=(n,t,e)=>{if(!n||!Array.isArray(n))throw new Error("Data is not defined");const s=document.createElement("tbody");return n.forEach(i=>s.appendChild(Ic(i,t,e))),s},xc=n=>{const t=document.createElement("table");return t.classList.add("table","table-hover","table-sm"),t.appendChild($c(n)),t},Mc=(n,t,e,s)=>{const i=n.querySelector("tbody");i&&n.removeChild(i),n.appendChild(Pc(t,e,s))};class Rc{constructor(t,e,s,i){this.root=t,this.toggleStarCallback=e,this.editCallback=s,this.deleteCallback=i}render(){const t=["","№","Название","Превью","Описание","Плейлист","Категория","Группа","",""];this.keys=["id","name","image","description","playlistName","categoryName"],this.callbacks={star:this.toggleStarCallback,edit:this.editCallback,delete:this.deleteCallback},this.tableElement=xc(t);const e=document.createElement("div");e.classList.add("table-responsive"),e.appendChild(this.tableElement),this.root.appendChild(e)}update(t){const e=t.data.length>0?t.data:[{id:"Нет данных",name:"",playlistName:"",categoryName:""}];Mc(this.tableElement,e,this.keys,this.callbacks)}deleteQuestion(t=null){return Oc("Удаление","Удалить",`Удалить элемент '${t.id}'?`)}}class kc extends HTMLElement{constructor(){super();const t=this.toggleStar.bind(this),e=this.editVideo.bind(this),s=this.deleteVideo.bind(this);this.view=new Rc(this,t,e,s),this.model=new bi}connectedCallback(){this.view.render(),this.getAllVideos()}async getAllVideos(){await this.model.getAll(),this.view.update(this.model)}editVideo(t){window.location.href=`/pageForm?id=${t.id}`}toggleStar(t){this.model.toggleStar(t),this.view.update(this.model)}async deleteVideo(t){await this.view.deleteQuestion(t)&&(await this.model.delete(t),this.getAllVideos())}}customElements.define("videos-table",kc); diff --git a/dist/assets/page6-CVUz5E0R.js b/dist/assets/page6-CVUz5E0R.js deleted file mode 100644 index dd9427b..0000000 --- a/dist/assets/page6-CVUz5E0R.js +++ /dev/null @@ -1 +0,0 @@ -import{g as n,a as h,c as d,u as m,t as u,s as g}from"./toast-helper-Cn8ctBTk.js";/* empty css */const l="videos";class p{constructor(){this.element={},this.playlists=[],this.categories=[]}async getPlaylists(){this.playlists=[],this.playlists=await n("playlists")}async getCategories(){this.categories=[],this.categories=await n("categories")}async get(e){if(!e)throw new Error("Element id is not defined!");this.element=await h(l,e)}async create(){if(!this.element||Object.keys(this.element).length===0)throw new Error("Item is null or empty!");this.element=await d(l,this.element)}async update(){if(!this.element||Object.keys(this.element).length===0)throw new Error("Item is null or empty!");this.element=await m(l,this.element.id,this.element)}getValue(e){return this.element[e]||""}setValue(e,t){this.element[e]=t}}const y=()=>{document.querySelectorAll("form.needs-validation").forEach(e=>{e.setAttribute("novalidate",""),e.addEventListener("submit",t=>{t.preventDefault(),t.stopPropagation(),e.checkValidity()?e.classList.remove("was-validated"):e.classList.add("was-validated")})})},c=(a,e)=>{e.forEach(t=>{const s=document.createElement("option");s.value=t.id,s.innerText=t.name,a.appendChild(s)})},r=a=>a.getAttribute("id").replace("-","_");class v{constructor(e,t,s){this.root=e,this.saveCallback=t,this.backCallback=s}render(e){const t=document.getElementById("videos-form-template").content.cloneNode(!0);if(!t){console.error("Template not found!");return}console.debug("GOOD");const s=t.querySelector("form");s.addEventListener("submit",async()=>{s.checkValidity()&&this.saveCallback()}),this.inputs=t.querySelectorAll("input"),this.inputs.forEach(i=>{i.addEventListener("change",o=>{e.setValue(r(o.target),o.target.value)})}),this.playlistsSelector=t.getElementById("playlist"),this.playlistsSelector.addEventListener("change",i=>{e.setValue("playlistId",i.target.value)}),c(this.playlistsSelector,e.playlists),this.categoriesSelector=t.getElementById("category"),this.categoriesSelector.addEventListener("change",i=>{e.setValue("categoryId",i.target.value)}),c(this.categoriesSelector,e.categories),t.getElementById("btn-back").addEventListener("click",this.backCallback),this.root.appendChild(t),this.toasts=u(),y()}update(e){this.inputs.forEach(t=>{const s=t;s.value=e.getValue(r(t))}),this.playlistsSelector.value=e.element.playlistId||"",this.categoriesSelector.value=e.element.categoryId||""}successToast(){g(this.toasts,"Сохранение","Сохранение успешно завершено")}}class w extends HTMLElement{constructor(){super(),this.currentId=null;const e=this.save.bind(this),t=this.back.bind(this);this.view=new v(this,e,t),this.model=new p}async connectedCallback(){const e=new URLSearchParams(document.location.search);this.currentId=e.get("id")||null,console.log("FormElement connected");try{this.view.render(this.model),await this.model.getPlaylists(),await this.model.getCategories(),console.log("Playlists:",this.model.playlists),console.log("Categories:",this.model.categories),this.view.update(this.model),this.currentId&&await this.get()}catch(t){console.error("Error loading data:",t)}}async get(){this.currentId&&await this.model.get(this.currentId),this.view.update(this.model)}async save(){this.currentId?await this.model.update():await this.model.create(),this.view.successToast(),this.view.update(this.model)}back(){window.location.href="/pageAccount"}}customElements.define("videos-form",w); diff --git a/dist/assets/page6-TNsk-iOd.js b/dist/assets/page6-TNsk-iOd.js new file mode 100644 index 0000000..fd2f3eb --- /dev/null +++ b/dist/assets/page6-TNsk-iOd.js @@ -0,0 +1 @@ +import{g as n,a as h,c as d,u}from"./client-BDIKmhNV.js";/* empty css */const r="video";class m{constructor(){this.resetForNew(),this.playlists=[],this.categories=[],this.lastId=0}resetForNew(){this.element={id:"",name:"",image:"",description:"",playlistId:"",categoryId:""}}async getNextId(){try{const t=await n(r);return this.lastId=t.length>0?Math.max(...t.map(e=>parseInt(e.id,10)))+1:1,this.lastId}catch(t){return console.error("Error fetching last ID:",t),Date.now()}}async getPlaylists(){this.playlists=[],this.playlists=await n("playlist")}async getCategories(){this.categories=[],this.categories=await n("category")}getFullData(){var t,e;return{...this.element,playlistName:((t=this.playlists.find(i=>i.id===this.element.playlistId))==null?void 0:t.name)||"",categoryName:((e=this.categories.find(i=>i.id===this.element.categoryId))==null?void 0:e.name)||""}}async get(t){if(!t)throw new Error("Element id is not defined!");this.element=await h(r,t)}async create(){var e,i;if(!this.element||Object.keys(this.element).length===0)throw new Error("Объект для создания пуст");const t={...this.element,playlistId:this.element.playlistId||((e=this.playlists[0])==null?void 0:e.id),categoryId:this.element.categoryId||((i=this.categories[0])==null?void 0:i.id)};return this.element=await d(r,t),this.element}async update(){if(!this.element||Object.keys(this.element).length===0)throw new Error("Item is null or empty!");this.element=await u(r,this.element.id,this.element)}getValue(t){return this.element[t]||""}setValue(t,e){this.element[t]=e}}const y=()=>{document.querySelectorAll("form.needs-validation").forEach(t=>{t.setAttribute("novalidate",""),t.addEventListener("submit",e=>{e.preventDefault(),e.stopPropagation(),t.checkValidity()?t.classList.remove("was-validated"):t.classList.add("was-validated")})})},c=l=>l.getAttribute("id").replace("-","_");class g{constructor(t,e,i){this.root=t,this.saveCallback=e,this.backCallback=i,this.playlistsSelector=null,this.categoriesSelector=null,this.inputs=null}render(t){this.root.innerHTML="";const e=document.getElementById("videos-form-template");if(!e){console.error("Template not found!");return}const i=e.content.cloneNode(!0);this.root.appendChild(i),console.log("Model data when rendering:",{playlists:t.playlists,categories:t.categories,element:t.element}),this.form=this.root.querySelector("form"),this.inputs=this.root.querySelectorAll("input"),this.currentId=this.root.querySelector("id"),this.playlistsSelector=this.root.querySelector("#playlist"),this.categoriesSelector=this.root.querySelector("#category"),this.backButton=this.root.querySelector("#btn-back"),this.form&&this.form.addEventListener("submit",async s=>{s.preventDefault(),this.form.checkValidity()&&await this.saveCallback()}),this.inputs&&this.inputs.forEach(s=>{s.addEventListener("change",o=>{t.setValue(c(o.target),o.target.value)})}),this.playlistsSelector&&t.playlists.length>0&&(this.playlistsSelector.value=t.element.playlistId||t.playlists[0].id),this.playlistsSelector&&(this.playlistsSelector.addEventListener("change",s=>{t.setValue("playlistId",s.target.value)}),this.updateSelect(this.playlistsSelector,t.playlists,t.element.playlistId)),this.categoriesSelector&&(this.categoriesSelector.addEventListener("change",s=>{t.setValue("categoryId",s.target.value)}),this.updateSelect(this.categoriesSelector,t.categories,t.element.categoryId)),this.backButton&&this.backButton.addEventListener("click",this.backCallback),y(),this.update(t)}update(t){!t||!t.element||(this.inputs&&this.inputs.forEach(e=>{const i=c(e);e.value=t.getValue(i)||""}),this.playlistsSelector&&(this.playlistsSelector.value=t.element.playlistId||""),this.categoriesSelector&&(this.categoriesSelector.value=t.element.categoryId||""))}updateSelect(t,e,i){if(!t)return;const s=t.cloneNode(!1);Array.from(t.options).filter(a=>!a.value).forEach(a=>s.add(a.cloneNode(!0))),Array.isArray(e)&&e.forEach(a=>{s.add(new Option(a.name,a.id))}),i&&(s.value=i),t.replaceWith(s),t===this.playlistsSelector?this.playlistsSelector=s:t===this.categoriesSelector&&(this.categoriesSelector=s)}}class p extends HTMLElement{constructor(){super(),this.currentId=null,console.log("Initializing FormElement...");const t=this.save.bind(this),e=this.back.bind(this);this.view=new g(this,t,e),this.model=new m,console.log("Model initialized:",this.model)}async connectedCallback(){const t=new URLSearchParams(document.location.search);this.currentId=t.get("id")||null;try{if(await this.model.getPlaylists(),await this.model.getCategories(),!this.currentId){const e=await this.model.getNextId();this.model.resetForNew(),this.model.element.id=e.toString(),this.model.playlists.length>0&&(this.model.element.playlistId=this.model.playlists[0].id),this.model.categories.length>0&&(this.model.element.categoryId=this.model.categories[0].id)}this.view.render(this.model),this.currentId&&await this.model.get(this.currentId)}catch(e){console.error("Error:",e)}}async get(t){t&&await this.model.get(t),this.view.update(this.model)}async save(){try{if(!this.model.element.name||!this.model.element.playlistId||!this.model.element.categoryId){console.error("Заполните все обязательные поля");return}const t=this.currentId?await this.model.update():await this.model.create();if(!t||!t.id)throw new Error("Сервер не вернул созданную запись");this.currentId=t.id,console.log("Успешно сохранено:",t),window.location.href=`/pageForm?id=${t.id}`}catch(t){console.error("Ошибка сохранения:",t)}}back(){window.location.href="/pageAccount"}}customElements.define("videos-form",p); diff --git a/dist/assets/toast-helper-Cn8ctBTk.js b/dist/assets/toast-helper-Cn8ctBTk.js deleted file mode 100644 index 82feb36..0000000 --- a/dist/assets/toast-helper-Cn8ctBTk.js +++ /dev/null @@ -1,14 +0,0 @@ -(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&n(a)}).observe(document,{childList:!0,subtree:!0});function s(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=s(r);fetch(r.href,i)}})();const yo="http://localhost:3000/",Zt=async(t,e,s,n="GET",r=null)=>{try{const i=e?`?${e}`:"",a=s?`/${s}`:"",o={method:n};(n==="POST"||n==="PUT")&&r&&(o.headers={"Content-Type":"application/json;charset=utf-8"},o.body=JSON.stringify(r));const u=await fetch(`${yo}${t}${a}${i}`,o);if(!u.ok)throw new Error(`Response status: ${u==null?void 0:u.status}`);const c=await u.json();return console.debug(t,c),c}catch(i){throw i instanceof SyntaxError?new Error("There was a SyntaxError",i):new Error("There was an error",i)}},Dm=(t,e)=>Zt(t,e),Nm=(t,e)=>Zt(t,null,e),Mm=(t,e)=>Zt(t,null,null,"POST",e),Cm=(t,e,s)=>Zt(t,null,e,"PUT",s),km=(t,e)=>Zt(t,null,e,"DELETE");var K="top",Q="bottom",J="right",z="left",$s="auto",Mt=[K,Q,J,z],rt="start",wt="end",bi="clippingParents",Rn="viewport",ft="popper",wi="reference",Sn=Mt.reduce(function(t,e){return t.concat([e+"-"+rt,e+"-"+wt])},[]),Wn=[].concat(Mt,[$s]).reduce(function(t,e){return t.concat([e,e+"-"+rt,e+"-"+wt])},[]),Ti="beforeRead",Si="read",Oi="afterRead",Ai="beforeMain",Di="main",Ni="afterMain",Mi="beforeWrite",Ci="write",ki="afterWrite",Li=[Ti,Si,Oi,Ai,Di,Ni,Mi,Ci,ki];function ye(t){return t?(t.nodeName||"").toLowerCase():null}function ee(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function it(t){var e=ee(t).Element;return t instanceof e||t instanceof Element}function ne(t){var e=ee(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function Vn(t){if(typeof ShadowRoot>"u")return!1;var e=ee(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Eo(t){var e=t.state;Object.keys(e.elements).forEach(function(s){var n=e.styles[s]||{},r=e.attributes[s]||{},i=e.elements[s];!ne(i)||!ye(i)||(Object.assign(i.style,n),Object.keys(r).forEach(function(a){var o=r[a];o===!1?i.removeAttribute(a):i.setAttribute(a,o===!0?"":o)}))})}function bo(t){var e=t.state,s={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,s.popper),e.styles=s,e.elements.arrow&&Object.assign(e.elements.arrow.style,s.arrow),function(){Object.keys(e.elements).forEach(function(n){var r=e.elements[n],i=e.attributes[n]||{},a=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:s[n]),o=a.reduce(function(l,u){return l[u]="",l},{});!ne(r)||!ye(r)||(Object.assign(r.style,o),Object.keys(i).forEach(function(l){r.removeAttribute(l)}))})}}const Hn={name:"applyStyles",enabled:!0,phase:"write",fn:Eo,effect:bo,requires:["computeStyles"]};function ge(t){return t.split("-")[0]}var st=Math.max,Ds=Math.min,Tt=Math.round;function On(){var t=navigator.userAgentData;return t!=null&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function xi(){return!/^((?!chrome|android).)*safari/i.test(On())}function St(t,e,s){e===void 0&&(e=!1),s===void 0&&(s=!1);var n=t.getBoundingClientRect(),r=1,i=1;e&&ne(t)&&(r=t.offsetWidth>0&&Tt(n.width)/t.offsetWidth||1,i=t.offsetHeight>0&&Tt(n.height)/t.offsetHeight||1);var a=it(t)?ee(t):window,o=a.visualViewport,l=!xi()&&s,u=(n.left+(l&&o?o.offsetLeft:0))/r,c=(n.top+(l&&o?o.offsetTop:0))/i,g=n.width/r,v=n.height/i;return{width:g,height:v,top:c,right:u+g,bottom:c+v,left:u,x:u,y:c}}function Fn(t){var e=St(t),s=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-s)<=1&&(s=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:s,height:n}}function Ii(t,e){var s=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(s&&Vn(s)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function ke(t){return ee(t).getComputedStyle(t)}function wo(t){return["table","td","th"].indexOf(ye(t))>=0}function je(t){return((it(t)?t.ownerDocument:t.document)||window.document).documentElement}function Ys(t){return ye(t)==="html"?t:t.assignedSlot||t.parentNode||(Vn(t)?t.host:null)||je(t)}function xr(t){return!ne(t)||ke(t).position==="fixed"?null:t.offsetParent}function To(t){var e=/firefox/i.test(On()),s=/Trident/i.test(On());if(s&&ne(t)){var n=ke(t);if(n.position==="fixed")return null}var r=Ys(t);for(Vn(r)&&(r=r.host);ne(r)&&["html","body"].indexOf(ye(r))<0;){var i=ke(r);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||e&&i.willChange==="filter"||e&&i.filter&&i.filter!=="none")return r;r=r.parentNode}return null}function Xt(t){for(var e=ee(t),s=xr(t);s&&wo(s)&&ke(s).position==="static";)s=xr(s);return s&&(ye(s)==="html"||ye(s)==="body"&&ke(s).position==="static")?e:s||To(t)||e}function Un(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ft(t,e,s){return st(t,Ds(e,s))}function So(t,e,s){var n=Ft(t,e,s);return n>s?s:n}function Pi(){return{top:0,right:0,bottom:0,left:0}}function $i(t){return Object.assign({},Pi(),t)}function Yi(t,e){return e.reduce(function(s,n){return s[n]=t,s},{})}var Oo=function(e,s){return e=typeof e=="function"?e(Object.assign({},s.rects,{placement:s.placement})):e,$i(typeof e!="number"?e:Yi(e,Mt))};function Ao(t){var e,s=t.state,n=t.name,r=t.options,i=s.elements.arrow,a=s.modifiersData.popperOffsets,o=ge(s.placement),l=Un(o),u=[z,J].indexOf(o)>=0,c=u?"height":"width";if(!(!i||!a)){var g=Oo(r.padding,s),v=Fn(i),y=l==="y"?K:z,k=l==="y"?Q:J,b=s.rects.reference[c]+s.rects.reference[l]-a[l]-s.rects.popper[c],O=a[l]-s.rects.reference[l],L=Xt(i),Y=L?l==="y"?L.clientHeight||0:L.clientWidth||0:0,R=b/2-O/2,w=g[y],N=Y-v[c]-g[k],M=Y/2-v[c]/2+R,$=Ft(w,M,N),U=l;s.modifiersData[n]=(e={},e[U]=$,e.centerOffset=$-M,e)}}function Do(t){var e=t.state,s=t.options,n=s.element,r=n===void 0?"[data-popper-arrow]":n;r!=null&&(typeof r=="string"&&(r=e.elements.popper.querySelector(r),!r)||Ii(e.elements.popper,r)&&(e.elements.arrow=r))}const Ri={name:"arrow",enabled:!0,phase:"main",fn:Ao,effect:Do,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ot(t){return t.split("-")[1]}var No={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Mo(t,e){var s=t.x,n=t.y,r=e.devicePixelRatio||1;return{x:Tt(s*r)/r||0,y:Tt(n*r)/r||0}}function Ir(t){var e,s=t.popper,n=t.popperRect,r=t.placement,i=t.variation,a=t.offsets,o=t.position,l=t.gpuAcceleration,u=t.adaptive,c=t.roundOffsets,g=t.isFixed,v=a.x,y=v===void 0?0:v,k=a.y,b=k===void 0?0:k,O=typeof c=="function"?c({x:y,y:b}):{x:y,y:b};y=O.x,b=O.y;var L=a.hasOwnProperty("x"),Y=a.hasOwnProperty("y"),R=z,w=K,N=window;if(u){var M=Xt(s),$="clientHeight",U="clientWidth";if(M===ee(s)&&(M=je(s),ke(M).position!=="static"&&o==="absolute"&&($="scrollHeight",U="scrollWidth")),M=M,r===K||(r===z||r===J)&&i===wt){w=Q;var F=g&&M===N&&N.visualViewport?N.visualViewport.height:M[$];b-=F-n.height,b*=l?1:-1}if(r===z||(r===K||r===Q)&&i===wt){R=J;var V=g&&M===N&&N.visualViewport?N.visualViewport.width:M[U];y-=V-n.width,y*=l?1:-1}}var j=Object.assign({position:o},u&&No),ce=c===!0?Mo({x:y,y:b},ee(s)):{x:y,y:b};if(y=ce.x,b=ce.y,l){var B;return Object.assign({},j,(B={},B[w]=Y?"0":"",B[R]=L?"0":"",B.transform=(N.devicePixelRatio||1)<=1?"translate("+y+"px, "+b+"px)":"translate3d("+y+"px, "+b+"px, 0)",B))}return Object.assign({},j,(e={},e[w]=Y?b+"px":"",e[R]=L?y+"px":"",e.transform="",e))}function Co(t){var e=t.state,s=t.options,n=s.gpuAcceleration,r=n===void 0?!0:n,i=s.adaptive,a=i===void 0?!0:i,o=s.roundOffsets,l=o===void 0?!0:o,u={placement:ge(e.placement),variation:Ot(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:r,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Ir(Object.assign({},u,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Ir(Object.assign({},u,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const jn={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Co,data:{}};var hs={passive:!0};function ko(t){var e=t.state,s=t.instance,n=t.options,r=n.scroll,i=r===void 0?!0:r,a=n.resize,o=a===void 0?!0:a,l=ee(e.elements.popper),u=[].concat(e.scrollParents.reference,e.scrollParents.popper);return i&&u.forEach(function(c){c.addEventListener("scroll",s.update,hs)}),o&&l.addEventListener("resize",s.update,hs),function(){i&&u.forEach(function(c){c.removeEventListener("scroll",s.update,hs)}),o&&l.removeEventListener("resize",s.update,hs)}}const Gn={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:ko,data:{}};var Lo={left:"right",right:"left",bottom:"top",top:"bottom"};function bs(t){return t.replace(/left|right|bottom|top/g,function(e){return Lo[e]})}var xo={start:"end",end:"start"};function Pr(t){return t.replace(/start|end/g,function(e){return xo[e]})}function Bn(t){var e=ee(t),s=e.pageXOffset,n=e.pageYOffset;return{scrollLeft:s,scrollTop:n}}function Kn(t){return St(je(t)).left+Bn(t).scrollLeft}function Io(t,e){var s=ee(t),n=je(t),r=s.visualViewport,i=n.clientWidth,a=n.clientHeight,o=0,l=0;if(r){i=r.width,a=r.height;var u=xi();(u||!u&&e==="fixed")&&(o=r.offsetLeft,l=r.offsetTop)}return{width:i,height:a,x:o+Kn(t),y:l}}function Po(t){var e,s=je(t),n=Bn(t),r=(e=t.ownerDocument)==null?void 0:e.body,i=st(s.scrollWidth,s.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),a=st(s.scrollHeight,s.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),o=-n.scrollLeft+Kn(t),l=-n.scrollTop;return ke(r||s).direction==="rtl"&&(o+=st(s.clientWidth,r?r.clientWidth:0)-i),{width:i,height:a,x:o,y:l}}function zn(t){var e=ke(t),s=e.overflow,n=e.overflowX,r=e.overflowY;return/auto|scroll|overlay|hidden/.test(s+r+n)}function Wi(t){return["html","body","#document"].indexOf(ye(t))>=0?t.ownerDocument.body:ne(t)&&zn(t)?t:Wi(Ys(t))}function Ut(t,e){var s;e===void 0&&(e=[]);var n=Wi(t),r=n===((s=t.ownerDocument)==null?void 0:s.body),i=ee(n),a=r?[i].concat(i.visualViewport||[],zn(n)?n:[]):n,o=e.concat(a);return r?o:o.concat(Ut(Ys(a)))}function An(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function $o(t,e){var s=St(t,!1,e==="fixed");return s.top=s.top+t.clientTop,s.left=s.left+t.clientLeft,s.bottom=s.top+t.clientHeight,s.right=s.left+t.clientWidth,s.width=t.clientWidth,s.height=t.clientHeight,s.x=s.left,s.y=s.top,s}function $r(t,e,s){return e===Rn?An(Io(t,s)):it(e)?$o(e,s):An(Po(je(t)))}function Yo(t){var e=Ut(Ys(t)),s=["absolute","fixed"].indexOf(ke(t).position)>=0,n=s&&ne(t)?Xt(t):t;return it(n)?e.filter(function(r){return it(r)&&Ii(r,n)&&ye(r)!=="body"}):[]}function Ro(t,e,s,n){var r=e==="clippingParents"?Yo(t):[].concat(e),i=[].concat(r,[s]),a=i[0],o=i.reduce(function(l,u){var c=$r(t,u,n);return l.top=st(c.top,l.top),l.right=Ds(c.right,l.right),l.bottom=Ds(c.bottom,l.bottom),l.left=st(c.left,l.left),l},$r(t,a,n));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function Vi(t){var e=t.reference,s=t.element,n=t.placement,r=n?ge(n):null,i=n?Ot(n):null,a=e.x+e.width/2-s.width/2,o=e.y+e.height/2-s.height/2,l;switch(r){case K:l={x:a,y:e.y-s.height};break;case Q:l={x:a,y:e.y+e.height};break;case J:l={x:e.x+e.width,y:o};break;case z:l={x:e.x-s.width,y:o};break;default:l={x:e.x,y:e.y}}var u=r?Un(r):null;if(u!=null){var c=u==="y"?"height":"width";switch(i){case rt:l[u]=l[u]-(e[c]/2-s[c]/2);break;case wt:l[u]=l[u]+(e[c]/2-s[c]/2);break}}return l}function At(t,e){e===void 0&&(e={});var s=e,n=s.placement,r=n===void 0?t.placement:n,i=s.strategy,a=i===void 0?t.strategy:i,o=s.boundary,l=o===void 0?bi:o,u=s.rootBoundary,c=u===void 0?Rn:u,g=s.elementContext,v=g===void 0?ft:g,y=s.altBoundary,k=y===void 0?!1:y,b=s.padding,O=b===void 0?0:b,L=$i(typeof O!="number"?O:Yi(O,Mt)),Y=v===ft?wi:ft,R=t.rects.popper,w=t.elements[k?Y:v],N=Ro(it(w)?w:w.contextElement||je(t.elements.popper),l,c,a),M=St(t.elements.reference),$=Vi({reference:M,element:R,placement:r}),U=An(Object.assign({},R,$)),F=v===ft?U:M,V={top:N.top-F.top+L.top,bottom:F.bottom-N.bottom+L.bottom,left:N.left-F.left+L.left,right:F.right-N.right+L.right},j=t.modifiersData.offset;if(v===ft&&j){var ce=j[r];Object.keys(V).forEach(function(B){var Ke=[J,Q].indexOf(B)>=0?1:-1,ze=[K,Q].indexOf(B)>=0?"y":"x";V[B]+=ce[ze]*Ke})}return V}function Wo(t,e){e===void 0&&(e={});var s=e,n=s.placement,r=s.boundary,i=s.rootBoundary,a=s.padding,o=s.flipVariations,l=s.allowedAutoPlacements,u=l===void 0?Wn:l,c=Ot(n),g=c?o?Sn:Sn.filter(function(k){return Ot(k)===c}):Mt,v=g.filter(function(k){return u.indexOf(k)>=0});v.length===0&&(v=g);var y=v.reduce(function(k,b){return k[b]=At(t,{placement:b,boundary:r,rootBoundary:i,padding:a})[ge(b)],k},{});return Object.keys(y).sort(function(k,b){return y[k]-y[b]})}function Vo(t){if(ge(t)===$s)return[];var e=bs(t);return[Pr(t),e,Pr(e)]}function Ho(t){var e=t.state,s=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var r=s.mainAxis,i=r===void 0?!0:r,a=s.altAxis,o=a===void 0?!0:a,l=s.fallbackPlacements,u=s.padding,c=s.boundary,g=s.rootBoundary,v=s.altBoundary,y=s.flipVariations,k=y===void 0?!0:y,b=s.allowedAutoPlacements,O=e.options.placement,L=ge(O),Y=L===O,R=l||(Y||!k?[bs(O)]:Vo(O)),w=[O].concat(R).reduce(function(ct,$e){return ct.concat(ge($e)===$s?Wo(e,{placement:$e,boundary:c,rootBoundary:g,padding:u,flipVariations:k,allowedAutoPlacements:b}):$e)},[]),N=e.rects.reference,M=e.rects.popper,$=new Map,U=!0,F=w[0],V=0;V=0,ze=Ke?"width":"height",X=At(e,{placement:j,boundary:c,rootBoundary:g,altBoundary:v,padding:u}),ue=Ke?B?J:z:B?Q:K;N[ze]>M[ze]&&(ue=bs(ue));var os=bs(ue),qe=[];if(i&&qe.push(X[ce]<=0),o&&qe.push(X[ue]<=0,X[os]<=0),qe.every(function(ct){return ct})){F=j,U=!1;break}$.set(j,qe)}if(U)for(var ls=k?3:1,en=function($e){var Yt=w.find(function(us){var Ze=$.get(us);if(Ze)return Ze.slice(0,$e).every(function(tn){return tn})});if(Yt)return F=Yt,"break"},$t=ls;$t>0;$t--){var cs=en($t);if(cs==="break")break}e.placement!==F&&(e.modifiersData[n]._skip=!0,e.placement=F,e.reset=!0)}}const Hi={name:"flip",enabled:!0,phase:"main",fn:Ho,requiresIfExists:["offset"],data:{_skip:!1}};function Yr(t,e,s){return s===void 0&&(s={x:0,y:0}),{top:t.top-e.height-s.y,right:t.right-e.width+s.x,bottom:t.bottom-e.height+s.y,left:t.left-e.width-s.x}}function Rr(t){return[K,J,Q,z].some(function(e){return t[e]>=0})}function Fo(t){var e=t.state,s=t.name,n=e.rects.reference,r=e.rects.popper,i=e.modifiersData.preventOverflow,a=At(e,{elementContext:"reference"}),o=At(e,{altBoundary:!0}),l=Yr(a,n),u=Yr(o,r,i),c=Rr(l),g=Rr(u);e.modifiersData[s]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:g},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":g})}const Fi={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Fo};function Uo(t,e,s){var n=ge(t),r=[z,K].indexOf(n)>=0?-1:1,i=typeof s=="function"?s(Object.assign({},e,{placement:t})):s,a=i[0],o=i[1];return a=a||0,o=(o||0)*r,[z,J].indexOf(n)>=0?{x:o,y:a}:{x:a,y:o}}function jo(t){var e=t.state,s=t.options,n=t.name,r=s.offset,i=r===void 0?[0,0]:r,a=Wn.reduce(function(c,g){return c[g]=Uo(g,e.rects,i),c},{}),o=a[e.placement],l=o.x,u=o.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=u),e.modifiersData[n]=a}const Ui={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:jo};function Go(t){var e=t.state,s=t.name;e.modifiersData[s]=Vi({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const qn={name:"popperOffsets",enabled:!0,phase:"read",fn:Go,data:{}};function Bo(t){return t==="x"?"y":"x"}function Ko(t){var e=t.state,s=t.options,n=t.name,r=s.mainAxis,i=r===void 0?!0:r,a=s.altAxis,o=a===void 0?!1:a,l=s.boundary,u=s.rootBoundary,c=s.altBoundary,g=s.padding,v=s.tether,y=v===void 0?!0:v,k=s.tetherOffset,b=k===void 0?0:k,O=At(e,{boundary:l,rootBoundary:u,padding:g,altBoundary:c}),L=ge(e.placement),Y=Ot(e.placement),R=!Y,w=Un(L),N=Bo(w),M=e.modifiersData.popperOffsets,$=e.rects.reference,U=e.rects.popper,F=typeof b=="function"?b(Object.assign({},e.rects,{placement:e.placement})):b,V=typeof F=="number"?{mainAxis:F,altAxis:F}:Object.assign({mainAxis:0,altAxis:0},F),j=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,ce={x:0,y:0};if(M){if(i){var B,Ke=w==="y"?K:z,ze=w==="y"?Q:J,X=w==="y"?"height":"width",ue=M[w],os=ue+O[Ke],qe=ue-O[ze],ls=y?-U[X]/2:0,en=Y===rt?$[X]:U[X],$t=Y===rt?-U[X]:-$[X],cs=e.elements.arrow,ct=y&&cs?Fn(cs):{width:0,height:0},$e=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Pi(),Yt=$e[Ke],us=$e[ze],Ze=Ft(0,$[X],ct[X]),tn=R?$[X]/2-ls-Ze-Yt-V.mainAxis:en-Ze-Yt-V.mainAxis,fo=R?-$[X]/2+ls+Ze+us+V.mainAxis:$t+Ze+us+V.mainAxis,sn=e.elements.arrow&&Xt(e.elements.arrow),_o=sn?w==="y"?sn.clientTop||0:sn.clientLeft||0:0,Sr=(B=j==null?void 0:j[w])!=null?B:0,po=ue+tn-Sr-_o,mo=ue+fo-Sr,Or=Ft(y?Ds(os,po):os,ue,y?st(qe,mo):qe);M[w]=Or,ce[w]=Or-ue}if(o){var Ar,go=w==="x"?K:z,vo=w==="x"?Q:J,Xe=M[N],ds=N==="y"?"height":"width",Dr=Xe+O[go],Nr=Xe-O[vo],nn=[K,z].indexOf(L)!==-1,Mr=(Ar=j==null?void 0:j[N])!=null?Ar:0,Cr=nn?Dr:Xe-$[ds]-U[ds]-Mr+V.altAxis,kr=nn?Xe+$[ds]+U[ds]-Mr-V.altAxis:Nr,Lr=y&&nn?So(Cr,Xe,kr):Ft(y?Cr:Dr,Xe,y?kr:Nr);M[N]=Lr,ce[N]=Lr-Xe}e.modifiersData[n]=ce}}const ji={name:"preventOverflow",enabled:!0,phase:"main",fn:Ko,requiresIfExists:["offset"]};function zo(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function qo(t){return t===ee(t)||!ne(t)?Bn(t):zo(t)}function Zo(t){var e=t.getBoundingClientRect(),s=Tt(e.width)/t.offsetWidth||1,n=Tt(e.height)/t.offsetHeight||1;return s!==1||n!==1}function Xo(t,e,s){s===void 0&&(s=!1);var n=ne(e),r=ne(e)&&Zo(e),i=je(e),a=St(t,r,s),o={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!s)&&((ye(e)!=="body"||zn(i))&&(o=qo(e)),ne(e)?(l=St(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):i&&(l.x=Kn(i))),{x:a.left+o.scrollLeft-l.x,y:a.top+o.scrollTop-l.y,width:a.width,height:a.height}}function Qo(t){var e=new Map,s=new Set,n=[];t.forEach(function(i){e.set(i.name,i)});function r(i){s.add(i.name);var a=[].concat(i.requires||[],i.requiresIfExists||[]);a.forEach(function(o){if(!s.has(o)){var l=e.get(o);l&&r(l)}}),n.push(i)}return t.forEach(function(i){s.has(i.name)||r(i)}),n}function Jo(t){var e=Qo(t);return Li.reduce(function(s,n){return s.concat(e.filter(function(r){return r.phase===n}))},[])}function el(t){var e;return function(){return e||(e=new Promise(function(s){Promise.resolve().then(function(){e=void 0,s(t())})})),e}}function tl(t){var e=t.reduce(function(s,n){var r=s[n.name];return s[n.name]=r?Object.assign({},r,n,{options:Object.assign({},r.options,n.options),data:Object.assign({},r.data,n.data)}):n,s},{});return Object.keys(e).map(function(s){return e[s]})}var Wr={placement:"bottom",modifiers:[],strategy:"absolute"};function Vr(){for(var t=arguments.length,e=new Array(t),s=0;s(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,(e,s)=>`#${CSS.escape(s)}`)),t),ll=t=>t==null?`${t}`:Object.prototype.toString.call(t).match(/\s([a-z]+)/i)[1].toLowerCase(),cl=t=>{do t+=Math.floor(Math.random()*al);while(document.getElementById(t));return t},ul=t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:s}=window.getComputedStyle(t);const n=Number.parseFloat(e),r=Number.parseFloat(s);return!n&&!r?0:(e=e.split(",")[0],s=s.split(",")[0],(Number.parseFloat(e)+Number.parseFloat(s))*ol)},Ki=t=>{t.dispatchEvent(new Event(Dn))},De=t=>!t||typeof t!="object"?!1:(typeof t.jquery<"u"&&(t=t[0]),typeof t.nodeType<"u"),He=t=>De(t)?t.jquery?t[0]:t:typeof t=="string"&&t.length>0?document.querySelector(Bi(t)):null,Ct=t=>{if(!De(t)||t.getClientRects().length===0)return!1;const e=getComputedStyle(t).getPropertyValue("visibility")==="visible",s=t.closest("details:not([open])");if(!s)return e;if(s!==t){const n=t.closest("summary");if(n&&n.parentNode!==s||n===null)return!1}return e},Fe=t=>!t||t.nodeType!==Node.ELEMENT_NODE||t.classList.contains("disabled")?!0:typeof t.disabled<"u"?t.disabled:t.hasAttribute("disabled")&&t.getAttribute("disabled")!=="false",zi=t=>{if(!document.documentElement.attachShadow)return null;if(typeof t.getRootNode=="function"){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?zi(t.parentNode):null},Ns=()=>{},Qt=t=>{t.offsetHeight},qi=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,an=[],dl=t=>{document.readyState==="loading"?(an.length||document.addEventListener("DOMContentLoaded",()=>{for(const e of an)e()}),an.push(t)):t()},re=()=>document.documentElement.dir==="rtl",ae=t=>{dl(()=>{const e=qi();if(e){const s=t.NAME,n=e.fn[s];e.fn[s]=t.jQueryInterface,e.fn[s].Constructor=t,e.fn[s].noConflict=()=>(e.fn[s]=n,t.jQueryInterface)}})},Z=(t,e=[],s=t)=>typeof t=="function"?t(...e):s,Zi=(t,e,s=!0)=>{if(!s){Z(t);return}const r=ul(e)+5;let i=!1;const a=({target:o})=>{o===e&&(i=!0,e.removeEventListener(Dn,a),Z(t))};e.addEventListener(Dn,a),setTimeout(()=>{i||Ki(e)},r)},Xn=(t,e,s,n)=>{const r=t.length;let i=t.indexOf(e);return i===-1?!s&&n?t[r-1]:t[0]:(i+=s?1:-1,n&&(i=(i+r)%r),t[Math.max(0,Math.min(i,r-1))])},hl=/[^.]*(?=\..*)\.|.*/,fl=/\..*/,_l=/::\d+$/,on={};let Hr=1;const Xi={mouseenter:"mouseover",mouseleave:"mouseout"},pl=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function Qi(t,e){return e&&`${e}::${Hr++}`||t.uidEvent||Hr++}function Ji(t){const e=Qi(t);return t.uidEvent=e,on[e]=on[e]||{},on[e]}function ml(t,e){return function s(n){return Qn(n,{delegateTarget:t}),s.oneOff&&d.off(t,n.type,e),e.apply(t,[n])}}function gl(t,e,s){return function n(r){const i=t.querySelectorAll(e);for(let{target:a}=r;a&&a!==this;a=a.parentNode)for(const o of i)if(o===a)return Qn(r,{delegateTarget:a}),n.oneOff&&d.off(t,r.type,e,s),s.apply(a,[r])}}function ea(t,e,s=null){return Object.values(t).find(n=>n.callable===e&&n.delegationSelector===s)}function ta(t,e,s){const n=typeof e=="string",r=n?s:e||s;let i=sa(t);return pl.has(i)||(i=t),[n,r,i]}function Fr(t,e,s,n,r){if(typeof e!="string"||!t)return;let[i,a,o]=ta(e,s,n);e in Xi&&(a=(k=>function(b){if(!b.relatedTarget||b.relatedTarget!==b.delegateTarget&&!b.delegateTarget.contains(b.relatedTarget))return k.call(this,b)})(a));const l=Ji(t),u=l[o]||(l[o]={}),c=ea(u,a,i?s:null);if(c){c.oneOff=c.oneOff&&r;return}const g=Qi(a,e.replace(hl,"")),v=i?gl(t,s,a):ml(t,a);v.delegationSelector=i?s:null,v.callable=a,v.oneOff=r,v.uidEvent=g,u[g]=v,t.addEventListener(o,v,i)}function Nn(t,e,s,n,r){const i=ea(e[s],n,r);i&&(t.removeEventListener(s,i,!!r),delete e[s][i.uidEvent])}function vl(t,e,s,n){const r=e[s]||{};for(const[i,a]of Object.entries(r))i.includes(n)&&Nn(t,e,s,a.callable,a.delegationSelector)}function sa(t){return t=t.replace(fl,""),Xi[t]||t}const d={on(t,e,s,n){Fr(t,e,s,n,!1)},one(t,e,s,n){Fr(t,e,s,n,!0)},off(t,e,s,n){if(typeof e!="string"||!t)return;const[r,i,a]=ta(e,s,n),o=a!==e,l=Ji(t),u=l[a]||{},c=e.startsWith(".");if(typeof i<"u"){if(!Object.keys(u).length)return;Nn(t,l,a,i,r?s:null);return}if(c)for(const g of Object.keys(l))vl(t,l,g,e.slice(1));for(const[g,v]of Object.entries(u)){const y=g.replace(_l,"");(!o||e.includes(y))&&Nn(t,l,a,v.callable,v.delegationSelector)}},trigger(t,e,s){if(typeof e!="string"||!t)return null;const n=qi(),r=sa(e),i=e!==r;let a=null,o=!0,l=!0,u=!1;i&&n&&(a=n.Event(e,s),n(t).trigger(a),o=!a.isPropagationStopped(),l=!a.isImmediatePropagationStopped(),u=a.isDefaultPrevented());const c=Qn(new Event(e,{bubbles:o,cancelable:!0}),s);return u&&c.preventDefault(),l&&t.dispatchEvent(c),c.defaultPrevented&&a&&a.preventDefault(),c}};function Qn(t,e={}){for(const[s,n]of Object.entries(e))try{t[s]=n}catch{Object.defineProperty(t,s,{configurable:!0,get(){return n}})}return t}function Ur(t){if(t==="true")return!0;if(t==="false")return!1;if(t===Number(t).toString())return Number(t);if(t===""||t==="null")return null;if(typeof t!="string")return t;try{return JSON.parse(decodeURIComponent(t))}catch{return t}}function ln(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const Ne={setDataAttribute(t,e,s){t.setAttribute(`data-bs-${ln(e)}`,s)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${ln(e)}`)},getDataAttributes(t){if(!t)return{};const e={},s=Object.keys(t.dataset).filter(n=>n.startsWith("bs")&&!n.startsWith("bsConfig"));for(const n of s){let r=n.replace(/^bs/,"");r=r.charAt(0).toLowerCase()+r.slice(1,r.length),e[r]=Ur(t.dataset[n])}return e},getDataAttribute(t,e){return Ur(t.getAttribute(`data-bs-${ln(e)}`))}};class Jt{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,s){const n=De(s)?Ne.getDataAttribute(s,"config"):{};return{...this.constructor.Default,...typeof n=="object"?n:{},...De(s)?Ne.getDataAttributes(s):{},...typeof e=="object"?e:{}}}_typeCheckConfig(e,s=this.constructor.DefaultType){for(const[n,r]of Object.entries(s)){const i=e[n],a=De(i)?"element":ll(i);if(!new RegExp(r).test(a))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${r}".`)}}}const yl="5.3.3";class _e extends Jt{constructor(e,s){super(),e=He(e),e&&(this._element=e,this._config=this._getConfig(s),rn.set(this._element,this.constructor.DATA_KEY,this))}dispose(){rn.remove(this._element,this.constructor.DATA_KEY),d.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,s,n=!0){Zi(e,s,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return rn.get(He(e),this.DATA_KEY)}static getOrCreateInstance(e,s={}){return this.getInstance(e)||new this(e,typeof s=="object"?s:null)}static get VERSION(){return yl}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const cn=t=>{let e=t.getAttribute("data-bs-target");if(!e||e==="#"){let s=t.getAttribute("href");if(!s||!s.includes("#")&&!s.startsWith("."))return null;s.includes("#")&&!s.startsWith("#")&&(s=`#${s.split("#")[1]}`),e=s&&s!=="#"?s.trim():null}return e?e.split(",").map(s=>Bi(s)).join(","):null},m={find(t,e=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(e,t))},findOne(t,e=document.documentElement){return Element.prototype.querySelector.call(e,t)},children(t,e){return[].concat(...t.children).filter(s=>s.matches(e))},parents(t,e){const s=[];let n=t.parentNode.closest(e);for(;n;)s.push(n),n=n.parentNode.closest(e);return s},prev(t,e){let s=t.previousElementSibling;for(;s;){if(s.matches(e))return[s];s=s.previousElementSibling}return[]},next(t,e){let s=t.nextElementSibling;for(;s;){if(s.matches(e))return[s];s=s.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(s=>`${s}:not([tabindex^="-"])`).join(",");return this.find(e,t).filter(s=>!Fe(s)&&Ct(s))},getSelectorFromElement(t){const e=cn(t);return e&&m.findOne(e)?e:null},getElementFromSelector(t){const e=cn(t);return e?m.findOne(e):null},getMultipleElementsFromSelector(t){const e=cn(t);return e?m.find(e):[]}},Ws=(t,e="hide")=>{const s=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;d.on(document,s,`[data-bs-dismiss="${n}"]`,function(r){if(["A","AREA"].includes(this.tagName)&&r.preventDefault(),Fe(this))return;const i=m.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(i)[e]()})},El="alert",bl="bs.alert",na=`.${bl}`,wl=`close${na}`,Tl=`closed${na}`,Sl="fade",Ol="show";class Vs extends _e{static get NAME(){return El}close(){if(d.trigger(this._element,wl).defaultPrevented)return;this._element.classList.remove(Ol);const s=this._element.classList.contains(Sl);this._queueCallback(()=>this._destroyElement(),this._element,s)}_destroyElement(){this._element.remove(),d.trigger(this._element,Tl),this.dispose()}static jQueryInterface(e){return this.each(function(){const s=Vs.getOrCreateInstance(this);if(typeof e=="string"){if(s[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);s[e](this)}})}}Ws(Vs,"close");ae(Vs);const Al="button",Dl="bs.button",Nl=`.${Dl}`,Ml=".data-api",Cl="active",jr='[data-bs-toggle="button"]',kl=`click${Nl}${Ml}`;class Hs extends _e{static get NAME(){return Al}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(Cl))}static jQueryInterface(e){return this.each(function(){const s=Hs.getOrCreateInstance(this);e==="toggle"&&s[e]()})}}d.on(document,kl,jr,t=>{t.preventDefault();const e=t.target.closest(jr);Hs.getOrCreateInstance(e).toggle()});ae(Hs);const Ll="swipe",kt=".bs.swipe",xl=`touchstart${kt}`,Il=`touchmove${kt}`,Pl=`touchend${kt}`,$l=`pointerdown${kt}`,Yl=`pointerup${kt}`,Rl="touch",Wl="pen",Vl="pointer-event",Hl=40,Fl={endCallback:null,leftCallback:null,rightCallback:null},Ul={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Ms extends Jt{constructor(e,s){super(),this._element=e,!(!e||!Ms.isSupported())&&(this._config=this._getConfig(s),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Fl}static get DefaultType(){return Ul}static get NAME(){return Ll}dispose(){d.off(this._element,kt)}_start(e){if(!this._supportPointerEvents){this._deltaX=e.touches[0].clientX;return}this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX)}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),Z(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=Hl)return;const s=e/this._deltaX;this._deltaX=0,s&&Z(s>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(d.on(this._element,$l,e=>this._start(e)),d.on(this._element,Yl,e=>this._end(e)),this._element.classList.add(Vl)):(d.on(this._element,xl,e=>this._start(e)),d.on(this._element,Il,e=>this._move(e)),d.on(this._element,Pl,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&(e.pointerType===Wl||e.pointerType===Rl)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const jl="carousel",Gl="bs.carousel",Ge=`.${Gl}`,ra=".data-api",Bl="ArrowLeft",Kl="ArrowRight",zl=500,Rt="next",ut="prev",_t="left",ws="right",ql=`slide${Ge}`,un=`slid${Ge}`,Zl=`keydown${Ge}`,Xl=`mouseenter${Ge}`,Ql=`mouseleave${Ge}`,Jl=`dragstart${Ge}`,ec=`load${Ge}${ra}`,tc=`click${Ge}${ra}`,ia="carousel",fs="active",sc="slide",nc="carousel-item-end",rc="carousel-item-start",ic="carousel-item-next",ac="carousel-item-prev",aa=".active",oa=".carousel-item",oc=aa+oa,lc=".carousel-item img",cc=".carousel-indicators",uc="[data-bs-slide], [data-bs-slide-to]",dc='[data-bs-ride="carousel"]',hc={[Bl]:ws,[Kl]:_t},fc={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},_c={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class es extends _e{constructor(e,s){super(e,s),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=m.findOne(cc,this._element),this._addEventListeners(),this._config.ride===ia&&this.cycle()}static get Default(){return fc}static get DefaultType(){return _c}static get NAME(){return jl}next(){this._slide(Rt)}nextWhenVisible(){!document.hidden&&Ct(this._element)&&this.next()}prev(){this._slide(ut)}pause(){this._isSliding&&Ki(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){d.one(this._element,un,()=>this.cycle());return}this.cycle()}}to(e){const s=this._getItems();if(e>s.length-1||e<0)return;if(this._isSliding){d.one(this._element,un,()=>this.to(e));return}const n=this._getItemIndex(this._getActive());if(n===e)return;const r=e>n?Rt:ut;this._slide(r,s[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&d.on(this._element,Zl,e=>this._keydown(e)),this._config.pause==="hover"&&(d.on(this._element,Xl,()=>this.pause()),d.on(this._element,Ql,()=>this._maybeEnableCycle())),this._config.touch&&Ms.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const n of m.find(lc,this._element))d.on(n,Jl,r=>r.preventDefault());const s={leftCallback:()=>this._slide(this._directionToOrder(_t)),rightCallback:()=>this._slide(this._directionToOrder(ws)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),zl+this._config.interval))}};this._swipeHelper=new Ms(this._element,s)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const s=hc[e.key];s&&(e.preventDefault(),this._slide(this._directionToOrder(s)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const s=m.findOne(aa,this._indicatorsElement);s.classList.remove(fs),s.removeAttribute("aria-current");const n=m.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add(fs),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const s=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=s||this._config.defaultInterval}_slide(e,s=null){if(this._isSliding)return;const n=this._getActive(),r=e===Rt,i=s||Xn(this._getItems(),n,r,this._config.wrap);if(i===n)return;const a=this._getItemIndex(i),o=y=>d.trigger(this._element,y,{relatedTarget:i,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:a});if(o(ql).defaultPrevented||!n||!i)return;const u=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(a),this._activeElement=i;const c=r?rc:nc,g=r?ic:ac;i.classList.add(g),Qt(i),n.classList.add(c),i.classList.add(c);const v=()=>{i.classList.remove(c,g),i.classList.add(fs),n.classList.remove(fs,g,c),this._isSliding=!1,o(un)};this._queueCallback(v,n,this._isAnimated()),u&&this.cycle()}_isAnimated(){return this._element.classList.contains(sc)}_getActive(){return m.findOne(oc,this._element)}_getItems(){return m.find(oa,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return re()?e===_t?ut:Rt:e===_t?Rt:ut}_orderToDirection(e){return re()?e===ut?_t:ws:e===ut?ws:_t}static jQueryInterface(e){return this.each(function(){const s=es.getOrCreateInstance(this,e);if(typeof e=="number"){s.to(e);return}if(typeof e=="string"){if(s[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);s[e]()}})}}d.on(document,tc,uc,function(t){const e=m.getElementFromSelector(this);if(!e||!e.classList.contains(ia))return;t.preventDefault();const s=es.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");if(n){s.to(n),s._maybeEnableCycle();return}if(Ne.getDataAttribute(this,"slide")==="next"){s.next(),s._maybeEnableCycle();return}s.prev(),s._maybeEnableCycle()});d.on(window,ec,()=>{const t=m.find(dc);for(const e of t)es.getOrCreateInstance(e)});ae(es);const pc="collapse",mc="bs.collapse",ts=`.${mc}`,gc=".data-api",vc=`show${ts}`,yc=`shown${ts}`,Ec=`hide${ts}`,bc=`hidden${ts}`,wc=`click${ts}${gc}`,dn="show",gt="collapse",_s="collapsing",Tc="collapsed",Sc=`:scope .${gt} .${gt}`,Oc="collapse-horizontal",Ac="width",Dc="height",Nc=".collapse.show, .collapse.collapsing",Mn='[data-bs-toggle="collapse"]',Mc={parent:null,toggle:!0},Cc={parent:"(null|element)",toggle:"boolean"};class Gt extends _e{constructor(e,s){super(e,s),this._isTransitioning=!1,this._triggerArray=[];const n=m.find(Mn);for(const r of n){const i=m.getSelectorFromElement(r),a=m.find(i).filter(o=>o===this._element);i!==null&&a.length&&this._triggerArray.push(r)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Mc}static get DefaultType(){return Cc}static get NAME(){return pc}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(Nc).filter(o=>o!==this._element).map(o=>Gt.getOrCreateInstance(o,{toggle:!1}))),e.length&&e[0]._isTransitioning||d.trigger(this._element,vc).defaultPrevented)return;for(const o of e)o.hide();const n=this._getDimension();this._element.classList.remove(gt),this._element.classList.add(_s),this._element.style[n]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const r=()=>{this._isTransitioning=!1,this._element.classList.remove(_s),this._element.classList.add(gt,dn),this._element.style[n]="",d.trigger(this._element,yc)},a=`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback(r,this._element,!0),this._element.style[n]=`${this._element[a]}px`}hide(){if(this._isTransitioning||!this._isShown()||d.trigger(this._element,Ec).defaultPrevented)return;const s=this._getDimension();this._element.style[s]=`${this._element.getBoundingClientRect()[s]}px`,Qt(this._element),this._element.classList.add(_s),this._element.classList.remove(gt,dn);for(const r of this._triggerArray){const i=m.getElementFromSelector(r);i&&!this._isShown(i)&&this._addAriaAndCollapsedClass([r],!1)}this._isTransitioning=!0;const n=()=>{this._isTransitioning=!1,this._element.classList.remove(_s),this._element.classList.add(gt),d.trigger(this._element,bc)};this._element.style[s]="",this._queueCallback(n,this._element,!0)}_isShown(e=this._element){return e.classList.contains(dn)}_configAfterMerge(e){return e.toggle=!!e.toggle,e.parent=He(e.parent),e}_getDimension(){return this._element.classList.contains(Oc)?Ac:Dc}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(Mn);for(const s of e){const n=m.getElementFromSelector(s);n&&this._addAriaAndCollapsedClass([s],this._isShown(n))}}_getFirstLevelChildren(e){const s=m.find(Sc,this._config.parent);return m.find(e,this._config.parent).filter(n=>!s.includes(n))}_addAriaAndCollapsedClass(e,s){if(e.length)for(const n of e)n.classList.toggle(Tc,!s),n.setAttribute("aria-expanded",s)}static jQueryInterface(e){const s={};return typeof e=="string"&&/show|hide/.test(e)&&(s.toggle=!1),this.each(function(){const n=Gt.getOrCreateInstance(this,s);if(typeof e=="string"){if(typeof n[e]>"u")throw new TypeError(`No method named "${e}"`);n[e]()}})}}d.on(document,wc,Mn,function(t){(t.target.tagName==="A"||t.delegateTarget&&t.delegateTarget.tagName==="A")&&t.preventDefault();for(const e of m.getMultipleElementsFromSelector(this))Gt.getOrCreateInstance(e,{toggle:!1}).toggle()});ae(Gt);const Gr="dropdown",kc="bs.dropdown",at=`.${kc}`,Jn=".data-api",Lc="Escape",Br="Tab",xc="ArrowUp",Kr="ArrowDown",Ic=2,Pc=`hide${at}`,$c=`hidden${at}`,Yc=`show${at}`,Rc=`shown${at}`,la=`click${at}${Jn}`,ca=`keydown${at}${Jn}`,Wc=`keyup${at}${Jn}`,pt="show",Vc="dropup",Hc="dropend",Fc="dropstart",Uc="dropup-center",jc="dropdown-center",Je='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Gc=`${Je}.${pt}`,Ts=".dropdown-menu",Bc=".navbar",Kc=".navbar-nav",zc=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",qc=re()?"top-end":"top-start",Zc=re()?"top-start":"top-end",Xc=re()?"bottom-end":"bottom-start",Qc=re()?"bottom-start":"bottom-end",Jc=re()?"left-start":"right-start",eu=re()?"right-start":"left-start",tu="top",su="bottom",nu={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},ru={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class ve extends _e{constructor(e,s){super(e,s),this._popper=null,this._parent=this._element.parentNode,this._menu=m.next(this._element,Ts)[0]||m.prev(this._element,Ts)[0]||m.findOne(Ts,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return nu}static get DefaultType(){return ru}static get NAME(){return Gr}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Fe(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!d.trigger(this._element,Yc,e).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(Kc))for(const n of[].concat(...document.body.children))d.on(n,"mouseover",Ns);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(pt),this._element.classList.add(pt),d.trigger(this._element,Rc,e)}}hide(){if(Fe(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(e){if(!d.trigger(this._element,Pc,e).defaultPrevented){if("ontouchstart"in document.documentElement)for(const n of[].concat(...document.body.children))d.off(n,"mouseover",Ns);this._popper&&this._popper.destroy(),this._menu.classList.remove(pt),this._element.classList.remove(pt),this._element.setAttribute("aria-expanded","false"),Ne.removeDataAttribute(this._menu,"popper"),d.trigger(this._element,$c,e)}}_getConfig(e){if(e=super._getConfig(e),typeof e.reference=="object"&&!De(e.reference)&&typeof e.reference.getBoundingClientRect!="function")throw new TypeError(`${Gr.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createPopper(){if(typeof Gi>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;this._config.reference==="parent"?e=this._parent:De(this._config.reference)?e=He(this._config.reference):typeof this._config.reference=="object"&&(e=this._config.reference);const s=this._getPopperConfig();this._popper=Zn(e,this._menu,s)}_isShown(){return this._menu.classList.contains(pt)}_getPlacement(){const e=this._parent;if(e.classList.contains(Hc))return Jc;if(e.classList.contains(Fc))return eu;if(e.classList.contains(Uc))return tu;if(e.classList.contains(jc))return su;const s=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return e.classList.contains(Vc)?s?Zc:qc:s?Qc:Xc}_detectNavbar(){return this._element.closest(Bc)!==null}_getOffset(){const{offset:e}=this._config;return typeof e=="string"?e.split(",").map(s=>Number.parseInt(s,10)):typeof e=="function"?s=>e(s,this._element):e}_getPopperConfig(){const e={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(Ne.setDataAttribute(this._menu,"popper","static"),e.modifiers=[{name:"applyStyles",enabled:!1}]),{...e,...Z(this._config.popperConfig,[e])}}_selectMenuItem({key:e,target:s}){const n=m.find(zc,this._menu).filter(r=>Ct(r));n.length&&Xn(n,s,e===Kr,!n.includes(s)).focus()}static jQueryInterface(e){return this.each(function(){const s=ve.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof s[e]>"u")throw new TypeError(`No method named "${e}"`);s[e]()}})}static clearMenus(e){if(e.button===Ic||e.type==="keyup"&&e.key!==Br)return;const s=m.find(Gc);for(const n of s){const r=ve.getInstance(n);if(!r||r._config.autoClose===!1)continue;const i=e.composedPath(),a=i.includes(r._menu);if(i.includes(r._element)||r._config.autoClose==="inside"&&!a||r._config.autoClose==="outside"&&a||r._menu.contains(e.target)&&(e.type==="keyup"&&e.key===Br||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const o={relatedTarget:r._element};e.type==="click"&&(o.clickEvent=e),r._completeHide(o)}}static dataApiKeydownHandler(e){const s=/input|textarea/i.test(e.target.tagName),n=e.key===Lc,r=[xc,Kr].includes(e.key);if(!r&&!n||s&&!n)return;e.preventDefault();const i=this.matches(Je)?this:m.prev(this,Je)[0]||m.next(this,Je)[0]||m.findOne(Je,e.delegateTarget.parentNode),a=ve.getOrCreateInstance(i);if(r){e.stopPropagation(),a.show(),a._selectMenuItem(e);return}a._isShown()&&(e.stopPropagation(),a.hide(),i.focus())}}d.on(document,ca,Je,ve.dataApiKeydownHandler);d.on(document,ca,Ts,ve.dataApiKeydownHandler);d.on(document,la,ve.clearMenus);d.on(document,Wc,ve.clearMenus);d.on(document,la,Je,function(t){t.preventDefault(),ve.getOrCreateInstance(this).toggle()});ae(ve);const ua="backdrop",iu="fade",zr="show",qr=`mousedown.bs.${ua}`,au={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},ou={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class da extends Jt{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return au}static get DefaultType(){return ou}static get NAME(){return ua}show(e){if(!this._config.isVisible){Z(e);return}this._append();const s=this._getElement();this._config.isAnimated&&Qt(s),s.classList.add(zr),this._emulateAnimation(()=>{Z(e)})}hide(e){if(!this._config.isVisible){Z(e);return}this._getElement().classList.remove(zr),this._emulateAnimation(()=>{this.dispose(),Z(e)})}dispose(){this._isAppended&&(d.off(this._element,qr),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add(iu),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=He(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),d.on(e,qr,()=>{Z(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(e){Zi(e,this._getElement(),this._config.isAnimated)}}const lu="focustrap",cu="bs.focustrap",Cs=`.${cu}`,uu=`focusin${Cs}`,du=`keydown.tab${Cs}`,hu="Tab",fu="forward",Zr="backward",_u={autofocus:!0,trapElement:null},pu={autofocus:"boolean",trapElement:"element"};class ha extends Jt{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return _u}static get DefaultType(){return pu}static get NAME(){return lu}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),d.off(document,Cs),d.on(document,uu,e=>this._handleFocusin(e)),d.on(document,du,e=>this._handleKeydown(e)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,d.off(document,Cs))}_handleFocusin(e){const{trapElement:s}=this._config;if(e.target===document||e.target===s||s.contains(e.target))return;const n=m.focusableChildren(s);n.length===0?s.focus():this._lastTabNavDirection===Zr?n[n.length-1].focus():n[0].focus()}_handleKeydown(e){e.key===hu&&(this._lastTabNavDirection=e.shiftKey?Zr:fu)}}const Xr=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Qr=".sticky-top",ps="padding-right",Jr="margin-right";class Cn{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,ps,s=>s+e),this._setElementAttributes(Xr,ps,s=>s+e),this._setElementAttributes(Qr,Jr,s=>s-e)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,ps),this._resetElementAttributes(Xr,ps),this._resetElementAttributes(Qr,Jr)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,s,n){const r=this.getWidth(),i=a=>{if(a!==this._element&&window.innerWidth>a.clientWidth+r)return;this._saveInitialAttribute(a,s);const o=window.getComputedStyle(a).getPropertyValue(s);a.style.setProperty(s,`${n(Number.parseFloat(o))}px`)};this._applyManipulationCallback(e,i)}_saveInitialAttribute(e,s){const n=e.style.getPropertyValue(s);n&&Ne.setDataAttribute(e,s,n)}_resetElementAttributes(e,s){const n=r=>{const i=Ne.getDataAttribute(r,s);if(i===null){r.style.removeProperty(s);return}Ne.removeDataAttribute(r,s),r.style.setProperty(s,i)};this._applyManipulationCallback(e,n)}_applyManipulationCallback(e,s){if(De(e)){s(e);return}for(const n of m.find(e,this._element))s(n)}}const mu="modal",gu="bs.modal",ie=`.${gu}`,vu=".data-api",yu="Escape",Eu=`hide${ie}`,bu=`hidePrevented${ie}`,fa=`hidden${ie}`,_a=`show${ie}`,wu=`shown${ie}`,Tu=`resize${ie}`,Su=`click.dismiss${ie}`,Ou=`mousedown.dismiss${ie}`,Au=`keydown.dismiss${ie}`,Du=`click${ie}${vu}`,ei="modal-open",Nu="fade",ti="show",hn="modal-static",Mu=".modal.show",Cu=".modal-dialog",ku=".modal-body",Lu='[data-bs-toggle="modal"]',xu={backdrop:!0,focus:!0,keyboard:!0},Iu={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Dt extends _e{constructor(e,s){super(e,s),this._dialog=m.findOne(Cu,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Cn,this._addEventListeners()}static get Default(){return xu}static get DefaultType(){return Iu}static get NAME(){return mu}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||this._isTransitioning||d.trigger(this._element,_a,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(ei),this._adjustDialog(),this._backdrop.show(()=>this._showElement(e)))}hide(){!this._isShown||this._isTransitioning||d.trigger(this._element,Eu).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(ti),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){d.off(window,ie),d.off(this._dialog,ie),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new da({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new ha({trapElement:this._element})}_showElement(e){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const s=m.findOne(ku,this._dialog);s&&(s.scrollTop=0),Qt(this._element),this._element.classList.add(ti);const n=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,d.trigger(this._element,wu,{relatedTarget:e})};this._queueCallback(n,this._dialog,this._isAnimated())}_addEventListeners(){d.on(this._element,Au,e=>{if(e.key===yu){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),d.on(window,Tu,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),d.on(this._element,Ou,e=>{d.one(this._element,Su,s=>{if(!(this._element!==e.target||this._element!==s.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(ei),this._resetAdjustments(),this._scrollBar.reset(),d.trigger(this._element,fa)})}_isAnimated(){return this._element.classList.contains(Nu)}_triggerBackdropTransition(){if(d.trigger(this._element,bu).defaultPrevented)return;const s=this._element.scrollHeight>document.documentElement.clientHeight,n=this._element.style.overflowY;n==="hidden"||this._element.classList.contains(hn)||(s||(this._element.style.overflowY="hidden"),this._element.classList.add(hn),this._queueCallback(()=>{this._element.classList.remove(hn),this._queueCallback(()=>{this._element.style.overflowY=n},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const e=this._element.scrollHeight>document.documentElement.clientHeight,s=this._scrollBar.getWidth(),n=s>0;if(n&&!e){const r=re()?"paddingLeft":"paddingRight";this._element.style[r]=`${s}px`}if(!n&&e){const r=re()?"paddingRight":"paddingLeft";this._element.style[r]=`${s}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(e,s){return this.each(function(){const n=Dt.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof n[e]>"u")throw new TypeError(`No method named "${e}"`);n[e](s)}})}}d.on(document,Du,Lu,function(t){const e=m.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),d.one(e,_a,r=>{r.defaultPrevented||d.one(e,fa,()=>{Ct(this)&&this.focus()})});const s=m.findOne(Mu);s&&Dt.getInstance(s).hide(),Dt.getOrCreateInstance(e).toggle(this)});Ws(Dt);ae(Dt);const Pu="offcanvas",$u="bs.offcanvas",xe=`.${$u}`,pa=".data-api",Yu=`load${xe}${pa}`,Ru="Escape",si="show",ni="showing",ri="hiding",Wu="offcanvas-backdrop",ma=".offcanvas.show",Vu=`show${xe}`,Hu=`shown${xe}`,Fu=`hide${xe}`,ii=`hidePrevented${xe}`,ga=`hidden${xe}`,Uu=`resize${xe}`,ju=`click${xe}${pa}`,Gu=`keydown.dismiss${xe}`,Bu='[data-bs-toggle="offcanvas"]',Ku={backdrop:!0,keyboard:!0,scroll:!1},zu={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Ue extends _e{constructor(e,s){super(e,s),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Ku}static get DefaultType(){return zu}static get NAME(){return Pu}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown||d.trigger(this._element,Vu,{relatedTarget:e}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new Cn().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ni);const n=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(si),this._element.classList.remove(ni),d.trigger(this._element,Hu,{relatedTarget:e})};this._queueCallback(n,this._element,!0)}hide(){if(!this._isShown||d.trigger(this._element,Fu).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ri),this._backdrop.hide();const s=()=>{this._element.classList.remove(si,ri),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Cn().reset(),d.trigger(this._element,ga)};this._queueCallback(s,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=()=>{if(this._config.backdrop==="static"){d.trigger(this._element,ii);return}this.hide()},s=!!this._config.backdrop;return new da({className:Wu,isVisible:s,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:s?e:null})}_initializeFocusTrap(){return new ha({trapElement:this._element})}_addEventListeners(){d.on(this._element,Gu,e=>{if(e.key===Ru){if(this._config.keyboard){this.hide();return}d.trigger(this._element,ii)}})}static jQueryInterface(e){return this.each(function(){const s=Ue.getOrCreateInstance(this,e);if(typeof e=="string"){if(s[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);s[e](this)}})}}d.on(document,ju,Bu,function(t){const e=m.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),Fe(this))return;d.one(e,ga,()=>{Ct(this)&&this.focus()});const s=m.findOne(ma);s&&s!==e&&Ue.getInstance(s).hide(),Ue.getOrCreateInstance(e).toggle(this)});d.on(window,Yu,()=>{for(const t of m.find(ma))Ue.getOrCreateInstance(t).show()});d.on(window,Uu,()=>{for(const t of m.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(t).position!=="fixed"&&Ue.getOrCreateInstance(t).hide()});Ws(Ue);ae(Ue);const qu=/^aria-[\w-]*$/i,va={"*":["class","dir","id","lang","role",qu],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Zu=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Xu=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Qu=(t,e)=>{const s=t.nodeName.toLowerCase();return e.includes(s)?Zu.has(s)?!!Xu.test(t.nodeValue):!0:e.filter(n=>n instanceof RegExp).some(n=>n.test(s))};function Ju(t,e,s){if(!t.length)return t;if(s&&typeof s=="function")return s(t);const r=new window.DOMParser().parseFromString(t,"text/html"),i=[].concat(...r.body.querySelectorAll("*"));for(const a of i){const o=a.nodeName.toLowerCase();if(!Object.keys(e).includes(o)){a.remove();continue}const l=[].concat(...a.attributes),u=[].concat(e["*"]||[],e[o]||[]);for(const c of l)Qu(c,u)||a.removeAttribute(c.nodeName)}return r.body.innerHTML}const ed="TemplateFactory",td={allowList:va,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},sd={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},nd={entry:"(string|element|function|null)",selector:"(string|element)"};class rd extends Jt{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return td}static get DefaultType(){return sd}static get NAME(){return ed}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[r,i]of Object.entries(this._config.content))this._setContent(e,i,r);const s=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&s.classList.add(...n.split(" ")),s}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[s,n]of Object.entries(e))super._typeCheckConfig({selector:s,entry:n},nd)}_setContent(e,s,n){const r=m.findOne(n,e);if(r){if(s=this._resolvePossibleFunction(s),!s){r.remove();return}if(De(s)){this._putElementInTemplate(He(s),r);return}if(this._config.html){r.innerHTML=this._maybeSanitize(s);return}r.textContent=s}}_maybeSanitize(e){return this._config.sanitize?Ju(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return Z(e,[this])}_putElementInTemplate(e,s){if(this._config.html){s.innerHTML="",s.append(e);return}s.textContent=e.textContent}}const id="tooltip",ad=new Set(["sanitize","allowList","sanitizeFn"]),fn="fade",od="modal",ms="show",ld=".tooltip-inner",ai=`.${od}`,oi="hide.bs.modal",Wt="hover",_n="focus",cd="click",ud="manual",dd="hide",hd="hidden",fd="show",_d="shown",pd="inserted",md="click",gd="focusin",vd="focusout",yd="mouseenter",Ed="mouseleave",bd={AUTO:"auto",TOP:"top",RIGHT:re()?"left":"right",BOTTOM:"bottom",LEFT:re()?"right":"left"},wd={allowList:va,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Td={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Lt extends _e{constructor(e,s){if(typeof Gi>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(e,s),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return wd}static get DefaultType(){return Td}static get NAME(){return id}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),d.off(this._element.closest(ai),oi,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const e=d.trigger(this._element,this.constructor.eventName(fd)),n=(zi(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!n)return;this._disposePopper();const r=this._getTipElement();this._element.setAttribute("aria-describedby",r.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(r),d.trigger(this._element,this.constructor.eventName(pd))),this._popper=this._createPopper(r),r.classList.add(ms),"ontouchstart"in document.documentElement)for(const o of[].concat(...document.body.children))d.on(o,"mouseover",Ns);const a=()=>{d.trigger(this._element,this.constructor.eventName(_d)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(a,this.tip,this._isAnimated())}hide(){if(!this._isShown()||d.trigger(this._element,this.constructor.eventName(dd)).defaultPrevented)return;if(this._getTipElement().classList.remove(ms),"ontouchstart"in document.documentElement)for(const r of[].concat(...document.body.children))d.off(r,"mouseover",Ns);this._activeTrigger[cd]=!1,this._activeTrigger[_n]=!1,this._activeTrigger[Wt]=!1,this._isHovered=null;const n=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),d.trigger(this._element,this.constructor.eventName(hd)))};this._queueCallback(n,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const s=this._getTemplateFactory(e).toHtml();if(!s)return null;s.classList.remove(fn,ms),s.classList.add(`bs-${this.constructor.NAME}-auto`);const n=cl(this.constructor.NAME).toString();return s.setAttribute("id",n),this._isAnimated()&&s.classList.add(fn),s}setContent(e){this._newContent=e,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new rd({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[ld]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(fn)}_isShown(){return this.tip&&this.tip.classList.contains(ms)}_createPopper(e){const s=Z(this._config.placement,[this,e,this._element]),n=bd[s.toUpperCase()];return Zn(this._element,e,this._getPopperConfig(n))}_getOffset(){const{offset:e}=this._config;return typeof e=="string"?e.split(",").map(s=>Number.parseInt(s,10)):typeof e=="function"?s=>e(s,this._element):e}_resolvePossibleFunction(e){return Z(e,[this._element])}_getPopperConfig(e){const s={placement:e,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:n=>{this._getTipElement().setAttribute("data-popper-placement",n.state.placement)}}]};return{...s,...Z(this._config.popperConfig,[s])}}_setListeners(){const e=this._config.trigger.split(" ");for(const s of e)if(s==="click")d.on(this._element,this.constructor.eventName(md),this._config.selector,n=>{this._initializeOnDelegatedTarget(n).toggle()});else if(s!==ud){const n=s===Wt?this.constructor.eventName(yd):this.constructor.eventName(gd),r=s===Wt?this.constructor.eventName(Ed):this.constructor.eventName(vd);d.on(this._element,n,this._config.selector,i=>{const a=this._initializeOnDelegatedTarget(i);a._activeTrigger[i.type==="focusin"?_n:Wt]=!0,a._enter()}),d.on(this._element,r,this._config.selector,i=>{const a=this._initializeOnDelegatedTarget(i);a._activeTrigger[i.type==="focusout"?_n:Wt]=a._element.contains(i.relatedTarget),a._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},d.on(this._element.closest(ai),oi,this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,s){clearTimeout(this._timeout),this._timeout=setTimeout(e,s)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const s=Ne.getDataAttributes(this._element);for(const n of Object.keys(s))ad.has(n)&&delete s[n];return e={...s,...typeof e=="object"&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=e.container===!1?document.body:He(e.container),typeof e.delay=="number"&&(e.delay={show:e.delay,hide:e.delay}),typeof e.title=="number"&&(e.title=e.title.toString()),typeof e.content=="number"&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[s,n]of Object.entries(this._config))this.constructor.Default[s]!==n&&(e[s]=n);return e.selector=!1,e.trigger="manual",e}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(e){return this.each(function(){const s=Lt.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof s[e]>"u")throw new TypeError(`No method named "${e}"`);s[e]()}})}}ae(Lt);const Sd="popover",Od=".popover-header",Ad=".popover-body",Dd={...Lt.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Nd={...Lt.DefaultType,content:"(null|string|element|function)"};class er extends Lt{static get Default(){return Dd}static get DefaultType(){return Nd}static get NAME(){return Sd}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Od]:this._getTitle(),[Ad]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(e){return this.each(function(){const s=er.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof s[e]>"u")throw new TypeError(`No method named "${e}"`);s[e]()}})}}ae(er);const Md="scrollspy",Cd="bs.scrollspy",tr=`.${Cd}`,kd=".data-api",Ld=`activate${tr}`,li=`click${tr}`,xd=`load${tr}${kd}`,Id="dropdown-item",dt="active",Pd='[data-bs-spy="scroll"]',pn="[href]",$d=".nav, .list-group",ci=".nav-link",Yd=".nav-item",Rd=".list-group-item",Wd=`${ci}, ${Yd} > ${ci}, ${Rd}`,Vd=".dropdown",Hd=".dropdown-toggle",Fd={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Ud={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Fs extends _e{constructor(e,s){super(e,s),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Fd}static get DefaultType(){return Ud}static get NAME(){return Md}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=He(e.target)||document.body,e.rootMargin=e.offset?`${e.offset}px 0px -30%`:e.rootMargin,typeof e.threshold=="string"&&(e.threshold=e.threshold.split(",").map(s=>Number.parseFloat(s))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(d.off(this._config.target,li),d.on(this._config.target,li,pn,e=>{const s=this._observableSections.get(e.target.hash);if(s){e.preventDefault();const n=this._rootElement||window,r=s.offsetTop-this._element.offsetTop;if(n.scrollTo){n.scrollTo({top:r,behavior:"smooth"});return}n.scrollTop=r}}))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(s=>this._observerCallback(s),e)}_observerCallback(e){const s=a=>this._targetLinks.get(`#${a.target.id}`),n=a=>{this._previousScrollData.visibleEntryTop=a.target.offsetTop,this._process(s(a))},r=(this._rootElement||document.documentElement).scrollTop,i=r>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=r;for(const a of e){if(!a.isIntersecting){this._activeTarget=null,this._clearActiveClass(s(a));continue}const o=a.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(i&&o){if(n(a),!r)return;continue}!i&&!o&&n(a)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=m.find(pn,this._config.target);for(const s of e){if(!s.hash||Fe(s))continue;const n=m.findOne(decodeURI(s.hash),this._element);Ct(n)&&(this._targetLinks.set(decodeURI(s.hash),s),this._observableSections.set(s.hash,n))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add(dt),this._activateParents(e),d.trigger(this._element,Ld,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains(Id)){m.findOne(Hd,e.closest(Vd)).classList.add(dt);return}for(const s of m.parents(e,$d))for(const n of m.prev(s,Wd))n.classList.add(dt)}_clearActiveClass(e){e.classList.remove(dt);const s=m.find(`${pn}.${dt}`,e);for(const n of s)n.classList.remove(dt)}static jQueryInterface(e){return this.each(function(){const s=Fs.getOrCreateInstance(this,e);if(typeof e=="string"){if(s[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);s[e]()}})}}d.on(window,xd,()=>{for(const t of m.find(Pd))Fs.getOrCreateInstance(t)});ae(Fs);const jd="tab",Gd="bs.tab",ot=`.${Gd}`,Bd=`hide${ot}`,Kd=`hidden${ot}`,zd=`show${ot}`,qd=`shown${ot}`,Zd=`click${ot}`,Xd=`keydown${ot}`,Qd=`load${ot}`,Jd="ArrowLeft",ui="ArrowRight",eh="ArrowUp",di="ArrowDown",mn="Home",hi="End",et="active",fi="fade",gn="show",th="dropdown",ya=".dropdown-toggle",sh=".dropdown-menu",vn=`:not(${ya})`,nh='.list-group, .nav, [role="tablist"]',rh=".nav-item, .list-group-item",ih=`.nav-link${vn}, .list-group-item${vn}, [role="tab"]${vn}`,Ea='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',yn=`${ih}, ${Ea}`,ah=`.${et}[data-bs-toggle="tab"], .${et}[data-bs-toggle="pill"], .${et}[data-bs-toggle="list"]`;class Nt extends _e{constructor(e){super(e),this._parent=this._element.closest(nh),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),d.on(this._element,Xd,s=>this._keydown(s)))}static get NAME(){return jd}show(){const e=this._element;if(this._elemIsActive(e))return;const s=this._getActiveElem(),n=s?d.trigger(s,Bd,{relatedTarget:e}):null;d.trigger(e,zd,{relatedTarget:s}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(s,e),this._activate(e,s))}_activate(e,s){if(!e)return;e.classList.add(et),this._activate(m.getElementFromSelector(e));const n=()=>{if(e.getAttribute("role")!=="tab"){e.classList.add(gn);return}e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),d.trigger(e,qd,{relatedTarget:s})};this._queueCallback(n,e,e.classList.contains(fi))}_deactivate(e,s){if(!e)return;e.classList.remove(et),e.blur(),this._deactivate(m.getElementFromSelector(e));const n=()=>{if(e.getAttribute("role")!=="tab"){e.classList.remove(gn);return}e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),d.trigger(e,Kd,{relatedTarget:s})};this._queueCallback(n,e,e.classList.contains(fi))}_keydown(e){if(![Jd,ui,eh,di,mn,hi].includes(e.key))return;e.stopPropagation(),e.preventDefault();const s=this._getChildren().filter(r=>!Fe(r));let n;if([mn,hi].includes(e.key))n=s[e.key===mn?0:s.length-1];else{const r=[ui,di].includes(e.key);n=Xn(s,e.target,r,!0)}n&&(n.focus({preventScroll:!0}),Nt.getOrCreateInstance(n).show())}_getChildren(){return m.find(yn,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,s){this._setAttributeIfNotExists(e,"role","tablist");for(const n of s)this._setInitialAttributesOnChild(n)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const s=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",s),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),s||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const s=m.getElementFromSelector(e);s&&(this._setAttributeIfNotExists(s,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(s,"aria-labelledby",`${e.id}`))}_toggleDropDown(e,s){const n=this._getOuterElement(e);if(!n.classList.contains(th))return;const r=(i,a)=>{const o=m.findOne(i,n);o&&o.classList.toggle(a,s)};r(ya,et),r(sh,gn),n.setAttribute("aria-expanded",s)}_setAttributeIfNotExists(e,s,n){e.hasAttribute(s)||e.setAttribute(s,n)}_elemIsActive(e){return e.classList.contains(et)}_getInnerElement(e){return e.matches(yn)?e:m.findOne(yn,e)}_getOuterElement(e){return e.closest(rh)||e}static jQueryInterface(e){return this.each(function(){const s=Nt.getOrCreateInstance(this);if(typeof e=="string"){if(s[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);s[e]()}})}}d.on(document,Zd,Ea,function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),!Fe(this)&&Nt.getOrCreateInstance(this).show()});d.on(window,Qd,()=>{for(const t of m.find(ah))Nt.getOrCreateInstance(t)});ae(Nt);const oh="toast",lh="bs.toast",Be=`.${lh}`,ch=`mouseover${Be}`,uh=`mouseout${Be}`,dh=`focusin${Be}`,hh=`focusout${Be}`,fh=`hide${Be}`,_h=`hidden${Be}`,ph=`show${Be}`,mh=`shown${Be}`,gh="fade",_i="hide",gs="show",vs="showing",vh={animation:"boolean",autohide:"boolean",delay:"number"},yh={animation:!0,autohide:!0,delay:5e3};class ss extends _e{constructor(e,s){super(e,s),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return yh}static get DefaultType(){return vh}static get NAME(){return oh}show(){if(d.trigger(this._element,ph).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(gh);const s=()=>{this._element.classList.remove(vs),d.trigger(this._element,mh),this._maybeScheduleHide()};this._element.classList.remove(_i),Qt(this._element),this._element.classList.add(gs,vs),this._queueCallback(s,this._element,this._config.animation)}hide(){if(!this.isShown()||d.trigger(this._element,fh).defaultPrevented)return;const s=()=>{this._element.classList.add(_i),this._element.classList.remove(vs,gs),d.trigger(this._element,_h)};this._element.classList.add(vs),this._queueCallback(s,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(gs),super.dispose()}isShown(){return this._element.classList.contains(gs)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,s){switch(e.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=s;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=s;break}}if(s){this._clearTimeout();return}const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){d.on(this._element,ch,e=>this._onInteraction(e,!0)),d.on(this._element,uh,e=>this._onInteraction(e,!1)),d.on(this._element,dh,e=>this._onInteraction(e,!0)),d.on(this._element,hh,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(e){return this.each(function(){const s=ss.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof s[e]>"u")throw new TypeError(`No method named "${e}"`);s[e](this)}})}}Ws(ss);ae(ss);//! moment.js -//! version : 2.30.1 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com -var ba;function f(){return ba.apply(null,arguments)}function Eh(t){ba=t}function he(t){return t instanceof Array||Object.prototype.toString.call(t)==="[object Array]"}function nt(t){return t!=null&&Object.prototype.toString.call(t)==="[object Object]"}function A(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function sr(t){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(t).length===0;var e;for(e in t)if(A(t,e))return!1;return!0}function q(t){return t===void 0}function Le(t){return typeof t=="number"||Object.prototype.toString.call(t)==="[object Number]"}function ns(t){return t instanceof Date||Object.prototype.toString.call(t)==="[object Date]"}function wa(t,e){var s=[],n,r=t.length;for(n=0;n>>0,n;for(n=0;n0)for(s=0;s=0;return(i?s?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+n}var ar=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ys=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,bn={},yt={};function p(t,e,s,n){var r=n;typeof n=="string"&&(r=function(){return this[n]()}),t&&(yt[t]=r),e&&(yt[e[0]]=function(){return Ee(r.apply(this,arguments),e[1],e[2])}),s&&(yt[s]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function Oh(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function Ah(t){var e=t.match(ar),s,n;for(s=0,n=e.length;s=0&&ys.test(t);)t=t.replace(ys,n),ys.lastIndex=0,s-=1;return t}var Dh={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function Nh(t){var e=this._longDateFormat[t],s=this._longDateFormat[t.toUpperCase()];return e||!s?e:(this._longDateFormat[t]=s.match(ar).map(function(n){return n==="MMMM"||n==="MM"||n==="DD"||n==="dddd"?n.slice(1):n}).join(""),this._longDateFormat[t])}var Mh="Invalid date";function Ch(){return this._invalidDate}var kh="%d",Lh=/\d{1,2}/;function xh(t){return this._ordinal.replace("%d",t)}var Ih={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Ph(t,e,s,n){var r=this._relativeTime[s];return we(r)?r(t,e,s,n):r.replace(/%d/i,t)}function $h(t,e){var s=this._relativeTime[t>0?"future":"past"];return we(s)?s(e):s.replace(/%s/i,e)}var gi={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function le(t){return typeof t=="string"?gi[t]||gi[t.toLowerCase()]:void 0}function or(t){var e={},s,n;for(n in t)A(t,n)&&(s=le(n),s&&(e[s]=t[n]));return e}var Yh={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function Rh(t){var e=[],s;for(s in t)A(t,s)&&e.push({unit:s,priority:Yh[s]});return e.sort(function(n,r){return n.priority-r.priority}),e}var Aa=/\d/,te=/\d\d/,Da=/\d{3}/,lr=/\d{4}/,js=/[+-]?\d{6}/,I=/\d\d?/,Na=/\d\d\d\d?/,Ma=/\d\d\d\d\d\d?/,Gs=/\d{1,3}/,cr=/\d{1,4}/,Bs=/[+-]?\d{1,6}/,xt=/\d+/,Ks=/[+-]?\d+/,Wh=/Z|[+-]\d\d:?\d\d/gi,zs=/Z|[+-]\d\d(?::?\d\d)?/gi,Vh=/[+-]?\d+(\.\d{1,3})?/,is=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,It=/^[1-9]\d?/,ur=/^([1-9]\d|\d)/,ks;ks={};function _(t,e,s){ks[t]=we(e)?e:function(n,r){return n&&s?s:e}}function Hh(t,e){return A(ks,t)?ks[t](e._strict,e._locale):new RegExp(Fh(t))}function Fh(t){return Me(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,s,n,r,i){return s||n||r||i}))}function Me(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function se(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function T(t){var e=+t,s=0;return e!==0&&isFinite(e)&&(s=se(e)),s}var In={};function C(t,e){var s,n=e,r;for(typeof t=="string"&&(t=[t]),Le(e)&&(n=function(i,a){a[e]=T(i)}),r=t.length,s=0;s68?1900:2e3)};var Ca=Pt("FullYear",!0);function Bh(){return qs(this.year())}function Pt(t,e){return function(s){return s!=null?(ka(this,t,s),f.updateOffset(this,e),this):Bt(this,t)}}function Bt(t,e){if(!t.isValid())return NaN;var s=t._d,n=t._isUTC;switch(e){case"Milliseconds":return n?s.getUTCMilliseconds():s.getMilliseconds();case"Seconds":return n?s.getUTCSeconds():s.getSeconds();case"Minutes":return n?s.getUTCMinutes():s.getMinutes();case"Hours":return n?s.getUTCHours():s.getHours();case"Date":return n?s.getUTCDate():s.getDate();case"Day":return n?s.getUTCDay():s.getDay();case"Month":return n?s.getUTCMonth():s.getMonth();case"FullYear":return n?s.getUTCFullYear():s.getFullYear();default:return NaN}}function ka(t,e,s){var n,r,i,a,o;if(!(!t.isValid()||isNaN(s))){switch(n=t._d,r=t._isUTC,e){case"Milliseconds":return void(r?n.setUTCMilliseconds(s):n.setMilliseconds(s));case"Seconds":return void(r?n.setUTCSeconds(s):n.setSeconds(s));case"Minutes":return void(r?n.setUTCMinutes(s):n.setMinutes(s));case"Hours":return void(r?n.setUTCHours(s):n.setHours(s));case"Date":return void(r?n.setUTCDate(s):n.setDate(s));case"FullYear":break;default:return}i=s,a=t.month(),o=t.date(),o=o===29&&a===1&&!qs(i)?28:o,r?n.setUTCFullYear(i,a,o):n.setFullYear(i,a,o)}}function Kh(t){return t=le(t),we(this[t])?this[t]():this}function zh(t,e){if(typeof t=="object"){t=or(t);var s=Rh(t),n,r=s.length;for(n=0;n=0?(o=new Date(t+400,e,s,n,r,i,a),isFinite(o.getFullYear())&&o.setFullYear(t)):o=new Date(t,e,s,n,r,i,a),o}function Kt(t){var e,s;return t<100&&t>=0?(s=Array.prototype.slice.call(arguments),s[0]=t+400,e=new Date(Date.UTC.apply(null,s)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)):e=new Date(Date.UTC.apply(null,arguments)),e}function Ls(t,e,s){var n=7+e-s,r=(7+Kt(t,0,n).getUTCDay()-e)%7;return-r+n-1}function Ya(t,e,s,n,r){var i=(7+s-n)%7,a=Ls(t,n,r),o=1+7*(e-1)+i+a,l,u;return o<=0?(l=t-1,u=jt(l)+o):o>jt(t)?(l=t+1,u=o-jt(t)):(l=t,u=o),{year:l,dayOfYear:u}}function zt(t,e,s){var n=Ls(t.year(),e,s),r=Math.floor((t.dayOfYear()-n-1)/7)+1,i,a;return r<1?(a=t.year()-1,i=r+Ce(a,e,s)):r>Ce(t.year(),e,s)?(i=r-Ce(t.year(),e,s),a=t.year()+1):(a=t.year(),i=r),{week:i,year:a}}function Ce(t,e,s){var n=Ls(t,e,s),r=Ls(t+1,e,s);return(jt(t)-n+r)/7}p("w",["ww",2],"wo","week");p("W",["WW",2],"Wo","isoWeek");_("w",I,It);_("ww",I,te);_("W",I,It);_("WW",I,te);as(["w","ww","W","WW"],function(t,e,s,n){e[n.substr(0,1)]=T(t)});function lf(t){return zt(t,this._week.dow,this._week.doy).week}var cf={dow:0,doy:6};function uf(){return this._week.dow}function df(){return this._week.doy}function hf(t){var e=this.localeData().week(this);return t==null?e:this.add((t-e)*7,"d")}function ff(t){var e=zt(this,1,4).week;return t==null?e:this.add((t-e)*7,"d")}p("d",0,"do","day");p("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)});p("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)});p("dddd",0,0,function(t){return this.localeData().weekdays(this,t)});p("e",0,0,"weekday");p("E",0,0,"isoWeekday");_("d",I);_("e",I);_("E",I);_("dd",function(t,e){return e.weekdaysMinRegex(t)});_("ddd",function(t,e){return e.weekdaysShortRegex(t)});_("dddd",function(t,e){return e.weekdaysRegex(t)});as(["dd","ddd","dddd"],function(t,e,s,n){var r=s._locale.weekdaysParse(t,n,s._strict);r!=null?e.d=r:E(s).invalidWeekday=t});as(["d","e","E"],function(t,e,s,n){e[n]=T(t)});function _f(t,e){return typeof t!="string"?t:isNaN(t)?(t=e.weekdaysParse(t),typeof t=="number"?t:null):parseInt(t,10)}function pf(t,e){return typeof t=="string"?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function hr(t,e){return t.slice(e,7).concat(t.slice(0,e))}var mf="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ra="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),gf="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),vf=is,yf=is,Ef=is;function bf(t,e){var s=he(this._weekdays)?this._weekdays:this._weekdays[t&&t!==!0&&this._weekdays.isFormat.test(e)?"format":"standalone"];return t===!0?hr(s,this._week.dow):t?s[t.day()]:s}function wf(t){return t===!0?hr(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Tf(t){return t===!0?hr(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Sf(t,e,s){var n,r,i,a=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],n=0;n<7;++n)i=be([2e3,1]).day(n),this._minWeekdaysParse[n]=this.weekdaysMin(i,"").toLocaleLowerCase(),this._shortWeekdaysParse[n]=this.weekdaysShort(i,"").toLocaleLowerCase(),this._weekdaysParse[n]=this.weekdays(i,"").toLocaleLowerCase();return s?e==="dddd"?(r=W.call(this._weekdaysParse,a),r!==-1?r:null):e==="ddd"?(r=W.call(this._shortWeekdaysParse,a),r!==-1?r:null):(r=W.call(this._minWeekdaysParse,a),r!==-1?r:null):e==="dddd"?(r=W.call(this._weekdaysParse,a),r!==-1||(r=W.call(this._shortWeekdaysParse,a),r!==-1)?r:(r=W.call(this._minWeekdaysParse,a),r!==-1?r:null)):e==="ddd"?(r=W.call(this._shortWeekdaysParse,a),r!==-1||(r=W.call(this._weekdaysParse,a),r!==-1)?r:(r=W.call(this._minWeekdaysParse,a),r!==-1?r:null)):(r=W.call(this._minWeekdaysParse,a),r!==-1||(r=W.call(this._weekdaysParse,a),r!==-1)?r:(r=W.call(this._shortWeekdaysParse,a),r!==-1?r:null))}function Of(t,e,s){var n,r,i;if(this._weekdaysParseExact)return Sf.call(this,t,e,s);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;n<7;n++){if(r=be([2e3,1]).day(n),s&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[n]=new RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[n]=new RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[n]||(i="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[n]=new RegExp(i.replace(".",""),"i")),s&&e==="dddd"&&this._fullWeekdaysParse[n].test(t))return n;if(s&&e==="ddd"&&this._shortWeekdaysParse[n].test(t))return n;if(s&&e==="dd"&&this._minWeekdaysParse[n].test(t))return n;if(!s&&this._weekdaysParse[n].test(t))return n}}function Af(t){if(!this.isValid())return t!=null?this:NaN;var e=Bt(this,"Day");return t!=null?(t=_f(t,this.localeData()),this.add(t-e,"d")):e}function Df(t){if(!this.isValid())return t!=null?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return t==null?e:this.add(t-e,"d")}function Nf(t){if(!this.isValid())return t!=null?this:NaN;if(t!=null){var e=pf(t,this.localeData());return this.day(this.day()%7?e:e-7)}else return this.day()||7}function Mf(t){return this._weekdaysParseExact?(A(this,"_weekdaysRegex")||fr.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(A(this,"_weekdaysRegex")||(this._weekdaysRegex=vf),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Cf(t){return this._weekdaysParseExact?(A(this,"_weekdaysRegex")||fr.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(A(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=yf),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function kf(t){return this._weekdaysParseExact?(A(this,"_weekdaysRegex")||fr.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(A(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ef),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function fr(){function t(c,g){return g.length-c.length}var e=[],s=[],n=[],r=[],i,a,o,l,u;for(i=0;i<7;i++)a=be([2e3,1]).day(i),o=Me(this.weekdaysMin(a,"")),l=Me(this.weekdaysShort(a,"")),u=Me(this.weekdays(a,"")),e.push(o),s.push(l),n.push(u),r.push(o),r.push(l),r.push(u);e.sort(t),s.sort(t),n.sort(t),r.sort(t),this._weekdaysRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+e.join("|")+")","i")}function _r(){return this.hours()%12||12}function Lf(){return this.hours()||24}p("H",["HH",2],0,"hour");p("h",["hh",2],0,_r);p("k",["kk",2],0,Lf);p("hmm",0,0,function(){return""+_r.apply(this)+Ee(this.minutes(),2)});p("hmmss",0,0,function(){return""+_r.apply(this)+Ee(this.minutes(),2)+Ee(this.seconds(),2)});p("Hmm",0,0,function(){return""+this.hours()+Ee(this.minutes(),2)});p("Hmmss",0,0,function(){return""+this.hours()+Ee(this.minutes(),2)+Ee(this.seconds(),2)});function Wa(t,e){p(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}Wa("a",!0);Wa("A",!1);function Va(t,e){return e._meridiemParse}_("a",Va);_("A",Va);_("H",I,ur);_("h",I,It);_("k",I,It);_("HH",I,te);_("hh",I,te);_("kk",I,te);_("hmm",Na);_("hmmss",Ma);_("Hmm",Na);_("Hmmss",Ma);C(["H","HH"],H);C(["k","kk"],function(t,e,s){var n=T(t);e[H]=n===24?0:n});C(["a","A"],function(t,e,s){s._isPm=s._locale.isPM(t),s._meridiem=t});C(["h","hh"],function(t,e,s){e[H]=T(t),E(s).bigHour=!0});C("hmm",function(t,e,s){var n=t.length-2;e[H]=T(t.substr(0,n)),e[de]=T(t.substr(n)),E(s).bigHour=!0});C("hmmss",function(t,e,s){var n=t.length-4,r=t.length-2;e[H]=T(t.substr(0,n)),e[de]=T(t.substr(n,2)),e[Ae]=T(t.substr(r)),E(s).bigHour=!0});C("Hmm",function(t,e,s){var n=t.length-2;e[H]=T(t.substr(0,n)),e[de]=T(t.substr(n))});C("Hmmss",function(t,e,s){var n=t.length-4,r=t.length-2;e[H]=T(t.substr(0,n)),e[de]=T(t.substr(n,2)),e[Ae]=T(t.substr(r))});function xf(t){return(t+"").toLowerCase().charAt(0)==="p"}var If=/[ap]\.?m?\.?/i,Pf=Pt("Hours",!0);function $f(t,e,s){return t>11?s?"pm":"PM":s?"am":"AM"}var Ha={calendar:Th,longDateFormat:Dh,invalidDate:Mh,ordinal:kh,dayOfMonthOrdinalParse:Lh,relativeTime:Ih,months:Zh,monthsShort:La,week:cf,weekdays:mf,weekdaysMin:gf,weekdaysShort:Ra,meridiemParse:If},P={},Vt={},qt;function Yf(t,e){var s,n=Math.min(t.length,e.length);for(s=0;s0;){if(r=Zs(i.slice(0,s).join("-")),r)return r;if(n&&n.length>=s&&Yf(i,n)>=s-1)break;s--}e++}return qt}function Wf(t){return!!(t&&t.match("^[^/\\\\]*$"))}function Zs(t){var e=null,s;if(P[t]===void 0&&typeof module<"u"&&module&&module.exports&&Wf(t))try{e=qt._abbr,s=require,s("./locale/"+t),Ve(e)}catch{P[t]=null}return P[t]}function Ve(t,e){var s;return t&&(q(e)?s=Ie(t):s=pr(t,e),s?qt=s:typeof console<"u"&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),qt._abbr}function pr(t,e){if(e!==null){var s,n=Ha;if(e.abbr=t,P[t]!=null)Sa("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=P[t]._config;else if(e.parentLocale!=null)if(P[e.parentLocale]!=null)n=P[e.parentLocale]._config;else if(s=Zs(e.parentLocale),s!=null)n=s._config;else return Vt[e.parentLocale]||(Vt[e.parentLocale]=[]),Vt[e.parentLocale].push({name:t,config:e}),null;return P[t]=new ir(Ln(n,e)),Vt[t]&&Vt[t].forEach(function(r){pr(r.name,r.config)}),Ve(t),P[t]}else return delete P[t],null}function Vf(t,e){if(e!=null){var s,n,r=Ha;P[t]!=null&&P[t].parentLocale!=null?P[t].set(Ln(P[t]._config,e)):(n=Zs(t),n!=null&&(r=n._config),e=Ln(r,e),n==null&&(e.abbr=t),s=new ir(e),s.parentLocale=P[t],P[t]=s),Ve(t)}else P[t]!=null&&(P[t].parentLocale!=null?(P[t]=P[t].parentLocale,t===Ve()&&Ve(t)):P[t]!=null&&delete P[t]);return P[t]}function Ie(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return qt;if(!he(t)){if(e=Zs(t),e)return e;t=[t]}return Rf(t)}function Hf(){return xn(P)}function mr(t){var e,s=t._a;return s&&E(t).overflow===-2&&(e=s[Oe]<0||s[Oe]>11?Oe:s[me]<1||s[me]>dr(s[G],s[Oe])?me:s[H]<0||s[H]>24||s[H]===24&&(s[de]!==0||s[Ae]!==0||s[tt]!==0)?H:s[de]<0||s[de]>59?de:s[Ae]<0||s[Ae]>59?Ae:s[tt]<0||s[tt]>999?tt:-1,E(t)._overflowDayOfYear&&(eme)&&(e=me),E(t)._overflowWeeks&&e===-1&&(e=jh),E(t)._overflowWeekday&&e===-1&&(e=Gh),E(t).overflow=e),t}var Ff=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Uf=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,jf=/Z|[+-]\d\d(?::?\d\d)?/,Es=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],wn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Gf=/^\/?Date\((-?\d+)/i,Bf=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Kf={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function Fa(t){var e,s,n=t._i,r=Ff.exec(n)||Uf.exec(n),i,a,o,l,u=Es.length,c=wn.length;if(r){for(E(t).iso=!0,e=0,s=u;ejt(a)||t._dayOfYear===0)&&(E(t)._overflowDayOfYear=!0),s=Kt(a,0,t._dayOfYear),t._a[Oe]=s.getUTCMonth(),t._a[me]=s.getUTCDate()),e=0;e<3&&t._a[e]==null;++e)t._a[e]=n[e]=r[e];for(;e<7;e++)t._a[e]=n[e]=t._a[e]==null?e===2?1:0:t._a[e];t._a[H]===24&&t._a[de]===0&&t._a[Ae]===0&&t._a[tt]===0&&(t._nextDay=!0,t._a[H]=0),t._d=(t._useUTC?Kt:of).apply(null,n),i=t._useUTC?t._d.getUTCDay():t._d.getDay(),t._tzm!=null&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[H]=24),t._w&&typeof t._w.d<"u"&&t._w.d!==i&&(E(t).weekdayMismatch=!0)}}function t_(t){var e,s,n,r,i,a,o,l,u;e=t._w,e.GG!=null||e.W!=null||e.E!=null?(i=1,a=4,s=mt(e.GG,t._a[G],zt(x(),1,4).year),n=mt(e.W,1),r=mt(e.E,1),(r<1||r>7)&&(l=!0)):(i=t._locale._week.dow,a=t._locale._week.doy,u=zt(x(),i,a),s=mt(e.gg,t._a[G],u.year),n=mt(e.w,u.week),e.d!=null?(r=e.d,(r<0||r>6)&&(l=!0)):e.e!=null?(r=e.e+i,(e.e<0||e.e>6)&&(l=!0)):r=i),n<1||n>Ce(s,i,a)?E(t)._overflowWeeks=!0:l!=null?E(t)._overflowWeekday=!0:(o=Ya(s,n,r,i,a),t._a[G]=o.year,t._dayOfYear=o.dayOfYear)}f.ISO_8601=function(){};f.RFC_2822=function(){};function vr(t){if(t._f===f.ISO_8601){Fa(t);return}if(t._f===f.RFC_2822){Ua(t);return}t._a=[],E(t).empty=!0;var e=""+t._i,s,n,r,i,a,o=e.length,l=0,u,c;for(r=Oa(t._f,t._locale).match(ar)||[],c=r.length,s=0;s0&&E(t).unusedInput.push(a),e=e.slice(e.indexOf(n)+n.length),l+=n.length),yt[i]?(n?E(t).empty=!1:E(t).unusedTokens.push(i),Uh(i,n,t)):t._strict&&!n&&E(t).unusedTokens.push(i);E(t).charsLeftOver=o-l,e.length>0&&E(t).unusedInput.push(e),t._a[H]<=12&&E(t).bigHour===!0&&t._a[H]>0&&(E(t).bigHour=void 0),E(t).parsedDateParts=t._a.slice(0),E(t).meridiem=t._meridiem,t._a[H]=s_(t._locale,t._a[H],t._meridiem),u=E(t).era,u!==null&&(t._a[G]=t._locale.erasConvertYear(u,t._a[G])),gr(t),mr(t)}function s_(t,e,s){var n;return s==null?e:t.meridiemHour!=null?t.meridiemHour(e,s):(t.isPM!=null&&(n=t.isPM(s),n&&e<12&&(e+=12),!n&&e===12&&(e=0)),e)}function n_(t){var e,s,n,r,i,a,o=!1,l=t._f.length;if(l===0){E(t).invalidFormat=!0,t._d=new Date(NaN);return}for(r=0;rthis?this:t:Us()});function Ba(t,e){var s,n;if(e.length===1&&he(e[0])&&(e=e[0]),!e.length)return x();for(s=e[0],n=1;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function S_(){if(!q(this._isDSTShifted))return this._isDSTShifted;var t={},e;return rr(t,this),t=ja(t),t._a?(e=t._isUTC?be(t._a):x(t._a),this._isDSTShifted=this.isValid()&&p_(t._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function O_(){return this.isValid()?!this._isUTC:!1}function A_(){return this.isValid()?this._isUTC:!1}function za(){return this.isValid()?this._isUTC&&this._offset===0:!1}var D_=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,N_=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function pe(t,e){var s=t,n=null,r,i,a;return Os(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:Le(t)||!isNaN(+t)?(s={},e?s[e]=+t:s.milliseconds=+t):(n=D_.exec(t))?(r=n[1]==="-"?-1:1,s={y:0,d:T(n[me])*r,h:T(n[H])*r,m:T(n[de])*r,s:T(n[Ae])*r,ms:T(Pn(n[tt]*1e3))*r}):(n=N_.exec(t))?(r=n[1]==="-"?-1:1,s={y:Qe(n[2],r),M:Qe(n[3],r),w:Qe(n[4],r),d:Qe(n[5],r),h:Qe(n[6],r),m:Qe(n[7],r),s:Qe(n[8],r)}):s==null?s={}:typeof s=="object"&&("from"in s||"to"in s)&&(a=M_(x(s.from),x(s.to)),s={},s.ms=a.milliseconds,s.M=a.months),i=new Xs(s),Os(t)&&A(t,"_locale")&&(i._locale=t._locale),Os(t)&&A(t,"_isValid")&&(i._isValid=t._isValid),i}pe.fn=Xs.prototype;pe.invalid=__;function Qe(t,e){var s=t&&parseFloat(t.replace(",","."));return(isNaN(s)?0:s)*e}function yi(t,e){var s={};return s.months=e.month()-t.month()+(e.year()-t.year())*12,t.clone().add(s.months,"M").isAfter(e)&&--s.months,s.milliseconds=+e-+t.clone().add(s.months,"M"),s}function M_(t,e){var s;return t.isValid()&&e.isValid()?(e=Er(e,t),t.isBefore(e)?s=yi(t,e):(s=yi(e,t),s.milliseconds=-s.milliseconds,s.months=-s.months),s):{milliseconds:0,months:0}}function qa(t,e){return function(s,n){var r,i;return n!==null&&!isNaN(+n)&&(Sa(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),i=s,s=n,n=i),r=pe(s,n),Za(this,r,t),this}}function Za(t,e,s,n){var r=e._milliseconds,i=Pn(e._days),a=Pn(e._months);t.isValid()&&(n=n??!0,a&&Ia(t,Bt(t,"Month")+a*s),i&&ka(t,"Date",Bt(t,"Date")+i*s),r&&t._d.setTime(t._d.valueOf()+r*s),n&&f.updateOffset(t,i||a))}var C_=qa(1,"add"),k_=qa(-1,"subtract");function Xa(t){return typeof t=="string"||t instanceof String}function L_(t){return fe(t)||ns(t)||Xa(t)||Le(t)||I_(t)||x_(t)||t===null||t===void 0}function x_(t){var e=nt(t)&&!sr(t),s=!1,n=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],r,i,a=n.length;for(r=0;rs.valueOf():s.valueOf()9999?Ss(s,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):we(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",Ss(s,"Z")):Ss(s,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function z_(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="",s,n,r,i;return this.isLocal()||(t=this.utcOffset()===0?"moment.utc":"moment.parseZone",e="Z"),s="["+t+'("]',n=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",r="-MM-DD[T]HH:mm:ss.SSS",i=e+'[")]',this.format(s+n+r+i)}function q_(t){t||(t=this.isUtc()?f.defaultFormatUtc:f.defaultFormat);var e=Ss(this,t);return this.localeData().postformat(e)}function Z_(t,e){return this.isValid()&&(fe(t)&&t.isValid()||x(t).isValid())?pe({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function X_(t){return this.from(x(),t)}function Q_(t,e){return this.isValid()&&(fe(t)&&t.isValid()||x(t).isValid())?pe({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function J_(t){return this.to(x(),t)}function Qa(t){var e;return t===void 0?this._locale._abbr:(e=Ie(t),e!=null&&(this._locale=e),this)}var Ja=oe("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return t===void 0?this.localeData():this.locale(t)});function eo(){return this._locale}var xs=1e3,Et=60*xs,Is=60*Et,to=(365*400+97)*24*Is;function bt(t,e){return(t%e+e)%e}function so(t,e,s){return t<100&&t>=0?new Date(t+400,e,s)-to:new Date(t,e,s).valueOf()}function no(t,e,s){return t<100&&t>=0?Date.UTC(t+400,e,s)-to:Date.UTC(t,e,s)}function ep(t){var e,s;if(t=le(t),t===void 0||t==="millisecond"||!this.isValid())return this;switch(s=this._isUTC?no:so,t){case"year":e=s(this.year(),0,1);break;case"quarter":e=s(this.year(),this.month()-this.month()%3,1);break;case"month":e=s(this.year(),this.month(),1);break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=s(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=bt(e+(this._isUTC?0:this.utcOffset()*Et),Is);break;case"minute":e=this._d.valueOf(),e-=bt(e,Et);break;case"second":e=this._d.valueOf(),e-=bt(e,xs);break}return this._d.setTime(e),f.updateOffset(this,!0),this}function tp(t){var e,s;if(t=le(t),t===void 0||t==="millisecond"||!this.isValid())return this;switch(s=this._isUTC?no:so,t){case"year":e=s(this.year()+1,0,1)-1;break;case"quarter":e=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=s(this.year(),this.month()+1,1)-1;break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=Is-bt(e+(this._isUTC?0:this.utcOffset()*Et),Is)-1;break;case"minute":e=this._d.valueOf(),e+=Et-bt(e,Et)-1;break;case"second":e=this._d.valueOf(),e+=xs-bt(e,xs)-1;break}return this._d.setTime(e),f.updateOffset(this,!0),this}function sp(){return this._d.valueOf()-(this._offset||0)*6e4}function np(){return Math.floor(this.valueOf()/1e3)}function rp(){return new Date(this.valueOf())}function ip(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function ap(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function op(){return this.isValid()?this.toISOString():null}function lp(){return nr(this)}function cp(){return Re({},E(this))}function up(){return E(this).overflow}function dp(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}p("N",0,0,"eraAbbr");p("NN",0,0,"eraAbbr");p("NNN",0,0,"eraAbbr");p("NNNN",0,0,"eraName");p("NNNNN",0,0,"eraNarrow");p("y",["y",1],"yo","eraYear");p("y",["yy",2],0,"eraYear");p("y",["yyy",3],0,"eraYear");p("y",["yyyy",4],0,"eraYear");_("N",br);_("NN",br);_("NNN",br);_("NNNN",wp);_("NNNNN",Tp);C(["N","NN","NNN","NNNN","NNNNN"],function(t,e,s,n){var r=s._locale.erasParse(t,n,s._strict);r?E(s).era=r:E(s).invalidEra=t});_("y",xt);_("yy",xt);_("yyy",xt);_("yyyy",xt);_("yo",Sp);C(["y","yy","yyy","yyyy"],G);C(["yo"],function(t,e,s,n){var r;s._locale._eraYearOrdinalRegex&&(r=t.match(s._locale._eraYearOrdinalRegex)),s._locale.eraYearOrdinalParse?e[G]=s._locale.eraYearOrdinalParse(t,r):e[G]=parseInt(t,10)});function hp(t,e){var s,n,r,i=this._eras||Ie("en")._eras;for(s=0,n=i.length;s=0)return i[n]}function _p(t,e){var s=t.since<=t.until?1:-1;return e===void 0?f(t.since).year():f(t.since).year()+(e-t.offset)*s}function pp(){var t,e,s,n=this.localeData().eras();for(t=0,e=n.length;ti&&(e=i),kp.call(this,t,e,s,n,r))}function kp(t,e,s,n,r){var i=Ya(t,e,s,n,r),a=Kt(i.year,0,i.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}p("Q",0,"Qo","quarter");_("Q",Aa);C("Q",function(t,e){e[Oe]=(T(t)-1)*3});function Lp(t){return t==null?Math.ceil((this.month()+1)/3):this.month((t-1)*3+this.month()%3)}p("D",["DD",2],"Do","date");_("D",I,It);_("DD",I,te);_("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient});C(["D","DD"],me);C("Do",function(t,e){e[me]=T(t.match(I)[0])});var io=Pt("Date",!0);p("DDD",["DDDD",3],"DDDo","dayOfYear");_("DDD",Gs);_("DDDD",Da);C(["DDD","DDDD"],function(t,e,s){s._dayOfYear=T(t)});function xp(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return t==null?e:this.add(t-e,"d")}p("m",["mm",2],0,"minute");_("m",I,ur);_("mm",I,te);C(["m","mm"],de);var Ip=Pt("Minutes",!1);p("s",["ss",2],0,"second");_("s",I,ur);_("ss",I,te);C(["s","ss"],Ae);var Pp=Pt("Seconds",!1);p("S",0,0,function(){return~~(this.millisecond()/100)});p(0,["SS",2],0,function(){return~~(this.millisecond()/10)});p(0,["SSS",3],0,"millisecond");p(0,["SSSS",4],0,function(){return this.millisecond()*10});p(0,["SSSSS",5],0,function(){return this.millisecond()*100});p(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});p(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});p(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});p(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});_("S",Gs,Aa);_("SS",Gs,te);_("SSS",Gs,Da);var We,ao;for(We="SSSS";We.length<=9;We+="S")_(We,xt);function $p(t,e){e[tt]=T(("0."+t)*1e3)}for(We="S";We.length<=9;We+="S")C(We,$p);ao=Pt("Milliseconds",!1);p("z",0,0,"zoneAbbr");p("zz",0,0,"zoneName");function Yp(){return this._isUTC?"UTC":""}function Rp(){return this._isUTC?"Coordinated Universal Time":""}var h=rs.prototype;h.add=C_;h.calendar=Y_;h.clone=R_;h.diff=G_;h.endOf=tp;h.format=q_;h.from=Z_;h.fromNow=X_;h.to=Q_;h.toNow=J_;h.get=Kh;h.invalidAt=up;h.isAfter=W_;h.isBefore=V_;h.isBetween=H_;h.isSame=F_;h.isSameOrAfter=U_;h.isSameOrBefore=j_;h.isValid=lp;h.lang=Ja;h.locale=Qa;h.localeData=eo;h.max=l_;h.min=o_;h.parsingFlags=cp;h.set=zh;h.startOf=ep;h.subtract=k_;h.toArray=ip;h.toObject=ap;h.toDate=rp;h.toISOString=K_;h.inspect=z_;typeof Symbol<"u"&&Symbol.for!=null&&(h[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"});h.toJSON=op;h.toString=B_;h.unix=np;h.valueOf=sp;h.creationData=dp;h.eraName=pp;h.eraNarrow=mp;h.eraAbbr=gp;h.eraYear=vp;h.year=Ca;h.isLeapYear=Bh;h.weekYear=Op;h.isoWeekYear=Ap;h.quarter=h.quarters=Lp;h.month=Pa;h.daysInMonth=nf;h.week=h.weeks=hf;h.isoWeek=h.isoWeeks=ff;h.weeksInYear=Mp;h.weeksInWeekYear=Cp;h.isoWeeksInYear=Dp;h.isoWeeksInISOWeekYear=Np;h.date=io;h.day=h.days=Af;h.weekday=Df;h.isoWeekday=Nf;h.dayOfYear=xp;h.hour=h.hours=Pf;h.minute=h.minutes=Ip;h.second=h.seconds=Pp;h.millisecond=h.milliseconds=ao;h.utcOffset=g_;h.utc=y_;h.local=E_;h.parseZone=b_;h.hasAlignedHourOffset=w_;h.isDST=T_;h.isLocal=O_;h.isUtcOffset=A_;h.isUtc=za;h.isUTC=za;h.zoneAbbr=Yp;h.zoneName=Rp;h.dates=oe("dates accessor is deprecated. Use date instead.",io);h.months=oe("months accessor is deprecated. Use month instead",Pa);h.years=oe("years accessor is deprecated. Use year instead",Ca);h.zone=oe("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",v_);h.isDSTShifted=oe("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",S_);function Wp(t){return x(t*1e3)}function Vp(){return x.apply(null,arguments).parseZone()}function oo(t){return t}var D=ir.prototype;D.calendar=Sh;D.longDateFormat=Nh;D.invalidDate=Ch;D.ordinal=xh;D.preparse=oo;D.postformat=oo;D.relativeTime=Ph;D.pastFuture=$h;D.set=wh;D.eras=hp;D.erasParse=fp;D.erasConvertYear=_p;D.erasAbbrRegex=Ep;D.erasNameRegex=yp;D.erasNarrowRegex=bp;D.months=Jh;D.monthsShort=ef;D.monthsParse=sf;D.monthsRegex=af;D.monthsShortRegex=rf;D.week=lf;D.firstDayOfYear=df;D.firstDayOfWeek=uf;D.weekdays=bf;D.weekdaysMin=Tf;D.weekdaysShort=wf;D.weekdaysParse=Of;D.weekdaysRegex=Mf;D.weekdaysShortRegex=Cf;D.weekdaysMinRegex=kf;D.isPM=xf;D.meridiem=$f;function Ps(t,e,s,n){var r=Ie(),i=be().set(n,e);return r[s](i,t)}function lo(t,e,s){if(Le(t)&&(e=t,t=void 0),t=t||"",e!=null)return Ps(t,e,s,"month");var n,r=[];for(n=0;n<12;n++)r[n]=Ps(t,n,s,"month");return r}function Tr(t,e,s,n){typeof t=="boolean"?(Le(e)&&(s=e,e=void 0),e=e||""):(e=t,s=e,t=!1,Le(e)&&(s=e,e=void 0),e=e||"");var r=Ie(),i=t?r._week.dow:0,a,o=[];if(s!=null)return Ps(e,(s+i)%7,n,"day");for(a=0;a<7;a++)o[a]=Ps(e,(a+i)%7,n,"day");return o}function Hp(t,e){return lo(t,e,"months")}function Fp(t,e){return lo(t,e,"monthsShort")}function Up(t,e,s){return Tr(t,e,s,"weekdays")}function jp(t,e,s){return Tr(t,e,s,"weekdaysShort")}function Gp(t,e,s){return Tr(t,e,s,"weekdaysMin")}Ve("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,s=T(t%100/10)===1?"th":e===1?"st":e===2?"nd":e===3?"rd":"th";return t+s}});f.lang=oe("moment.lang is deprecated. Use moment.locale instead.",Ve);f.langData=oe("moment.langData is deprecated. Use moment.localeData instead.",Ie);var Te=Math.abs;function Bp(){var t=this._data;return this._milliseconds=Te(this._milliseconds),this._days=Te(this._days),this._months=Te(this._months),t.milliseconds=Te(t.milliseconds),t.seconds=Te(t.seconds),t.minutes=Te(t.minutes),t.hours=Te(t.hours),t.months=Te(t.months),t.years=Te(t.years),this}function co(t,e,s,n){var r=pe(e,s);return t._milliseconds+=n*r._milliseconds,t._days+=n*r._days,t._months+=n*r._months,t._bubble()}function Kp(t,e){return co(this,t,e,1)}function zp(t,e){return co(this,t,e,-1)}function Ei(t){return t<0?Math.floor(t):Math.ceil(t)}function qp(){var t=this._milliseconds,e=this._days,s=this._months,n=this._data,r,i,a,o,l;return t>=0&&e>=0&&s>=0||t<=0&&e<=0&&s<=0||(t+=Ei(Yn(s)+e)*864e5,e=0,s=0),n.milliseconds=t%1e3,r=se(t/1e3),n.seconds=r%60,i=se(r/60),n.minutes=i%60,a=se(i/60),n.hours=a%24,e+=se(a/24),l=se(uo(e)),s+=l,e-=Ei(Yn(l)),o=se(s/12),s%=12,n.days=e,n.months=s,n.years=o,this}function uo(t){return t*4800/146097}function Yn(t){return t*146097/4800}function Zp(t){if(!this.isValid())return NaN;var e,s,n=this._milliseconds;if(t=le(t),t==="month"||t==="quarter"||t==="year")switch(e=this._days+n/864e5,s=this._months+uo(e),t){case"month":return s;case"quarter":return s/3;case"year":return s/12}else switch(e=this._days+Math.round(Yn(this._months)),t){case"week":return e/7+n/6048e5;case"day":return e+n/864e5;case"hour":return e*24+n/36e5;case"minute":return e*1440+n/6e4;case"second":return e*86400+n/1e3;case"millisecond":return Math.floor(e*864e5)+n;default:throw new Error("Unknown unit "+t)}}function Pe(t){return function(){return this.as(t)}}var ho=Pe("ms"),Xp=Pe("s"),Qp=Pe("m"),Jp=Pe("h"),em=Pe("d"),tm=Pe("w"),sm=Pe("M"),nm=Pe("Q"),rm=Pe("y"),im=ho;function am(){return pe(this)}function om(t){return t=le(t),this.isValid()?this[t+"s"]():NaN}function lt(t){return function(){return this.isValid()?this._data[t]:NaN}}var lm=lt("milliseconds"),cm=lt("seconds"),um=lt("minutes"),dm=lt("hours"),hm=lt("days"),fm=lt("months"),_m=lt("years");function pm(){return se(this.days()/7)}var Se=Math.round,vt={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function mm(t,e,s,n,r){return r.relativeTime(e||1,!!s,t,n)}function gm(t,e,s,n){var r=pe(t).abs(),i=Se(r.as("s")),a=Se(r.as("m")),o=Se(r.as("h")),l=Se(r.as("d")),u=Se(r.as("M")),c=Se(r.as("w")),g=Se(r.as("y")),v=i<=s.ss&&["s",i]||i0,v[4]=n,mm.apply(null,v)}function vm(t){return t===void 0?Se:typeof t=="function"?(Se=t,!0):!1}function ym(t,e){return vt[t]===void 0?!1:e===void 0?vt[t]:(vt[t]=e,t==="s"&&(vt.ss=e-1),!0)}function Em(t,e){if(!this.isValid())return this.localeData().invalidDate();var s=!1,n=vt,r,i;return typeof t=="object"&&(e=t,t=!1),typeof t=="boolean"&&(s=t),typeof e=="object"&&(n=Object.assign({},vt,e),e.s!=null&&e.ss==null&&(n.ss=e.s-1)),r=this.localeData(),i=gm(this,!s,n,r),s&&(i=r.pastFuture(+this,i)),r.postformat(i)}var Tn=Math.abs;function ht(t){return(t>0)-(t<0)||+t}function Js(){if(!this.isValid())return this.localeData().invalidDate();var t=Tn(this._milliseconds)/1e3,e=Tn(this._days),s=Tn(this._months),n,r,i,a,o=this.asSeconds(),l,u,c,g;return o?(n=se(t/60),r=se(n/60),t%=60,n%=60,i=se(s/12),s%=12,a=t?t.toFixed(3).replace(/\.?0+$/,""):"",l=o<0?"-":"",u=ht(this._months)!==ht(o)?"-":"",c=ht(this._days)!==ht(o)?"-":"",g=ht(this._milliseconds)!==ht(o)?"-":"",l+"P"+(i?u+i+"Y":"")+(s?u+s+"M":"")+(e?c+e+"D":"")+(r||n||t?"T":"")+(r?g+r+"H":"")+(n?g+n+"M":"")+(t?g+a+"S":"")):"P0D"}var S=Xs.prototype;S.isValid=f_;S.abs=Bp;S.add=Kp;S.subtract=zp;S.as=Zp;S.asMilliseconds=ho;S.asSeconds=Xp;S.asMinutes=Qp;S.asHours=Jp;S.asDays=em;S.asWeeks=tm;S.asMonths=sm;S.asQuarters=nm;S.asYears=rm;S.valueOf=im;S._bubble=qp;S.clone=am;S.get=om;S.milliseconds=lm;S.seconds=cm;S.minutes=um;S.hours=dm;S.days=hm;S.weeks=pm;S.months=fm;S.years=_m;S.humanize=Em;S.toISOString=Js;S.toString=Js;S.toJSON=Js;S.locale=Qa;S.localeData=eo;S.toIsoString=oe("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Js);S.lang=Ja;p("X",0,0,"unix");p("x",0,0,"valueOf");_("x",Ks);_("X",Vh);C("X",function(t,e,s){s._d=new Date(parseFloat(t)*1e3)});C("x",function(t,e,s){s._d=new Date(T(t))});//! moment.js -f.version="2.30.1";Eh(x);f.fn=h;f.min=c_;f.max=u_;f.now=d_;f.utc=be;f.unix=Wp;f.months=Hp;f.isDate=ns;f.locale=Ve;f.invalid=Us;f.duration=pe;f.isMoment=fe;f.weekdays=Up;f.parseZone=Vp;f.localeData=Ie;f.isDuration=Os;f.monthsShort=Fp;f.weekdaysMin=Gp;f.defineLocale=pr;f.updateLocale=Vf;f.locales=Hf;f.weekdaysShort=jp;f.normalizeUnits=le;f.relativeTimeRounding=vm;f.relativeTimeThreshold=ym;f.calendarFormat=$_;f.prototype=h;f.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const Lm=()=>{const t=document.createElement("div");return t.classList.add("toast-container","position-fixed","top-0","end-0","p-3","mt-5"),document.querySelector("body").appendChild(t),t},bm=()=>{const t=document.createElement("div");return t.classList.add("toast","bg-dark","text-light"),t.setAttribute("role","alert"),t},wm=t=>{const e=document.createElement("strong");return e.classList.add("me-auto"),e.innerText=t,e},Tm=()=>{const t=document.createElement("small");return t.classList.add("text-light"),t.innerText=f().format("DD.MM HH:mm"),t},Sm=()=>{const t=document.createElement("button");return t.setAttribute("type","button"),t.setAttribute("data-bs-dismiss","toast"),t.classList.add("btn-close","btn-close-white"),t},Om=t=>{const e=document.createElement("div");return e.classList.add("toast-header","bg-dark","text-light"),e.appendChild(wm(t)),e.appendChild(Tm()),e.appendChild(Sm()),e},Am=t=>{const e=document.createElement("div");return e.classList.add("toast-body"),e.innerText=t,e},xm=(t,e,s)=>{const n=bm();n.appendChild(Om(e)),n.appendChild(Am(s)),n.addEventListener("hidden.bs.toast",()=>{t.removeChild(n)}),t.appendChild(n),new ss(n).show()};export{Dt as M,Nm as a,Mm as c,km as d,Dm as g,xm as s,Lm as t,Cm as u}; diff --git a/dist/pageAccount.html b/dist/pageAccount.html index 6888ecb..37210e8 100644 --- a/dist/pageAccount.html +++ b/dist/pageAccount.html @@ -6,8 +6,8 @@ Мой аккаунт - - + + diff --git a/dist/pageForm.html b/dist/pageForm.html index 765c7e0..101eb93 100644 --- a/dist/pageForm.html +++ b/dist/pageForm.html @@ -6,8 +6,8 @@ Новое видео - - + + diff --git a/server.json b/server.json new file mode 100644 index 0000000..2ef42bb --- /dev/null +++ b/server.json @@ -0,0 +1,9 @@ +{ + "/": { + "cors": true, + "headers": { + "Access-Control-Allow-Origin": "*", + "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS" + } + } +} \ No newline at end of file