diff --git a/04_typescript/agenda.md b/04_typescript/agenda.md index 4f10f06..7422f45 100644 --- a/04_typescript/agenda.md +++ b/04_typescript/agenda.md @@ -509,7 +509,7 @@ Projekte + weiteres Modul einbinden **Übungen:** -Übungen 10 - 18 +Übungen 10 - 19 --- @@ -519,11 +519,10 @@ Projekte + weiteres Modul einbinden - TS Funktionen und Objekte - Abschluss TypeScript Grundlagen -- Abschlussquiz **Übungen:** -Übungen 19 - 31 +Übungen 20 - 31 Projektarbeit --- @@ -532,6 +531,7 @@ Projektarbeit **Inhalt:** +- Abschlussquiz - Projekt-Webseite in TS - Optimierung mit KI - 1:1 Meeting diff --git a/04_typescript/faq/describable-fn.js b/04_typescript/faq/describable-fn.js new file mode 100644 index 0000000..cf5f7a9 --- /dev/null +++ b/04_typescript/faq/describable-fn.js @@ -0,0 +1,10 @@ +const greet = () => { + return 'Hello!'; +}; + +greet.description = 'Function that says hello'; +greet.anotherProp = 'Wert'; + +console.log(greet()); +console.log(greet.description); +console.log(greet.anotherProp); diff --git a/04_typescript/faq/describable-fn.ts b/04_typescript/faq/describable-fn.ts new file mode 100644 index 0000000..e8a0b0b --- /dev/null +++ b/04_typescript/faq/describable-fn.ts @@ -0,0 +1,29 @@ +// Type - describable Function +type GreetFn = { + anotherProp: string; + (): void; +}; + +// Type - Object +type Greet = { + prop: string; + greed: () => void; +}; + +const greetObj: Greet = { + prop: 'bin ein objekt', + greed: () => { + console.log('hello'); + }, +}; + +const greet: GreetFn = () => { + return 'Hello!'; +}; + +// greet.description = 'Function that says hello'; +greet.anotherProp = 'Wert'; + +console.log(greet()); +// console.log(greet.description); +console.log(greet.anotherProp); diff --git a/04_typescript/uebungen/20_fn-call-signatures/assets/js/bundle.js b/04_typescript/uebungen/20_fn-call-signatures/assets/js/bundle.js new file mode 100644 index 0000000..44c90af --- /dev/null +++ b/04_typescript/uebungen/20_fn-call-signatures/assets/js/bundle.js @@ -0,0 +1,33 @@ +(() => { + var __getOwnPropNames = Object.getOwnPropertyNames; + var __commonJS = (cb, mod) => function __require() { + try { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + } catch (e) { + throw mod = 0, e; + } + }; + + // src/main.ts + var require_main = __commonJS({ + "src/main.ts"() { + (() => { + const double = (num) => num * 2; + const halve = (num) => num / 2; + const describeAndApply = (dnObj, num) => { + console.log(dnObj.description); + return dnObj(num); + }; + const describableDouble = Object.assign(double, { + description: "This operation doubles the number." + }); + const describableHalve = Object.assign(halve, { + description: "This operation halves the number." + }); + console.log(describeAndApply(describableDouble, 10)); + console.log(describeAndApply(describableHalve, 10)); + })(); + } + }); + require_main(); +})(); diff --git a/04_typescript/uebungen/20_fn-call-signatures/src/main.ts b/04_typescript/uebungen/20_fn-call-signatures/src/main.ts index 618142b..fd790c8 100644 --- a/04_typescript/uebungen/20_fn-call-signatures/src/main.ts +++ b/04_typescript/uebungen/20_fn-call-signatures/src/main.ts @@ -1,38 +1,43 @@ -// Step 1: Define the NumberOperation call signature +(() => { + // Übung 20: Call Signatures für Zahlenoperationen -// Step 2: Implement double and halve functions + // In dieser Übung erstellst und verwendest du ein paar einfache Funktionen, die sich an bestimmte Call Signatures für die Arbeit mit Zahlen halten. -// Step 3: Define the DescribableNumberOperation type + // Anweisungen: -// Step 4: Implement describeAndApply function + // 1 Definiere eine Funktion vom Typ NumberOperation, die ein einzelnes number annimmt und ein number zurückgibt. -// Test all functions -const describableDouble: DescribableNumberOperation = Object.assign(double, { - description: 'This operation doubles the number.', -}); + type NumberOperation = (num: number) => number; -const describableHalve: DescribableNumberOperation = Object.assign(halve, { - description: 'This operation halves the number.', -}); + // 2 Implementiere zwei Funktionen, double und halve, die der Call Signature NumberOperation folgen: -console.log(describeAndApply(describableDouble, 10)); // => 20 -console.log(describeAndApply(describableHalve, 10)); // => 5 + // double: Multipliziert die eingegebene Zahl mit 2. + const double: NumberOperation = (num) => num * 2; // keine geschweiften Klammern -// Übung 20: Call Signatures für Zahlenoperationen + // halve: Teilt die eingegebene Zahl durch 2. + const halve: NumberOperation = (num) => num / 2; -// In dieser Übung erstellst und verwendest du ein paar einfache Funktionen, die sich an bestimmte Call Signatures für die Arbeit mit Zahlen halten. + // 3 Definiere einen Objekttyp DescribableNumberOperation mit einer description-Property vom Typ string und einer Cal Signature, die NumberOperation entspricht. + type DescribableNumberOperation = { + description: string; + (num: number): number; + }; -// Anweisungen: + // 4 Implementiere eine Funktion describeAndApply, die ein DescribableNumberOperation Objekt annimmt, dessen description protokolliert und die Operation auf eine bestimmte Zahl anwendet. + const describeAndApply = (dnObj: DescribableNumberOperation, num: number) => { + console.log(dnObj.description); + return dnObj(num); + }; -// 1 Definiere eine Funktion vom Typ NumberOperation, die ein einzelnes number annimmt und ein number zurückgibt. + // 5 Teste alle Funktionen mit ein paar Zahlen. + const describableDouble: DescribableNumberOperation = Object.assign(double, { + description: 'This operation doubles the number.', + }); -// 2 Implementiere zwei Funktionen, double und halve, die der Call Signature NumberOperation folgen: + const describableHalve: DescribableNumberOperation = Object.assign(halve, { + description: 'This operation halves the number.', + }); -// double: Multipliziert die eingegebene Zahl mit 2. -// halve: Teilt die eingegebene Zahl durch 2. - -// 3 Definiere einen Objekttyp DescribableNumberOperation mit einer description-Property vom Typ string und einer Cal Signature, die NumberOperation entspricht. - -// 4 Implementiere eine Funktion describeAndApply, die ein DescribableNumberOperation Objekt annimmt, dessen description protokolliert und die Operation auf eine bestimmte Zahl anwendet. - -// 5 Teste alle Funktionen mit ein paar Zahlen. + console.log(describeAndApply(describableDouble, 10)); // => 20 + console.log(describeAndApply(describableHalve, 10)); // => 5 +})(); diff --git a/04_typescript/uebungen/21_fn-identity/src/main.ts b/04_typescript/uebungen/21_fn-identity/src/main.ts index 121ac97..382ea58 100644 --- a/04_typescript/uebungen/21_fn-identity/src/main.ts +++ b/04_typescript/uebungen/21_fn-identity/src/main.ts @@ -1,15 +1,33 @@ -// Übung 21: Eine allgemeine Identitätsfunktion erstellen +(() => { + // Übung 21: Eine allgemeine Identitätsfunktion erstellen -// In dieser Übung erstellst du eine einfache generische Funktion namens identity, die den ihr übergebenen Wert zurückgibt. So lernst du, wie generische Funktionen mit verschiedenen Typen arbeiten können, ohne die Typsicherheit zu verlieren. + // In dieser Übung erstellst du eine einfache generische Funktion namens identity, die den ihr übergebenen Wert zurückgibt. So lernst du, wie generische Funktionen mit verschiedenen Typen arbeiten können, ohne die Typsicherheit zu verlieren. -// Anweisungen: + // Anweisungen: -// 1 Implementiere eine generische identity Funktion, die einen Parameter vom Typ T annimmt und denselben Wert zurückgibt. + // 1 Implementiere eine generische identity Funktion, die einen Parameter vom Typ T annimmt und denselben Wert zurückgibt. -// 2 Rufe identity mit einer number auf und speichere das Ergebnis. + const identity = (x: T): T => { + return x; + }; -// 3 Rufe identity mit einer string auf und speichere das Ergebnis. + // 2 Rufe identity mit einer number auf und speichere das Ergebnis. -// 4 Rufe identity mit einem Array von Objekten auf und speichere das Ergebnis. + const resultNum = identity(2); -// 5 Stelle sicher, dass TypeScript die Rückgabetypen ohne explicit Type Annotations korrekt herleitet. + // 3 Rufe identity mit einer string auf und speichere das Ergebnis. + + const resultString = identity('John'); + + // 4 Rufe identity mit einem Array von Objekten auf und speichere das Ergebnis. + + const resultArr = identity([ + { firstName: 'John' }, + { lastName: 'Wick' }, + { firstName: 'Jane', lastName: 'Doe' }, + ]); + + // 5 Stelle sicher, dass TypeScript die Rückgabetypen ohne explicit Type Annotations korrekt herleitet. + + console.log(`Num: ${resultNum}, String: ${resultString}, Arr: ${JSON.stringify(resultArr)}`); +})(); diff --git a/04_typescript/uebungen/22_fn-optional-props/src/main.ts b/04_typescript/uebungen/22_fn-optional-props/src/main.ts index 0a91631..6a083ef 100644 --- a/04_typescript/uebungen/22_fn-optional-props/src/main.ts +++ b/04_typescript/uebungen/22_fn-optional-props/src/main.ts @@ -1,19 +1,26 @@ -createUserProfile('JohnDoe', 25, 'john@example.com'); -// => "User JohnDoe is 25 years old and can be contacted at john@example.com." +(() => { + // Übung 22: Optionale Parameter implementieren -createUserProfile('JaneDoe'); -// => "User JaneDoe is 18 years old and can be contacted at N/A." + // Erstelle die Funktion createUserProfile, die drei Parameter benötigt: einen obligatorischen username und zwei optionale Parameter, age und email. Die Funktion sollte einen String mit einer Profilzusammenfassung zurückgeben. Wenn keine optionalen Parameter angegeben werden, sollten die Standardwerte verwendet werden, um das Profil zu vervollständigen. -// Übung 22: Optionale Parameter implementieren + // Anweisungen: -// Erstelle die Funktion createUserProfile, die drei Parameter benötigt: einen obligatorischen username und zwei optionale Parameter, age und email. Die Funktion sollte einen String mit einer Profilzusammenfassung zurückgeben. Wenn keine optionalen Parameter angegeben werden, sollten die Standardwerte verwendet werden, um das Profil zu vervollständigen. + // Definiere eine Funktion createUserProfile, die akzeptiert: -// Anweisungen: + // username (erforderlich, String) + // age (optional, Zahl, Standardwert ist 18) + // email (optional, String, Standardwert: "N/A") -// Definiere eine Funktion createUserProfile, die akzeptiert: + // Keine Fragezeichen nötig + const createUserProfile = (username: string, age: number = 18, email: string = 'N/A') => { + return `User ${username} is ${age} years old and can be contacted at ${email}.`; + }; -// username (erforderlich, String) -// age (optional, Zahl, Standardwert ist 18) -// email (optional, String, Standardwert: "N/A") + // Die Funktion sollte einen String zurückgeben, der das Profil des Nutzers zusammenfasst. -// Die Funktion sollte einen String zurückgeben, der das Profil des Nutzers zusammenfasst. + console.log(createUserProfile('JohnDoe', 25, 'john@example.com')); + // => "User JohnDoe is 25 years old and can be contacted at john@example.com." + + console.log(createUserProfile('JaneDoe')); + // => "User JaneDoe is 18 years old and can be contacted at N/A." +})(); diff --git a/04_typescript/uebungen/23_fn-rest-params-args/src/main.ts b/04_typescript/uebungen/23_fn-rest-params-args/src/main.ts index 86f7f17..761d9d8 100644 --- a/04_typescript/uebungen/23_fn-rest-params-args/src/main.ts +++ b/04_typescript/uebungen/23_fn-rest-params-args/src/main.ts @@ -1,23 +1,42 @@ -// Example usage of sumAll -// Define total -console.log(total); // => 15 +(() => { + // Übung 23: Restparameter und Restargumente -// Example usage of calculateHypotenuse with spread syntax -// Define hypotenuse -console.log(hypotenuse); // => 5 + // Schreibe zwei Funktionen: eine, die Restparameter verwendet, um eine unterschiedliche Anzahl von Zahlen zu akzeptieren und ihre Summe zu berechnen, und eine andere, die die Spread-Syntax verwendet, um ein Array von Zahlen in einzelne Argumente für eine mathematische Funktion zu verteilen. -// Attempting to call calculateHypotenuse with incorrect number of arguments -const invalidSides = [3, 4, 5]; -// Define invalidHypotenuse to call calculateHypotenuse with invalidSides => TypeScript Error: Expected 2 arguments, but got 3. + // Anweisungen: -// Übung 23: Restparameter und Restargumente + // 1 Definiere eine Funktion sumAll, die einen Restparameter, bestehend aus einer variablen Anzahl von numerischen Argumenten, annimmt und die Summe aller übergebenen Zahlen zurückgibt. Verwende die Methode reduce, um die Summe des Arrays zu berechnen. -// Schreibe zwei Funktionen: eine, die Restparameter verwendet, um eine unterschiedliche Anzahl von Zahlen zu akzeptieren und ihre Summe zu berechnen, und eine andere, die die Spread-Syntax verwendet, um ein Array von Zahlen in einzelne Argumente für eine mathematische Funktion zu verteilen. + const sumAll = (...nums: number[]) => { + return nums.reduce((sum, num) => sum + num, 0); + }; -// Anweisungen: + // 2 Als Nächstes definierst du eine Funktion namens calculateHypotenuse, die zwei Zahlen als Argumente akzeptiert und die Hypotenuse mithilfe der Formel √(a² + b²) berechnet. Du solltest diese Funktion aufrufen, indem du ein Array mit zwei Zahlen mit Hilfe der Spread-Syntax ausbreitest. (Tipp: Verwende Math.sqrt()) + const calculateHypotenuse = (...[n1, n2]: [number, number]): number => { + return Math.sqrt(n1 ** 2 + n2 ** 2); + }; -// 1 Definiere eine Funktion sumAll, die einen Restparameter, bestehend aus einer variablen Anzahl von numerischen Argumenten, annimmt und die Summe aller übergebenen Zahlen zurückgibt. Verwende die Methode reduce, um die Summe des Arrays zu berechnen. + // 3 Teste schließlich die Funktion sumAll, indem du sie mit mehreren Zahlen aufrufst und das Ergebnis protokollierst. Teste die Funktion calculateHypotenuse, indem du ein Array mit zwei Zahlen erstellst, dieses Array in die Funktion überträgst und das Ergebnis protokollierst. Versuche außerdem, calculateHypotenuse mit einem Array aufzurufen, das nicht genau zwei Zahlen enthält, um das Type-Checking von TypeScript zu beobachten. -// 2 Als Nächstes definierst du eine Funktion namens calculateHypotenuse, die zwei Zahlen als Argumente akzeptiert und die Hypotenuse mithilfe der Formel √(a² + b²) berechnet. Du solltest diese Funktion aufrufen, indem du ein Array mit zwei Zahlen mit Hilfe der Spread-Syntax ausbreitest. (Tipp: Verwende Math.sqrt()) + // console.log(sumAll([1, 2, 3, 4, 5])); + // console.log(sumAll(1, 2, 3, 4, 5)); -// 3 Teste schließlich die Funktion sumAll, indem du sie mit mehreren Zahlen aufrufst und das Ergebnis protokollierst. Teste die Funktion calculateHypotenuse, indem du ein Array mit zwei Zahlen erstellst, dieses Array in die Funktion überträgst und das Ergebnis protokollierst. Versuche außerdem, calculateHypotenuse mit einem Array aufzurufen, das nicht genau zwei Zahlen enthält, um das Type-Checking von TypeScript zu beobachten. + // Example usage of sumAll + // Define total + const sumNums = sumAll(1, 2, 3, 4, 5); + console.log(sumNums); // => 15 + console.log(sumAll()); // => 0 + + // Example usage of calculateHypotenuse with spread syntax + // Define hypotenuse + + console.log(calculateHypotenuse(3, 4)); // => 5 + + // Attempting to call calculateHypotenuse with incorrect number of arguments + const invalidSides: [number, number] = [3, 4]; + const invalidSides2: number[] = [3, 4, 5]; + + // Define invalidHypotenuse to call calculateHypotenuse with invalidSides => TypeScript Error: Expected 2 arguments, but got 3. + calculateHypotenuse(...invalidSides); + // calculateHypotenuse(...invalidSides2); // A spread argument must either have a tuple type or be passed to a rest parameter. +})(); diff --git a/04_typescript/uebungen/24_fn-destructuring/src/main.ts b/04_typescript/uebungen/24_fn-destructuring/src/main.ts index 82a2399..52e86a9 100644 --- a/04_typescript/uebungen/24_fn-destructuring/src/main.ts +++ b/04_typescript/uebungen/24_fn-destructuring/src/main.ts @@ -1,19 +1,36 @@ -// Example usage of displayUserInfo -displayUserInfo({ name: 'John' }); // => Hello, John! You are 25 years old. -displayUserInfo({ name: 'Alice', age: 30 }); // => Hello, Alice! You are 30 years old. +(() => { + // Übung 24: Parameter Destrukturierung -// Example usage of getFirstTwoElements -getFirstTwoElements([5, 10]); // => First: 5, Second: 10 -getFirstTwoElements([8]); // => First: 8, Second: undefined + // In dieser Übung übst du die Anwendung der Parameterdestrukturierung in TypeScript, indem du zwei einfache Funktionen erstellst. Die erste Funktion destrukturiert einen Objektparameter und verwendet einen Standardwert für eine seiner Eigenschaften. Die zweite Funktion destrukturiert einen Array-Parameter. Beide Funktionen enthalten Type Annotations, um sicherzustellen, dass sie die richtige Struktur erhalten. -// Übung 24: Parameter Destrukturierung + // Anweisungen: -// In dieser Übung übst du die Anwendung der Parameterdestrukturierung in TypeScript, indem du zwei einfache Funktionen erstellst. Die erste Funktion destrukturiert einen Objektparameter und verwendet einen Standardwert für eine seiner Eigenschaften. Die zweite Funktion destrukturiert einen Array-Parameter. Beide Funktionen enthalten Type Annotations, um sicherzustellen, dass sie die richtige Struktur erhalten. + // 1 Erstelle eine Funktion displayUserInfo, die die Eigenschaften name und age aus einem Objektparameter destrukturiert und einen Standardwert für age liefert. -// Anweisungen: + // interface User { + type User = { + name: string; + age?: number; + }; -// 1 Erstelle eine Funktion displayUserInfo, die die Eigenschaften name und age aus einem Objektparameter destrukturiert und einen Standardwert für age liefert. + const displayUserInfo = (user: User): void => { + const { name, age = 18 } = user; -// 2 Erstelle eine Funktion getFirstTwoElements, die die ersten beiden Elemente aus einem Array-Parameter zerstört. + console.log(`Hello, ${name}! You are ${age} years old`); + }; -// 3 Teste deine Funktionen, indem du sie mit den richtigen Argumenten aufrufst. + // 2 Erstelle eine Funktion getFirstTwoElements, die die ersten beiden Elemente aus einem Array-Parameter zerstört. + const getFirstTwoElements = ([firstEl, secondEL]: [number, number?]): void => { + console.log(`First: ${firstEl}, Second: ${secondEL}`); + }; + + // 3 Teste deine Funktionen, indem du sie mit den richtigen Argumenten aufrufst. + + // Example usage of displayUserInfo + displayUserInfo({ name: 'John' }); // => Hello, John! You are 25 years old. + displayUserInfo({ name: 'Alice', age: 30 }); // => Hello, Alice! You are 30 years old. + + // Example usage of getFirstTwoElements + getFirstTwoElements([5, 10]); // => First: 5, Second: 10 + getFirstTwoElements([8]); // => First: 8, Second: undefined +})(); diff --git a/04_typescript/uebungen/25_obj-read-only/src/main.ts b/04_typescript/uebungen/25_obj-read-only/src/main.ts index 2b0f1e6..7b4f3d2 100644 --- a/04_typescript/uebungen/25_obj-read-only/src/main.ts +++ b/04_typescript/uebungen/25_obj-read-only/src/main.ts @@ -1,17 +1,69 @@ -// Übung 25: Optionale und readonly Eigenschaften +(() => { + // Übung 25: Optionale und readonly Eigenschaften -// In dieser Übung erstellst du eine interface für eine Product, die erforderliche, optionale und readonly Eigenschaften enthält. Anschließend schreibst du eine Funktion, die Informationen über das Produkt protokolliert und dabei optionale Eigenschaften korrekt behandelt. + // In dieser Übung erstellst du eine interface für eine Product, die erforderliche, optionale und readonly Eigenschaften enthält. Anschließend schreibst du eine Funktion, die Informationen über das Produkt protokolliert und dabei optionale Eigenschaften korrekt behandelt. -// Anweisungen: + // Anweisungen: -// 1 Definiere ein Product Interface, die Folgendes beinhaltet: + // 1 Definiere ein Product Interface, die Folgendes beinhaltet: -// Erforderliche Eigenschaften id (Number) und name (String). -// Optionale Eigenschaften price (Number) und description (String). -// Eine readonly category (String) Eigenschaft. + // Erforderliche Eigenschaften id (Number) und name (String). + // Optionale Eigenschaften price (Number) und description (String). + // Eine readonly category (String) Eigenschaft. -// 2 Schreibe eine Funktion printProductDetails, die ein Product Objekt annimmt und: + interface Product { + id: number; + name: string; + price?: number; + description?: string; + readonly category: string; + } -// Druckt die name, category und id. -// Wenn price undefined ist, drucke "Price: Not available". -// Wenn description undefined ist, drucke "No description availabler". + // 2 Schreibe eine Funktion printProductDetails, die ein Product Objekt annimmt und: + + // Druckt die name, category und id. + // Wenn price undefined ist, drucke "Price: Not available". + // Wenn description undefined ist, drucke "No description availabler". + + const printProductDetails = (product: Product): void => { + // let price = product.price ? product.price : 'Not avaible'; + // let descr = product.description ? product.description : 'No description avaible'; + let price = product.price ?? 'Not avaible'; + let descr = product.description ?? 'No description avaible'; + + console.log( + `Name: ${product.name}, Kategorie: ${product.category}, ID: ${product.id}, Preis: ${price}, Beschreibung: ${descr}`, + ); + }; + + //Aus Faulheit mit KI Objekte zum testen erstellt + + // 1. Produkt mit ALLEN Eigenschaften + const fullProduct: Product = { + id: 101, + name: 'Gaming Laptop', + category: 'Elektronik', + price: 1299.99, + description: 'Leistungsstarker Laptop für Gaming und Arbeit.', + }; + + // 2. Produkt OHNE optionale Eigenschaften (weder Preis noch Beschreibung) + const minimalProduct: Product = { + id: 102, + name: 'Kaffeetasse', + category: 'Haushalt', + }; + + // 3. Produkt NUR MIT Beschreibung (ohne Preis) + const noPriceProduct: Product = { + id: 103, + name: 'Antikes Buch', + category: 'Bücher', + description: 'Ein rares Sammlerstück aus dem 19. Jahrhundert.', + }; + + // Tests ausführen: + printProductDetails(fullProduct); //Name: Gaming Laptop, Kategorie: Elektronik, ID: 101, Preis: 1299.99, Beschreibung: Leistungsstarker Laptop für Gaming und Arbeit. + printProductDetails(minimalProduct); //Name: Kaffeetasse, Kategorie: Haushalt, ID: 102, Preis: Not avaible, Beschreibung: No description avaible + printProductDetails(noPriceProduct); //Name: Antikes Buch, Kategorie: Bücher, ID: 103, Preis: Not avaible, Beschreibung: Ein rares Sammlerstück aus dem 19. Jahrhundert. +})(); diff --git a/04_typescript/uebungen/26_obj-update/src/main.ts b/04_typescript/uebungen/26_obj-update/src/main.ts index 2ca73d2..de03cc0 100644 --- a/04_typescript/uebungen/26_obj-update/src/main.ts +++ b/04_typescript/uebungen/26_obj-update/src/main.ts @@ -1,19 +1,41 @@ -// Übung 26: Eine verschachtelte Objekteigenschaft aktualisieren +(() => { + // Übung 26: Eine verschachtelte Objekteigenschaft aktualisieren -// In dieser Übung definierst du ein Interface mit readonly und veränderbaren Eigenschaften und aktualisierst ein verschachteltes Objekt innerhalb des Interfaces. Du übst den Umgang mit verschachtelten Objekten und readonly Eigenschaften. + // In dieser Übung definierst du ein Interface mit readonly und veränderbaren Eigenschaften und aktualisierst ein verschachteltes Objekt innerhalb des Interfaces. Du übst den Umgang mit verschachtelten Objekten und readonly Eigenschaften. -// Anweisungen: + // Anweisungen: -// Erstelle ein Employee Interface, die Folgendes enthält: + // Erstelle ein Employee Interface, die Folgendes enthält: + // Eine readonly employeeId (Number) Eigenschaft. + // Eine veränderbare Detail-Eigenschaft, die ein Objekt ist, das Folgendes enthält: position (String), salary (Number) -// Eine readonly employeeId (Number) Eigenschaft. + interface Employee { + readonly employeeId: number; + details: { + position: string; + salary: number; + }; + } -// Eine veränderbare Detail-Eigenschaft, die ein Objekt ist, das Folgendes enthält: position (String), salary (Number) + // Schreibe eine Funktion updateEmployeePosition die: -// Schreibe eine Funktion updateEmployeePosition die: + // Akzeptiert ein Employee Objekt und einen neuen position String. + const updateEmployeePosition = (emp: Employee, pos: string) => { + emp.details.position = pos; + console.log(`ID: ${emp.employeeId}, Position: ${emp.details.position}, Salaray: ${emp.details.salary}`); + }; -// Akzeptiert ein Employee Objekt und einen neuen position String. + // Aktualisiert die position des Mitarbeiters, verhindert aber jede Änderung der employeeId. -// Aktualisiert die position des Mitarbeiters, verhindert aber jede Änderung der employeeId. + // Teste die Funktion, indem du ein Employee-Objekt erstellst und die Position aktualisierst. -// Teste die Funktion, indem du ein Employee-Objekt erstellst und die Position aktualisierst. + const employee: Employee = { + employeeId: 1, + details: { + position: 'normaler Angestellter', + salary: 1400, + }, + }; + + updateEmployeePosition(employee, 'cooler Angestellter'); +})(); diff --git a/04_typescript/uebungen/27_obj-interface-props/src/main.ts b/04_typescript/uebungen/27_obj-interface-props/src/main.ts index 8f3f362..80d0d96 100644 --- a/04_typescript/uebungen/27_obj-interface-props/src/main.ts +++ b/04_typescript/uebungen/27_obj-interface-props/src/main.ts @@ -5,21 +5,42 @@ // Anweisungen: // 1 Definiere ein Car Interface, die Folgendes beinhaltet: - // Erforderliche Eigenschaften make (string) und model (string). - // Optionale Eigenschaften year (Number) und color (String). - // Eine readonly vin (string) Eigenschaft (Fahrzeugidentifikationsnummer). +interface Car { + make: string; + model: string; + year?: number; + color?: string; + readonly vin: string; +} // 2 Schreibe eine Funktion createCar die: - // Nimmt make, model und vin auf und gibt ein Car Objekt zurück. - // Optional können year und color akzeptiert werden. +type CreateCarFn = (a: string, b: string, c: string, d?: number, e?: string) => Car; + +// const createCar = (make: string, model: string, vin: string, year?: number, color?: string): Car => { +// return { make, model, vin, year, color }; +// }; + +const createCar: CreateCarFn = (make, model, vin, year, color) => { + return { make, model, vin, year, color }; +}; + // 3 Schreibe eine weitere Funktion paintCar die: - // Akzeptiert ein Car Objekt und einen neuen color String. - // Aktualisiert die color des Fahrzeugs (falls vorhanden), verhindert aber jede Änderung an der vin. +const paintCar = (car: Car, color: string): Car => { + const res: Car = car; + res.color = color; + return res; +}; + +let car1 = createCar('VW', 'Golf', '1234', 2020, 'blau'); +console.log(car1); + +car1 = paintCar(car1, 'gelb'); +console.log(car1); diff --git a/04_typescript/uebungen/28_obj-excess-prop-check/src/main.ts b/04_typescript/uebungen/28_obj-excess-prop-check/src/main.ts index b9539bd..fd50a39 100644 --- a/04_typescript/uebungen/28_obj-excess-prop-check/src/main.ts +++ b/04_typescript/uebungen/28_obj-excess-prop-check/src/main.ts @@ -9,7 +9,18 @@ // - make: String // - model: String // - year: Number +interface Car { + make: string; + model: string; + year: number; +} // 2 Schreibe eine Funktion printCarDetails, die ein Objekt vom Typ Car annimmt und die Details des Autos ausgibt (make, model und year). +const printCarDetails = (car: Car) => { + console.log(`Hersteller: ${car.make}`); + console.log(`Model: ${car.model}`); + console.log(`Baujahr: ${car.year}`); +}; // 3 Versuche, der Funktion ein Objekt zu übergeben, das eine zusätzliche Eigenschaft hat, z. B. color. Beobachte, wie TypeScript mit der überzähligen Eigenschaft umgeht und erkläre, warum der Fehler auftritt. +// printCarDetails({ make: 'VW', model: 'Golf', year: 2020, color: 'blue' }); diff --git a/04_typescript/uebungen/29_obj-extending-interface/src/main.ts b/04_typescript/uebungen/29_obj-extending-interface/src/main.ts index 6e135fa..5275ed1 100644 --- a/04_typescript/uebungen/29_obj-extending-interface/src/main.ts +++ b/04_typescript/uebungen/29_obj-extending-interface/src/main.ts @@ -1,11 +1,37 @@ -// Übung 29: Extending einer einzelnen Interface +{ + // Übung 29: Extending einer einzelnen Interface -// In dieser Übung wirst du eine bestehende Product Interface erweitern, um einen spezifischeren Typ Electronics zu erstellen. Du wirst zusätzliche Eigenschaften für Elektronikprodukte definieren und ein Objekt des Typs Electronics erstellen. + // In dieser Übung wirst du eine bestehende Product Interface erweitern, um einen spezifischeren Typ Electronics zu erstellen. Du wirst zusätzliche Eigenschaften für Elektronikprodukte definieren und ein Objekt des Typs Electronics erstellen. -// Anweisungen: + // Anweisungen: -// 1 Definiere ein Product Interface mit den Eigenschaften id, name und price. + // 1 Definiere ein Product Interface mit den Eigenschaften id, name und price. + interface Product { + readonly id: number; + name: string; + price: number; + } -// 2 Erweitere die Product Interface um eine Electronics Interface und füge die Eigenschaften brand und warranty hinzu. + // 2 Erweitere die Product Interface um eine Electronics Interface und füge die Eigenschaften brand und warranty hinzu. + interface Electronics extends Product { + brand: string; + warranty: number; + } -// 3 Erstelle ein Objekt vom Typ Electronics. + // 3 Erstelle ein Objekt vom Typ Electronics. + const comp: Electronics = { + id: 1, + name: 'Computer', + price: 1499.99, + brand: 'Asus', + warranty: 24, + }; + + const konsole: Electronics = { + id: 2, + name: 'Steam', + price: 1039.99, + brand: 'Valve', + warranty: 24, + }; +} diff --git a/04_typescript/uebungen/30_obj-subtyp/src/main.ts b/04_typescript/uebungen/30_obj-subtyp/src/main.ts index b64073b..6ed31d8 100644 --- a/04_typescript/uebungen/30_obj-subtyp/src/main.ts +++ b/04_typescript/uebungen/30_obj-subtyp/src/main.ts @@ -1,11 +1,25 @@ -// Übung 30: Einzigartige Eigenschaften zu einem Subtyp hinzufügen +{ + // 1 Erweitere die Product Interface, um eine Furniture Interface zu erstellen. + interface Product { + readonly id: number; + name: string; + price: number; + } -// In dieser Übung wirst du die Product Interface erweitern, um einen Typ Furniture zu erstellen, der spezielle Eigenschaften für Möbel hinzufügt, wie material und dimensions. + // 2 Füge die Eigenschaften material und dimensions zu den Möbeln hinzu. + interface Furniture extends Product { + material: string; + dimensions: { length: number; width: number; height: number }; + } -// Anweisungen: + // 3 Erstelle ein Objekt vom Typ Furniture, das ein Möbelstück darstellt. + const schrank: Furniture = { + id: 2, + name: 'Schrank', + price: 199.99, + material: 'Holz', + dimensions: { length: 0.7, width: 1.5, height: 1.7 }, + }; -// 1 Erweitere die Product Interface, um eine Furniture Interface zu erstellen. - -// 2 Füge die Eigenschaften material und dimensions zu den Möbeln hinzu. - -// 3 Erstelle ein Objekt vom Typ Furniture, das ein Möbelstück darstellt. + console.log(JSON.stringify(schrank, null, 2)); +} diff --git a/04_typescript/uebungen/31_obj-generics-fns/src/main.ts b/04_typescript/uebungen/31_obj-generics-fns/src/main.ts index dd947ed..2854787 100644 --- a/04_typescript/uebungen/31_obj-generics-fns/src/main.ts +++ b/04_typescript/uebungen/31_obj-generics-fns/src/main.ts @@ -1,9 +1,23 @@ -// Übung 31: Generic Functions für Arrays +{ + // Übung 31: Generic Functions für Arrays -// In dieser Übung erstellst du eine generische Funktion, die mit Arrays beliebigen Typs funktioniert. Du definierst eine Funktion, die das erste Element des Arrays zurückgibt und es TypeScript ermöglicht, den Elementtyp aus dem übergebenen Array abzuleiten. + // In dieser Übung erstellst du eine generische Funktion, die mit Arrays beliebigen Typs funktioniert. Du definierst eine Funktion, die das erste Element des Arrays zurückgibt und es TypeScript ermöglicht, den Elementtyp aus dem übergebenen Array abzuleiten. -// Anweisungen: + // Anweisungen: -// 1 Definiere eine generische Funktion getFirstElement, die ein Array beliebigen Typs annimmt und das erste Element oder undefined zurückgibt, wenn das Array leer ist. + // 1 Definiere eine generische Funktion getFirstElement, die ein Array beliebigen Typs annimmt und das erste Element oder undefined zurückgibt, wenn das Array leer ist. + const getFirstElement = (arg: T[]): T => { + return arg[0]; + }; -// 2 Rufe die Funktion mit Arrays verschiedener Typen auf (number[], string[], etc.) und protokolliere das Ergebnis. + // 2 Rufe die Funktion mit Arrays verschiedener Typen auf (number[], string[], etc.) und protokolliere das Ergebnis. + console.log(getFirstElement([1, 2, 3])); + console.log(getFirstElement(['a', 'b', 'c'])); + console.log( + getFirstElement([ + { name: 'a', id: 1 }, + { name: 'b', id: 2 }, + ]), + ); + console.log(getFirstElement([])); +} diff --git a/04_typescript/unterricht/tag34/01_ts-functions/src/01_fn-type-expression.ts b/04_typescript/unterricht/tag34/01_ts-functions/src/01_fn-type-expression.ts index bc2ed9b..aae786a 100644 --- a/04_typescript/unterricht/tag34/01_ts-functions/src/01_fn-type-expression.ts +++ b/04_typescript/unterricht/tag34/01_ts-functions/src/01_fn-type-expression.ts @@ -5,7 +5,7 @@ Dabei werden die Typen ihrer Eingänge (Parameter) und ihres Ausgangs (Rückgabe */ { - type MathFn = (x: number, y: number) => number; // Funktionstype-deklaration + type MathFn = (x: number, y: number) => number; // Funktionstyp-deklaration const mathOperationFn = (fn: MathFn): number => { return fn(4, 5); @@ -15,6 +15,10 @@ Dabei werden die Typen ihrer Eingänge (Parameter) und ihres Ausgangs (Rückgabe return a * b; }; + function multiplyFn(a: number, b: number): number { + return a * b; + } + const multiply2: MathFn = (a, b) => { return a * b; }; @@ -52,9 +56,9 @@ Dabei werden die Typen ihrer Eingänge (Parameter) und ihres Ausgangs (Rückgabe console.log(message); }; + // RECOMMENDED type LogFn = (param: string) => void; - // RECOMMENDED const logMessage3: LogFn = (message) => { console.log(message); }; diff --git a/04_typescript/unterricht/tag34/01_ts-functions/src/02_fn-call-signature.ts b/04_typescript/unterricht/tag34/01_ts-functions/src/02_fn-call-signature.ts index 6bf4783..89424a8 100644 --- a/04_typescript/unterricht/tag34/01_ts-functions/src/02_fn-call-signature.ts +++ b/04_typescript/unterricht/tag34/01_ts-functions/src/02_fn-call-signature.ts @@ -39,6 +39,23 @@ Eine Call Signature ermöglicht es dir, die Art und Weise zu beschreiben, wie ei console.log(multiply(25, 25)); //=> 625 //-------- + + type Person = { + name: string; + age: number; + walk: (speed?: number) => string; + }; + + const person: Person = { + name: 'John', + age: 23, + walk() { + return "i'm walking."; + }, + }; + + console.log(person.walk()); + // VORSICHT SONDERFALL in der Signatur bei describable Function // Bei Describable Function : anstatt => für Rückgabe diff --git a/04_typescript/unterricht/tag34/01_ts-functions/src/06_fn-destructuring.ts b/04_typescript/unterricht/tag34/01_ts-functions/src/06_fn-destructuring.ts index 21caf4f..4882436 100644 --- a/04_typescript/unterricht/tag34/01_ts-functions/src/06_fn-destructuring.ts +++ b/04_typescript/unterricht/tag34/01_ts-functions/src/06_fn-destructuring.ts @@ -11,6 +11,7 @@ Destrukturierung vereinfacht deinen Code, indem du Werte direkt aus Objekten ode console.log(`Hello, ${name}! You are ${age} years old.`); }; + // NEGATIV BEISPIEL - NOT RECOMMENDED const greetUser3: (o: { name: string; age: number }) => void = ( { name, @@ -37,6 +38,17 @@ Destrukturierung vereinfacht deinen Code, indem du Werte direkt aus Objekten ode greetUser4({ name: 'Alice', age: 25 }); + // RECOMMENDED ALTERNATIVE + type User = { name: string; age: number }; + + const greetUser5 = (user: User) => { + const { name, age } = user; + + console.log(`Hello, ${name}! You are ${age} years old.`); + }; + + greetUser5({ name: 'Alice', age: 25 }); + // ----- const sum = ({ a, b, c }: { a: number; b: number; c: number }): void => { console.log(a + b + c); diff --git a/04_typescript/unterricht/tag34/01_ts-functions/src/07_never-void-unknown.ts b/04_typescript/unterricht/tag34/01_ts-functions/src/07_never-void-unknown.ts index 037f552..5cda185 100644 --- a/04_typescript/unterricht/tag34/01_ts-functions/src/07_never-void-unknown.ts +++ b/04_typescript/unterricht/tag34/01_ts-functions/src/07_never-void-unknown.ts @@ -3,7 +3,7 @@ In TypeScript gibt es drei spezielle Typen: never, unknown und void. Diese Typen werden in bestimmten Situationen verwendet, um bestimmte Verhaltensweisen zu modellieren. */ -// - void wird für Funktionen verwendet, die keinen Wert zurückgeben, was bedeutet, dass die Funktion eine Aktion ausführt, ohne ein Ergebnis zu liefern. Es wird kein Ergebnis erwartet, dennoch können Ergebnisse zurückgegeben werden ohne Fehlermeldung +// - void wird für Funktionen verwendet, die keinen Wert zurückgeben, was bedeutet, dass die Funktion eine Aktion ausführt, ohne ein Ergebnis zu liefern. Es wird kein Ergebnis erwartet, dennoch können Ergebnisse zurückgegeben werden ohne Fehlermeldung, wenn void in einer "call Signature" (Funktionstyp-Deklaration verwendet wird) // - unknown ist eine sicherere Alternative zu any und erfordert Type-Checking, bevor Operationen mit Werten unbekannten Typs durchgeführt werden, wodurch Laufzeitfehler vermieden werden. @@ -16,9 +16,9 @@ In TypeScript gibt es drei spezielle Typen: never, unknown und void. Diese Typen const logMessage = (message: string): void => { console.log(message); }; + const logMessage2: LogFn = (message) => { console.log(message); - return 'message'; }; logMessage('Hello, TypeScript!'); @@ -114,6 +114,7 @@ In TypeScript gibt es drei spezielle Typen: never, unknown und void. Diese Typen return 'Handling a circle'; case 'square': return 'Handling a square'; + default: // throw new Error("shape doesn't exist"); const _exhaustiveCheck: never = shape; // TypeScript error if a new shape is added diff --git a/04_typescript/unterricht/tag34/02_ts-objects/src/01_obj-props.ts b/04_typescript/unterricht/tag34/02_ts-objects/src/01_obj-props.ts index e3c4bdf..0023851 100644 --- a/04_typescript/unterricht/tag34/02_ts-objects/src/01_obj-props.ts +++ b/04_typescript/unterricht/tag34/02_ts-objects/src/01_obj-props.ts @@ -48,6 +48,7 @@ In TypeScript kannst du die Modifizierer für Eigenschaften in Objekten verwende // ?? operator => nullish coalescing const printBookInfo = (book: Book) => { const author = book.author ?? 'Unknown'; // Use "Unknown" if author is undefined + const author2 = book.author ? book.author : 'Unknown'; // Use "Unknown" if author is undefined const pages = book.pages ?? 'Page count not available'; console.log(`Title: ${book.title}, Author: ${author}, Pages: ${pages}`); }; diff --git a/04_typescript/unterricht/tag34/02_ts-objects/src/04_obj-more-types.ts b/04_typescript/unterricht/tag34/02_ts-objects/src/04_obj-more-types.ts index f87adad..4176942 100644 --- a/04_typescript/unterricht/tag34/02_ts-objects/src/04_obj-more-types.ts +++ b/04_typescript/unterricht/tag34/02_ts-objects/src/04_obj-more-types.ts @@ -82,7 +82,7 @@ type StringNumberMap = Record; const numbers: StringNumberMap = { - one: 1, + true: 1, two: 2, three: 3, }; diff --git a/04_typescript/unterricht/tag35/README.md b/04_typescript/unterricht/tag35/README.md new file mode 100644 index 0000000..6ed5149 --- /dev/null +++ b/04_typescript/unterricht/tag35/README.md @@ -0,0 +1,5 @@ +# Projektarbeit & Exkurs + +- Abschlussquiz +- **Exkurs Webprojekt in TS mit KI Part I** +- 1:1 Meeting diff --git a/04_typescript/unterricht/tag35/meeting.md b/04_typescript/unterricht/tag35/meeting.md new file mode 100644 index 0000000..e309cf8 --- /dev/null +++ b/04_typescript/unterricht/tag35/meeting.md @@ -0,0 +1,6 @@ +# Meeting Fr. 31.07.2026 + +- [ ] 14:20 - 14:30 Uhr Adel +- [ ] 14:30 - 14:40 Uhr Kahleel +- [ ] 14:40 - 14:50 Uhr Ersin +- [ ] 14:50 - 15:00 Uhr Andreas diff --git a/webseite-ts-claude/backend/.vscode/settings.json b/webseite-ts-claude/backend/.vscode/settings.json new file mode 100644 index 0000000..ab56b22 --- /dev/null +++ b/webseite-ts-claude/backend/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "workbench.colorCustomizations": { + "titleBar.activeForeground": "#333", + "titleBar.activeBackground": "#d0d06b", + "titleBar.inactiveForeground": "#ddd", + "titleBar.inactiveBackground": "#a4a464" + } +} diff --git a/webseite-ts-claude/backend/api.rest b/webseite-ts-claude/backend/api.rest new file mode 100644 index 0000000..7e506de --- /dev/null +++ b/webseite-ts-claude/backend/api.rest @@ -0,0 +1,68 @@ +# BROWSE Products + +GET http://127.0.0.1:8000/api/products + +### + +# READ Product + +GET http://127.0.0.1:8000/api/products/c38913d4-9524-461f-85d2-525241166e8e + + +### + +# ADD Product + +POST http://127.0.0.1:8000/api/products +Content-Type: application/json + +{ + "name": "Testproduct", + "price": 9.99 +} + +### + +# UPDATE Product + +PUT http://127.0.0.1:8000/api/products +Content-Type: application/json + +{ + "_id": "940c316b-518c-4a18-b1f6-328e010eef4d", + "name": "Testproduct Updated", + "price": 123.22 +} + +### + +# DELETE Product + +DELETE http://127.0.0.1:8000/api/products/6cbe4783-cfb5-4ed7-8196-9d6b55217de0 +Content-Type: application/json + +### + +# RESET Products +PATCH http://127.0.0.1:8000/api/products/reset +Content-Type: application/json + +{ + "reset": true +} + +### + +# SAVE Products +PATCH http://127.0.0.1:8000/api/products/save +Content-Type: application/json + +{ + "save": true +} + + + + + + diff --git a/webseite-ts-claude/backend/data/products.bakup.json b/webseite-ts-claude/backend/data/products.bakup.json new file mode 100644 index 0000000..906dff9 --- /dev/null +++ b/webseite-ts-claude/backend/data/products.bakup.json @@ -0,0 +1,38 @@ +[ + { + "_id": "6cbe4783-cfb5-4ed7-8196-9d6b55217de0", + "position": 1, + "name": "3Doodler 3D Printing Pen", + "price": 29.99 + }, + { + "_id": "c38913d4-9524-461f-85d2-525241166e8e", + "position": 2, + "name": "Powerstation 5- E. Maximus Chargus", + "price": 44.95 + }, + { + "_id": "cdc887bd-fb0e-4485-8516-0a3720c3bb72", + "position": 3, + "name": "8-Bit Legendary Hero Heat-Change Mug", + "price": 6.99 + }, + { + "_id": "bded2710-8db8-41a5-87af-269195eab449", + "position": 4, + "name": "16-Bit Legendary Hero Heat-Change Mug", + "price": 12.99 + }, + { + "_id": "3b3352c1-789d-4b4f-8a93-f05f44ece5a5", + "position": 5, + "name": "32-Bit Legendary Hero Heat-Change Mug", + "price": 18.99 + }, + { + "_id": "5af39d33-cbcd-42c7-a160-50084faa91ba", + "position": 6, + "name": "64-Bit Legendary Hero Heat-Change Mug", + "price": 21.99 + } +] diff --git a/webseite-ts-claude/backend/data/products.json b/webseite-ts-claude/backend/data/products.json new file mode 100644 index 0000000..897db5d --- /dev/null +++ b/webseite-ts-claude/backend/data/products.json @@ -0,0 +1,38 @@ +[ + { + "_id": "6cbe4783-cfb5-4ed7-8196-9d6b55217de0", + "position": 1, + "name": "3Doodler 3D Printing Pen", + "price": 29.99 + }, + { + "_id": "c38913d4-9524-461f-85d2-525241166e8e", + "position": 2, + "name": "Powerstation 5- E. Maximus Chargus", + "price": 44.95 + }, + { + "_id": "cdc887bd-fb0e-4485-8516-0a3720c3bb72", + "position": 3, + "name": "8-Bit Legendary Hero Heat-Change Mug", + "price": 6.99 + }, + { + "_id": "bded2710-8db8-41a5-87af-269195eab449", + "position": 4, + "name": "16-Bit Legendary Hero Heat-Change Mug", + "price": 12.99 + }, + { + "_id": "3b3352c1-789d-4b4f-8a93-f05f44ece5a5", + "position": 5, + "name": "32-Bit Legendary Hero Heat-Change Mug", + "price": 18.99 + }, + { + "_id": "5af39d33-cbcd-42c7-a160-50084faa91ba", + "position": 6, + "name": "64-Bit Legendary Hero Heat-Change Mug", + "price": 21.99 + } +] \ No newline at end of file diff --git a/webseite-ts-claude/backend/model/ProductModel.js b/webseite-ts-claude/backend/model/ProductModel.js new file mode 100644 index 0000000..424d144 --- /dev/null +++ b/webseite-ts-claude/backend/model/ProductModel.js @@ -0,0 +1,113 @@ +import fs from 'node:fs'; +import { v4 as id } from 'uuid'; + +// Factoryfunction +const ProductModel = () => { + let products = []; + + const load = () => { + try { + products = JSON.parse(fs.readFileSync('./data/products.json', 'utf-8')); + } catch (error) { + console.log('Something went wrong: ', error); + products = []; + } + }; + + const reset = () => { + try { + products = JSON.parse(fs.readFileSync('./data/products.bakup.json', 'utf-8')); + } catch (error) { + console.log('Something went wrong: ', error); + products = []; + } + }; + + const save = () => { + try { + fs.writeFileSync('./data/products.json', JSON.stringify(products, null, 2), 'utf-8'); + } catch (error) { + console.log('Something went wrong:', error); + } + }; + + const getAll = () => { + return products; + }; + + const get = (id) => { + const product = products.find((product) => { + return product._id === id; + }); + + // Guard + if (!product) return null; + + return product; + }; + + const add = (product) => { + const { name, price } = product; + + if (!hasAllProps(product)) return false; + + products.push({ + _id: id(), + name, + price: Number(price.toFixed(2)), + position: products.length + 1, + }); + + return true; + }; + + const update = (product) => { + const foundIdx = products.findIndex((obj) => { + return obj._id === product._id; + }); + + // Guard + if (foundIdx === -1 || !hasAllProps(product)) return false; + + products[foundIdx] = product; + return true; + }; + + const remove = (id) => { + const foundIdx = products.findIndex((obj) => { + return obj._id === id; + }); + + // Guard + if (foundIdx === -1) return false; + + products.splice(foundIdx, 1); + + return true; + }; + + /** + * hasAllProps - Überprüfung ob Product "name" und "price" + * @return boolean + **/ + const hasAllProps = (product) => { + // return Object.hasOwn(product, 'name') && Object.hasOwn(product, 'price'); + + const keys = Object.keys(product); // => ['name', 'price'] + return keys.includes('name') && keys.includes('price'); + }; + + return { + // load: load + load, + save, + add, + getAll, + get, + update, + delete: remove, + reset, + }; +}; + +export default ProductModel; diff --git a/webseite-ts-claude/backend/package.json b/webseite-ts-claude/backend/package.json new file mode 100644 index 0000000..4924405 --- /dev/null +++ b/webseite-ts-claude/backend/package.json @@ -0,0 +1,20 @@ +{ + "name": "website-backend", + "version": "1.0.0", + "description": "", + "main": "server.js", + "scripts": { + "start": "npx nodemon server.js", + "server": "npx nodemon server.js" + }, + "keywords": [], + "type": "module", + "license": "ISC", + "dependencies": { + "chalk": "^5.6.2", + "cors": "^2.8.6", + "dotenv": "^17.4.2", + "express": "^5.2.1", + "uuid": "^14.0.1" + } +} diff --git a/webseite-ts-claude/backend/server.js b/webseite-ts-claude/backend/server.js new file mode 100644 index 0000000..f3652d7 --- /dev/null +++ b/webseite-ts-claude/backend/server.js @@ -0,0 +1,158 @@ +import express from 'express'; +import color from 'chalk'; +import cors from 'cors'; +import dotenv from 'dotenv'; + +dotenv.config(); // Sensible Konfigurationsvariablen in .env Datei auslagern + +// Model +import ProductModel from './model/ProductModel.js'; // Dateiendung nicht vergessen + +const PORT = process.env.SERVER_PORT; // || 8000; +const HOST = process.env.SERVER_HOST; // || '127.0.0.1'; // 'localhost' +const BASE_URL = `http://${HOST}:${PORT}`; + +const app = express(); +const products = ProductModel(); + +const corsOptions = { + origin: ['http://localhost:3000', 'http://127.0.0.1:3000'], + optionsSuccessStatus: 200, // some legacy browsers (IE11, various SmartTVs) choke on 204 +}; + +// lade Produkte +products.load(); + +// Middleware +app.use(cors(corsOptions)); // Fängt alle HTTP-Requests vor den Routenabfragen ab. +app.use(express.json()); // HTTP-Request Body wird als JSON Objekt erwartet und geparsed wird. // app.use(bodyParser.json()) - Modul body-parser war in express 4 notwendig + +app.use((req, res, next) => { + console.log(color.yellow('HTTP-Method: '), color.magenta(req.method)); + next(); +}); + +// Routes +app.get('/', (req, res) => { + // console.log(req.headers); + + res.send('SERVER WORKS!'); // HTTP-Response wird gesendet. +}); + +app.get('/persons', (req, res) => { + // res.setHeader('Content-Type', 'application/json'); // nicht notwendig den Content-Type selber zu definieren, da das express automatisch zuweist. + + const persons = [ + { firstName: 'John', lastName: 'Wick' }, + { firstName: 'Jane', lastName: 'Doe' }, + { firstName: 'Max', lastName: 'Mustermann' }, + ]; + // res.send(JSON.stringify(persons)); // nicht notwendig JS Objekte in JSON Strings umzuwandeln, das das express automatisch umwandelt + + res.send(persons); +}); + +// REST API ====== +// Representational State Transfer (abgekürzt REST) +// GET - Daten Holen +// POST - Daten hinzufügen +// PUT/PATCH - Daten aktualisieren / Einen Datensatz aktualisieren +// DELETE - Daten löschen + +// HTTP - Methode - POST +// (C)RUD - create - neues Produkt erstellen +// BRE(A)D - add +app.post('/api/products', (req, res) => { + const product = req.body; + + if (!products.add(product)) { + return res.status(400).send({ msg: 'Could not add product', status: 400, success: false }); + } + + return res.send({ msg: 'Product added', status: 200, success: true, data: product }); +}); + +// HTTP - Methode - GET +// C(R)UD - read +// (B)READ - browse +app.get('/api/products', (req, res) => { + const data = products.getAll(); + return res.send(data); +}); + +// HTTP - Methode - GET +// C(R)UD - read +// B(R)EAD - read +app.get('/api/products/:id', (req, res) => { + const id = req.params.id; // routenparameter :id wird als Eigenschaft in params-Objekt abgelegt + const product = products.get(id); + + if (!product) { + return res.status(400).send({ msg: 'Could not get product', status: 400, success: false }); + } + + return res.send(product); +}); + +// HTTP - Methode - PUT/PATCH +// CR(U)D - update +// BR(E)AD - edit +app.put('/api/products', (req, res) => { + const product = req.body; + + const updated = products.update(product); + + if (!updated) { + return res.status(400).send({ msg: 'Could not update product', status: 400, success: false }); + } + + return res.send({ msg: 'Product updated', status: 200, success: true, data: product }); +}); + +// HTTP - Methode - PATCH +// reseten von Produkten +app.patch('/api/products/reset', (req, res) => { + const reset = req.body.reset; + + if (!reset) { + return res.status(400).send({ msg: 'Could not reset products', status: 400, success: false }); + } + + products.reset(); + + return res.send({ msg: 'Products reseted', status: 200, success: true, data: reset }); +}); + +// HTTP - Methode - PATCH +// speichern von Produkten +app.patch('/api/products/save', (req, res) => { + const save = req.body.save; + + if (!save) { + return res.status(400).send({ msg: 'Could not save products', status: 400, success: false }); + } + + products.save(); + + return res.send({ msg: 'Products saved', status: 200, success: true, data: save }); +}); + +// HTTP - Methode - DELETE +// CRU(D) - delete +// BREA(D) - delete +app.delete('/api/products/:id', (req, res) => { + const id = req.params.id; + + if (!products.delete(id)) { + return res.status(400).send({ msg: 'Could not delete product', status: 400, success: false }); + } + + return res.send({ msg: 'Product deleted', status: 200, success: true, data: id }); +}); + +// ========= + +app.listen(PORT, HOST, () => { + console.log(color.magenta(`🚀 Server is running at: ${BASE_URL}`)); + console.log(color.yellow('CTRL + C to close.')); +}); diff --git a/webseite-ts-claude/backend/utils/json-modifier.js b/webseite-ts-claude/backend/utils/json-modifier.js new file mode 100644 index 0000000..f0c7847 --- /dev/null +++ b/webseite-ts-claude/backend/utils/json-modifier.js @@ -0,0 +1,19 @@ +import fs from 'node:fs'; +import { v4 as id } from 'uuid'; + +console.log(id()); // 97412ca6-c7a8-4868-a49b-3cf4c2258dd8 + +try { + const data = JSON.parse(fs.readFileSync('../data/products.json', 'utf-8')); + + const products = data.map((product, index) => { + return { _id: product._id || id(), position: index + 1, ...product }; + }); + + console.log(products); + + fs.writeFileSync('../data/products.json', JSON.stringify(products, null, 2), 'utf-8'); + console.log('File modified'); +} catch (error) { + console.log(error); +} diff --git a/webseite-ts-claude/backend/utils/package-lock.json b/webseite-ts-claude/backend/utils/package-lock.json new file mode 100644 index 0000000..0ff2b94 --- /dev/null +++ b/webseite-ts-claude/backend/utils/package-lock.json @@ -0,0 +1,28 @@ +{ + "name": "utils", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "utils", + "version": "1.0.0", + "dependencies": { + "uuid": "^14.0.1" + } + }, + "node_modules/uuid": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.1.tgz", + "integrity": "sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist-node/bin/uuid" + } + } + } +} diff --git a/webseite-ts-claude/backend/utils/package.json b/webseite-ts-claude/backend/utils/package.json new file mode 100644 index 0000000..2a2b3f7 --- /dev/null +++ b/webseite-ts-claude/backend/utils/package.json @@ -0,0 +1,14 @@ +{ + "name": "utils", + "version": "1.0.0", + "description": "", + "main": "json-modifier.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "type": "module", + "dependencies": { + "uuid": "^14.0.1" + } +} diff --git a/webseite-ts-claude/frontend/.vscode/settings.json b/webseite-ts-claude/frontend/.vscode/settings.json new file mode 100644 index 0000000..cb2ddd7 --- /dev/null +++ b/webseite-ts-claude/frontend/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "workbench.colorCustomizations": { + "titleBar.activeForeground": "#333", + "titleBar.activeBackground": "#86cd8b", + "titleBar.inactiveForeground": "#ddd", + "titleBar.inactiveBackground": "#6fa973" + } +} diff --git a/webseite-ts-claude/frontend/README.md b/webseite-ts-claude/frontend/README.md new file mode 100644 index 0000000..dbe5b1e --- /dev/null +++ b/webseite-ts-claude/frontend/README.md @@ -0,0 +1,33 @@ +# Aufgabe + +- Nach Positionsveränderung (drop, move-up,move-down) sollen alle Positionen der Zeilen als Array festgehalten werden. + +```js + +const positions = [ + { + _id: '6cbe4783-cfb5-4ed7-8196-9d6b55217de0', + position: 1, + }, + { + _id: '6cbe4783-cfb5-4ed7-8196-9d6b55217de0', + position: 2, + }, + {...} + ] + +``` + +- Positionsarray an Server zur Aktualisierung senden (PUT) + +```js +'http://127.0.0.1:8000/api/products/positions'; +``` + +- Server: Positionen abfangen und products Array aktualisieren + +```js +//ProductModel +updatePosition() {...} + +``` diff --git a/webseite-ts-claude/frontend/assets/css/main.css b/webseite-ts-claude/frontend/assets/css/main.css new file mode 100644 index 0000000..3cd91e3 --- /dev/null +++ b/webseite-ts-claude/frontend/assets/css/main.css @@ -0,0 +1,12870 @@ +@charset "UTF-8"; +/*! + * Bootstrap v5.3.8 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +@import 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.3.0/css/all.min.css'; +:root, +[data-bs-theme=light] { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-primary-text-emphasis: rgb(2.0392156863%, 17.2549019608%, 39.6862745098%); + --bs-secondary-text-emphasis: rgb(16.9411764706%, 18.3529411765%, 19.6078431373%); + --bs-success-text-emphasis: rgb(3.9215686275%, 21.1764705882%, 13.1764705882%); + --bs-info-text-emphasis: rgb(2.0392156863%, 31.6862745098%, 37.6470588235%); + --bs-warning-text-emphasis: rgb(40%, 30.2745098039%, 1.0980392157%); + --bs-danger-text-emphasis: rgb(34.5098039216%, 8.3137254902%, 10.8235294118%); + --bs-light-text-emphasis: #495057; + --bs-dark-text-emphasis: #495057; + --bs-primary-bg-subtle: rgb(81.0196078431%, 88.6274509804%, 99.8431372549%); + --bs-secondary-bg-subtle: rgb(88.4705882353%, 89.1764705882%, 89.8039215686%); + --bs-success-bg-subtle: rgb(81.9607843137%, 90.5882352941%, 86.5882352941%); + --bs-info-bg-subtle: rgb(81.0196078431%, 95.8431372549%, 98.8235294118%); + --bs-warning-bg-subtle: rgb(100%, 95.137254902%, 80.5490196078%); + --bs-danger-bg-subtle: rgb(97.2549019608%, 84.1568627451%, 85.4117647059%); + --bs-light-bg-subtle: rgb(98.6274509804%, 98.8235294118%, 99.0196078431%); + --bs-dark-bg-subtle: #ced4da; + --bs-primary-border-subtle: rgb(62.0392156863%, 77.2549019608%, 99.6862745098%); + --bs-secondary-border-subtle: rgb(76.9411764706%, 78.3529411765%, 79.6078431373%); + --bs-success-border-subtle: rgb(63.9215686275%, 81.1764705882%, 73.1764705882%); + --bs-info-border-subtle: rgb(62.0392156863%, 91.6862745098%, 97.6470588235%); + --bs-warning-border-subtle: rgb(100%, 90.2745098039%, 61.0980392157%); + --bs-danger-border-subtle: rgb(94.5098039216%, 68.3137254902%, 70.8235294118%); + --bs-light-border-subtle: #e9ecef; + --bs-dark-border-subtle: #adb5bd; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #212529; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg: #fff; + --bs-body-bg-rgb: 255, 255, 255; + --bs-emphasis-color: #000; + --bs-emphasis-color-rgb: 0, 0, 0; + --bs-secondary-color: rgba(33, 37, 41, 0.75); + --bs-secondary-color-rgb: 33, 37, 41; + --bs-secondary-bg: #e9ecef; + --bs-secondary-bg-rgb: 233, 236, 239; + --bs-tertiary-color: rgba(33, 37, 41, 0.5); + --bs-tertiary-color-rgb: 33, 37, 41; + --bs-tertiary-bg: #f8f9fa; + --bs-tertiary-bg-rgb: 248, 249, 250; + --bs-heading-color: inherit; + --bs-link-color: #0d6efd; + --bs-link-color-rgb: 13, 110, 253; + --bs-link-decoration: underline; + --bs-link-hover-color: rgb(4.0784313725%, 34.5098039216%, 79.3725490196%); + --bs-link-hover-color-rgb: 10, 88, 202; + --bs-code-color: #d63384; + --bs-highlight-color: #212529; + --bs-highlight-bg: rgb(100%, 95.137254902%, 80.5490196078%); + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #dee2e6; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-xxl: 2rem; + --bs-border-radius-2xl: var(--bs-border-radius-xxl); + --bs-border-radius-pill: 50rem; + --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); + --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-focus-ring-width: 0.25rem; + --bs-focus-ring-opacity: 0.25; + --bs-focus-ring-color: rgba(13, 110, 253, 0.25); + --bs-form-valid-color: #198754; + --bs-form-valid-border-color: #198754; + --bs-form-invalid-color: #dc3545; + --bs-form-invalid-border-color: #dc3545; +} + +[data-bs-theme=dark] { + color-scheme: dark; + --bs-body-color: #dee2e6; + --bs-body-color-rgb: 222, 226, 230; + --bs-body-bg: #212529; + --bs-body-bg-rgb: 33, 37, 41; + --bs-emphasis-color: #fff; + --bs-emphasis-color-rgb: 255, 255, 255; + --bs-secondary-color: rgba(222, 226, 230, 0.75); + --bs-secondary-color-rgb: 222, 226, 230; + --bs-secondary-bg: #343a40; + --bs-secondary-bg-rgb: 52, 58, 64; + --bs-tertiary-color: rgba(222, 226, 230, 0.5); + --bs-tertiary-color-rgb: 222, 226, 230; + --bs-tertiary-bg: rgb(16.6666666667%, 18.6274509804%, 20.5882352941%); + --bs-tertiary-bg-rgb: 43, 48, 53; + --bs-primary-text-emphasis: rgb(43.0588235294%, 65.8823529412%, 99.5294117647%); + --bs-secondary-text-emphasis: rgb(65.4117647059%, 67.5294117647%, 69.4117647059%); + --bs-success-text-emphasis: rgb(45.8823529412%, 71.7647058824%, 59.7647058824%); + --bs-info-text-emphasis: rgb(43.0588235294%, 87.5294117647%, 96.4705882353%); + --bs-warning-text-emphasis: rgb(100%, 85.4117647059%, 41.6470588235%); + --bs-danger-text-emphasis: rgb(91.7647058824%, 52.4705882353%, 56.2352941176%); + --bs-light-text-emphasis: #f8f9fa; + --bs-dark-text-emphasis: #dee2e6; + --bs-primary-bg-subtle: rgb(1.0196078431%, 8.6274509804%, 19.8431372549%); + --bs-secondary-bg-subtle: rgb(8.4705882353%, 9.1764705882%, 9.8039215686%); + --bs-success-bg-subtle: rgb(1.9607843137%, 10.5882352941%, 6.5882352941%); + --bs-info-bg-subtle: rgb(1.0196078431%, 15.8431372549%, 18.8235294118%); + --bs-warning-bg-subtle: rgb(20%, 15.137254902%, 0.5490196078%); + --bs-danger-bg-subtle: rgb(17.2549019608%, 4.1568627451%, 5.4117647059%); + --bs-light-bg-subtle: #343a40; + --bs-dark-bg-subtle: #1a1d20; + --bs-primary-border-subtle: rgb(3.0588235294%, 25.8823529412%, 59.5294117647%); + --bs-secondary-border-subtle: rgb(25.4117647059%, 27.5294117647%, 29.4117647059%); + --bs-success-border-subtle: rgb(5.8823529412%, 31.7647058824%, 19.7647058824%); + --bs-info-border-subtle: rgb(3.0588235294%, 47.5294117647%, 56.4705882353%); + --bs-warning-border-subtle: rgb(60%, 45.4117647059%, 1.6470588235%); + --bs-danger-border-subtle: rgb(51.7647058824%, 12.4705882353%, 16.2352941176%); + --bs-light-border-subtle: #495057; + --bs-dark-border-subtle: #343a40; + --bs-heading-color: inherit; + --bs-link-color: rgb(43.0588235294%, 65.8823529412%, 99.5294117647%); + --bs-link-hover-color: rgb(54.4470588235%, 72.7058823529%, 99.6235294118%); + --bs-link-color-rgb: 110, 168, 254; + --bs-link-hover-color-rgb: 139, 185, 254; + --bs-code-color: rgb(90.3529411765%, 52%, 71.0588235294%); + --bs-highlight-color: #dee2e6; + --bs-highlight-bg: rgb(40%, 30.2745098039%, 1.0980392157%); + --bs-border-color: #495057; + --bs-border-color-translucent: rgba(255, 255, 255, 0.15); + --bs-form-valid-color: rgb(45.8823529412%, 71.7647058824%, 59.7647058824%); + --bs-form-valid-border-color: rgb(45.8823529412%, 71.7647058824%, 59.7647058824%); + --bs-form-invalid-color: rgb(91.7647058824%, 52.4705882353%, 56.2352941176%); + --bs-form-invalid-border-color: rgb(91.7647058824%, 52.4705882353%, 56.2352941176%); +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: var(--bs-border-width) solid; + opacity: 0.25; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; + color: var(--bs-heading-color); +} + +h1, .h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + h1, .h1 { + font-size: 2.5rem; + } +} + +h2, .h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + h2, .h2 { + font-size: 2rem; + } +} + +h3, .h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h3, .h3 { + font-size: 1.75rem; + } +} + +h4, .h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h4, .h4 { + font-size: 1.5rem; + } +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + text-decoration: underline dotted; + cursor: help; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small, .small { + font-size: 0.875em; +} + +mark, .mark { + padding: 0.1875em; + color: var(--bs-highlight-color); + background-color: var(--bs-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); + text-decoration: underline; +} +a:hover { + --bs-link-color-rgb: var(--bs-link-hover-color-rgb); +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: var(--bs-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.1875rem 0.375rem; + font-size: 0.875em; + color: var(--bs-body-bg); + background-color: var(--bs-body-color); + border-radius: 0.25rem; +} +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-secondary-color); + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + line-height: inherit; + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + -webkit-appearance: textfield; + outline-offset: -2px; +} +[type=search]::-webkit-search-cancel-button { + cursor: pointer; + filter: grayscale(1); +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.625rem + 4.5vw); +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} + +.display-2 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.575rem + 3.9vw); +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} + +.display-3 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.525rem + 3.3vw); +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} + +.display-4 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.475rem + 2.7vw); +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} + +.display-5 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.425rem + 2.1vw); +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} + +.display-6 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #6c757d; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: var(--bs-body-bg); + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 0.875em; + color: var(--bs-secondary-color); +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} + +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.33333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.table { + --bs-table-color-type: initial; + --bs-table-bg-type: initial; + --bs-table-color-state: initial; + --bs-table-bg-state: initial; + --bs-table-color: var(--bs-emphasis-color); + --bs-table-bg: var(--bs-body-bg); + --bs-table-border-color: var(--bs-border-color); + --bs-table-accent-bg: transparent; + --bs-table-striped-color: var(--bs-emphasis-color); + --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05); + --bs-table-active-color: var(--bs-emphasis-color); + --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1); + --bs-table-hover-color: var(--bs-emphasis-color); + --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075); + width: 100%; + margin-bottom: 1rem; + vertical-align: top; + border-color: var(--bs-table-border-color); +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color))); + background-color: var(--bs-table-bg); + border-bottom-width: var(--bs-border-width); + box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} + +.table-group-divider { + border-top: calc(var(--bs-border-width) * 2) solid currentcolor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.table-bordered > :not(caption) > * { + border-width: var(--bs-border-width) 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 var(--bs-border-width); +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-color-type: var(--bs-table-striped-color); + --bs-table-bg-type: var(--bs-table-striped-bg); +} + +.table-striped-columns > :not(caption) > tr > :nth-child(even) { + --bs-table-color-type: var(--bs-table-striped-color); + --bs-table-bg-type: var(--bs-table-striped-bg); +} + +.table-active { + --bs-table-color-state: var(--bs-table-active-color); + --bs-table-bg-state: var(--bs-table-active-bg); +} + +.table-hover > tbody > tr:hover > * { + --bs-table-color-state: var(--bs-table-hover-color); + --bs-table-bg-state: var(--bs-table-hover-bg); +} + +.table-primary { + --bs-table-color: #000; + --bs-table-bg: rgb(81.0196078431%, 88.6274509804%, 99.8431372549%); + --bs-table-border-color: rgb(64.8156862745%, 70.9019607843%, 79.8745098039%); + --bs-table-striped-bg: rgb(76.968627451%, 84.1960784314%, 94.8509803922%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(72.9176470588%, 79.7647058824%, 89.8588235294%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(74.9431372549%, 81.9803921569%, 92.3549019608%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-secondary { + --bs-table-color: #000; + --bs-table-bg: rgb(88.4705882353%, 89.1764705882%, 89.8039215686%); + --bs-table-border-color: rgb(70.7764705882%, 71.3411764706%, 71.8431372549%); + --bs-table-striped-bg: rgb(84.0470588235%, 84.7176470588%, 85.3137254902%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(79.6235294118%, 80.2588235294%, 80.8235294118%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(81.8352941176%, 82.4882352941%, 83.068627451%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-success { + --bs-table-color: #000; + --bs-table-bg: rgb(81.9607843137%, 90.5882352941%, 86.5882352941%); + --bs-table-border-color: rgb(65.568627451%, 72.4705882353%, 69.2705882353%); + --bs-table-striped-bg: rgb(77.862745098%, 86.0588235294%, 82.2588235294%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(73.7647058824%, 81.5294117647%, 77.9294117647%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(75.8137254902%, 83.7941176471%, 80.0941176471%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-info { + --bs-table-color: #000; + --bs-table-bg: rgb(81.0196078431%, 95.8431372549%, 98.8235294118%); + --bs-table-border-color: rgb(64.8156862745%, 76.6745098039%, 79.0588235294%); + --bs-table-striped-bg: rgb(76.968627451%, 91.0509803922%, 93.8823529412%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(72.9176470588%, 86.2588235294%, 88.9411764706%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(74.9431372549%, 88.6549019608%, 91.4117647059%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-warning { + --bs-table-color: #000; + --bs-table-bg: rgb(100%, 95.137254902%, 80.5490196078%); + --bs-table-border-color: rgb(80%, 76.1098039216%, 64.4392156863%); + --bs-table-striped-bg: rgb(95%, 90.3803921569%, 76.5215686275%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(90%, 85.6235294118%, 72.4941176471%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(92.5%, 88.0019607843%, 74.5078431373%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-danger { + --bs-table-color: #000; + --bs-table-bg: rgb(97.2549019608%, 84.1568627451%, 85.4117647059%); + --bs-table-border-color: rgb(77.8039215686%, 67.3254901961%, 68.3294117647%); + --bs-table-striped-bg: rgb(92.3921568627%, 79.9490196078%, 81.1411764706%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(87.5294117647%, 75.7411764706%, 76.8705882353%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(89.9607843137%, 77.8450980392%, 79.0058823529%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-light { + --bs-table-color: #000; + --bs-table-bg: #f8f9fa; + --bs-table-border-color: rgb(77.8039215686%, 78.1176470588%, 78.431372549%); + --bs-table-striped-bg: rgb(92.3921568627%, 92.7647058824%, 93.137254902%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(87.5294117647%, 87.8823529412%, 88.2352941176%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(89.9607843137%, 90.3235294118%, 90.6862745098%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-dark { + --bs-table-color: #fff; + --bs-table-bg: #212529; + --bs-table-border-color: rgb(30.3529411765%, 31.6078431373%, 32.862745098%); + --bs-table-striped-bg: rgb(17.2941176471%, 18.7843137255%, 20.2745098039%); + --bs-table-striped-color: #fff; + --bs-table-active-bg: rgb(21.6470588235%, 23.0588235294%, 24.4705882353%); + --bs-table-active-color: #fff; + --bs-table-hover-bg: rgb(19.4705882353%, 20.9215686275%, 22.3725490196%); + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; +} + +.col-form-label { + padding-top: calc(0.375rem + var(--bs-border-width)); + padding-bottom: calc(0.375rem + var(--bs-border-width)); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + var(--bs-border-width)); + padding-bottom: calc(0.5rem + var(--bs-border-width)); + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + var(--bs-border-width)); + padding-bottom: calc(0.25rem + var(--bs-border-width)); + font-size: 0.875rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--bs-secondary-color); +} + +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--bs-body-color); + appearance: none; + background-color: var(--bs-body-bg); + background-clip: padding-box; + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type=file] { + overflow: hidden; +} +.form-control[type=file]:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: var(--bs-body-color); + background-color: var(--bs-body-bg); + border-color: rgb(52.5490196078%, 71.568627451%, 99.6078431373%); + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-control::-webkit-date-and-time-value { + min-width: 85px; + height: 1.5em; + margin: 0; +} +.form-control::-webkit-datetime-edit { + display: block; + padding: 0; +} +.form-control::placeholder { + color: var(--bs-secondary-color); + opacity: 1; +} +.form-control:disabled { + background-color: var(--bs-secondary-bg); + opacity: 1; +} +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + margin-inline-end: 0.75rem; + color: var(--bs-body-color); + background-color: var(--bs-tertiary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--bs-border-width); + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--bs-secondary-bg); +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: var(--bs-body-color); + background-color: transparent; + border: solid transparent; + border-width: var(--bs-border-width) 0; +} +.form-control-plaintext:focus { + outline: 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: var(--bs-border-radius-sm); +} +.form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + margin-inline-end: 0.5rem; +} + +.form-control-lg { + min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: var(--bs-border-radius-lg); +} +.form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + margin-inline-end: 1rem; +} + +textarea.form-control { + min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); +} +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); +} + +.form-control-color { + width: 3rem; + height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); + padding: 0.375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: var(--bs-border-radius); +} +.form-control-color::-webkit-color-swatch { + border: 0 !important; + border-radius: var(--bs-border-radius); +} +.form-control-color.form-control-sm { + height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); +} +.form-control-color.form-control-lg { + height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); +} + +.form-select { + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + display: block; + width: 100%; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--bs-body-color); + appearance: none; + background-color: var(--bs-body-bg); + background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: rgb(52.5490196078%, 71.568627451%, 99.6078431373%); + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 0.75rem; + background-image: none; +} +.form-select:disabled { + background-color: var(--bs-secondary-bg); +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 var(--bs-body-color); +} + +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; + border-radius: var(--bs-border-radius-sm); +} + +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; + border-radius: var(--bs-border-radius-lg); +} + +[data-bs-theme=dark] .form-select { + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); +} + +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} + +.form-check-reverse { + padding-right: 1.5em; + padding-left: 0; + text-align: right; +} +.form-check-reverse .form-check-input { + float: right; + margin-right: -1.5em; + margin-left: 0; +} + +.form-check-input { + --bs-form-check-bg: var(--bs-body-bg); + flex-shrink: 0; + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + appearance: none; + background-color: var(--bs-form-check-bg); + background-image: var(--bs-form-check-bg-image); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: var(--bs-border-width) solid var(--bs-border-color); + print-color-adjust: exact; +} +.form-check-input[type=checkbox] { + border-radius: 0.25em; +} +.form-check-input[type=radio] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: rgb(52.5490196078%, 71.568627451%, 99.6078431373%); + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-check-input:checked { + background-color: #0d6efd; + border-color: #0d6efd; +} +.form-check-input:checked[type=checkbox] { + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type=radio] { + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-check-input[type=checkbox]:indeterminate { + background-color: #0d6efd; + border-color: #0d6efd; + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + cursor: default; + opacity: 0.5; +} + +.form-switch { + padding-left: 2.5em; +} +.form-switch .form-check-input { + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + width: 2em; + margin-left: -2.5em; + background-image: var(--bs-form-switch-bg); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgb%2852.5490196078%, 71.568627451%, 99.6078431373%%29'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-switch.form-check-reverse { + padding-right: 2.5em; + padding-left: 0; +} +.form-switch.form-check-reverse .form-check-input { + margin-right: -2.5em; + margin-left: 0; +} + +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check[disabled] + .btn, .btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.65; +} + +[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) { + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e"); +} + +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + appearance: none; + background-color: transparent; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + appearance: none; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: rgb(71.5294117647%, 82.9411764706%, 99.7647058824%); +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: var(--bs-secondary-bg); + border-color: transparent; + border-radius: 1rem; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + appearance: none; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: rgb(71.5294117647%, 82.9411764706%, 99.7647058824%); +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: var(--bs-secondary-bg); + border-color: transparent; + border-radius: 1rem; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: var(--bs-secondary-color); +} +.form-range:disabled::-moz-range-thumb { + background-color: var(--bs-secondary-color); +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + calc(var(--bs-border-width) * 2)); + min-height: calc(3.5rem + calc(var(--bs-border-width) * 2)); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + z-index: 2; + max-width: 100%; + height: 100%; + padding: 1rem 0.75rem; + overflow: hidden; + color: rgba(var(--bs-body-color-rgb), 0.65); + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + border: var(--bs-border-width) solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 0.75rem; +} +.form-floating > .form-control::placeholder, +.form-floating > .form-control-plaintext::placeholder { + color: transparent; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill, +.form-floating > .form-control-plaintext:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; + padding-left: 0.75rem; +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-select ~ label { + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > textarea:focus ~ label::after, +.form-floating > textarea:not(:placeholder-shown) ~ label::after { + position: absolute; + inset: 1rem 0.375rem; + z-index: -1; + height: 1.5em; + content: ""; + background-color: var(--bs-body-bg); + border-radius: var(--bs-border-radius); +} +.form-floating > textarea:disabled ~ label::after { + background-color: var(--bs-secondary-bg); +} +.form-floating > .form-control-plaintext ~ label { + border-width: var(--bs-border-width) 0; +} +.form-floating > :disabled ~ label, +.form-floating > .form-control:disabled ~ label { + color: #6c757d; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select, +.input-group > .form-floating { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus, +.input-group > .form-floating:focus-within { + z-index: 5; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 5; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--bs-body-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-tertiary-bg); + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: var(--bs-border-radius-lg); +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: var(--bs-border-radius-sm); +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4), +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control, +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: calc(-1 * var(--bs-border-width)); + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--bs-form-valid-color); +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: var(--bs-success); + border-radius: var(--bs-border-radius); +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: var(--bs-form-valid-border-color); + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: var(--bs-form-valid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: var(--bs-form-valid-border-color); +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e"); + padding-right: 4.125rem; + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: var(--bs-form-valid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} + +.was-validated .form-control-color:valid, .form-control-color.is-valid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: var(--bs-form-valid-border-color); +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: var(--bs-form-valid-color); +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: var(--bs-form-valid-color); +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, +.was-validated .input-group > .form-select:not(:focus):valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.input-group > .form-floating:not(:focus-within).is-valid { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--bs-form-invalid-color); +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: var(--bs-danger); + border-radius: var(--bs-border-radius); +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: var(--bs-form-invalid-border-color); + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: var(--bs-form-invalid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: var(--bs-form-invalid-border-color); +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + padding-right: 4.125rem; + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: var(--bs-form-invalid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} + +.was-validated .form-control-color:invalid, .form-control-color.is-invalid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: var(--bs-form-invalid-border-color); +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: var(--bs-form-invalid-color); +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: var(--bs-form-invalid-color); +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, +.was-validated .input-group > .form-select:not(:focus):invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.input-group > .form-floating:not(:focus-within).is-invalid { + z-index: 4; +} + +.btn { + --bs-btn-padding-x: 0.75rem; + --bs-btn-padding-y: 0.375rem; + --bs-btn-font-family: ; + --bs-btn-font-size: 1rem; + --bs-btn-font-weight: 400; + --bs-btn-line-height: 1.5; + --bs-btn-color: var(--bs-body-color); + --bs-btn-bg: transparent; + --bs-btn-border-width: var(--bs-border-width); + --bs-btn-border-color: transparent; + --bs-btn-border-radius: var(--bs-border-radius); + --bs-btn-hover-border-color: transparent; + --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --bs-btn-disabled-opacity: 0.65; + --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); + font-family: var(--bs-btn-font-family); + font-size: var(--bs-btn-font-size); + font-weight: var(--bs-btn-font-weight); + line-height: var(--bs-btn-line-height); + color: var(--bs-btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + user-select: none; + border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); + border-radius: var(--bs-btn-border-radius); + background-color: var(--bs-btn-bg); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); +} +.btn-check + .btn:hover { + color: var(--bs-btn-color); + background-color: var(--bs-btn-bg); + border-color: var(--bs-btn-border-color); +} +.btn:focus-visible { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:focus-visible + .btn { + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show { + color: var(--bs-btn-active-color); + background-color: var(--bs-btn-active-bg); + border-color: var(--bs-btn-active-border-color); +} +.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:checked:focus-visible + .btn { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + color: var(--bs-btn-disabled-color); + pointer-events: none; + background-color: var(--bs-btn-disabled-bg); + border-color: var(--bs-btn-disabled-border-color); + opacity: var(--bs-btn-disabled-opacity); +} + +.btn-primary { + --bs-btn-color: #fff; + --bs-btn-bg: #0d6efd; + --bs-btn-border-color: #0d6efd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: rgb(4.3333333333%, 36.6666666667%, 84.3333333333%); + --bs-btn-hover-border-color: rgb(4.0784313725%, 34.5098039216%, 79.3725490196%); + --bs-btn-focus-shadow-rgb: 49, 132, 253; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: rgb(4.0784313725%, 34.5098039216%, 79.3725490196%); + --bs-btn-active-border-color: rgb(3.8235294118%, 32.3529411765%, 74.4117647059%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #0d6efd; + --bs-btn-disabled-border-color: #0d6efd; +} + +.btn-secondary { + --bs-btn-color: #fff; + --bs-btn-bg: #6c757d; + --bs-btn-border-color: #6c757d; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: rgb(36%, 39%, 41.6666666667%); + --bs-btn-hover-border-color: rgb(33.8823529412%, 36.7058823529%, 39.2156862745%); + --bs-btn-focus-shadow-rgb: 130, 138, 145; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: rgb(33.8823529412%, 36.7058823529%, 39.2156862745%); + --bs-btn-active-border-color: rgb(31.7647058824%, 34.4117647059%, 36.7647058824%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #6c757d; + --bs-btn-disabled-border-color: #6c757d; +} + +.btn-success { + --bs-btn-color: #fff; + --bs-btn-bg: #198754; + --bs-btn-border-color: #198754; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: rgb(8.3333333333%, 45%, 28%); + --bs-btn-hover-border-color: rgb(7.8431372549%, 42.3529411765%, 26.3529411765%); + --bs-btn-focus-shadow-rgb: 60, 153, 110; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: rgb(7.8431372549%, 42.3529411765%, 26.3529411765%); + --bs-btn-active-border-color: rgb(7.3529411765%, 39.7058823529%, 24.7058823529%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #198754; + --bs-btn-disabled-border-color: #198754; +} + +.btn-info { + --bs-btn-color: #000; + --bs-btn-bg: #0dcaf0; + --bs-btn-border-color: #0dcaf0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: rgb(19.3333333333%, 82.3333333333%, 95%); + --bs-btn-hover-border-color: rgb(14.5882352941%, 81.2941176471%, 94.7058823529%); + --bs-btn-focus-shadow-rgb: 11, 172, 204; + --bs-btn-active-color: #000; + --bs-btn-active-bg: rgb(24.0784313725%, 83.3725490196%, 95.2941176471%); + --bs-btn-active-border-color: rgb(14.5882352941%, 81.2941176471%, 94.7058823529%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #0dcaf0; + --bs-btn-disabled-border-color: #0dcaf0; +} + +.btn-warning { + --bs-btn-color: #000; + --bs-btn-bg: #ffc107; + --bs-btn-border-color: #ffc107; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: rgb(100%, 79.3333333333%, 17.3333333333%); + --bs-btn-hover-border-color: rgb(100%, 78.1176470588%, 12.4705882353%); + --bs-btn-focus-shadow-rgb: 217, 164, 6; + --bs-btn-active-color: #000; + --bs-btn-active-bg: rgb(100%, 80.5490196078%, 22.1960784314%); + --bs-btn-active-border-color: rgb(100%, 78.1176470588%, 12.4705882353%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #ffc107; + --bs-btn-disabled-border-color: #ffc107; +} + +.btn-danger { + --bs-btn-color: #fff; + --bs-btn-bg: #dc3545; + --bs-btn-border-color: #dc3545; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: rgb(73.3333333333%, 17.6666666667%, 23%); + --bs-btn-hover-border-color: rgb(69.0196078431%, 16.6274509804%, 21.6470588235%); + --bs-btn-focus-shadow-rgb: 225, 83, 97; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: rgb(69.0196078431%, 16.6274509804%, 21.6470588235%); + --bs-btn-active-border-color: rgb(64.7058823529%, 15.5882352941%, 20.2941176471%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #dc3545; + --bs-btn-disabled-border-color: #dc3545; +} + +.btn-light { + --bs-btn-color: #000; + --bs-btn-bg: #f8f9fa; + --bs-btn-border-color: #f8f9fa; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: rgb(82.6666666667%, 83%, 83.3333333333%); + --bs-btn-hover-border-color: rgb(77.8039215686%, 78.1176470588%, 78.431372549%); + --bs-btn-focus-shadow-rgb: 211, 212, 213; + --bs-btn-active-color: #000; + --bs-btn-active-bg: rgb(77.8039215686%, 78.1176470588%, 78.431372549%); + --bs-btn-active-border-color: rgb(72.9411764706%, 73.2352941176%, 73.5294117647%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #f8f9fa; + --bs-btn-disabled-border-color: #f8f9fa; +} + +.btn-dark { + --bs-btn-color: #fff; + --bs-btn-bg: #212529; + --bs-btn-border-color: #212529; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: rgb(26%, 27.3333333333%, 28.6666666667%); + --bs-btn-hover-border-color: rgb(21.6470588235%, 23.0588235294%, 24.4705882353%); + --bs-btn-focus-shadow-rgb: 66, 70, 73; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: rgb(30.3529411765%, 31.6078431373%, 32.862745098%); + --bs-btn-active-border-color: rgb(21.6470588235%, 23.0588235294%, 24.4705882353%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #212529; + --bs-btn-disabled-border-color: #212529; +} + +.btn-outline-primary { + --bs-btn-color: #0d6efd; + --bs-btn-border-color: #0d6efd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #0d6efd; + --bs-btn-hover-border-color: #0d6efd; + --bs-btn-focus-shadow-rgb: 13, 110, 253; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #0d6efd; + --bs-btn-active-border-color: #0d6efd; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #0d6efd; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #0d6efd; + --bs-gradient: none; +} + +.btn-outline-secondary { + --bs-btn-color: #6c757d; + --bs-btn-border-color: #6c757d; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #6c757d; + --bs-btn-hover-border-color: #6c757d; + --bs-btn-focus-shadow-rgb: 108, 117, 125; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #6c757d; + --bs-btn-active-border-color: #6c757d; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #6c757d; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #6c757d; + --bs-gradient: none; +} + +.btn-outline-success { + --bs-btn-color: #198754; + --bs-btn-border-color: #198754; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #198754; + --bs-btn-hover-border-color: #198754; + --bs-btn-focus-shadow-rgb: 25, 135, 84; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #198754; + --bs-btn-active-border-color: #198754; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #198754; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #198754; + --bs-gradient: none; +} + +.btn-outline-info { + --bs-btn-color: #0dcaf0; + --bs-btn-border-color: #0dcaf0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #0dcaf0; + --bs-btn-hover-border-color: #0dcaf0; + --bs-btn-focus-shadow-rgb: 13, 202, 240; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #0dcaf0; + --bs-btn-active-border-color: #0dcaf0; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #0dcaf0; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #0dcaf0; + --bs-gradient: none; +} + +.btn-outline-warning { + --bs-btn-color: #ffc107; + --bs-btn-border-color: #ffc107; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ffc107; + --bs-btn-hover-border-color: #ffc107; + --bs-btn-focus-shadow-rgb: 255, 193, 7; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ffc107; + --bs-btn-active-border-color: #ffc107; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #ffc107; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #ffc107; + --bs-gradient: none; +} + +.btn-outline-danger { + --bs-btn-color: #dc3545; + --bs-btn-border-color: #dc3545; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #dc3545; + --bs-btn-hover-border-color: #dc3545; + --bs-btn-focus-shadow-rgb: 220, 53, 69; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #dc3545; + --bs-btn-active-border-color: #dc3545; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #dc3545; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #dc3545; + --bs-gradient: none; +} + +.btn-outline-light { + --bs-btn-color: #f8f9fa; + --bs-btn-border-color: #f8f9fa; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f8f9fa; + --bs-btn-hover-border-color: #f8f9fa; + --bs-btn-focus-shadow-rgb: 248, 249, 250; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f8f9fa; + --bs-btn-active-border-color: #f8f9fa; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #f8f9fa; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #f8f9fa; + --bs-gradient: none; +} + +.btn-outline-dark { + --bs-btn-color: #212529; + --bs-btn-border-color: #212529; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #212529; + --bs-btn-hover-border-color: #212529; + --bs-btn-focus-shadow-rgb: 33, 37, 41; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #212529; + --bs-btn-active-border-color: #212529; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #212529; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #212529; + --bs-gradient: none; +} + +.btn-link { + --bs-btn-font-weight: 400; + --bs-btn-color: var(--bs-link-color); + --bs-btn-bg: transparent; + --bs-btn-border-color: transparent; + --bs-btn-hover-color: var(--bs-link-hover-color); + --bs-btn-hover-border-color: transparent; + --bs-btn-active-color: var(--bs-link-hover-color); + --bs-btn-active-border-color: transparent; + --bs-btn-disabled-color: #6c757d; + --bs-btn-disabled-border-color: transparent; + --bs-btn-box-shadow: 0 0 0 #000; + --bs-btn-focus-shadow-rgb: 49, 132, 253; + text-decoration: underline; +} +.btn-link:focus-visible { + color: var(--bs-btn-color); +} +.btn-link:hover { + color: var(--bs-btn-hover-color); +} + +.btn-lg, .btn-group-lg > .btn { + --bs-btn-padding-y: 0.5rem; + --bs-btn-padding-x: 1rem; + --bs-btn-font-size: 1.25rem; + --bs-btn-border-radius: var(--bs-border-radius-lg); +} + +.btn-sm, .btn-group-sm > .btn { + --bs-btn-padding-y: 0.25rem; + --bs-btn-padding-x: 0.5rem; + --bs-btn-font-size: 0.875rem; + --bs-btn-border-radius: var(--bs-border-radius-sm); +} + +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + --bs-dropdown-zindex: 1000; + --bs-dropdown-min-width: 10rem; + --bs-dropdown-padding-x: 0; + --bs-dropdown-padding-y: 0.5rem; + --bs-dropdown-spacer: 0.125rem; + --bs-dropdown-font-size: 1rem; + --bs-dropdown-color: var(--bs-body-color); + --bs-dropdown-bg: var(--bs-body-bg); + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-border-radius: var(--bs-border-radius); + --bs-dropdown-border-width: var(--bs-border-width); + --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width)); + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-divider-margin-y: 0.5rem; + --bs-dropdown-box-shadow: var(--bs-box-shadow); + --bs-dropdown-link-color: var(--bs-body-color); + --bs-dropdown-link-hover-color: var(--bs-body-color); + --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg); + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #0d6efd; + --bs-dropdown-link-disabled-color: var(--bs-tertiary-color); + --bs-dropdown-item-padding-x: 1rem; + --bs-dropdown-item-padding-y: 0.25rem; + --bs-dropdown-header-color: #6c757d; + --bs-dropdown-header-padding-x: 1rem; + --bs-dropdown-header-padding-y: 0.5rem; + position: absolute; + z-index: var(--bs-dropdown-zindex); + display: none; + min-width: var(--bs-dropdown-min-width); + padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); + margin: 0; + font-size: var(--bs-dropdown-font-size); + color: var(--bs-dropdown-color); + text-align: left; + list-style: none; + background-color: var(--bs-dropdown-bg); + background-clip: padding-box; + border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); + border-radius: var(--bs-dropdown-border-radius); +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: var(--bs-dropdown-spacer); +} + +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--bs-dropdown-spacer); +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--bs-dropdown-spacer); +} +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--bs-dropdown-spacer); +} +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: var(--bs-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--bs-dropdown-divider-bg); + opacity: 1; +} + +.dropdown-item { + display: block; + width: 100%; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + clear: both; + font-weight: 400; + color: var(--bs-dropdown-link-color); + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; + border-radius: var(--bs-dropdown-item-border-radius, 0); +} +.dropdown-item:hover, .dropdown-item:focus { + color: var(--bs-dropdown-link-hover-color); + background-color: var(--bs-dropdown-link-hover-bg); +} +.dropdown-item.active, .dropdown-item:active { + color: var(--bs-dropdown-link-active-color); + text-decoration: none; + background-color: var(--bs-dropdown-link-active-bg); +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: var(--bs-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x); + margin-bottom: 0; + font-size: 0.875rem; + color: var(--bs-dropdown-header-color); + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + color: var(--bs-dropdown-link-color); +} + +.dropdown-menu-dark { + --bs-dropdown-color: #dee2e6; + --bs-dropdown-bg: #343a40; + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-box-shadow: ; + --bs-dropdown-link-color: #dee2e6; + --bs-dropdown-link-hover-color: #fff; + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #0d6efd; + --bs-dropdown-link-disabled-color: #adb5bd; + --bs-dropdown-header-color: #adb5bd; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.btn-group { + border-radius: var(--bs-border-radius); +} +.btn-group > :not(.btn-check:first-child) + .btn, +.btn-group > .btn-group:not(:first-child) { + margin-left: calc(-1 * var(--bs-border-width)); +} +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn.dropdown-toggle-split:first-child, +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:nth-child(n+3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: calc(-1 * var(--bs-border-width)); +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:nth-child(n+3), +.btn-group-vertical > :not(.btn-check) + .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav { + --bs-nav-link-padding-x: 1rem; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-link-color); + --bs-nav-link-hover-color: var(--bs-link-hover-color); + --bs-nav-link-disabled-color: var(--bs-secondary-color); + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); + font-size: var(--bs-nav-link-font-size); + font-weight: var(--bs-nav-link-font-weight); + color: var(--bs-nav-link-color); + text-decoration: none; + background: none; + border: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:hover, .nav-link:focus { + color: var(--bs-nav-link-hover-color); +} +.nav-link:focus-visible { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.nav-link.disabled, .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} + +.nav-tabs { + --bs-nav-tabs-border-width: var(--bs-border-width); + --bs-nav-tabs-border-color: var(--bs-border-color); + --bs-nav-tabs-border-radius: var(--bs-border-radius); + --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color); + --bs-nav-tabs-link-active-color: var(--bs-emphasis-color); + --bs-nav-tabs-link-active-bg: var(--bs-body-bg); + --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg); + border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); +} +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); + border: var(--bs-nav-tabs-border-width) solid transparent; + border-top-left-radius: var(--bs-nav-tabs-border-radius); + border-top-right-radius: var(--bs-nav-tabs-border-radius); +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + isolation: isolate; + border-color: var(--bs-nav-tabs-link-hover-border-color); +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: var(--bs-nav-tabs-link-active-color); + background-color: var(--bs-nav-tabs-link-active-bg); + border-color: var(--bs-nav-tabs-link-active-border-color); +} +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills { + --bs-nav-pills-border-radius: var(--bs-border-radius); + --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-bg: #0d6efd; +} +.nav-pills .nav-link { + border-radius: var(--bs-nav-pills-border-radius); +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--bs-nav-pills-link-active-color); + background-color: var(--bs-nav-pills-link-active-bg); +} + +.nav-underline { + --bs-nav-underline-gap: 1rem; + --bs-nav-underline-border-width: 0.125rem; + --bs-nav-underline-link-active-color: var(--bs-emphasis-color); + gap: var(--bs-nav-underline-gap); +} +.nav-underline .nav-link { + padding-right: 0; + padding-left: 0; + border-bottom: var(--bs-nav-underline-border-width) solid transparent; +} +.nav-underline .nav-link:hover, .nav-underline .nav-link:focus { + border-bottom-color: currentcolor; +} +.nav-underline .nav-link.active, +.nav-underline .show > .nav-link { + font-weight: 700; + color: var(--bs-nav-underline-link-active-color); + border-bottom-color: currentcolor; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-grow: 1; + flex-basis: 0; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} + +.navbar { + --bs-navbar-padding-x: 0; + --bs-navbar-padding-y: 0.5rem; + --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65); + --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8); + --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3); + --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1); + --bs-navbar-brand-padding-y: 0.3125rem; + --bs-navbar-brand-margin-end: 1rem; + --bs-navbar-brand-font-size: 1.25rem; + --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1); + --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1); + --bs-navbar-nav-link-padding-x: 0.5rem; + --bs-navbar-toggler-padding-y: 0.25rem; + --bs-navbar-toggler-padding-x: 0.75rem; + --bs-navbar-toggler-font-size: 1.25rem; + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15); + --bs-navbar-toggler-border-radius: var(--bs-border-radius); + --bs-navbar-toggler-focus-width: 0.25rem; + --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: var(--bs-navbar-brand-padding-y); + padding-bottom: var(--bs-navbar-brand-padding-y); + margin-right: var(--bs-navbar-brand-margin-end); + font-size: var(--bs-navbar-brand-font-size); + color: var(--bs-navbar-brand-color); + text-decoration: none; + white-space: nowrap; +} +.navbar-brand:hover, .navbar-brand:focus { + color: var(--bs-navbar-brand-hover-color); +} + +.navbar-nav { + --bs-nav-link-padding-x: 0; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-navbar-color); + --bs-nav-link-hover-color: var(--bs-navbar-hover-color); + --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link.active, .navbar-nav .nav-link.show { + color: var(--bs-navbar-active-color); +} +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-navbar-color); +} +.navbar-text a, +.navbar-text a:hover, +.navbar-text a:focus { + color: var(--bs-navbar-active-color); +} + +.navbar-collapse { + flex-grow: 1; + flex-basis: 100%; + align-items: center; +} + +.navbar-toggler { + padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); + font-size: var(--bs-navbar-toggler-font-size); + line-height: 1; + color: var(--bs-navbar-color); + background-color: transparent; + border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); + border-radius: var(--bs-navbar-toggler-border-radius); + transition: var(--bs-navbar-toggler-transition); +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width); +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--bs-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; +} +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.navbar-dark, +.navbar[data-bs-theme=dark] { + --bs-navbar-color: rgba(255, 255, 255, 0.55); + --bs-navbar-hover-color: rgba(255, 255, 255, 0.75); + --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); + --bs-navbar-active-color: #fff; + --bs-navbar-brand-color: #fff; + --bs-navbar-brand-hover-color: #fff; + --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +[data-bs-theme=dark] .navbar-toggler-icon { + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.card { + --bs-card-spacer-y: 1rem; + --bs-card-spacer-x: 1rem; + --bs-card-title-spacer-y: 0.5rem; + --bs-card-title-color: ; + --bs-card-subtitle-color: ; + --bs-card-border-width: var(--bs-border-width); + --bs-card-border-color: var(--bs-border-color-translucent); + --bs-card-border-radius: var(--bs-border-radius); + --bs-card-box-shadow: ; + --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width))); + --bs-card-cap-padding-y: 0.5rem; + --bs-card-cap-padding-x: 1rem; + --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03); + --bs-card-cap-color: ; + --bs-card-height: ; + --bs-card-color: ; + --bs-card-bg: var(--bs-body-bg); + --bs-card-img-overlay-padding: 1rem; + --bs-card-group-margin: 0.75rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--bs-card-height); + color: var(--bs-body-color); + word-wrap: break-word; + background-color: var(--bs-card-bg); + background-clip: border-box; + border: var(--bs-card-border-width) solid var(--bs-card-border-color); + border-radius: var(--bs-card-border-radius); +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); + color: var(--bs-card-color); +} + +.card-title { + margin-bottom: var(--bs-card-title-spacer-y); + color: var(--bs-card-title-color); +} + +.card-subtitle { + margin-top: calc(-0.5 * var(--bs-card-title-spacer-y)); + margin-bottom: 0; + color: var(--bs-card-subtitle-color); +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link + .card-link { + margin-left: var(--bs-card-spacer-x); +} + +.card-header { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + margin-bottom: 0; + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-header:first-child { + border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; +} + +.card-footer { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-footer:last-child { + border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); +} + +.card-header-tabs { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); + border-bottom: 0; +} +.card-header-tabs .nav-link.active { + background-color: var(--bs-card-bg); + border-bottom-color: var(--bs-card-bg); +} + +.card-header-pills { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--bs-card-img-overlay-padding); + border-radius: var(--bs-card-inner-border-radius); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} + +.card-group > .card { + margin-bottom: var(--bs-card-group-margin); +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) > .card-img-top, + .card-group > .card:not(:last-child) > .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) > .card-img-bottom, + .card-group > .card:not(:last-child) > .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) > .card-img-top, + .card-group > .card:not(:first-child) > .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) > .card-img-bottom, + .card-group > .card:not(:first-child) > .card-footer { + border-bottom-left-radius: 0; + } +} + +.accordion { + --bs-accordion-color: var(--bs-body-color); + --bs-accordion-bg: var(--bs-body-bg); + --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; + --bs-accordion-border-color: var(--bs-border-color); + --bs-accordion-border-width: var(--bs-border-width); + --bs-accordion-border-radius: var(--bs-border-radius); + --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width))); + --bs-accordion-btn-padding-x: 1.25rem; + --bs-accordion-btn-padding-y: 1rem; + --bs-accordion-btn-color: var(--bs-body-color); + --bs-accordion-btn-bg: var(--bs-accordion-bg); + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + --bs-accordion-btn-icon-width: 1.25rem; + --bs-accordion-btn-icon-transform: rotate(-180deg); + --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='rgb%282.0392156863%, 17.2549019608%, 39.6862745098%%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-accordion-body-padding-x: 1.25rem; + --bs-accordion-body-padding-y: 1rem; + --bs-accordion-active-color: var(--bs-primary-text-emphasis); + --bs-accordion-active-bg: var(--bs-primary-bg-subtle); +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); + font-size: 1rem; + color: var(--bs-accordion-btn-color); + text-align: left; + background-color: var(--bs-accordion-btn-bg); + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: var(--bs-accordion-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: var(--bs-accordion-active-color); + background-color: var(--bs-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); +} +.accordion-button:not(.collapsed)::after { + background-image: var(--bs-accordion-btn-active-icon); + transform: var(--bs-accordion-btn-icon-transform); +} +.accordion-button::after { + flex-shrink: 0; + width: var(--bs-accordion-btn-icon-width); + height: var(--bs-accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--bs-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--bs-accordion-btn-icon-width); + transition: var(--bs-accordion-btn-icon-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + outline: 0; + box-shadow: var(--bs-accordion-btn-focus-box-shadow); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--bs-accordion-color); + background-color: var(--bs-accordion-bg); + border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); +} +.accordion-item:first-of-type { + border-top-left-radius: var(--bs-accordion-border-radius); + border-top-right-radius: var(--bs-accordion-border-radius); +} +.accordion-item:first-of-type > .accordion-header .accordion-button { + border-top-left-radius: var(--bs-accordion-inner-border-radius); + border-top-right-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} +.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed { + border-bottom-right-radius: var(--bs-accordion-inner-border-radius); + border-bottom-left-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:last-of-type > .accordion-collapse { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} + +.accordion-body { + padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); +} + +.accordion-flush > .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush > .accordion-item:first-child { + border-top: 0; +} +.accordion-flush > .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush > .accordion-item > .accordion-collapse, +.accordion-flush > .accordion-item > .accordion-header .accordion-button, +.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed { + border-radius: 0; +} + +[data-bs-theme=dark] .accordion-button::after { + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%2843.0588235294%, 65.8823529412%, 99.5294117647%%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e"); + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%2843.0588235294%, 65.8823529412%, 99.5294117647%%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e"); +} + +.breadcrumb { + --bs-breadcrumb-padding-x: 0; + --bs-breadcrumb-padding-y: 0; + --bs-breadcrumb-margin-bottom: 1rem; + --bs-breadcrumb-bg: ; + --bs-breadcrumb-border-radius: ; + --bs-breadcrumb-divider-color: var(--bs-secondary-color); + --bs-breadcrumb-item-padding-x: 0.5rem; + --bs-breadcrumb-item-active-color: var(--bs-secondary-color); + display: flex; + flex-wrap: wrap; + padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); + margin-bottom: var(--bs-breadcrumb-margin-bottom); + font-size: var(--bs-breadcrumb-font-size); + list-style: none; + background-color: var(--bs-breadcrumb-bg); + border-radius: var(--bs-breadcrumb-border-radius); +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: var(--bs-breadcrumb-item-padding-x); +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: var(--bs-breadcrumb-item-padding-x); + color: var(--bs-breadcrumb-divider-color); + content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; +} +.breadcrumb-item.active { + color: var(--bs-breadcrumb-item-active-color); +} + +.pagination { + --bs-pagination-padding-x: 0.75rem; + --bs-pagination-padding-y: 0.375rem; + --bs-pagination-font-size: 1rem; + --bs-pagination-color: var(--bs-link-color); + --bs-pagination-bg: var(--bs-body-bg); + --bs-pagination-border-width: var(--bs-border-width); + --bs-pagination-border-color: var(--bs-border-color); + --bs-pagination-border-radius: var(--bs-border-radius); + --bs-pagination-hover-color: var(--bs-link-hover-color); + --bs-pagination-hover-bg: var(--bs-tertiary-bg); + --bs-pagination-hover-border-color: var(--bs-border-color); + --bs-pagination-focus-color: var(--bs-link-hover-color); + --bs-pagination-focus-bg: var(--bs-secondary-bg); + --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-pagination-active-color: #fff; + --bs-pagination-active-bg: #0d6efd; + --bs-pagination-active-border-color: #0d6efd; + --bs-pagination-disabled-color: var(--bs-secondary-color); + --bs-pagination-disabled-bg: var(--bs-secondary-bg); + --bs-pagination-disabled-border-color: var(--bs-border-color); + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x); + font-size: var(--bs-pagination-font-size); + color: var(--bs-pagination-color); + text-decoration: none; + background-color: var(--bs-pagination-bg); + border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: var(--bs-pagination-hover-color); + background-color: var(--bs-pagination-hover-bg); + border-color: var(--bs-pagination-hover-border-color); +} +.page-link:focus { + z-index: 3; + color: var(--bs-pagination-focus-color); + background-color: var(--bs-pagination-focus-bg); + outline: 0; + box-shadow: var(--bs-pagination-focus-box-shadow); +} +.page-link.active, .active > .page-link { + z-index: 3; + color: var(--bs-pagination-active-color); + background-color: var(--bs-pagination-active-bg); + border-color: var(--bs-pagination-active-border-color); +} +.page-link.disabled, .disabled > .page-link { + color: var(--bs-pagination-disabled-color); + pointer-events: none; + background-color: var(--bs-pagination-disabled-bg); + border-color: var(--bs-pagination-disabled-border-color); +} + +.page-item:not(:first-child) .page-link { + margin-left: calc(-1 * var(--bs-border-width)); +} +.page-item:first-child .page-link { + border-top-left-radius: var(--bs-pagination-border-radius); + border-bottom-left-radius: var(--bs-pagination-border-radius); +} +.page-item:last-child .page-link { + border-top-right-radius: var(--bs-pagination-border-radius); + border-bottom-right-radius: var(--bs-pagination-border-radius); +} + +.pagination-lg { + --bs-pagination-padding-x: 1.5rem; + --bs-pagination-padding-y: 0.75rem; + --bs-pagination-font-size: 1.25rem; + --bs-pagination-border-radius: var(--bs-border-radius-lg); +} + +.pagination-sm { + --bs-pagination-padding-x: 0.5rem; + --bs-pagination-padding-y: 0.25rem; + --bs-pagination-font-size: 0.875rem; + --bs-pagination-border-radius: var(--bs-border-radius-sm); +} + +.badge { + --bs-badge-padding-x: 0.65em; + --bs-badge-padding-y: 0.35em; + --bs-badge-font-size: 0.75em; + --bs-badge-font-weight: 700; + --bs-badge-color: #fff; + --bs-badge-border-radius: var(--bs-border-radius); + display: inline-block; + padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); + font-size: var(--bs-badge-font-size); + font-weight: var(--bs-badge-font-weight); + line-height: 1; + color: var(--bs-badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: var(--bs-badge-border-radius); +} +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.alert { + --bs-alert-bg: transparent; + --bs-alert-padding-x: 1rem; + --bs-alert-padding-y: 1rem; + --bs-alert-margin-bottom: 1rem; + --bs-alert-color: inherit; + --bs-alert-border-color: transparent; + --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color); + --bs-alert-border-radius: var(--bs-border-radius); + --bs-alert-link-color: inherit; + position: relative; + padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); + margin-bottom: var(--bs-alert-margin-bottom); + color: var(--bs-alert-color); + background-color: var(--bs-alert-bg); + border: var(--bs-alert-border); + border-radius: var(--bs-alert-border-radius); +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; + color: var(--bs-alert-link-color); +} + +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} + +.alert-primary { + --bs-alert-color: var(--bs-primary-text-emphasis); + --bs-alert-bg: var(--bs-primary-bg-subtle); + --bs-alert-border-color: var(--bs-primary-border-subtle); + --bs-alert-link-color: var(--bs-primary-text-emphasis); +} + +.alert-secondary { + --bs-alert-color: var(--bs-secondary-text-emphasis); + --bs-alert-bg: var(--bs-secondary-bg-subtle); + --bs-alert-border-color: var(--bs-secondary-border-subtle); + --bs-alert-link-color: var(--bs-secondary-text-emphasis); +} + +.alert-success { + --bs-alert-color: var(--bs-success-text-emphasis); + --bs-alert-bg: var(--bs-success-bg-subtle); + --bs-alert-border-color: var(--bs-success-border-subtle); + --bs-alert-link-color: var(--bs-success-text-emphasis); +} + +.alert-info { + --bs-alert-color: var(--bs-info-text-emphasis); + --bs-alert-bg: var(--bs-info-bg-subtle); + --bs-alert-border-color: var(--bs-info-border-subtle); + --bs-alert-link-color: var(--bs-info-text-emphasis); +} + +.alert-warning { + --bs-alert-color: var(--bs-warning-text-emphasis); + --bs-alert-bg: var(--bs-warning-bg-subtle); + --bs-alert-border-color: var(--bs-warning-border-subtle); + --bs-alert-link-color: var(--bs-warning-text-emphasis); +} + +.alert-danger { + --bs-alert-color: var(--bs-danger-text-emphasis); + --bs-alert-bg: var(--bs-danger-bg-subtle); + --bs-alert-border-color: var(--bs-danger-border-subtle); + --bs-alert-link-color: var(--bs-danger-text-emphasis); +} + +.alert-light { + --bs-alert-color: var(--bs-light-text-emphasis); + --bs-alert-bg: var(--bs-light-bg-subtle); + --bs-alert-border-color: var(--bs-light-border-subtle); + --bs-alert-link-color: var(--bs-light-text-emphasis); +} + +.alert-dark { + --bs-alert-color: var(--bs-dark-text-emphasis); + --bs-alert-bg: var(--bs-dark-bg-subtle); + --bs-alert-border-color: var(--bs-dark-border-subtle); + --bs-alert-link-color: var(--bs-dark-text-emphasis); +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: var(--bs-progress-height); + } +} +.progress, +.progress-stacked { + --bs-progress-height: 1rem; + --bs-progress-font-size: 0.75rem; + --bs-progress-bg: var(--bs-secondary-bg); + --bs-progress-border-radius: var(--bs-border-radius); + --bs-progress-box-shadow: var(--bs-box-shadow-inset); + --bs-progress-bar-color: #fff; + --bs-progress-bar-bg: #0d6efd; + --bs-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--bs-progress-height); + overflow: hidden; + font-size: var(--bs-progress-font-size); + background-color: var(--bs-progress-bg); + border-radius: var(--bs-progress-border-radius); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--bs-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-progress-bar-bg); + transition: var(--bs-progress-bar-transition); +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: var(--bs-progress-height) var(--bs-progress-height); +} + +.progress-stacked > .progress { + overflow: visible; +} + +.progress-stacked > .progress > .progress-bar { + width: 100%; +} + +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +.list-group { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: var(--bs-body-bg); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-border-width: var(--bs-border-width); + --bs-list-group-border-radius: var(--bs-border-radius); + --bs-list-group-item-padding-x: 1rem; + --bs-list-group-item-padding-y: 0.5rem; + --bs-list-group-action-color: var(--bs-secondary-color); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-tertiary-bg); + --bs-list-group-action-active-color: var(--bs-body-color); + --bs-list-group-action-active-bg: var(--bs-secondary-bg); + --bs-list-group-disabled-color: var(--bs-secondary-color); + --bs-list-group-disabled-bg: var(--bs-body-bg); + --bs-list-group-active-color: #fff; + --bs-list-group-active-bg: #0d6efd; + --bs-list-group-active-border-color: #0d6efd; + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: var(--bs-list-group-border-radius); +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > .list-group-item::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item { + position: relative; + display: block; + padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x); + color: var(--bs-list-group-color); + text-decoration: none; + background-color: var(--bs-list-group-bg); + border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} +.list-group-item.disabled, .list-group-item:disabled { + color: var(--bs-list-group-disabled-color); + pointer-events: none; + background-color: var(--bs-list-group-disabled-bg); +} +.list-group-item.active { + z-index: 2; + color: var(--bs-list-group-active-color); + background-color: var(--bs-list-group-active-bg); + border-color: var(--bs-list-group-active-border-color); +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: calc(-1 * var(--bs-list-group-border-width)); + border-top-width: var(--bs-list-group-border-width); +} + +.list-group-item-action { + width: 100%; + color: var(--bs-list-group-action-color); + text-align: inherit; +} +.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus { + z-index: 1; + color: var(--bs-list-group-action-hover-color); + text-decoration: none; + background-color: var(--bs-list-group-action-hover-bg); +} +.list-group-item-action:not(.active):active { + color: var(--bs-list-group-action-active-color); + background-color: var(--bs-list-group-action-active-bg); +} + +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 var(--bs-list-group-border-width); +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + --bs-list-group-color: var(--bs-primary-text-emphasis); + --bs-list-group-bg: var(--bs-primary-bg-subtle); + --bs-list-group-border-color: var(--bs-primary-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-primary-border-subtle); + --bs-list-group-active-color: var(--bs-primary-bg-subtle); + --bs-list-group-active-bg: var(--bs-primary-text-emphasis); + --bs-list-group-active-border-color: var(--bs-primary-text-emphasis); +} + +.list-group-item-secondary { + --bs-list-group-color: var(--bs-secondary-text-emphasis); + --bs-list-group-bg: var(--bs-secondary-bg-subtle); + --bs-list-group-border-color: var(--bs-secondary-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle); + --bs-list-group-active-color: var(--bs-secondary-bg-subtle); + --bs-list-group-active-bg: var(--bs-secondary-text-emphasis); + --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis); +} + +.list-group-item-success { + --bs-list-group-color: var(--bs-success-text-emphasis); + --bs-list-group-bg: var(--bs-success-bg-subtle); + --bs-list-group-border-color: var(--bs-success-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-success-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-success-border-subtle); + --bs-list-group-active-color: var(--bs-success-bg-subtle); + --bs-list-group-active-bg: var(--bs-success-text-emphasis); + --bs-list-group-active-border-color: var(--bs-success-text-emphasis); +} + +.list-group-item-info { + --bs-list-group-color: var(--bs-info-text-emphasis); + --bs-list-group-bg: var(--bs-info-bg-subtle); + --bs-list-group-border-color: var(--bs-info-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-info-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-info-border-subtle); + --bs-list-group-active-color: var(--bs-info-bg-subtle); + --bs-list-group-active-bg: var(--bs-info-text-emphasis); + --bs-list-group-active-border-color: var(--bs-info-text-emphasis); +} + +.list-group-item-warning { + --bs-list-group-color: var(--bs-warning-text-emphasis); + --bs-list-group-bg: var(--bs-warning-bg-subtle); + --bs-list-group-border-color: var(--bs-warning-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-warning-border-subtle); + --bs-list-group-active-color: var(--bs-warning-bg-subtle); + --bs-list-group-active-bg: var(--bs-warning-text-emphasis); + --bs-list-group-active-border-color: var(--bs-warning-text-emphasis); +} + +.list-group-item-danger { + --bs-list-group-color: var(--bs-danger-text-emphasis); + --bs-list-group-bg: var(--bs-danger-bg-subtle); + --bs-list-group-border-color: var(--bs-danger-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-danger-border-subtle); + --bs-list-group-active-color: var(--bs-danger-bg-subtle); + --bs-list-group-active-bg: var(--bs-danger-text-emphasis); + --bs-list-group-active-border-color: var(--bs-danger-text-emphasis); +} + +.list-group-item-light { + --bs-list-group-color: var(--bs-light-text-emphasis); + --bs-list-group-bg: var(--bs-light-bg-subtle); + --bs-list-group-border-color: var(--bs-light-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-light-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-light-border-subtle); + --bs-list-group-active-color: var(--bs-light-bg-subtle); + --bs-list-group-active-bg: var(--bs-light-text-emphasis); + --bs-list-group-active-border-color: var(--bs-light-text-emphasis); +} + +.list-group-item-dark { + --bs-list-group-color: var(--bs-dark-text-emphasis); + --bs-list-group-bg: var(--bs-dark-bg-subtle); + --bs-list-group-border-color: var(--bs-dark-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-dark-border-subtle); + --bs-list-group-active-color: var(--bs-dark-bg-subtle); + --bs-list-group-active-bg: var(--bs-dark-text-emphasis); + --bs-list-group-active-border-color: var(--bs-dark-text-emphasis); +} + +.btn-close { + --bs-btn-close-color: #000; + --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e"); + --bs-btn-close-opacity: 0.5; + --bs-btn-close-hover-opacity: 0.75; + --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-btn-close-focus-opacity: 1; + --bs-btn-close-disabled-opacity: 0.25; + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: var(--bs-btn-close-color); + background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat; + filter: var(--bs-btn-close-filter); + border: 0; + border-radius: 0.375rem; + opacity: var(--bs-btn-close-opacity); +} +.btn-close:hover { + color: var(--bs-btn-close-color); + text-decoration: none; + opacity: var(--bs-btn-close-hover-opacity); +} +.btn-close:focus { + outline: 0; + box-shadow: var(--bs-btn-close-focus-shadow); + opacity: var(--bs-btn-close-focus-opacity); +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + user-select: none; + opacity: var(--bs-btn-close-disabled-opacity); +} + +.btn-close-white { + --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%); +} + +:root, +[data-bs-theme=light] { + --bs-btn-close-filter: ; +} + +[data-bs-theme=dark] { + --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%); +} + +.toast { + --bs-toast-zindex: 1090; + --bs-toast-padding-x: 0.75rem; + --bs-toast-padding-y: 0.5rem; + --bs-toast-spacing: 1.5rem; + --bs-toast-max-width: 350px; + --bs-toast-font-size: 0.875rem; + --bs-toast-color: ; + --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85); + --bs-toast-border-width: var(--bs-border-width); + --bs-toast-border-color: var(--bs-border-color-translucent); + --bs-toast-border-radius: var(--bs-border-radius); + --bs-toast-box-shadow: var(--bs-box-shadow); + --bs-toast-header-color: var(--bs-secondary-color); + --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85); + --bs-toast-header-border-color: var(--bs-border-color-translucent); + width: var(--bs-toast-max-width); + max-width: 100%; + font-size: var(--bs-toast-font-size); + color: var(--bs-toast-color); + pointer-events: auto; + background-color: var(--bs-toast-bg); + background-clip: padding-box; + border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); + box-shadow: var(--bs-toast-box-shadow); + border-radius: var(--bs-toast-border-radius); +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + --bs-toast-zindex: 1090; + position: absolute; + z-index: var(--bs-toast-zindex); + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: var(--bs-toast-spacing); +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); + color: var(--bs-toast-header-color); + background-color: var(--bs-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color); + border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); + border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); +} +.toast-header .btn-close { + margin-right: calc(-0.5 * var(--bs-toast-padding-x)); + margin-left: var(--bs-toast-padding-x); +} + +.toast-body { + padding: var(--bs-toast-padding-x); + word-wrap: break-word; +} + +.modal { + --bs-modal-zindex: 1055; + --bs-modal-width: 500px; + --bs-modal-padding: 1rem; + --bs-modal-margin: 0.5rem; + --bs-modal-color: var(--bs-body-color); + --bs-modal-bg: var(--bs-body-bg); + --bs-modal-border-color: var(--bs-border-color-translucent); + --bs-modal-border-width: var(--bs-border-width); + --bs-modal-border-radius: var(--bs-border-radius-lg); + --bs-modal-box-shadow: var(--bs-box-shadow-sm); + --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width))); + --bs-modal-header-padding-x: 1rem; + --bs-modal-header-padding-y: 1rem; + --bs-modal-header-padding: 1rem 1rem; + --bs-modal-header-border-color: var(--bs-border-color); + --bs-modal-header-border-width: var(--bs-border-width); + --bs-modal-title-line-height: 1.5; + --bs-modal-footer-gap: 0.5rem; + --bs-modal-footer-bg: ; + --bs-modal-footer-border-color: var(--bs-border-color); + --bs-modal-footer-border-width: var(--bs-border-width); + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: var(--bs-modal-margin); + pointer-events: none; +} +.modal.fade .modal-dialog { + transform: translate(0, -50px); + transition: transform 0.3s ease-out; +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - var(--bs-modal-margin) * 2); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - var(--bs-modal-margin) * 2); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--bs-modal-color); + pointer-events: auto; + background-color: var(--bs-modal-bg); + background-clip: padding-box; + border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); + border-radius: var(--bs-modal-border-radius); + outline: 0; +} + +.modal-backdrop { + --bs-backdrop-zindex: 1050; + --bs-backdrop-bg: #000; + --bs-backdrop-opacity: 0.5; + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--bs-backdrop-bg); +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: var(--bs-backdrop-opacity); +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + padding: var(--bs-modal-header-padding); + border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); + border-top-left-radius: var(--bs-modal-inner-border-radius); + border-top-right-radius: var(--bs-modal-inner-border-radius); +} +.modal-header .btn-close { + padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--bs-modal-header-padding-y)); + margin-right: calc(-0.5 * var(--bs-modal-header-padding-x)); + margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y)); + margin-left: auto; +} + +.modal-title { + margin-bottom: 0; + line-height: var(--bs-modal-title-line-height); +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--bs-modal-padding); +} + +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5); + background-color: var(--bs-modal-footer-bg); + border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color); + border-bottom-right-radius: var(--bs-modal-inner-border-radius); + border-bottom-left-radius: var(--bs-modal-inner-border-radius); +} +.modal-footer > * { + margin: calc(var(--bs-modal-footer-gap) * 0.5); +} + +@media (min-width: 576px) { + .modal { + --bs-modal-margin: 1.75rem; + --bs-modal-box-shadow: var(--bs-box-shadow); + } + .modal-dialog { + max-width: var(--bs-modal-width); + margin-right: auto; + margin-left: auto; + } + .modal-sm { + --bs-modal-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --bs-modal-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + --bs-modal-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header, +.modal-fullscreen .modal-footer { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header, + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header, + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header, + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header, + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header, + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} +.tooltip { + --bs-tooltip-zindex: 1080; + --bs-tooltip-max-width: 200px; + --bs-tooltip-padding-x: 0.5rem; + --bs-tooltip-padding-y: 0.25rem; + --bs-tooltip-margin: ; + --bs-tooltip-font-size: 0.875rem; + --bs-tooltip-color: var(--bs-body-bg); + --bs-tooltip-bg: var(--bs-emphasis-color); + --bs-tooltip-border-radius: var(--bs-border-radius); + --bs-tooltip-opacity: 0.9; + --bs-tooltip-arrow-width: 0.8rem; + --bs-tooltip-arrow-height: 0.4rem; + z-index: var(--bs-tooltip-zindex); + display: block; + margin: var(--bs-tooltip-margin); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: var(--bs-tooltip-opacity); +} +.tooltip .tooltip-arrow { + display: block; + width: var(--bs-tooltip-arrow-width); + height: var(--bs-tooltip-arrow-height); +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: calc(-1 * var(--bs-tooltip-arrow-height)); +} +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-top-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: calc(-1 * var(--bs-tooltip-arrow-height)); + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-right-color: var(--bs-tooltip-bg); +} + +/* rtl:end:ignore */ +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: calc(-1 * var(--bs-tooltip-arrow-height)); +} +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-bottom-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: calc(-1 * var(--bs-tooltip-arrow-height)); + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-left-color: var(--bs-tooltip-bg); +} + +/* rtl:end:ignore */ +.tooltip-inner { + max-width: var(--bs-tooltip-max-width); + padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x); + color: var(--bs-tooltip-color); + text-align: center; + background-color: var(--bs-tooltip-bg); + border-radius: var(--bs-tooltip-border-radius); +} + +.popover { + --bs-popover-zindex: 1070; + --bs-popover-max-width: 276px; + --bs-popover-font-size: 0.875rem; + --bs-popover-bg: var(--bs-body-bg); + --bs-popover-border-width: var(--bs-border-width); + --bs-popover-border-color: var(--bs-border-color-translucent); + --bs-popover-border-radius: var(--bs-border-radius-lg); + --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); + --bs-popover-box-shadow: var(--bs-box-shadow); + --bs-popover-header-padding-x: 1rem; + --bs-popover-header-padding-y: 0.5rem; + --bs-popover-header-font-size: 1rem; + --bs-popover-header-color: inherit; + --bs-popover-header-bg: var(--bs-secondary-bg); + --bs-popover-body-padding-x: 1rem; + --bs-popover-body-padding-y: 1rem; + --bs-popover-body-color: var(--bs-body-color); + --bs-popover-arrow-width: 1rem; + --bs-popover-arrow-height: 0.5rem; + --bs-popover-arrow-border: var(--bs-popover-border-color); + z-index: var(--bs-popover-zindex); + display: block; + max-width: var(--bs-popover-max-width); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-popover-font-size); + word-wrap: break-word; + background-color: var(--bs-popover-bg); + background-clip: padding-box; + border: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-radius: var(--bs-popover-border-radius); +} +.popover .popover-arrow { + display: block; + width: var(--bs-popover-arrow-width); + height: var(--bs-popover-arrow-height); +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-top-color: var(--bs-popover-arrow-border); +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: var(--bs-popover-border-width); + border-top-color: var(--bs-popover-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-right-color: var(--bs-popover-arrow-border); +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: var(--bs-popover-border-width); + border-right-color: var(--bs-popover-bg); +} + +/* rtl:end:ignore */ +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-bottom-color: var(--bs-popover-arrow-border); +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: var(--bs-popover-border-width); + border-bottom-color: var(--bs-popover-bg); +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: var(--bs-popover-arrow-width); + margin-left: calc(-0.5 * var(--bs-popover-arrow-width)); + content: ""; + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-left-color: var(--bs-popover-arrow-border); +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: var(--bs-popover-border-width); + border-left-color: var(--bs-popover-bg); +} + +/* rtl:end:ignore */ +.popover-header { + padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x); + margin-bottom: 0; + font-size: var(--bs-popover-header-font-size); + color: var(--bs-popover-header-color); + background-color: var(--bs-popover-header-bg); + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-top-left-radius: var(--bs-popover-inner-border-radius); + border-top-right-radius: var(--bs-popover-inner-border-radius); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x); + color: var(--bs-popover-body-color); +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, + .carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: none; + filter: var(--bs-carousel-control-icon-filter); + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")*/; +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")*/; +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: var(--bs-carousel-indicator-active-bg); + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: var(--bs-carousel-caption-color); + text-align: center; +} + +.carousel-dark { + --bs-carousel-indicator-active-bg: #000; + --bs-carousel-caption-color: #000; + --bs-carousel-control-icon-filter: invert(1) grayscale(100); +} + +:root, +[data-bs-theme=light] { + --bs-carousel-indicator-active-bg: #fff; + --bs-carousel-caption-color: #fff; + --bs-carousel-control-icon-filter: ; +} + +[data-bs-theme=dark] { + --bs-carousel-indicator-active-bg: #000; + --bs-carousel-caption-color: #000; + --bs-carousel-control-icon-filter: invert(1) grayscale(100); +} + +.spinner-grow, +.spinner-border { + display: inline-block; + flex-shrink: 0; + width: var(--bs-spinner-width); + height: var(--bs-spinner-height); + vertical-align: var(--bs-spinner-vertical-align); + border-radius: 50%; + animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} +.spinner-border { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-border-width: 0.25em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-border; + border: var(--bs-spinner-border-width) solid currentcolor; + border-right-color: transparent; +} + +.spinner-border-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; + --bs-spinner-border-width: 0.2em; +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} + +.spinner-grow-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + --bs-spinner-animation-speed: 1.5s; + } +} +.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { + --bs-offcanvas-zindex: 1045; + --bs-offcanvas-width: 400px; + --bs-offcanvas-height: 30vh; + --bs-offcanvas-padding-x: 1rem; + --bs-offcanvas-padding-y: 1rem; + --bs-offcanvas-color: var(--bs-body-color); + --bs-offcanvas-bg: var(--bs-body-bg); + --bs-offcanvas-border-width: var(--bs-border-width); + --bs-offcanvas-border-color: var(--bs-border-color-translucent); + --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm); + --bs-offcanvas-transition: transform 0.3s ease-in-out; + --bs-offcanvas-title-line-height: 1.5; +} + +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-sm.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-sm.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-sm.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { + transform: none; + } + .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { + visibility: visible; + } +} +@media (min-width: 576px) { + .offcanvas-sm { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-sm .offcanvas-header { + display: none; + } + .offcanvas-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-md.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-md.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-md.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { + transform: none; + } + .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { + visibility: visible; + } +} +@media (min-width: 768px) { + .offcanvas-md { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-md .offcanvas-header { + display: none; + } + .offcanvas-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-lg.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-lg.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-lg.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { + transform: none; + } + .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { + visibility: visible; + } +} +@media (min-width: 992px) { + .offcanvas-lg { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-lg .offcanvas-header { + display: none; + } + .offcanvas-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { + transform: none; + } + .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { + visibility: visible; + } +} +@media (min-width: 1200px) { + .offcanvas-xl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xl .offcanvas-header { + display: none; + } + .offcanvas-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xxl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xxl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xxl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { + transform: none; + } + .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { + visibility: visible; + } +} +@media (min-width: 1400px) { + .offcanvas-xxl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xxl .offcanvas-header { + display: none; + } + .offcanvas-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +.offcanvas { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); +} +.offcanvas.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); +} +.offcanvas.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); +} +.offcanvas.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas.showing, .offcanvas.show:not(.hiding) { + transform: none; +} +.offcanvas.showing, .offcanvas.hiding, .offcanvas.show { + visibility: visible; +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); +} +.offcanvas-header .btn-close { + padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y)); + margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y)); + margin-left: auto; +} + +.offcanvas-title { + margin-bottom: 0; + line-height: var(--bs-offcanvas-title-line-height); +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); + overflow-y: auto; +} + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.5; +} +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} + +@keyframes placeholder-wave { + 100% { + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.text-bg-primary { + color: #fff !important; + background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-secondary { + color: #fff !important; + background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-success { + color: #fff !important; + background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-info { + color: #000 !important; + background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-warning { + color: #000 !important; + background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-danger { + color: #fff !important; + background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-light { + color: #000 !important; + background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-dark { + color: #fff !important; + background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.link-primary { + color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-primary:hover, .link-primary:focus { + color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-secondary { + color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-secondary:hover, .link-secondary:focus { + color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-success { + color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-success:hover, .link-success:focus { + color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-info { + color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-info:hover, .link-info:focus { + color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-warning { + color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-warning:hover, .link-warning:focus { + color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-danger { + color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-danger:hover, .link-danger:focus { + color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-light { + color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-light:hover, .link-light:focus { + color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-dark { + color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-dark:hover, .link-dark:focus { + color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-body-emphasis { + color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-body-emphasis:hover, .link-body-emphasis:focus { + color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important; + text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important; +} + +.focus-ring:focus { + outline: 0; + box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color); +} + +.icon-link { + display: inline-flex; + gap: 0.375rem; + align-items: center; + text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5)); + text-underline-offset: 0.25em; + backface-visibility: hidden; +} +.icon-link > .bi { + flex-shrink: 0; + width: 1em; + height: 1em; + fill: currentcolor; + transition: 0.2s ease-in-out transform; +} +@media (prefers-reduced-motion: reduce) { + .icon-link > .bi { + transition: none; + } +} + +.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi { + transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0)); +} + +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} + +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} + +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} + +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: sticky; + top: 0; + z-index: 1020; +} + +.sticky-bottom { + position: sticky; + bottom: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} +.visually-hidden:not(caption), +.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) { + position: absolute !important; +} +.visually-hidden *, +.visually-hidden-focusable:not(:focus):not(:focus-within) * { + overflow: hidden !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: var(--bs-border-width); + min-height: 1em; + background-color: currentcolor; + opacity: 0.25; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.float-start { + float: left !important; +} + +.float-end { + float: right !important; +} + +.float-none { + float: none !important; +} + +.object-fit-contain { + object-fit: contain !important; +} + +.object-fit-cover { + object-fit: cover !important; +} + +.object-fit-fill { + object-fit: fill !important; +} + +.object-fit-scale { + object-fit: scale-down !important; +} + +.object-fit-none { + object-fit: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.overflow-x-auto { + overflow-x: auto !important; +} + +.overflow-x-hidden { + overflow-x: hidden !important; +} + +.overflow-x-visible { + overflow-x: visible !important; +} + +.overflow-x-scroll { + overflow-x: scroll !important; +} + +.overflow-y-auto { + overflow-y: auto !important; +} + +.overflow-y-hidden { + overflow-y: hidden !important; +} + +.overflow-y-visible { + overflow-y: visible !important; +} + +.overflow-y-scroll { + overflow-y: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: var(--bs-box-shadow) !important; +} + +.shadow-sm { + box-shadow: var(--bs-box-shadow-sm) !important; +} + +.shadow-lg { + box-shadow: var(--bs-box-shadow-lg) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.focus-ring-primary { + --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-secondary { + --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-success { + --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-info { + --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-warning { + --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-danger { + --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-light { + --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-dark { + --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity)); +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-primary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important; +} + +.border-secondary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important; +} + +.border-success { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important; +} + +.border-info { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important; +} + +.border-warning { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important; +} + +.border-danger { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important; +} + +.border-light { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important; +} + +.border-dark { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; +} + +.border-black { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important; +} + +.border-white { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; +} + +.border-primary-subtle { + border-color: var(--bs-primary-border-subtle) !important; +} + +.border-secondary-subtle { + border-color: var(--bs-secondary-border-subtle) !important; +} + +.border-success-subtle { + border-color: var(--bs-success-border-subtle) !important; +} + +.border-info-subtle { + border-color: var(--bs-info-border-subtle) !important; +} + +.border-warning-subtle { + border-color: var(--bs-warning-border-subtle) !important; +} + +.border-danger-subtle { + border-color: var(--bs-danger-border-subtle) !important; +} + +.border-light-subtle { + border-color: var(--bs-light-border-subtle) !important; +} + +.border-dark-subtle { + border-color: var(--bs-dark-border-subtle) !important; +} + +.border-1 { + border-width: 1px !important; +} + +.border-2 { + border-width: 2px !important; +} + +.border-3 { + border-width: 3px !important; +} + +.border-4 { + border-width: 4px !important; +} + +.border-5 { + border-width: 5px !important; +} + +.border-opacity-10 { + --bs-border-opacity: 0.1; +} + +.border-opacity-25 { + --bs-border-opacity: 0.25; +} + +.border-opacity-50 { + --bs-border-opacity: 0.5; +} + +.border-opacity-75 { + --bs-border-opacity: 0.75; +} + +.border-opacity-100 { + --bs-border-opacity: 1; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 3rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 3rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +.row-gap-0 { + row-gap: 0 !important; +} + +.row-gap-1 { + row-gap: 0.25rem !important; +} + +.row-gap-2 { + row-gap: 0.5rem !important; +} + +.row-gap-3 { + row-gap: 1rem !important; +} + +.row-gap-4 { + row-gap: 1.5rem !important; +} + +.row-gap-5 { + row-gap: 3rem !important; +} + +.column-gap-0 { + column-gap: 0 !important; +} + +.column-gap-1 { + column-gap: 0.25rem !important; +} + +.column-gap-2 { + column-gap: 0.5rem !important; +} + +.column-gap-3 { + column-gap: 1rem !important; +} + +.column-gap-4 { + column-gap: 1.5rem !important; +} + +.column-gap-5 { + column-gap: 3rem !important; +} + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} + +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.25rem !important; +} + +.fs-6 { + font-size: 1rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-medium { + font-weight: 500 !important; +} + +.fw-semibold { + font-weight: 600 !important; +} + +.fw-bold { + font-weight: 700 !important; +} + +.fw-bolder { + font-weight: bolder !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: 1.25 !important; +} + +.lh-base { + line-height: 1.5 !important; +} + +.lh-lg { + line-height: 2 !important; +} + +.text-start { + text-align: left !important; +} + +.text-end { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} + +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} + +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} + +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} + +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} + +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} + +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} + +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} + +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-body-secondary { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-body-tertiary { + --bs-text-opacity: 1; + color: var(--bs-tertiary-color) !important; +} + +.text-body-emphasis { + --bs-text-opacity: 1; + color: var(--bs-emphasis-color) !important; +} + +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --bs-text-opacity: 0.25; +} + +.text-opacity-50 { + --bs-text-opacity: 0.5; +} + +.text-opacity-75 { + --bs-text-opacity: 0.75; +} + +.text-opacity-100 { + --bs-text-opacity: 1; +} + +.text-primary-emphasis { + color: var(--bs-primary-text-emphasis) !important; +} + +.text-secondary-emphasis { + color: var(--bs-secondary-text-emphasis) !important; +} + +.text-success-emphasis { + color: var(--bs-success-text-emphasis) !important; +} + +.text-info-emphasis { + color: var(--bs-info-text-emphasis) !important; +} + +.text-warning-emphasis { + color: var(--bs-warning-text-emphasis) !important; +} + +.text-danger-emphasis { + color: var(--bs-danger-text-emphasis) !important; +} + +.text-light-emphasis { + color: var(--bs-light-text-emphasis) !important; +} + +.text-dark-emphasis { + color: var(--bs-dark-text-emphasis) !important; +} + +.link-opacity-10 { + --bs-link-opacity: 0.1; +} + +.link-opacity-10-hover:hover { + --bs-link-opacity: 0.1; +} + +.link-opacity-25 { + --bs-link-opacity: 0.25; +} + +.link-opacity-25-hover:hover { + --bs-link-opacity: 0.25; +} + +.link-opacity-50 { + --bs-link-opacity: 0.5; +} + +.link-opacity-50-hover:hover { + --bs-link-opacity: 0.5; +} + +.link-opacity-75 { + --bs-link-opacity: 0.75; +} + +.link-opacity-75-hover:hover { + --bs-link-opacity: 0.75; +} + +.link-opacity-100 { + --bs-link-opacity: 1; +} + +.link-opacity-100-hover:hover { + --bs-link-opacity: 1; +} + +.link-offset-1 { + text-underline-offset: 0.125em !important; +} + +.link-offset-1-hover:hover { + text-underline-offset: 0.125em !important; +} + +.link-offset-2 { + text-underline-offset: 0.25em !important; +} + +.link-offset-2-hover:hover { + text-underline-offset: 0.25em !important; +} + +.link-offset-3 { + text-underline-offset: 0.375em !important; +} + +.link-offset-3-hover:hover { + text-underline-offset: 0.375em !important; +} + +.link-underline-primary { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-secondary { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-success { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-info { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-warning { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-danger { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-light { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-dark { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-underline-opacity-0 { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-0-hover:hover { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-10 { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-10-hover:hover { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-25 { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-25-hover:hover { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-50 { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-50-hover:hover { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-75 { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-75-hover:hover { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-100 { + --bs-link-underline-opacity: 1; +} + +.link-underline-opacity-100-hover:hover { + --bs-link-underline-opacity: 1; +} + +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-body-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body-tertiary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --bs-bg-opacity: 1; +} + +.bg-primary-subtle { + background-color: var(--bs-primary-bg-subtle) !important; +} + +.bg-secondary-subtle { + background-color: var(--bs-secondary-bg-subtle) !important; +} + +.bg-success-subtle { + background-color: var(--bs-success-bg-subtle) !important; +} + +.bg-info-subtle { + background-color: var(--bs-info-bg-subtle) !important; +} + +.bg-warning-subtle { + background-color: var(--bs-warning-bg-subtle) !important; +} + +.bg-danger-subtle { + background-color: var(--bs-danger-bg-subtle) !important; +} + +.bg-light-subtle { + background-color: var(--bs-light-bg-subtle) !important; +} + +.bg-dark-subtle { + background-color: var(--bs-dark-bg-subtle) !important; +} + +.bg-gradient { + background-image: var(--bs-gradient) !important; +} + +.user-select-all { + user-select: all !important; +} + +.user-select-auto { + user-select: auto !important; +} + +.user-select-none { + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-2 { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-3 { + border-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-4 { + border-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-5 { + border-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-top { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-top-0 { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} + +.rounded-top-1 { + border-top-left-radius: var(--bs-border-radius-sm) !important; + border-top-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-top-2 { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-top-3 { + border-top-left-radius: var(--bs-border-radius-lg) !important; + border-top-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-top-4 { + border-top-left-radius: var(--bs-border-radius-xl) !important; + border-top-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-top-5 { + border-top-left-radius: var(--bs-border-radius-xxl) !important; + border-top-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-top-circle { + border-top-left-radius: 50% !important; + border-top-right-radius: 50% !important; +} + +.rounded-top-pill { + border-top-left-radius: var(--bs-border-radius-pill) !important; + border-top-right-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-end { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end-0 { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.rounded-end-1 { + border-top-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-end-2 { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end-3 { + border-top-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-end-4 { + border-top-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-end-5 { + border-top-right-radius: var(--bs-border-radius-xxl) !important; + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-end-circle { + border-top-right-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} + +.rounded-end-pill { + border-top-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-right-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-bottom { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-0 { + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} + +.rounded-bottom-1 { + border-bottom-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-bottom-2 { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-3 { + border-bottom-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-bottom-4 { + border-bottom-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-bottom-5 { + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-bottom-circle { + border-bottom-right-radius: 50% !important; + border-bottom-left-radius: 50% !important; +} + +.rounded-bottom-pill { + border-bottom-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-left-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-start { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start-0 { + border-bottom-left-radius: 0 !important; + border-top-left-radius: 0 !important; +} + +.rounded-start-1 { + border-bottom-left-radius: var(--bs-border-radius-sm) !important; + border-top-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-start-2 { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start-3 { + border-bottom-left-radius: var(--bs-border-radius-lg) !important; + border-top-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-start-4 { + border-bottom-left-radius: var(--bs-border-radius-xl) !important; + border-top-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-start-5 { + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; + border-top-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-start-circle { + border-bottom-left-radius: 50% !important; + border-top-left-radius: 50% !important; +} + +.rounded-start-pill { + border-bottom-left-radius: var(--bs-border-radius-pill) !important; + border-top-left-radius: var(--bs-border-radius-pill) !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +.z-n1 { + z-index: -1 !important; +} + +.z-0 { + z-index: 0 !important; +} + +.z-1 { + z-index: 1 !important; +} + +.z-2 { + z-index: 2 !important; +} + +.z-3 { + z-index: 3 !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .object-fit-sm-contain { + object-fit: contain !important; + } + .object-fit-sm-cover { + object-fit: cover !important; + } + .object-fit-sm-fill { + object-fit: fill !important; + } + .object-fit-sm-scale { + object-fit: scale-down !important; + } + .object-fit-sm-none { + object-fit: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 3rem !important; + } + .row-gap-sm-0 { + row-gap: 0 !important; + } + .row-gap-sm-1 { + row-gap: 0.25rem !important; + } + .row-gap-sm-2 { + row-gap: 0.5rem !important; + } + .row-gap-sm-3 { + row-gap: 1rem !important; + } + .row-gap-sm-4 { + row-gap: 1.5rem !important; + } + .row-gap-sm-5 { + row-gap: 3rem !important; + } + .column-gap-sm-0 { + column-gap: 0 !important; + } + .column-gap-sm-1 { + column-gap: 0.25rem !important; + } + .column-gap-sm-2 { + column-gap: 0.5rem !important; + } + .column-gap-sm-3 { + column-gap: 1rem !important; + } + .column-gap-sm-4 { + column-gap: 1.5rem !important; + } + .column-gap-sm-5 { + column-gap: 3rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .object-fit-md-contain { + object-fit: contain !important; + } + .object-fit-md-cover { + object-fit: cover !important; + } + .object-fit-md-fill { + object-fit: fill !important; + } + .object-fit-md-scale { + object-fit: scale-down !important; + } + .object-fit-md-none { + object-fit: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 3rem !important; + } + .row-gap-md-0 { + row-gap: 0 !important; + } + .row-gap-md-1 { + row-gap: 0.25rem !important; + } + .row-gap-md-2 { + row-gap: 0.5rem !important; + } + .row-gap-md-3 { + row-gap: 1rem !important; + } + .row-gap-md-4 { + row-gap: 1.5rem !important; + } + .row-gap-md-5 { + row-gap: 3rem !important; + } + .column-gap-md-0 { + column-gap: 0 !important; + } + .column-gap-md-1 { + column-gap: 0.25rem !important; + } + .column-gap-md-2 { + column-gap: 0.5rem !important; + } + .column-gap-md-3 { + column-gap: 1rem !important; + } + .column-gap-md-4 { + column-gap: 1.5rem !important; + } + .column-gap-md-5 { + column-gap: 3rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .object-fit-lg-contain { + object-fit: contain !important; + } + .object-fit-lg-cover { + object-fit: cover !important; + } + .object-fit-lg-fill { + object-fit: fill !important; + } + .object-fit-lg-scale { + object-fit: scale-down !important; + } + .object-fit-lg-none { + object-fit: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 3rem !important; + } + .row-gap-lg-0 { + row-gap: 0 !important; + } + .row-gap-lg-1 { + row-gap: 0.25rem !important; + } + .row-gap-lg-2 { + row-gap: 0.5rem !important; + } + .row-gap-lg-3 { + row-gap: 1rem !important; + } + .row-gap-lg-4 { + row-gap: 1.5rem !important; + } + .row-gap-lg-5 { + row-gap: 3rem !important; + } + .column-gap-lg-0 { + column-gap: 0 !important; + } + .column-gap-lg-1 { + column-gap: 0.25rem !important; + } + .column-gap-lg-2 { + column-gap: 0.5rem !important; + } + .column-gap-lg-3 { + column-gap: 1rem !important; + } + .column-gap-lg-4 { + column-gap: 1.5rem !important; + } + .column-gap-lg-5 { + column-gap: 3rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .object-fit-xl-contain { + object-fit: contain !important; + } + .object-fit-xl-cover { + object-fit: cover !important; + } + .object-fit-xl-fill { + object-fit: fill !important; + } + .object-fit-xl-scale { + object-fit: scale-down !important; + } + .object-fit-xl-none { + object-fit: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 3rem !important; + } + .row-gap-xl-0 { + row-gap: 0 !important; + } + .row-gap-xl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xl-3 { + row-gap: 1rem !important; + } + .row-gap-xl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xl-5 { + row-gap: 3rem !important; + } + .column-gap-xl-0 { + column-gap: 0 !important; + } + .column-gap-xl-1 { + column-gap: 0.25rem !important; + } + .column-gap-xl-2 { + column-gap: 0.5rem !important; + } + .column-gap-xl-3 { + column-gap: 1rem !important; + } + .column-gap-xl-4 { + column-gap: 1.5rem !important; + } + .column-gap-xl-5 { + column-gap: 3rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .object-fit-xxl-contain { + object-fit: contain !important; + } + .object-fit-xxl-cover { + object-fit: cover !important; + } + .object-fit-xxl-fill { + object-fit: fill !important; + } + .object-fit-xxl-scale { + object-fit: scale-down !important; + } + .object-fit-xxl-none { + object-fit: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 3rem !important; + } + .row-gap-xxl-0 { + row-gap: 0 !important; + } + .row-gap-xxl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xxl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xxl-3 { + row-gap: 1rem !important; + } + .row-gap-xxl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xxl-5 { + row-gap: 3rem !important; + } + .column-gap-xxl-0 { + column-gap: 0 !important; + } + .column-gap-xxl-1 { + column-gap: 0.25rem !important; + } + .column-gap-xxl-2 { + column-gap: 0.5rem !important; + } + .column-gap-xxl-3 { + column-gap: 1rem !important; + } + .column-gap-xxl-4 { + column-gap: 1.5rem !important; + } + .column-gap-xxl-5 { + column-gap: 3rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 2.5rem !important; + } + .fs-2 { + font-size: 2rem !important; + } + .fs-3 { + font-size: 1.75rem !important; + } + .fs-4 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: normal; + font-weight: 400; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-regular.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: italic; + font-weight: 400; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: normal; + font-weight: 500; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-500.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: italic; + font-weight: 500; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-500italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: normal; + font-weight: 600; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-600.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: italic; + font-weight: 600; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-600italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: normal; + font-weight: 700; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-700.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: italic; + font-weight: 700; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-700italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: normal; + font-weight: 800; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-800.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: italic; + font-weight: 800; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-800italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: normal; + font-weight: 900; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-900.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: italic; + font-weight: 900; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-900italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 200; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 200; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 300; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 300; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 400; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-regular.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 400; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 500; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 500; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 600; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 600; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 700; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 700; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 800; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 800; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 900; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 900; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900italic.woff2") format("woff2"); +} +/* Color Theme Swatches in Hex */ +*, +html { + box-sizing: border-box; +} + +html, +body { + height: 100%; + padding: 0; + margin: 0; +} + +body { + font-family: "Source Sans 3", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; +} + +body { + display: flex; + flex-direction: column; +} + +main, +#main { + flex: 1 0 auto; +} + +body > footer, +.footer-main { + flex-shrink: 0; +} + +h1, .h1, +h2, +.h2, +h3, +.h3, +h4, +.h4, +h5, +.h5, +h6, +.h6 { + font-family: "Playfair Display", Cambria, Cochin, Georgia, Times, "Times New Roman", serif; + font-weight: 700; +} + +.splide__container { + box-sizing: border-box; + position: relative; +} + +.splide__list { + backface-visibility: hidden; + display: flex; + height: 100%; + margin: 0 !important; + padding: 0 !important; +} + +.splide.is-initialized:not(.is-active) .splide__list { + display: block; +} + +.splide__pagination { + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: center; + margin: 0; + pointer-events: none; +} + +.splide__pagination li { + display: inline-block; + line-height: 1; + list-style-type: none; + margin: 0; + pointer-events: auto; +} + +.splide:not(.is-overflow) .splide__pagination { + display: none; +} + +.splide__progress__bar { + width: 0; +} + +.splide { + position: relative; + visibility: hidden; +} + +.splide.is-initialized, .splide.is-rendered { + visibility: visible; +} + +.splide__slide { + backface-visibility: hidden; + box-sizing: border-box; + flex-shrink: 0; + list-style-type: none !important; + margin: 0; + position: relative; +} + +.splide__slide img { + vertical-align: bottom; +} + +.splide__spinner { + animation: splide-loading 1s infinite linear; + border: 2px solid #999; + border-left-color: transparent; + border-radius: 50%; + bottom: 0; + contain: strict; + display: inline-block; + height: 20px; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; + width: 20px; +} + +.splide__sr { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.splide__toggle__pause { + display: none; +} + +.splide__toggle.is-active .splide__toggle__play { + display: none; +} + +.splide__toggle.is-active .splide__toggle__pause { + display: inline; +} + +.splide__track { + overflow: hidden; + position: relative; + z-index: 0; +} + +@keyframes splide-loading { + 0% { + transform: rotateZ(0); + } + 100% { + transform: rotateZ(360deg); + } +} +.splide__track--draggable { + -webkit-touch-callout: none; + user-select: none; +} + +.splide__track--fade > .splide__list > .splide__slide { + margin: 0 !important; + opacity: 0; + z-index: 0; +} + +.splide__track--fade > .splide__list > .splide__slide.is-active { + opacity: 1; + z-index: 1; +} + +.splide--rtl { + direction: rtl; +} + +.splide__track--ttb > .splide__list { + display: block; +} + +.splide__arrow { + background: #ccc; + border: 0; + cursor: pointer; + padding: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); + z-index: 1; + opacity: 0.7; + align-items: center; + border-radius: 50%; + display: flex; + justify-content: center; + height: 2em; + width: 2em; +} + +.splide__arrow svg { + fill: #000; + height: 1.2em; + width: 1.2em; +} + +.splide__arrow:hover:not(:disabled) { + opacity: 0.9; +} + +.splide__arrow:disabled { + opacity: 0.3; +} + +.splide__arrow:focus-visible { + outline: #0bf 3px solid; + outline-offset: 3px; +} + +.splide__arrow--prev { + left: 1em; +} + +.splide__arrow--prev svg { + transform: scaleX(-1); +} + +.splide__arrow--next { + right: 1em; +} + +.splide.is-focus-in .splide__arrow:focus { + outline: #0bf 3px solid; + outline-offset: 3px; +} + +.splide__pagination { + bottom: 0.5em; + left: 0; + padding: 0 1em; + position: absolute; + right: 0; + z-index: 1; +} + +.splide__pagination__page { + background: #ccc; + border: 0; + border-radius: 50%; + display: inline-block; + height: 8px; + margin: 3px; + padding: 0; + position: relative; + transition: transform 0.2s linear; + width: 8px; + opacity: 0.7; +} + +.splide__pagination__page.is-active { + background: #fff; + z-index: 1; + transform: scale(1.4); +} + +.splide__pagination__page:hover { + cursor: pointer; + opacity: 0.9; +} + +.splide__pagination__page:focus-visible { + outline: #0bf 3px solid; + outline-offset: 3px; +} + +.splide.is-focus-in .splide__pagination__page:focus { + outline: #0bf 3px solid; + outline-offset: 3px; +} + +.splide__progress__bar { + background: #ccc; + height: 1rem; +} + +.splide__slide { + -webkit-tap-highlight-color: transparent; +} + +.splide__slide:focus { + outline: 0; +} + +@supports (outline-offset: -3px) { + .splide__slide:focus-visible { + outline: #0bf 3px solid; + outline-offset: -3px; + } +} +.splide__slide:focus-visible { + /* IE does not support outline-offset */ +} + +@media screen and (-ms-high-contrast: none) { + .splide__slide:focus-visible { + border: #0bf 3px solid; + } +} +@supports (outline-offset: -3px) { + .splide.is-focus-in .splide__slide:focus { + outline: #0bf 3px solid; + outline-offset: -3px; + } +} +.splide.is-focus-in .splide__slide:focus { + /* IE does not support outline-offset */ +} + +@media screen and (-ms-high-contrast: none) { + .splide.is-focus-in .splide__slide:focus { + border: #0bf 3px solid; + } +} +@media screen and (-ms-high-contrast: none) { + .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus { + border-color: #0bf; + } +} +.splide__toggle { + cursor: pointer; +} + +.splide__toggle:focus-visible { + outline: #0bf 3px solid; + outline-offset: 3px; +} + +.splide.is-focus-in .splide__toggle:focus { + outline: #0bf 3px solid; + outline-offset: 3px; +} + +.splide__track--nav > .splide__list > .splide__slide { + border: 3px solid transparent; + cursor: pointer; +} + +.splide__track--nav > .splide__list > .splide__slide.is-active { + border: 3px solid #000; +} + +.splide__arrows--rtl .splide__arrow--prev { + left: auto; + right: 1em; +} + +.splide__arrows--rtl .splide__arrow--prev svg { + transform: scaleX(1); +} + +.splide__arrows--rtl .splide__arrow--next { + left: 1em; + right: auto; +} + +.splide__arrows--rtl .splide__arrow--next svg { + transform: scaleX(-1); +} + +.splide__arrows--ttb .splide__arrow { + left: 50%; + transform: translate(-50%, 0); +} + +.splide__arrows--ttb .splide__arrow--prev { + top: 1em; +} + +.splide__arrows--ttb .splide__arrow--prev svg { + transform: rotateZ(-90deg); +} + +.splide__arrows--ttb .splide__arrow--next { + bottom: 1em; + top: auto; +} + +.splide__arrows--ttb .splide__arrow--next svg { + transform: rotateZ(90deg); +} + +.splide__pagination--ttb { + bottom: 0; + display: flex; + flex-direction: column; + left: auto; + padding: 1em 0; + right: 0.5em; + top: 0; +} + +@keyframes splide-loading { + 0% { + transform: rotateZ(0); + } + 100% { + transform: rotateZ(360deg); + } +} +.splide__track--draggable { + -webkit-touch-callout: none; + user-select: none; +} + +.splide__track--fade > .splide__list > .splide__slide { + margin: 0 !important; + opacity: 0; + z-index: 0; +} + +.splide__track--fade > .splide__list > .splide__slide.is-active { + opacity: 1; + z-index: 1; +} + +.splide--rtl { + direction: rtl; +} + +.splide__track--ttb > .splide__list { + display: block; +} + +.splide__container { + box-sizing: border-box; + position: relative; +} + +.splide__list { + backface-visibility: hidden; + display: flex; + height: 100%; + margin: 0 !important; + padding: 0 !important; +} + +.splide.is-initialized:not(.is-active) .splide__list { + display: block; +} + +.splide__pagination { + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: center; + margin: 0; + pointer-events: none; +} + +.splide__pagination li { + display: inline-block; + line-height: 1; + list-style-type: none; + margin: 0; + pointer-events: auto; +} + +.splide:not(.is-overflow) .splide__pagination { + display: none; +} + +.splide__progress__bar { + width: 0; +} + +.splide { + position: relative; + visibility: hidden; +} + +.splide.is-initialized, .splide.is-rendered { + visibility: visible; +} + +.splide__slide { + backface-visibility: hidden; + box-sizing: border-box; + flex-shrink: 0; + list-style-type: none !important; + margin: 0; + position: relative; +} + +.splide__slide img { + vertical-align: bottom; +} + +.splide__spinner { + animation: splide-loading 1s infinite linear; + border: 2px solid #999; + border-left-color: transparent; + border-radius: 50%; + bottom: 0; + contain: strict; + display: inline-block; + height: 20px; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; + width: 20px; +} + +.splide__sr { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.splide__toggle__pause { + display: none; +} + +.splide__toggle.is-active .splide__toggle__play { + display: none; +} + +.splide__toggle.is-active .splide__toggle__pause { + display: inline; +} + +.splide__track { + overflow: hidden; + position: relative; + z-index: 0; +} + +/*! + * Toastify js 1.12.0 + * https://github.com/apvarun/toastify-js + * @license MIT licensed + * + * Copyright (C) 2018 Varun A P + */ +.toastify { + padding: 12px 20px; + color: #ffffff; + display: inline-block; + box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.12), 0 10px 36px -4px rgba(77, 96, 232, 0.3); + background: -webkit-linear-gradient(315deg, #73a5ff, #5477f5); + background: linear-gradient(135deg, #73a5ff, #5477f5); + position: fixed; + opacity: 0; + transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1); + border-radius: 2px; + cursor: pointer; + text-decoration: none; + max-width: calc(50% - 20px); + z-index: 2147483647; +} + +.toastify.on { + opacity: 1; +} + +.toast-close { + background: transparent; + border: 0; + color: white; + cursor: pointer; + font-family: inherit; + font-size: 1em; + opacity: 0.4; + padding: 0 5px; +} + +.toastify-right { + right: 15px; +} + +.toastify-left { + left: 15px; +} + +.toastify-top { + top: -150px; +} + +.toastify-bottom { + bottom: -150px; +} + +.toastify-rounded { + border-radius: 25px; +} + +.toastify-avatar { + width: 1.5em; + height: 1.5em; + margin: -7px 5px; + border-radius: 2px; +} + +.toastify-center { + margin-left: auto; + margin-right: auto; + left: 0; + right: 0; + max-width: fit-content; + max-width: -moz-fit-content; +} + +@media only screen and (max-width: 360px) { + .toastify-right, + .toastify-left { + margin-left: auto; + margin-right: auto; + left: 0; + right: 0; + max-width: fit-content; + } +} +.footer-main { + background: #283e4a; + background: linear-gradient(180deg, rgb(40, 62, 74) 0%, rgb(24, 32, 38) 100%); + padding: 2rem 0; +} +.footer-main .col { + color: white; +} +.footer-main .col h2, .footer-main .col .h2, +.footer-main .col h3, +.footer-main .col .h3, +.footer-main .col h4, +.footer-main .col .h4, +.footer-main .col h5, +.footer-main .col .h5 { + font-size: 1.5rem; + color: #f06060; + padding: 0.5rem 0; + margin-bottom: 1rem; + letter-spacing: 2px; +} + +.header-main { + position: relative; + width: 100%; + min-height: 400px; +} +.header-main .content-box { + position: relative; + z-index: 2; + display: flex; + justify-content: center; + align-items: center; + width: auto; + margin: 0 auto; + height: 100%; + max-width: 360px; + max-height: 380px; +} +.header-main { + background: #f2ebbf url("../img/header-image.webp") center no-repeat; + background-size: cover; +} +.header-main--min { + height: 150px; + background-color: #8cbeb2; + display: flex; + justify-content: center; + align-items: center; +} +.header-main--min .content-box figure { + width: 150px; +} +.header-main .splide { + position: absolute; + z-index: 1; + height: 100%; + width: 100%; + top: 0; + overflow: hidden; +} +.header-main .splide .splide__track { + height: 100%; +} +.header-main .splide .splide__track .splider-content::after { + content: ""; + position: absolute; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.2); +} +.header-main .splide .splide__track .splider-content { + height: 100%; + padding: 0; +} +.header-main .splide .splide__track .splider-content img { + object-fit: cover; + width: 100%; + height: 100%; +} + +figure.logo-main { + width: 280px; +} +figure.logo-main figcaption { + position: absolute; + clip: rect(1px, 1px, 1px, 1px); + clip-path: inset(0 0 99.9% 99.9%); + overflow: hidden; + height: 1px; + width: 1px; + padding: 0; + border: 0; +} + +.menu-main { + background-color: #f06060; +} +.menu-main ul { + padding: 0; + margin: 0; + list-style: none; +} +.menu-main ul ul { + display: none; +} +.menu-main ul > li:hover ul, +.menu-main ul > li:focus ul, +.menu-main ul > li:focus-within ul { + display: block; +} +.menu-main ul.list { + display: flex; + justify-content: center; +} +.menu-main ul.list li a { + display: inline-block; + text-decoration: none; + text-transform: uppercase; + color: white; + padding: 0.5rem 1rem; + transition: all 0.4s ease-out; +} +.menu-main ul.list li a:hover, .menu-main ul.list li a:focus { + background-color: white; + color: #f06060; +} +.menu-main ul.sublist { + position: absolute; + background-color: rgba(240, 96, 96, 0.8); +} +.menu-main ul.sublist li a { + display: inline-block; + background-color: #f06060; + color: white; + padding: 0.5rem 1rem; + transition: all 0.4s ease-out; +} +.menu-main ul.sublist li a:hover, .menu-main ul.sublist li a:focus { + background-color: white; + color: #f06060; +} + +.product-manager .nav-products-actions { + margin: 1rem 0; + display: flex; + justify-content: flex-end; +} +.product-manager .nav-products-actions .list { + list-style: none; + margin: 0; + padding: 0; + display: flex; + gap: 1rem; +} +.product-manager table .th-actions { + width: 200px; +} +.product-manager table tbody td { + vertical-align: middle; +} +.product-manager table tbody td button { + margin: 3px; +} +.product-manager table tfoot .row > * { + margin-bottom: 1rem; +} +@media (min-width: 992px) { + .product-manager table tfoot .row > * { + margin-bottom: 0; + } +} + +/*# sourceMappingURL=main.css.map */ diff --git a/webseite-ts-claude/frontend/assets/css/main.css.map b/webseite-ts-claude/frontend/assets/css/main.css.map new file mode 100644 index 0000000..7f7684c --- /dev/null +++ b/webseite-ts-claude/frontend/assets/css/main.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_banner.scss","../../dev/scss/02_fonts/_index.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_root.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/vendor/_rfs.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_color-mode.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_reboot.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_variables.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_border-radius.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_type.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_lists.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_images.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_image.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_containers.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_container.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_breakpoints.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_grid.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_grid.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_tables.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_table-variants.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_labels.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_form-text.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_form-control.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_transition.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_gradients.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_form-select.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_form-check.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_form-range.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_floating-labels.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_input-group.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_forms.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_buttons.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_buttons.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_transitions.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_dropdown.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_caret.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_button-group.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_nav.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_navbar.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_card.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_accordion.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_breadcrumb.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_pagination.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_pagination.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_badge.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_alert.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_progress.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_list-group.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_close.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_toasts.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_modal.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_backdrop.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_tooltip.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_reset-text.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_popover.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_carousel.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_clearfix.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_spinners.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_offcanvas.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_placeholders.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_color-bg.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_colored-links.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_focus-ring.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_icon-link.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_ratio.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_position.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_stacks.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_visually-hidden.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_visually-hidden.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_stretched-link.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_text-truncation.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_text-truncate.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_vr.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_utilities.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/utilities/_api.scss","../../dev/scss/02_fonts/_playfair-display-v40-latin.scss","../../dev/scss/02_fonts/_source-sans-3-v19-latin.scss","../../dev/scss/03_base/_colors.scss","../../dev/scss/03_base/_theme.scss","../../dev/scss/03_base/_typography.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/container.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/list.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/pagination.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/progress.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/root.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/slide.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/spinner.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/index.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/sr.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/toggle.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/track.scss","../../dev/scss/04_plugins/splide-4.1.4/core/foundation/animations.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/modifiers/draggable.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/modifiers/fade.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/modifiers/rtl.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/modifiers/ttb.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/objects/arrow.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/foundation/colors.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/foundation/mixins.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/objects/pagination.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/objects/progress.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/objects/slide.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/objects/toggle.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/modifiers/nav.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/modifiers/rtl.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/modifiers/ttb.scss","../../dev/scss/04_plugins/toastify-1.12/_toastify.scss","../../dev/scss/05_modules/_footer-main.scss","../../dev/scss/05_modules/_header-main.scss","../../dev/scss/05_modules/_logo-main.scss","../../dev/scss/05_modules/_menu-main.scss","../../dev/scss/05_modules/_product-manager.scss"],"names":[],"mappings":"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EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;ADiJA;EACE;EACA;;;AH3FF;EGyFA;IACE;IACA;;;AH3FF;EGyFA;IACE;IACA;;;AH3FF;EGyFA;IACE;IACA;;;AH3FF;EGyFA;IACE;IACA;;;AH3FF;EGyFA;IACE;IACA;;;AEnKN;EACE,ebu2BsC;;;Aa91BxC;EACE;EACA;EACA;EhB8QI,WALI;EgBrQR,ab+lB4B;;;Aa3lB9B;EACE;EACA;EhBoQI,WALI;;;AgB3PV;EACE;EACA;EhB8PI,WALI;;;AiBtRV;EACE,Yd+1BsC;EHrkBlC,WALI;EiBjRR,Od+1BsC;;;Aep2BxC;EACE;EACA;EACA;ElBwRI,WALI;EkBhRR,afkmB4B;EejmB5B,afymB4B;EexmB5B,Of43BsC;Ee33BtC;EACA,kBfq3BsC;Eep3BtC;EACA;EdGE;EeHE,YDMJ;;ACFI;EDhBN;ICiBQ;;;ADGN;EACE;;AAEA;EACE;;AAKJ;EACE,Ofs2BoC;Eer2BpC,kBfg2BoC;Ee/1BpC,cf82BoC;Ee72BpC;EAKE,YfkhBkB;;Ae9gBtB;EAME;EAMA;EAKA;;AAKF;EACE;EACA;;AAIF;EACE,Of40BoC;Ee10BpC;;AAQF;EAEE,kBf8yBoC;Ee3yBpC;;AAIF;EACE;EACA;EACA,mBforB0B;EenrB1B,OfsyBoC;EiBp4BtC,kBjBqiCgC;Eer8B9B;EACA;EACA;EACA;EACA,yBfgsB0B;Ee/rB1B;ECzFE,YD0FF;;ACtFE;ED0EJ;ICzEM;;;ADwFN;EACE,kBf47B8B;;;Aen7BlC;EACE;EACA;EACA;EACA;EACA,afwf4B;Eevf5B,Of2xBsC;Ee1xBtC;EACA;EACA;;AAEA;EACE;;AAGF;EAEE;EACA;;;AAWJ;EACE,Yf4wBsC;Ee3wBtC;ElByII,WALI;EIvQN;;AcuIF;EACE;EACA;EACA,mBfooB0B;;;AehoB9B;EACE,YfgwBsC;Ee/vBtC;ElB4HI,WALI;EIvQN;;AcoJF;EACE;EACA;EACA,mBf2nB0B;;;AennB5B;EACE,Yf6uBoC;;Ae1uBtC;EACE,Yf0uBoC;;AevuBtC;EACE,YfuuBoC;;;AeluBxC;EACE,OfquBsC;EepuBtC,Qf8tBsC;Ee7tBtC,SfilB4B;;Ae/kB5B;EACE;;AAGF;EACE;EdvLA;;Ac2LF;EACE;Ed5LA;;AcgMF;EAAoB,Qf8sBkB;;Ae7sBtC;EAAoB,Qf8sBkB;;;AkB75BxC;EACE;EAEA;EACA;EACA;ErBqRI,WALI;EqB7QR,alB+lB4B;EkB9lB5B,alBsmB4B;EkBrmB5B,OlBy3BsC;EkBx3BtC;EACA,kBlBk3BsC;EkBj3BtC;EACA;EACA,qBlB+9BkC;EkB99BlC,iBlB+9BkC;EkB99BlC;EjBHE;EeHE,YESJ;;AFLI;EEfN;IFgBQ;;;AEMN;EACE,clBs3BoC;EkBr3BpC;EAKE,YlBi+B4B;;AkB79BhC;EAEE,elB6uB0B;EkB5uB1B;;AAGF;EAEE,kBlBu1BoC;;AkBl1BtC;EACE;EACA;;;AAIJ;EACE,alBsuB4B;EkBruB5B,gBlBquB4B;EkBpuB5B,clBquB4B;EHlgBxB,WALI;EIvQN;;;AiB8CJ;EACE,alBkuB4B;EkBjuB5B,gBlBiuB4B;EkBhuB5B,clBiuB4B;EHtgBxB,WALI;EIvQN;;;AiBwDA;EACE;;;ACxEN;EACE;EACA,YnBq6BwC;EmBp6BxC,cnBq6BwC;EmBp6BxC,enBq6BwC;;AmBn6BxC;EACE;EACA;;;AAIJ;EACE,enB25BwC;EmB15BxC;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EAEA;EACA,OnB04BwC;EmBz4BxC,QnBy4BwC;EmBx4BxC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QnB24BwC;EmB14BxC;;AAGA;ElB3BE;;AkB+BF;EAEE,enBm4BsC;;AmBh4BxC;EACE,QnB03BsC;;AmBv3BxC;EACE,cnBs1BoC;EmBr1BpC;EACA,YnB8foB;;AmB3ftB;EACE,kBnB5BM;EmB6BN,cnB7BM;;AmB+BN;EAII;;AAIJ;EAII;;AAKN;EACE,kBnBjDM;EmBkDN,cnBlDM;EmBuDJ;;AAIJ;EACE;EACA;EACA,SnBk2BuC;;AmB31BvC;EACE;EACA,SnBy1BqC;;;AmB30B3C;EACE,cnBo1BgC;;AmBl1BhC;EACE;EAEA,OnB80B8B;EmB70B9B;EACA;EACA;ElBjHA;EeHE,YGsHF;;AHlHE;EG0GJ;IHzGM;;;AGmHJ;EACE;;AAGF;EACE,qBnB60B4B;EmBx0B1B;;AAKN;EACE,enBwzB8B;EmBvzB9B;;AAEA;EACE;EACA;;;AAKN;EACE;EACA,cnBsyBgC;;;AmBnyBlC;EACE;EACA;EACA;;AAIE;EACE;EACA;EACA,SnBspBwB;;;AmB/oB1B;EACE;;;ACnLN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIA;EAA0B,YpB8gCa;;AoB7gCvC;EAA0B,YpB6gCa;;AoB1gCzC;EACE;;AAGF;EACE,OpB+/BuC;EoB9/BvC,QpB8/BuC;EoB7/BvC;EACA;EH1BF,kBjBkCQ;EoBNN,QpB6/BuC;EC1gCvC;EeHE,YImBF;;AJfE;EIMJ;IJLM;;;AIgBJ;EHjCF,kBjB8hCyC;;AoBx/BzC;EACE,OpBw+B8B;EoBv+B9B,QpBw+B8B;EoBv+B9B;EACA,QpBu+B8B;EoBt+B9B,kBpBu+B8B;EoBt+B9B;EnB7BA;;AmBkCF;EACE,OpBo+BuC;EoBn+BvC,QpBm+BuC;EoBl+BvC;EHpDF,kBjBkCQ;EoBoBN,QpBm+BuC;EC1gCvC;EeHE,YI6CF;;AJzCE;EIiCJ;IJhCM;;;AI0CJ;EH3DF,kBjB8hCyC;;AoB99BzC;EACE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V;EAEE;EACA;EACA;E3BuRI,oBALI;E2BhRR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;E3BsQI,WALI;E2B/PR;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EvBjBE;EgBfF,kBOkCqB;ERtBjB,YQwBJ;;ARpBI;EQhBN;IRiBQ;;;AQqBN;EACE;EAEA;EACA;;AAGF;EAEE;EACA;EACA;;AAGF;EACE;EPrDF,kBOsDuB;EACrB;EACA;EAKE;;AAIJ;EACE;EACA;EAKE;;AAIJ;EAKE;EACA;EAGA;;AAGA;EAKI;;AAKN;EAKI;;AAIJ;EAGE;EACA;EACA;EAEA;EACA;;;AAYF;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AD4HA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AD+GF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,iBxB8QwC;;AwBpQxC;EACE;;AAGF;EACE;;;AAWJ;ECjJE;EACA;E5B8NI,oBALI;E4BvNR;;;ADkJF;ECrJE;EACA;E5B8NI,oBALI;E4BvNR;;;ACnEF;EVgBM,YUfJ;;AVmBI;EUpBN;IVqBQ;;;AUlBN;EACE;;;AAMF;EACE;;;AAIJ;EACE;EACA;EVDI,YUEJ;;AVEI;EULN;IVMQ;;;AUDN;EACE;EACA;EVNE,YUOF;;AVHE;EUAJ;IVCM;;;;AWpBR;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAGF;EACE;;ACwBE;EACE;EACA,a5B6hBwB;E4B5hBxB,gB5B2hBwB;E4B1hBxB;EArCJ;EACA;EACA;EACA;;AA0DE;EACE;;;AD9CN;EAEE;EACA;EACA;EACA;EACA;E9BuQI,yBALI;E8BhQR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;E9B0OI,WALI;E8BnOR;EACA;EACA;EACA;EACA;EACA;E1BzCE;;A0B6CF;EACE;EACA;EACA;;;AAwBA;EACE;;AAEA;E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A;;AAEA;EAEE;;;AAUJ;EAEE;EACA;EAEA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;AAGE;EAEE;;AAIJ;EACE;;;AASJ;EACE,a/B8gCkC;E+B7gClC,gB/B6gCkC;E+B5gClC;;AAEA;AAAA;AAAA;EAGE;;;AAaJ;EACE;EACA;EAGA;;;AAIF;EACE;ElCyII,WALI;EkClIR;EACA;EACA;EACA;E9BxIE;EeHE,Ye6IJ;;AfzII;EeiIN;IfhIQ;;;Ae0IN;EACE;;AAGF;EACE;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AvB1HE;EuBsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;If9NJ,YegOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AvB5LR;EuBsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;If9NJ,YegOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AvB5LR;EuBsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;If9NJ,YegOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AvB5LR;EuBsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;If9NJ,YegOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AvB5LR;EuBsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;If9NJ,YegOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AAtDR;EAEI;EACA;;AAEA;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;Ef9NJ,YegOI;;AAGA;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAiBZ;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAME;EACE;;;ACzRN;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E/BjBE;;A+BqBF;EACE;EACA;;AAGF;EACE;EACA;;AAEA;EACE;E/BtBF;EACA;;A+ByBA;EACE;E/BbF;EACA;;A+BmBF;AAAA;EAEE;;;AAIJ;EAGE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAQA;EACE;;;AAQJ;EACE;EACA;EACA;EACA;EACA;;AAEA;E/B7FE;;;A+BkGJ;EACE;EACA;EACA;EACA;;AAEA;E/BxGE;;;A+BkHJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;E/B1IE;;;A+B8IJ;AAAA;AAAA;EAGE;;;AAGF;AAAA;E/B3II;EACA;;;A+B+IJ;AAAA;E/BlII;EACA;;;A+B8IF;EACE;;AxB3HA;EwBuHJ;IAQI;IACA;;EAGA;IACE;IACA;;EAEA;IACE;IACA;;EAKA;I/B1KJ;IACA;;E+B4KM;AAAA;IAGE;;EAEF;AAAA;IAGE;;EAIJ;I/B3KJ;IACA;;E+B6KM;AAAA;IAGE;;EAEF;AAAA;IAGE;;;;ACnOZ;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EpC4PI,WALI;EoCrPR;EACA;EACA;EACA;EhCrBE;EgCuBF;EjB1BI,YiB2BJ;;AjBvBI;EiBUN;IjBTQ;;;AiBwBN;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EjBjDE,YiBkDF;;AjB9CE;EiBqCJ;IjBpCM;;;AiBgDN;EACE;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;;AAEA;EhC7DE;EACA;;AgC+DA;EhChEA;EACA;;AgCoEF;EACE;;AAIF;EhC5DE;EACA;;AgC+DE;EhChEF;EACA;;AgCoEA;EhCrEA;EACA;;;AgC0EJ;EACE;;;AASA;EACE;EACA;EhC9GA;;AgCiHA;EAAgB;;AAChB;EAAe;;AAGf;AAAA;AAAA;EhCrHA;;;AgCgIA;EACE;EACA;;;ACrJN;EAEE;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;ErC+QI,WALI;EqCxQR;EACA;EjCAE;;;AiCMF;EACE;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;;;ACrCJ;EAEE;EACA;EtC4RI,2BALI;EsCrRR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EhCpBA;EACA;;;AgCuBF;EACE;EACA;EACA;EtCgQI,WALI;EsCzPR;EACA;EACA;EACA;EnBpBI,YmBqBJ;;AnBjBI;EmBQN;InBPQ;;;AmBkBN;EACE;EACA;EAEA;EACA;;AAGF;EACE;EACA;EACA;EACA,SnC2uCgC;EmC1uChC;;AAGF;EAEE;EACA;ElBtDF,kBkBuDuB;EACrB;;AAGF;EAEE;EACA;EACA;EACA;;;AAKF;EACE,anC8sCgC;;AmCzsC9B;ElC9BF;EACA;;AkCmCE;ElClDF;EACA;;;AkCkEJ;EClGE;EACA;EvC0RI,2BALI;EuCnRR;;;ADmGF;ECtGE;EACA;EvC0RI,2BALI;EuCnRR;;;ACFF;EAEE;EACA;ExCuRI,sBALI;EwChRR;EACA;EACA;EAGA;EACA;ExC+QI,WALI;EwCxQR;EACA;EACA;EACA;EACA;EACA;EpCJE;;AoCSF;EACE;;;AAKJ;EACE;EACA;;;AChCF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;ErCHE;;;AqCQJ;EAEE;;;AAIF;EACE,atC6kB4B;EsC5kB5B;;;AAQF;EACE,etCs+C8B;;AsCn+C9B;EACE;EACA;EACA;EACA;EACA;;;AAQF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AC5DF;EACE;IAAK;;;AAKT;AAAA;EAGE;E1CkRI,yBALI;E0C3QR;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;E1CsQI,WALI;E0C/PR;EtCRE;;;AsCaJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EvBxBI,YuByBJ;;AvBrBI;EuBYN;IvBXQ;;;;AuBuBR;EtBAE;EsBEA;;;AAGF;EACE;;;AAGF;EACE;;;AAIA;EACE;;AAGE;EAJJ;IAKM;;;;AC3DR;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EvCXE;;;AuCeJ;EACE;EACA;;AAEA;EAEE;EACA;;;AAQJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EvC9BE;EACA;;AuCiCF;EvCpBE;EACA;;AuCuBF;EAEE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAIF;EACE;;AAEA;EACE;EACA;;;AAUN;EACE;EACA;EACA;;AAIE;EAEE;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAaF;EACE;;AAGE;EvCzDJ;EAZA;;AuC0EI;EvC1EJ;EAYA;;AuCmEI;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;;AhCxFR;EgCgEA;IACE;;EAGE;IvCzDJ;IAZA;;EuC0EI;IvC1EJ;IAYA;;EuCmEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;AhCxFR;EgCgEA;IACE;;EAGE;IvCzDJ;IAZA;;EuC0EI;IvC1EJ;IAYA;;EuCmEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;AhCxFR;EgCgEA;IACE;;EAGE;IvCzDJ;IAZA;;EuC0EI;IvC1EJ;IAYA;;EuCmEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;AhCxFR;EgCgEA;IACE;;EAGE;IvCzDJ;IAZA;;EuC0EI;IvC1EJ;IAYA;;EuCmEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;AhCxFR;EgCgEA;IACE;;EAGE;IvCzDJ;IAZA;;EuC0EI;IvC1EJ;IAYA;;EuCmEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;AAcZ;EvClJI;;AuCqJF;EACE;;AAEA;EACE;;;AAaJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AC9LJ;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA,OzCupD2B;EyCtpD3B,QzCspD2B;EyCrpD3B;EACA;EACA;EACA;EACA;ExCJE;EwCMF;;AAGA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EAEE;EACA;EACA;;;AAQJ;EAHE;;;AAOF;AAAA;EAEE;;;A3C3CE;E2CkCF;;;ACjDF;EAEE;EACA;EACA;EACA;EACA;E7CyRI,sBALI;E6ClRR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;E7C2QI,WALI;E6CpQR;EACA;EACA;EACA;EACA;EACA;EzCRE;;AyCWF;EACE;;AAGF;EACE;;;AAIJ;EACE;EAEA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EzChCE;EACA;;AyCkCF;EACE;EACA;;;AAIJ;EACE;EACA;;;AC9DF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;;;AAOF;EACE;EACA;EACA;EAEA;;AAGA;EACE,W3Cm8CgC;EgBh/C9B,Y2B8CF;;A3B1CE;E2BwCJ;I3BvCM;;;A2B2CN;EACE,W3Cg8CgC;;A2C57ClC;EACE,W3C67CgC;;;A2Cz7CpC;EACE;;AAEA;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;E1CrFE;E0CyFF;;;AAIF;EAEE;EACA;EACA;EClHA;EACA;EACA;EACA,SDkH0B;ECjH1B;EACA;EACA,kBD+G4D;;AC5G5D;EAAS;;AACT;EAAS,SD2GiF;;;AAK5F;EACE;EACA;EACA;EACA;EACA;E1CrGE;EACA;;A0CuGF;EACE;EAEA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;;;AAKF;EACE;EAGA;EA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IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3C5BJ;E2C/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;A3CnCN;E2C5CF;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;InC5BA,YmC8BA;;;AnC1BA;EmCYJ;InCXM;;;ARuDJ;E2C5BE;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3C5BJ;E2C/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;A3CnCN;E2C5CF;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;InC5BA,YmC8BA;;;AnC1BA;EmCYJ;InCXM;;;ARuDJ;E2C5BE;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3C5BJ;E2C/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;A3CnCN;E2C5CF;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;InC5BA,YmC8BA;;;AnC1BA;EmCYJ;InCXM;;;ARuDJ;E2C5BE;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3C5BJ;E2C/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;A3CnCN;E2C5CF;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;InC5BA,YmC8BA;;;AnC1BA;EmCYJ;InCXM;;;ARuDJ;E2C5BE;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3C5BJ;E2C/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;AA/ER;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EnC5BA,YmC8BA;;AnC1BA;EmCYJ;InCXM;;;AmC2BF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EAEE;;AAGF;EAGE;;;AA2BR;EPpHE;EACA;EACA;EACA,S5C0mCkC;E4CzmClC;EACA;EACA,kB5CUS;;A4CPT;EAAS;;AACT;EAAS,S5Cm+CyB;;;AmDr3CpC;EACE;EACA;EACA;;AAEA;EACE;EAEA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;ACjJF;EACE;EACA;EACA;EACA;EACA;EACA,SpDgzCkC;;AoD9yClC;EACE;EACA;;;AAKJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKA;EACE;;;AAIJ;EACE;IACE,SpDmxCgC;;;AoD/wCpC;EACE;EACA;EACA;;;AAGF;EACE;IACE;;;AH9CF;EACE;EACA;EACA;;;AIHF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;ACFF;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AAOR;EACE;EACA;;AAGE;EAEE;EACA;;;AC1BN;EACE;EAEA;;;ACHF;EACE;EACA,KxD6c4B;EwD5c5B;EACA;EACA,uBxD2c4B;EwD1c5B;;AAEA;EACE;EACA,OxDuc0B;EwDtc1B,QxDsc0B;EwDrc1B;ExCIE,YwCHF;;AxCOE;EwCZJ;IxCaM;;;;AwCDJ;EACE;;;ACnBN;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAKF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;ACrBJ;EACE;EACA;EACA;EACA;EACA,S1DumCkC;;;A0DpmCpC;EACE;EACA;EACA;EACA;EACA,S1D+lCkC;;;A0DvlChC;EACE;EACA;EACA,S1DmlC8B;;;A0DhlChC;EACE;EACA;EACA,S1D6kC8B;;;AQ9iChC;EkDxCA;IACE;IACA;IACA,S1DmlC8B;;E0DhlChC;IACE;IACA;IACA,S1D6kC8B;;;AQ9iChC;EkDxCA;IACE;IACA;IACA,S1DmlC8B;;E0DhlChC;IACE;IACA;IACA,S1D6kC8B;;;AQ9iChC;EkDxCA;IACE;IACA;IACA,S1DmlC8B;;E0DhlChC;IACE;IACA;IACA,S1D6kC8B;;;AQ9iChC;EkDxCA;IACE;IACA;IACA,S1DmlC8B;;E0DhlChC;IACE;IACA;IACA,S1D6kC8B;;;AQ9iChC;EkDxCA;IACE;IACA;IACA,S1DmlC8B;;E0DhlChC;IACE;IACA;IACA,S1D6kC8B;;;A2D5mCpC;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;ACRF;AAAA;ECIE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;AAAA;EACE;;AAIF;AAAA;EACE;;;ACnBF;EACE;EACA;EACA;EACA;EACA;EACA,S9DgcsC;E8D/btC;;;ACRJ;ECAE;EACA;EACA;;;ACNF;EACE;EACA;EACA,OjEisB4B;EiEhsB5B;EACA;EACA,SjE2rB4B;;;AkE/nBtB;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAjBJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AASF;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAjBJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AASF;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;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APJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;A1DVR;E0DGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;A1DVR;E0DGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;A1DVR;E0DGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;A1DVR;E0DGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;A1DVR;E0DGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;ACtDZ;ED+CQ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;ACnCZ;ED4BQ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;AExEZ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AC7FF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;ACpIF;ACEA;AAAA;EAEE;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE,aCRU;;;ADYZ;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAME,aCtCc;EDuCd;;;AEzCA;EACE;EACA;;;ACAF;EACE;EACA;EACA;EACA;EACA;;;AAIA;EACE;;;ACVJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAKF;EACE;;;ACpBF;EACE;;;ACHN;EACE;EACA;;;AAEA;EAEE;;;ACLF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEA;EACE;;;ACNJ;EACE;EACA,QCHa;EDIb;EACA;EACA;EACA;EACA;EACA,QCVW;EDWX;EACA;EACA;EACA;EACA;EACA,OChBW;;;ACDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACFA;EACE;;;AAIA;EACE;;;AAGF;EACE;;;AChBN;EACE;EACA;EACA;;;ACJJ;EACE;IACE;;EAGF;IACE;;;ACHF;EACE;EACA;;;ACAE;EACE;EACA;EACA;;;AAEA;EACE;EACA;;;ACXR;EACE;;;ACEA;EACE;;;ACkBJ;EACE,YCpBS;EDqBT,QAfY;EAgBZ;EACA,SAhBa;EAiBb;EACA;EACA;EACA;EAGE,SApBI;EAwBJ;EACA,eA3BiB;EA4BjB;EACA;EACA,QAnCQ;EAoCR,OApCQ;;;AA2CV;EACE,MCnDC;EDoDD,QAjDC;EAkDD,OAlDC;;;AAyDH;EAEI,SA/CQ;;;AA6DZ;EAEI,SA9DW;;;AAkEf;EErEF,SAXQ;EAYR,gBAXe;;;AFmFb;EACE,MAtEC;;;AAwED;EACE;;;AAIJ;EACE,OA7EE;;;AAkFJ;EEvFF,SAXQ;EAYR,gBAXe;;;ACkBf;EACE,QAnBK;EAoBL;EACA;EACA;EACA;EACA;;;AAEA;EACE,YF1BO;EE2BP,QAtBO;EAuBP,eAtBc;EAuBd;EACA,QA7BO;EA8BP,QAxBO;EAyBP,SAxBQ;EAyBR;EACA,YAvBW;EAwBX,OAnCM;EAsCJ,SA7BM;;;AAgCR;EACE,YFzCY;EE0CZ;EAGE,WAlCa;;;AAsCjB;EACE;EAGE,SA5CU;;;AAoDd;EDrDJ,SAXQ;EAYR,gBAXe;;;ACuEX;ED7DJ,SAXQ;EAYR,gBAXe;;;AEIb;EACE,YHJO;EGKP,Q7FqhD8B;;;A8FrhDlC;EACE;;;AAOA;EACE;;;AHAJ;EGGE;IHRF,SAXQ;IAYR,gBAVqB;;;AGiBnB;AHCF;;;AAfA;EGcE;IHGA,QAtBM;;;AAgBR;EGSE;IHdF,SAXQ;IAYR,gBAVqB;;;AGuBnB;AHLF;;;AAfA;EGoBE;IHHA,QAtBM;;;AAKR;EG0BM;IAEI,cJ5BJ;;;AKFN;EACE;;;AAEA;EJKF,SAXQ;EAYR,gBAXe;;;AIWb;EJDF,SAXQ;EAYR,gBAXe;;;AKWX;EACE,QAZC;EAaD;;;AAUA;EACE,QAvBM;;;ACIV;EACE;EACA,OAVM;;;AAYN;EACE;;;AAIJ;EACE,MAjBK;EAkBL;;;AAEA;EACE;;;ACXN;EACE;EACA;;;AAEA;EACE,KAhBI;;;AAkBJ;EACE;;;AAIJ;EACE,QAvBO;EAwBP;;;AAEA;EACE;;;AAMR;EACE;EACA;EACA;EACA,MApCc;EAqCd;EACA,OArCe;EAsCf;;;AdzCJ;EACE;IACE;;EAGF;IACE;;;ACHF;EACE;EACA;;;ACAE;EACE;EACA;EACA;;;AAEA;EACE;EACA;;;ACXR;EACE;;;ACEA;EACE;;;AfJJ;EACE;EACA;;;ACAF;EACE;EACA;EACA;EACA;EACA;;;AAIA;EACE;;;ACVJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAKF;EACE;;;ACpBF;EACE;;;ACHN;EACE;EACA;;;AAEA;EAEE;;;ACLF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEA;EACE;;;ACNJ;EACE;EACA,QCHa;EDIb;EACA;EACA;EACA;EACA;EACA,QCVW;EDWX;EACA;EACA;EACA;EACA;EACA,OChBW;;;ACDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACFA;EACE;;;AAIA;EACE;;;AAGF;EACE;;;AChBN;EACE;EACA;EACA;;;AgBJJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA;EACE;EACA;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;AAAA;IAEE;IACA;IACA;IACA;IACA;;;ACrFJ;EACE,Y9BSgB;E8BRhB,Y9BSqB;E8BRrB;;AACA;EACE,O9BGU;;A8BFV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA,O9BNI;E8BOJ;EACA;EACA;;;ACdN;EACE;EAEA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAfJ;EAkBE;EACA;;AAEA;EACE;EACA,kB/BrBM;E+BsBN;EACA;EACA;;AAEE;EACE;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AATJ;EAYE;EACA;;AACA;EACE;EACA;EACA;;;AC5DV;EACE;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;ACXJ;EACE,kBjCIQ;;AiCFR;EACE;EACA;EACA;;AAGF;EACE;;AAKA;AAAA;AAAA;EACE;;AAIJ;EACE;EAEA;;AAEE;EACE;EACA;EACA;EACA,OjCrBM;EiCsBN;EACA;;AACA;EAEE,kBjC1BI;EiC2BJ,OjC9BA;;AiCoCR;EACE;EACA;;AAEE;EACE;EACA,kBjC1CE;EiC2CF,OjCxCM;EiCyCN;EACA;;AACA;EAEE,kBjC7CI;EiC8CJ,OjCjDA;;;AkCJR;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;AAKF;EACE;;AAGA;EACE;;AACA;EACE;;AAMJ;EACE;;AACA;EAFF;IAGI","file":"main.css"} \ No newline at end of file diff --git a/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-500.woff2 b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-500.woff2 new file mode 100644 index 0000000..64d6e11 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-500.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-500italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-500italic.woff2 new file mode 100644 index 0000000..8e3e680 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-500italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-600.woff2 b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-600.woff2 new file mode 100644 index 0000000..c19fbc1 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-600.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-600italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-600italic.woff2 new file mode 100644 index 0000000..78abff9 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-600italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-700.woff2 b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-700.woff2 new file mode 100644 index 0000000..39eefe0 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-700.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-700italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-700italic.woff2 new file mode 100644 index 0000000..d7f6b28 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-700italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-800.woff2 b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-800.woff2 new file mode 100644 index 0000000..1128d50 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-800.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-800italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-800italic.woff2 new file mode 100644 index 0000000..dc86c01 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-800italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-900.woff2 b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-900.woff2 new file mode 100644 index 0000000..87eff24 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-900.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-900italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-900italic.woff2 new file mode 100644 index 0000000..61fa874 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-900italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-italic.woff2 new file mode 100644 index 0000000..30828de Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-regular.woff2 b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-regular.woff2 new file mode 100644 index 0000000..141ea84 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-regular.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200.woff2 new file mode 100644 index 0000000..1a88824 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200italic.woff2 new file mode 100644 index 0000000..24c53f0 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300.woff2 new file mode 100644 index 0000000..b47991a Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300italic.woff2 new file mode 100644 index 0000000..e24cd5a Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500.woff2 new file mode 100644 index 0000000..5918916 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500italic.woff2 new file mode 100644 index 0000000..0706a1f Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600.woff2 new file mode 100644 index 0000000..9351177 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600italic.woff2 new file mode 100644 index 0000000..b216f26 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700.woff2 new file mode 100644 index 0000000..3cb944c Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700italic.woff2 new file mode 100644 index 0000000..f9a6d5f Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800.woff2 new file mode 100644 index 0000000..cd37781 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800italic.woff2 new file mode 100644 index 0000000..7f43c11 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900.woff2 new file mode 100644 index 0000000..c3ac211 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900italic.woff2 new file mode 100644 index 0000000..cc339ed Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-italic.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-italic.woff2 new file mode 100644 index 0000000..515b6b3 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-italic.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-regular.woff2 b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-regular.woff2 new file mode 100644 index 0000000..0c4242e Binary files /dev/null and b/webseite-ts-claude/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-regular.woff2 differ diff --git a/webseite-ts-claude/frontend/assets/img/donkey-logo.min.svg b/webseite-ts-claude/frontend/assets/img/donkey-logo.min.svg new file mode 100644 index 0000000..190368f --- /dev/null +++ b/webseite-ts-claude/frontend/assets/img/donkey-logo.min.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/webseite-ts-claude/frontend/assets/img/donkey-logo.svg b/webseite-ts-claude/frontend/assets/img/donkey-logo.svg new file mode 100644 index 0000000..ae915af --- /dev/null +++ b/webseite-ts-claude/frontend/assets/img/donkey-logo.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/webseite-ts-claude/frontend/assets/img/header-image.webp b/webseite-ts-claude/frontend/assets/img/header-image.webp new file mode 100644 index 0000000..c35aaf5 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/img/header-image.webp differ diff --git a/webseite-ts-claude/frontend/assets/img/slider/slide-01.webp b/webseite-ts-claude/frontend/assets/img/slider/slide-01.webp new file mode 100644 index 0000000..4520581 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/img/slider/slide-01.webp differ diff --git a/webseite-ts-claude/frontend/assets/img/slider/slide-02.webp b/webseite-ts-claude/frontend/assets/img/slider/slide-02.webp new file mode 100644 index 0000000..1455d34 Binary files /dev/null and b/webseite-ts-claude/frontend/assets/img/slider/slide-02.webp differ diff --git a/webseite-ts-claude/frontend/assets/img/slider/slide-03.webp b/webseite-ts-claude/frontend/assets/img/slider/slide-03.webp new file mode 100644 index 0000000..d627dca Binary files /dev/null and b/webseite-ts-claude/frontend/assets/img/slider/slide-03.webp differ diff --git a/webseite-ts-claude/frontend/assets/js/build.js b/webseite-ts-claude/frontend/assets/js/build.js new file mode 100644 index 0000000..37ff18b --- /dev/null +++ b/webseite-ts-claude/frontend/assets/js/build.js @@ -0,0 +1,8586 @@ +(() => { + var __create = Object.create; + var __defProp = Object.defineProperty; + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; + var __getOwnPropNames = Object.getOwnPropertyNames; + var __getProtoOf = Object.getPrototypeOf; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __commonJS = (cb, mod) => function __require() { + try { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + } catch (e) { + throw mod = 0, e; + } + }; + var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; + }; + var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod + )); + + // node_modules/toastify-js/src/toastify.js + var require_toastify = __commonJS({ + "node_modules/toastify-js/src/toastify.js"(exports, module) { + (function(root, factory) { + if (typeof module === "object" && module.exports) { + module.exports = factory(); + } else { + root.Toastify = factory(); + } + })(exports, function(global) { + var Toastify2 = function(options) { + return new Toastify2.lib.init(options); + }, version = "1.12.0"; + Toastify2.defaults = { + oldestFirst: true, + text: "Toastify is awesome!", + node: void 0, + duration: 3e3, + selector: void 0, + callback: function() { + }, + destination: void 0, + newWindow: false, + close: false, + gravity: "toastify-top", + positionLeft: false, + position: "", + backgroundColor: "", + avatar: "", + className: "", + stopOnFocus: true, + onClick: function() { + }, + offset: { x: 0, y: 0 }, + escapeMarkup: true, + ariaLive: "polite", + style: { background: "" } + }; + Toastify2.lib = Toastify2.prototype = { + toastify: version, + constructor: Toastify2, + // Initializing the object with required parameters + init: function(options) { + if (!options) { + options = {}; + } + this.options = {}; + this.toastElement = null; + this.options.text = options.text || Toastify2.defaults.text; + this.options.node = options.node || Toastify2.defaults.node; + this.options.duration = options.duration === 0 ? 0 : options.duration || Toastify2.defaults.duration; + this.options.selector = options.selector || Toastify2.defaults.selector; + this.options.callback = options.callback || Toastify2.defaults.callback; + this.options.destination = options.destination || Toastify2.defaults.destination; + this.options.newWindow = options.newWindow || Toastify2.defaults.newWindow; + this.options.close = options.close || Toastify2.defaults.close; + this.options.gravity = options.gravity === "bottom" ? "toastify-bottom" : Toastify2.defaults.gravity; + this.options.positionLeft = options.positionLeft || Toastify2.defaults.positionLeft; + this.options.position = options.position || Toastify2.defaults.position; + this.options.backgroundColor = options.backgroundColor || Toastify2.defaults.backgroundColor; + this.options.avatar = options.avatar || Toastify2.defaults.avatar; + this.options.className = options.className || Toastify2.defaults.className; + this.options.stopOnFocus = options.stopOnFocus === void 0 ? Toastify2.defaults.stopOnFocus : options.stopOnFocus; + this.options.onClick = options.onClick || Toastify2.defaults.onClick; + this.options.offset = options.offset || Toastify2.defaults.offset; + this.options.escapeMarkup = options.escapeMarkup !== void 0 ? options.escapeMarkup : Toastify2.defaults.escapeMarkup; + this.options.ariaLive = options.ariaLive || Toastify2.defaults.ariaLive; + this.options.style = options.style || Toastify2.defaults.style; + if (options.backgroundColor) { + this.options.style.background = options.backgroundColor; + } + return this; + }, + // Building the DOM element + buildToast: function() { + if (!this.options) { + throw "Toastify is not initialized"; + } + var divElement = document.createElement("div"); + divElement.className = "toastify on " + this.options.className; + if (!!this.options.position) { + divElement.className += " toastify-" + this.options.position; + } else { + if (this.options.positionLeft === true) { + divElement.className += " toastify-left"; + console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead."); + } else { + divElement.className += " toastify-right"; + } + } + divElement.className += " " + this.options.gravity; + if (this.options.backgroundColor) { + console.warn('DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property.'); + } + for (var property in this.options.style) { + divElement.style[property] = this.options.style[property]; + } + if (this.options.ariaLive) { + divElement.setAttribute("aria-live", this.options.ariaLive); + } + if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) { + divElement.appendChild(this.options.node); + } else { + if (this.options.escapeMarkup) { + divElement.innerText = this.options.text; + } else { + divElement.innerHTML = this.options.text; + } + if (this.options.avatar !== "") { + var avatarElement = document.createElement("img"); + avatarElement.src = this.options.avatar; + avatarElement.className = "toastify-avatar"; + if (this.options.position == "left" || this.options.positionLeft === true) { + divElement.appendChild(avatarElement); + } else { + divElement.insertAdjacentElement("afterbegin", avatarElement); + } + } + } + if (this.options.close === true) { + var closeElement = document.createElement("button"); + closeElement.type = "button"; + closeElement.setAttribute("aria-label", "Close"); + closeElement.className = "toast-close"; + closeElement.innerHTML = "✖"; + closeElement.addEventListener( + "click", + function(event) { + event.stopPropagation(); + this.removeElement(this.toastElement); + window.clearTimeout(this.toastElement.timeOutValue); + }.bind(this) + ); + var width = window.innerWidth > 0 ? window.innerWidth : screen.width; + if ((this.options.position == "left" || this.options.positionLeft === true) && width > 360) { + divElement.insertAdjacentElement("afterbegin", closeElement); + } else { + divElement.appendChild(closeElement); + } + } + if (this.options.stopOnFocus && this.options.duration > 0) { + var self = this; + divElement.addEventListener( + "mouseover", + function(event) { + window.clearTimeout(divElement.timeOutValue); + } + ); + divElement.addEventListener( + "mouseleave", + function() { + divElement.timeOutValue = window.setTimeout( + function() { + self.removeElement(divElement); + }, + self.options.duration + ); + } + ); + } + if (typeof this.options.destination !== "undefined") { + divElement.addEventListener( + "click", + function(event) { + event.stopPropagation(); + if (this.options.newWindow === true) { + window.open(this.options.destination, "_blank"); + } else { + window.location = this.options.destination; + } + }.bind(this) + ); + } + if (typeof this.options.onClick === "function" && typeof this.options.destination === "undefined") { + divElement.addEventListener( + "click", + function(event) { + event.stopPropagation(); + this.options.onClick(); + }.bind(this) + ); + } + if (typeof this.options.offset === "object") { + var x = getAxisOffsetAValue("x", this.options); + var y = getAxisOffsetAValue("y", this.options); + var xOffset = this.options.position == "left" ? x : "-" + x; + var yOffset = this.options.gravity == "toastify-top" ? y : "-" + y; + divElement.style.transform = "translate(" + xOffset + "," + yOffset + ")"; + } + return divElement; + }, + // Displaying the toast + showToast: function() { + this.toastElement = this.buildToast(); + var rootElement; + if (typeof this.options.selector === "string") { + rootElement = document.getElementById(this.options.selector); + } else if (this.options.selector instanceof HTMLElement || typeof ShadowRoot !== "undefined" && this.options.selector instanceof ShadowRoot) { + rootElement = this.options.selector; + } else { + rootElement = document.body; + } + if (!rootElement) { + throw "Root element is not defined"; + } + var elementToInsert = Toastify2.defaults.oldestFirst ? rootElement.firstChild : rootElement.lastChild; + rootElement.insertBefore(this.toastElement, elementToInsert); + Toastify2.reposition(); + if (this.options.duration > 0) { + this.toastElement.timeOutValue = window.setTimeout( + function() { + this.removeElement(this.toastElement); + }.bind(this), + this.options.duration + ); + } + return this; + }, + hideToast: function() { + if (this.toastElement.timeOutValue) { + clearTimeout(this.toastElement.timeOutValue); + } + this.removeElement(this.toastElement); + }, + // Removing the element from the DOM + removeElement: function(toastElement) { + toastElement.className = toastElement.className.replace(" on", ""); + window.setTimeout( + function() { + if (this.options.node && this.options.node.parentNode) { + this.options.node.parentNode.removeChild(this.options.node); + } + if (toastElement.parentNode) { + toastElement.parentNode.removeChild(toastElement); + } + this.options.callback.call(toastElement); + Toastify2.reposition(); + }.bind(this), + 400 + ); + } + }; + Toastify2.reposition = function() { + var topLeftOffsetSize = { + top: 15, + bottom: 15 + }; + var topRightOffsetSize = { + top: 15, + bottom: 15 + }; + var offsetSize = { + top: 15, + bottom: 15 + }; + var allToasts = document.getElementsByClassName("toastify"); + var classUsed; + for (var i = 0; i < allToasts.length; i++) { + if (containsClass(allToasts[i], "toastify-top") === true) { + classUsed = "toastify-top"; + } else { + classUsed = "toastify-bottom"; + } + var height = allToasts[i].offsetHeight; + classUsed = classUsed.substr(9, classUsed.length - 1); + var offset2 = 15; + var width = window.innerWidth > 0 ? window.innerWidth : screen.width; + if (width <= 360) { + allToasts[i].style[classUsed] = offsetSize[classUsed] + "px"; + offsetSize[classUsed] += height + offset2; + } else { + if (containsClass(allToasts[i], "toastify-left") === true) { + allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + "px"; + topLeftOffsetSize[classUsed] += height + offset2; + } else { + allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + "px"; + topRightOffsetSize[classUsed] += height + offset2; + } + } + } + return this; + }; + function getAxisOffsetAValue(axis, options) { + if (options.offset[axis]) { + if (isNaN(options.offset[axis])) { + return options.offset[axis]; + } else { + return options.offset[axis] + "px"; + } + } + return "0px"; + } + function containsClass(elem, yourClass) { + if (!elem || typeof yourClass !== "string") { + return false; + } else if (elem.className && elem.className.trim().split(/\s+/gi).indexOf(yourClass) > -1) { + return true; + } else { + return false; + } + } + Toastify2.lib.init.prototype = Toastify2.lib; + return Toastify2; + }); + } + }); + + // node_modules/@popperjs/core/lib/index.js + var lib_exports = {}; + __export(lib_exports, { + afterMain: () => afterMain, + afterRead: () => afterRead, + afterWrite: () => afterWrite, + applyStyles: () => applyStyles_default, + arrow: () => arrow_default, + auto: () => auto, + basePlacements: () => basePlacements, + beforeMain: () => beforeMain, + beforeRead: () => beforeRead, + beforeWrite: () => beforeWrite, + bottom: () => bottom, + clippingParents: () => clippingParents, + computeStyles: () => computeStyles_default, + createPopper: () => createPopper3, + createPopperBase: () => createPopper, + createPopperLite: () => createPopper2, + detectOverflow: () => detectOverflow, + end: () => end, + eventListeners: () => eventListeners_default, + flip: () => flip_default, + hide: () => hide_default, + left: () => left, + main: () => main, + modifierPhases: () => modifierPhases, + offset: () => offset_default, + placements: () => placements, + popper: () => popper, + popperGenerator: () => popperGenerator, + popperOffsets: () => popperOffsets_default, + preventOverflow: () => preventOverflow_default, + read: () => read, + reference: () => reference, + right: () => right, + start: () => start, + top: () => top, + variationPlacements: () => variationPlacements, + viewport: () => viewport, + write: () => write + }); + + // node_modules/@popperjs/core/lib/enums.js + var top = "top"; + var bottom = "bottom"; + var right = "right"; + var left = "left"; + var auto = "auto"; + var basePlacements = [top, bottom, right, left]; + var start = "start"; + var end = "end"; + var clippingParents = "clippingParents"; + var viewport = "viewport"; + var popper = "popper"; + var reference = "reference"; + var variationPlacements = /* @__PURE__ */ basePlacements.reduce(function(acc, placement) { + return acc.concat([placement + "-" + start, placement + "-" + end]); + }, []); + var placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) { + return acc.concat([placement, placement + "-" + start, placement + "-" + end]); + }, []); + var beforeRead = "beforeRead"; + var read = "read"; + var afterRead = "afterRead"; + var beforeMain = "beforeMain"; + var main = "main"; + var afterMain = "afterMain"; + var beforeWrite = "beforeWrite"; + var write = "write"; + var afterWrite = "afterWrite"; + var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; + + // node_modules/@popperjs/core/lib/dom-utils/getNodeName.js + function getNodeName(element) { + return element ? (element.nodeName || "").toLowerCase() : null; + } + + // node_modules/@popperjs/core/lib/dom-utils/getWindow.js + function getWindow(node) { + if (node == null) { + return window; + } + if (node.toString() !== "[object Window]") { + var ownerDocument = node.ownerDocument; + return ownerDocument ? ownerDocument.defaultView || window : window; + } + return node; + } + + // node_modules/@popperjs/core/lib/dom-utils/instanceOf.js + function isElement(node) { + var OwnElement = getWindow(node).Element; + return node instanceof OwnElement || node instanceof Element; + } + function isHTMLElement(node) { + var OwnElement = getWindow(node).HTMLElement; + return node instanceof OwnElement || node instanceof HTMLElement; + } + function isShadowRoot(node) { + if (typeof ShadowRoot === "undefined") { + return false; + } + var OwnElement = getWindow(node).ShadowRoot; + return node instanceof OwnElement || node instanceof ShadowRoot; + } + + // node_modules/@popperjs/core/lib/modifiers/applyStyles.js + function applyStyles(_ref) { + var state = _ref.state; + Object.keys(state.elements).forEach(function(name) { + var style2 = state.styles[name] || {}; + var attributes = state.attributes[name] || {}; + var element = state.elements[name]; + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style2); + Object.keys(attributes).forEach(function(name2) { + var value = attributes[name2]; + if (value === false) { + element.removeAttribute(name2); + } else { + element.setAttribute(name2, value === true ? "" : value); + } + }); + }); + } + function effect(_ref2) { + var state = _ref2.state; + var initialStyles = { + popper: { + position: state.options.strategy, + left: "0", + top: "0", + margin: "0" + }, + arrow: { + position: "absolute" + }, + reference: {} + }; + Object.assign(state.elements.popper.style, initialStyles.popper); + state.styles = initialStyles; + if (state.elements.arrow) { + Object.assign(state.elements.arrow.style, initialStyles.arrow); + } + return function() { + Object.keys(state.elements).forEach(function(name) { + var element = state.elements[name]; + var attributes = state.attributes[name] || {}; + var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); + var style2 = styleProperties.reduce(function(style3, property) { + style3[property] = ""; + return style3; + }, {}); + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style2); + Object.keys(attributes).forEach(function(attribute) { + element.removeAttribute(attribute); + }); + }); + }; + } + var applyStyles_default = { + name: "applyStyles", + enabled: true, + phase: "write", + fn: applyStyles, + effect, + requires: ["computeStyles"] + }; + + // node_modules/@popperjs/core/lib/utils/getBasePlacement.js + function getBasePlacement(placement) { + return placement.split("-")[0]; + } + + // node_modules/@popperjs/core/lib/utils/math.js + var max = Math.max; + var min = Math.min; + var round = Math.round; + + // node_modules/@popperjs/core/lib/utils/userAgent.js + function getUAString() { + var uaData = navigator.userAgentData; + if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) { + return uaData.brands.map(function(item) { + return item.brand + "/" + item.version; + }).join(" "); + } + return navigator.userAgent; + } + + // node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js + function isLayoutViewport() { + return !/^((?!chrome|android).)*safari/i.test(getUAString()); + } + + // node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js + function getBoundingClientRect(element, includeScale, isFixedStrategy) { + if (includeScale === void 0) { + includeScale = false; + } + if (isFixedStrategy === void 0) { + isFixedStrategy = false; + } + var clientRect = element.getBoundingClientRect(); + var scaleX = 1; + var scaleY = 1; + if (includeScale && isHTMLElement(element)) { + scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1; + scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1; + } + var _ref = isElement(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport; + var addVisualOffsets = !isLayoutViewport() && isFixedStrategy; + var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; + var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; + var width = clientRect.width / scaleX; + var height = clientRect.height / scaleY; + return { + width, + height, + top: y, + right: x + width, + bottom: y + height, + left: x, + x, + y + }; + } + + // node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js + function getLayoutRect(element) { + var clientRect = getBoundingClientRect(element); + var width = element.offsetWidth; + var height = element.offsetHeight; + if (Math.abs(clientRect.width - width) <= 1) { + width = clientRect.width; + } + if (Math.abs(clientRect.height - height) <= 1) { + height = clientRect.height; + } + return { + x: element.offsetLeft, + y: element.offsetTop, + width, + height + }; + } + + // node_modules/@popperjs/core/lib/dom-utils/contains.js + function contains(parent, child2) { + var rootNode = child2.getRootNode && child2.getRootNode(); + if (parent.contains(child2)) { + return true; + } else if (rootNode && isShadowRoot(rootNode)) { + var next = child2; + do { + if (next && parent.isSameNode(next)) { + return true; + } + next = next.parentNode || next.host; + } while (next); + } + return false; + } + + // node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js + function getComputedStyle2(element) { + return getWindow(element).getComputedStyle(element); + } + + // node_modules/@popperjs/core/lib/dom-utils/isTableElement.js + function isTableElement(element) { + return ["table", "td", "th"].indexOf(getNodeName(element)) >= 0; + } + + // node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js + function getDocumentElement(element) { + return ((isElement(element) ? element.ownerDocument : ( + // $FlowFixMe[prop-missing] + element.document + )) || window.document).documentElement; + } + + // node_modules/@popperjs/core/lib/dom-utils/getParentNode.js + function getParentNode(element) { + if (getNodeName(element) === "html") { + return element; + } + return ( + // this is a quicker (but less type safe) way to save quite some bytes from the bundle + // $FlowFixMe[incompatible-return] + // $FlowFixMe[prop-missing] + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || // DOM Element detected + (isShadowRoot(element) ? element.host : null) || // ShadowRoot detected + // $FlowFixMe[incompatible-call]: HTMLElement is a Node + getDocumentElement(element) + ); + } + + // node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js + function getTrueOffsetParent(element) { + if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837 + getComputedStyle2(element).position === "fixed") { + return null; + } + return element.offsetParent; + } + function getContainingBlock(element) { + var isFirefox = /firefox/i.test(getUAString()); + var isIE = /Trident/i.test(getUAString()); + if (isIE && isHTMLElement(element)) { + var elementCss = getComputedStyle2(element); + if (elementCss.position === "fixed") { + return null; + } + } + var currentNode = getParentNode(element); + if (isShadowRoot(currentNode)) { + currentNode = currentNode.host; + } + while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) { + var css = getComputedStyle2(currentNode); + if (css.transform !== "none" || css.perspective !== "none" || css.contain === "paint" || ["transform", "perspective"].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === "filter" || isFirefox && css.filter && css.filter !== "none") { + return currentNode; + } else { + currentNode = currentNode.parentNode; + } + } + return null; + } + function getOffsetParent(element) { + var window2 = getWindow(element); + var offsetParent = getTrueOffsetParent(element); + while (offsetParent && isTableElement(offsetParent) && getComputedStyle2(offsetParent).position === "static") { + offsetParent = getTrueOffsetParent(offsetParent); + } + if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle2(offsetParent).position === "static")) { + return window2; + } + return offsetParent || getContainingBlock(element) || window2; + } + + // node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js + function getMainAxisFromPlacement(placement) { + return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y"; + } + + // node_modules/@popperjs/core/lib/utils/within.js + function within(min3, value, max3) { + return max(min3, min(value, max3)); + } + function withinMaxClamp(min3, value, max3) { + var v = within(min3, value, max3); + return v > max3 ? max3 : v; + } + + // node_modules/@popperjs/core/lib/utils/getFreshSideObject.js + function getFreshSideObject() { + return { + top: 0, + right: 0, + bottom: 0, + left: 0 + }; + } + + // node_modules/@popperjs/core/lib/utils/mergePaddingObject.js + function mergePaddingObject(paddingObject) { + return Object.assign({}, getFreshSideObject(), paddingObject); + } + + // node_modules/@popperjs/core/lib/utils/expandToHashMap.js + function expandToHashMap(value, keys) { + return keys.reduce(function(hashMap, key) { + hashMap[key] = value; + return hashMap; + }, {}); + } + + // node_modules/@popperjs/core/lib/modifiers/arrow.js + var toPaddingObject = function toPaddingObject2(padding, state) { + padding = typeof padding === "function" ? padding(Object.assign({}, state.rects, { + placement: state.placement + })) : padding; + return mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements)); + }; + function arrow(_ref) { + var _state$modifiersData$; + var state = _ref.state, name = _ref.name, options = _ref.options; + var arrowElement = state.elements.arrow; + var popperOffsets2 = state.modifiersData.popperOffsets; + var basePlacement = getBasePlacement(state.placement); + var axis = getMainAxisFromPlacement(basePlacement); + var isVertical = [left, right].indexOf(basePlacement) >= 0; + var len = isVertical ? "height" : "width"; + if (!arrowElement || !popperOffsets2) { + return; + } + var paddingObject = toPaddingObject(options.padding, state); + var arrowRect = getLayoutRect(arrowElement); + var minProp = axis === "y" ? top : left; + var maxProp = axis === "y" ? bottom : right; + var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets2[axis] - state.rects.popper[len]; + var startDiff = popperOffsets2[axis] - state.rects.reference[axis]; + var arrowOffsetParent = getOffsetParent(arrowElement); + var clientSize = arrowOffsetParent ? axis === "y" ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; + var centerToReference = endDiff / 2 - startDiff / 2; + var min3 = paddingObject[minProp]; + var max3 = clientSize - arrowRect[len] - paddingObject[maxProp]; + var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; + var offset2 = within(min3, center, max3); + var axisProp = axis; + state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset2, _state$modifiersData$.centerOffset = offset2 - center, _state$modifiersData$); + } + function effect2(_ref2) { + var state = _ref2.state, options = _ref2.options; + var _options$element = options.element, arrowElement = _options$element === void 0 ? "[data-popper-arrow]" : _options$element; + if (arrowElement == null) { + return; + } + if (typeof arrowElement === "string") { + arrowElement = state.elements.popper.querySelector(arrowElement); + if (!arrowElement) { + return; + } + } + if (!contains(state.elements.popper, arrowElement)) { + return; + } + state.elements.arrow = arrowElement; + } + var arrow_default = { + name: "arrow", + enabled: true, + phase: "main", + fn: arrow, + effect: effect2, + requires: ["popperOffsets"], + requiresIfExists: ["preventOverflow"] + }; + + // node_modules/@popperjs/core/lib/utils/getVariation.js + function getVariation(placement) { + return placement.split("-")[1]; + } + + // node_modules/@popperjs/core/lib/modifiers/computeStyles.js + var unsetSides = { + top: "auto", + right: "auto", + bottom: "auto", + left: "auto" + }; + function roundOffsetsByDPR(_ref, win) { + var x = _ref.x, y = _ref.y; + var dpr = win.devicePixelRatio || 1; + return { + x: round(x * dpr) / dpr || 0, + y: round(y * dpr) / dpr || 0 + }; + } + function mapToStyles(_ref2) { + var _Object$assign2; + var popper2 = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed; + var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y; + var _ref3 = typeof roundOffsets === "function" ? roundOffsets({ + x, + y + }) : { + x, + y + }; + x = _ref3.x; + y = _ref3.y; + var hasX = offsets.hasOwnProperty("x"); + var hasY = offsets.hasOwnProperty("y"); + var sideX = left; + var sideY = top; + var win = window; + if (adaptive) { + var offsetParent = getOffsetParent(popper2); + var heightProp = "clientHeight"; + var widthProp = "clientWidth"; + if (offsetParent === getWindow(popper2)) { + offsetParent = getDocumentElement(popper2); + if (getComputedStyle2(offsetParent).position !== "static" && position === "absolute") { + heightProp = "scrollHeight"; + widthProp = "scrollWidth"; + } + } + offsetParent = offsetParent; + if (placement === top || (placement === left || placement === right) && variation === end) { + sideY = bottom; + var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : ( + // $FlowFixMe[prop-missing] + offsetParent[heightProp] + ); + y -= offsetY - popperRect.height; + y *= gpuAcceleration ? 1 : -1; + } + if (placement === left || (placement === top || placement === bottom) && variation === end) { + sideX = right; + var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : ( + // $FlowFixMe[prop-missing] + offsetParent[widthProp] + ); + x -= offsetX - popperRect.width; + x *= gpuAcceleration ? 1 : -1; + } + } + var commonStyles = Object.assign({ + position + }, adaptive && unsetSides); + var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ + x, + y + }, getWindow(popper2)) : { + x, + y + }; + x = _ref4.x; + y = _ref4.y; + if (gpuAcceleration) { + var _Object$assign; + return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); + } + return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2)); + } + function computeStyles(_ref5) { + var state = _ref5.state, options = _ref5.options; + var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; + var commonStyles = { + placement: getBasePlacement(state.placement), + variation: getVariation(state.placement), + popper: state.elements.popper, + popperRect: state.rects.popper, + gpuAcceleration, + isFixed: state.options.strategy === "fixed" + }; + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive, + roundOffsets + }))); + } + if (state.modifiersData.arrow != null) { + state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.arrow, + position: "absolute", + adaptive: false, + roundOffsets + }))); + } + state.attributes.popper = Object.assign({}, state.attributes.popper, { + "data-popper-placement": state.placement + }); + } + var computeStyles_default = { + name: "computeStyles", + enabled: true, + phase: "beforeWrite", + fn: computeStyles, + data: {} + }; + + // node_modules/@popperjs/core/lib/modifiers/eventListeners.js + var passive = { + passive: true + }; + function effect3(_ref) { + var state = _ref.state, instance = _ref.instance, options = _ref.options; + var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize; + var window2 = getWindow(state.elements.popper); + var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); + if (scroll) { + scrollParents.forEach(function(scrollParent) { + scrollParent.addEventListener("scroll", instance.update, passive); + }); + } + if (resize) { + window2.addEventListener("resize", instance.update, passive); + } + return function() { + if (scroll) { + scrollParents.forEach(function(scrollParent) { + scrollParent.removeEventListener("scroll", instance.update, passive); + }); + } + if (resize) { + window2.removeEventListener("resize", instance.update, passive); + } + }; + } + var eventListeners_default = { + name: "eventListeners", + enabled: true, + phase: "write", + fn: function fn() { + }, + effect: effect3, + data: {} + }; + + // node_modules/@popperjs/core/lib/utils/getOppositePlacement.js + var hash = { + left: "right", + right: "left", + bottom: "top", + top: "bottom" + }; + function getOppositePlacement(placement) { + return placement.replace(/left|right|bottom|top/g, function(matched) { + return hash[matched]; + }); + } + + // node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js + var hash2 = { + start: "end", + end: "start" + }; + function getOppositeVariationPlacement(placement) { + return placement.replace(/start|end/g, function(matched) { + return hash2[matched]; + }); + } + + // node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js + function getWindowScroll(node) { + var win = getWindow(node); + var scrollLeft = win.pageXOffset; + var scrollTop = win.pageYOffset; + return { + scrollLeft, + scrollTop + }; + } + + // node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js + function getWindowScrollBarX(element) { + return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; + } + + // node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js + function getViewportRect(element, strategy) { + var win = getWindow(element); + var html = getDocumentElement(element); + var visualViewport = win.visualViewport; + var width = html.clientWidth; + var height = html.clientHeight; + var x = 0; + var y = 0; + if (visualViewport) { + width = visualViewport.width; + height = visualViewport.height; + var layoutViewport = isLayoutViewport(); + if (layoutViewport || !layoutViewport && strategy === "fixed") { + x = visualViewport.offsetLeft; + y = visualViewport.offsetTop; + } + } + return { + width, + height, + x: x + getWindowScrollBarX(element), + y + }; + } + + // node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js + function getDocumentRect(element) { + var _element$ownerDocumen; + var html = getDocumentElement(element); + var winScroll = getWindowScroll(element); + var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; + var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); + var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); + var x = -winScroll.scrollLeft + getWindowScrollBarX(element); + var y = -winScroll.scrollTop; + if (getComputedStyle2(body || html).direction === "rtl") { + x += max(html.clientWidth, body ? body.clientWidth : 0) - width; + } + return { + width, + height, + x, + y + }; + } + + // node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js + function isScrollParent(element) { + var _getComputedStyle = getComputedStyle2(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY; + return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); + } + + // node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js + function getScrollParent(node) { + if (["html", "body", "#document"].indexOf(getNodeName(node)) >= 0) { + return node.ownerDocument.body; + } + if (isHTMLElement(node) && isScrollParent(node)) { + return node; + } + return getScrollParent(getParentNode(node)); + } + + // node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js + function listScrollParents(element, list) { + var _element$ownerDocumen; + if (list === void 0) { + list = []; + } + var scrollParent = getScrollParent(element); + var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; + var updatedList = list.concat(target); + return isBody ? updatedList : ( + // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here + updatedList.concat(listScrollParents(getParentNode(target))) + ); + } + + // node_modules/@popperjs/core/lib/utils/rectToClientRect.js + function rectToClientRect(rect2) { + return Object.assign({}, rect2, { + left: rect2.x, + top: rect2.y, + right: rect2.x + rect2.width, + bottom: rect2.y + rect2.height + }); + } + + // node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js + function getInnerBoundingClientRect(element, strategy) { + var rect2 = getBoundingClientRect(element, false, strategy === "fixed"); + rect2.top = rect2.top + element.clientTop; + rect2.left = rect2.left + element.clientLeft; + rect2.bottom = rect2.top + element.clientHeight; + rect2.right = rect2.left + element.clientWidth; + rect2.width = element.clientWidth; + rect2.height = element.clientHeight; + rect2.x = rect2.left; + rect2.y = rect2.top; + return rect2; + } + function getClientRectFromMixedType(element, clippingParent, strategy) { + return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element))); + } + function getClippingParents(element) { + var clippingParents2 = listScrollParents(getParentNode(element)); + var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle2(element).position) >= 0; + var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; + if (!isElement(clipperElement)) { + return []; + } + return clippingParents2.filter(function(clippingParent) { + return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== "body"; + }); + } + function getClippingRect(element, boundary, rootBoundary, strategy) { + var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element) : [].concat(boundary); + var clippingParents2 = [].concat(mainClippingParents, [rootBoundary]); + var firstClippingParent = clippingParents2[0]; + var clippingRect = clippingParents2.reduce(function(accRect, clippingParent) { + var rect2 = getClientRectFromMixedType(element, clippingParent, strategy); + accRect.top = max(rect2.top, accRect.top); + accRect.right = min(rect2.right, accRect.right); + accRect.bottom = min(rect2.bottom, accRect.bottom); + accRect.left = max(rect2.left, accRect.left); + return accRect; + }, getClientRectFromMixedType(element, firstClippingParent, strategy)); + clippingRect.width = clippingRect.right - clippingRect.left; + clippingRect.height = clippingRect.bottom - clippingRect.top; + clippingRect.x = clippingRect.left; + clippingRect.y = clippingRect.top; + return clippingRect; + } + + // node_modules/@popperjs/core/lib/utils/computeOffsets.js + function computeOffsets(_ref) { + var reference2 = _ref.reference, element = _ref.element, placement = _ref.placement; + var basePlacement = placement ? getBasePlacement(placement) : null; + var variation = placement ? getVariation(placement) : null; + var commonX = reference2.x + reference2.width / 2 - element.width / 2; + var commonY = reference2.y + reference2.height / 2 - element.height / 2; + var offsets; + switch (basePlacement) { + case top: + offsets = { + x: commonX, + y: reference2.y - element.height + }; + break; + case bottom: + offsets = { + x: commonX, + y: reference2.y + reference2.height + }; + break; + case right: + offsets = { + x: reference2.x + reference2.width, + y: commonY + }; + break; + case left: + offsets = { + x: reference2.x - element.width, + y: commonY + }; + break; + default: + offsets = { + x: reference2.x, + y: reference2.y + }; + } + var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; + if (mainAxis != null) { + var len = mainAxis === "y" ? "height" : "width"; + switch (variation) { + case start: + offsets[mainAxis] = offsets[mainAxis] - (reference2[len] / 2 - element[len] / 2); + break; + case end: + offsets[mainAxis] = offsets[mainAxis] + (reference2[len] / 2 - element[len] / 2); + break; + default: + } + } + return offsets; + } + + // node_modules/@popperjs/core/lib/utils/detectOverflow.js + function detectOverflow(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$strategy = _options.strategy, strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding; + var paddingObject = mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements)); + var altContext = elementContext === popper ? reference : popper; + var popperRect = state.rects.popper; + var element = state.elements[altBoundary ? altContext : elementContext]; + var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy); + var referenceClientRect = getBoundingClientRect(state.elements.reference); + var popperOffsets2 = computeOffsets({ + reference: referenceClientRect, + element: popperRect, + strategy: "absolute", + placement + }); + var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets2)); + var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; + var overflowOffsets = { + top: clippingClientRect.top - elementClientRect.top + paddingObject.top, + bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, + left: clippingClientRect.left - elementClientRect.left + paddingObject.left, + right: elementClientRect.right - clippingClientRect.right + paddingObject.right + }; + var offsetData = state.modifiersData.offset; + if (elementContext === popper && offsetData) { + var offset2 = offsetData[placement]; + Object.keys(overflowOffsets).forEach(function(key) { + var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; + var axis = [top, bottom].indexOf(key) >= 0 ? "y" : "x"; + overflowOffsets[key] += offset2[axis] * multiply; + }); + } + return overflowOffsets; + } + + // node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js + function computeAutoPlacement(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; + var variation = getVariation(placement); + var placements2 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function(placement2) { + return getVariation(placement2) === variation; + }) : basePlacements; + var allowedPlacements = placements2.filter(function(placement2) { + return allowedAutoPlacements.indexOf(placement2) >= 0; + }); + if (allowedPlacements.length === 0) { + allowedPlacements = placements2; + } + var overflows = allowedPlacements.reduce(function(acc, placement2) { + acc[placement2] = detectOverflow(state, { + placement: placement2, + boundary, + rootBoundary, + padding + })[getBasePlacement(placement2)]; + return acc; + }, {}); + return Object.keys(overflows).sort(function(a, b) { + return overflows[a] - overflows[b]; + }); + } + + // node_modules/@popperjs/core/lib/modifiers/flip.js + function getExpandedFallbackPlacements(placement) { + if (getBasePlacement(placement) === auto) { + return []; + } + var oppositePlacement = getOppositePlacement(placement); + return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; + } + function flip(_ref) { + var state = _ref.state, options = _ref.options, name = _ref.name; + if (state.modifiersData[name]._skip) { + return; + } + var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, specifiedFallbackPlacements = options.fallbackPlacements, padding = options.padding, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, allowedAutoPlacements = options.allowedAutoPlacements; + var preferredPlacement = state.options.placement; + var basePlacement = getBasePlacement(preferredPlacement); + var isBasePlacement = basePlacement === preferredPlacement; + var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); + var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function(acc, placement2) { + return acc.concat(getBasePlacement(placement2) === auto ? computeAutoPlacement(state, { + placement: placement2, + boundary, + rootBoundary, + padding, + flipVariations, + allowedAutoPlacements + }) : placement2); + }, []); + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var checksMap = /* @__PURE__ */ new Map(); + var makeFallbackChecks = true; + var firstFittingPlacement = placements2[0]; + for (var i = 0; i < placements2.length; i++) { + var placement = placements2[i]; + var _basePlacement = getBasePlacement(placement); + var isStartVariation = getVariation(placement) === start; + var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; + var len = isVertical ? "width" : "height"; + var overflow = detectOverflow(state, { + placement, + boundary, + rootBoundary, + altBoundary, + padding + }); + var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; + if (referenceRect[len] > popperRect[len]) { + mainVariationSide = getOppositePlacement(mainVariationSide); + } + var altVariationSide = getOppositePlacement(mainVariationSide); + var checks = []; + if (checkMainAxis) { + checks.push(overflow[_basePlacement] <= 0); + } + if (checkAltAxis) { + checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); + } + if (checks.every(function(check) { + return check; + })) { + firstFittingPlacement = placement; + makeFallbackChecks = false; + break; + } + checksMap.set(placement, checks); + } + if (makeFallbackChecks) { + var numberOfChecks = flipVariations ? 3 : 1; + var _loop = function _loop2(_i2) { + var fittingPlacement = placements2.find(function(placement2) { + var checks2 = checksMap.get(placement2); + if (checks2) { + return checks2.slice(0, _i2).every(function(check) { + return check; + }); + } + }); + if (fittingPlacement) { + firstFittingPlacement = fittingPlacement; + return "break"; + } + }; + for (var _i = numberOfChecks; _i > 0; _i--) { + var _ret = _loop(_i); + if (_ret === "break") break; + } + } + if (state.placement !== firstFittingPlacement) { + state.modifiersData[name]._skip = true; + state.placement = firstFittingPlacement; + state.reset = true; + } + } + var flip_default = { + name: "flip", + enabled: true, + phase: "main", + fn: flip, + requiresIfExists: ["offset"], + data: { + _skip: false + } + }; + + // node_modules/@popperjs/core/lib/modifiers/hide.js + function getSideOffsets(overflow, rect2, preventedOffsets) { + if (preventedOffsets === void 0) { + preventedOffsets = { + x: 0, + y: 0 + }; + } + return { + top: overflow.top - rect2.height - preventedOffsets.y, + right: overflow.right - rect2.width + preventedOffsets.x, + bottom: overflow.bottom - rect2.height + preventedOffsets.y, + left: overflow.left - rect2.width - preventedOffsets.x + }; + } + function isAnySideFullyClipped(overflow) { + return [top, right, bottom, left].some(function(side) { + return overflow[side] >= 0; + }); + } + function hide(_ref) { + var state = _ref.state, name = _ref.name; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var preventedOffsets = state.modifiersData.preventOverflow; + var referenceOverflow = detectOverflow(state, { + elementContext: "reference" + }); + var popperAltOverflow = detectOverflow(state, { + altBoundary: true + }); + var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); + var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); + var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); + var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); + state.modifiersData[name] = { + referenceClippingOffsets, + popperEscapeOffsets, + isReferenceHidden, + hasPopperEscaped + }; + state.attributes.popper = Object.assign({}, state.attributes.popper, { + "data-popper-reference-hidden": isReferenceHidden, + "data-popper-escaped": hasPopperEscaped + }); + } + var hide_default = { + name: "hide", + enabled: true, + phase: "main", + requiresIfExists: ["preventOverflow"], + fn: hide + }; + + // node_modules/@popperjs/core/lib/modifiers/offset.js + function distanceAndSkiddingToXY(placement, rects, offset2) { + var basePlacement = getBasePlacement(placement); + var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; + var _ref = typeof offset2 === "function" ? offset2(Object.assign({}, rects, { + placement + })) : offset2, skidding = _ref[0], distance = _ref[1]; + skidding = skidding || 0; + distance = (distance || 0) * invertDistance; + return [left, right].indexOf(basePlacement) >= 0 ? { + x: distance, + y: skidding + } : { + x: skidding, + y: distance + }; + } + function offset(_ref2) { + var state = _ref2.state, options = _ref2.options, name = _ref2.name; + var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset; + var data = placements.reduce(function(acc, placement) { + acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2); + return acc; + }, {}); + var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y; + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + state.modifiersData[name] = data; + } + var offset_default = { + name: "offset", + enabled: true, + phase: "main", + requires: ["popperOffsets"], + fn: offset + }; + + // node_modules/@popperjs/core/lib/modifiers/popperOffsets.js + function popperOffsets(_ref) { + var state = _ref.state, name = _ref.name; + state.modifiersData[name] = computeOffsets({ + reference: state.rects.reference, + element: state.rects.popper, + strategy: "absolute", + placement: state.placement + }); + } + var popperOffsets_default = { + name: "popperOffsets", + enabled: true, + phase: "read", + fn: popperOffsets, + data: {} + }; + + // node_modules/@popperjs/core/lib/utils/getAltAxis.js + function getAltAxis(axis) { + return axis === "x" ? "y" : "x"; + } + + // node_modules/@popperjs/core/lib/modifiers/preventOverflow.js + function preventOverflow(_ref) { + var state = _ref.state, options = _ref.options, name = _ref.name; + var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, padding = options.padding, _options$tether = options.tether, tether = _options$tether === void 0 ? true : _options$tether, _options$tetherOffset = options.tetherOffset, tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; + var overflow = detectOverflow(state, { + boundary, + rootBoundary, + padding, + altBoundary + }); + var basePlacement = getBasePlacement(state.placement); + var variation = getVariation(state.placement); + var isBasePlacement = !variation; + var mainAxis = getMainAxisFromPlacement(basePlacement); + var altAxis = getAltAxis(mainAxis); + var popperOffsets2 = state.modifiersData.popperOffsets; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var tetherOffsetValue = typeof tetherOffset === "function" ? tetherOffset(Object.assign({}, state.rects, { + placement: state.placement + })) : tetherOffset; + var normalizedTetherOffsetValue = typeof tetherOffsetValue === "number" ? { + mainAxis: tetherOffsetValue, + altAxis: tetherOffsetValue + } : Object.assign({ + mainAxis: 0, + altAxis: 0 + }, tetherOffsetValue); + var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; + var data = { + x: 0, + y: 0 + }; + if (!popperOffsets2) { + return; + } + if (checkMainAxis) { + var _offsetModifierState$; + var mainSide = mainAxis === "y" ? top : left; + var altSide = mainAxis === "y" ? bottom : right; + var len = mainAxis === "y" ? "height" : "width"; + var offset2 = popperOffsets2[mainAxis]; + var min3 = offset2 + overflow[mainSide]; + var max3 = offset2 - overflow[altSide]; + var additive = tether ? -popperRect[len] / 2 : 0; + var minLen = variation === start ? referenceRect[len] : popperRect[len]; + var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; + var arrowElement = state.elements.arrow; + var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { + width: 0, + height: 0 + }; + var arrowPaddingObject = state.modifiersData["arrow#persistent"] ? state.modifiersData["arrow#persistent"].padding : getFreshSideObject(); + var arrowPaddingMin = arrowPaddingObject[mainSide]; + var arrowPaddingMax = arrowPaddingObject[altSide]; + var arrowLen = within(0, referenceRect[len], arrowRect[len]); + var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; + var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; + var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); + var clientOffset = arrowOffsetParent ? mainAxis === "y" ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; + var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; + var tetherMin = offset2 + minOffset - offsetModifierValue - clientOffset; + var tetherMax = offset2 + maxOffset - offsetModifierValue; + var preventedOffset = within(tether ? min(min3, tetherMin) : min3, offset2, tether ? max(max3, tetherMax) : max3); + popperOffsets2[mainAxis] = preventedOffset; + data[mainAxis] = preventedOffset - offset2; + } + if (checkAltAxis) { + var _offsetModifierState$2; + var _mainSide = mainAxis === "x" ? top : left; + var _altSide = mainAxis === "x" ? bottom : right; + var _offset = popperOffsets2[altAxis]; + var _len = altAxis === "y" ? "height" : "width"; + var _min = _offset + overflow[_mainSide]; + var _max = _offset - overflow[_altSide]; + var isOriginSide = [top, left].indexOf(basePlacement) !== -1; + var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; + var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; + var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; + var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); + popperOffsets2[altAxis] = _preventedOffset; + data[altAxis] = _preventedOffset - _offset; + } + state.modifiersData[name] = data; + } + var preventOverflow_default = { + name: "preventOverflow", + enabled: true, + phase: "main", + fn: preventOverflow, + requiresIfExists: ["offset"] + }; + + // node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js + function getHTMLElementScroll(element) { + return { + scrollLeft: element.scrollLeft, + scrollTop: element.scrollTop + }; + } + + // node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js + function getNodeScroll(node) { + if (node === getWindow(node) || !isHTMLElement(node)) { + return getWindowScroll(node); + } else { + return getHTMLElementScroll(node); + } + } + + // node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js + function isElementScaled(element) { + var rect2 = element.getBoundingClientRect(); + var scaleX = round(rect2.width) / element.offsetWidth || 1; + var scaleY = round(rect2.height) / element.offsetHeight || 1; + return scaleX !== 1 || scaleY !== 1; + } + function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { + if (isFixed === void 0) { + isFixed = false; + } + var isOffsetParentAnElement = isHTMLElement(offsetParent); + var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); + var documentElement = getDocumentElement(offsetParent); + var rect2 = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed); + var scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + var offsets = { + x: 0, + y: 0 + }; + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== "body" || // https://github.com/popperjs/popper-core/issues/1078 + isScrollParent(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + if (isHTMLElement(offsetParent)) { + offsets = getBoundingClientRect(offsetParent, true); + offsets.x += offsetParent.clientLeft; + offsets.y += offsetParent.clientTop; + } else if (documentElement) { + offsets.x = getWindowScrollBarX(documentElement); + } + } + return { + x: rect2.left + scroll.scrollLeft - offsets.x, + y: rect2.top + scroll.scrollTop - offsets.y, + width: rect2.width, + height: rect2.height + }; + } + + // node_modules/@popperjs/core/lib/utils/orderModifiers.js + function order(modifiers) { + var map = /* @__PURE__ */ new Map(); + var visited = /* @__PURE__ */ new Set(); + var result = []; + modifiers.forEach(function(modifier) { + map.set(modifier.name, modifier); + }); + function sort(modifier) { + visited.add(modifier.name); + var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); + requires.forEach(function(dep) { + if (!visited.has(dep)) { + var depModifier = map.get(dep); + if (depModifier) { + sort(depModifier); + } + } + }); + result.push(modifier); + } + modifiers.forEach(function(modifier) { + if (!visited.has(modifier.name)) { + sort(modifier); + } + }); + return result; + } + function orderModifiers(modifiers) { + var orderedModifiers = order(modifiers); + return modifierPhases.reduce(function(acc, phase) { + return acc.concat(orderedModifiers.filter(function(modifier) { + return modifier.phase === phase; + })); + }, []); + } + + // node_modules/@popperjs/core/lib/utils/debounce.js + function debounce(fn2) { + var pending; + return function() { + if (!pending) { + pending = new Promise(function(resolve) { + Promise.resolve().then(function() { + pending = void 0; + resolve(fn2()); + }); + }); + } + return pending; + }; + } + + // node_modules/@popperjs/core/lib/utils/mergeByName.js + function mergeByName(modifiers) { + var merged = modifiers.reduce(function(merged2, current) { + var existing = merged2[current.name]; + merged2[current.name] = existing ? Object.assign({}, existing, current, { + options: Object.assign({}, existing.options, current.options), + data: Object.assign({}, existing.data, current.data) + }) : current; + return merged2; + }, {}); + return Object.keys(merged).map(function(key) { + return merged[key]; + }); + } + + // node_modules/@popperjs/core/lib/createPopper.js + var DEFAULT_OPTIONS = { + placement: "bottom", + modifiers: [], + strategy: "absolute" + }; + function areValidElements() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return !args.some(function(element) { + return !(element && typeof element.getBoundingClientRect === "function"); + }); + } + function popperGenerator(generatorOptions) { + if (generatorOptions === void 0) { + generatorOptions = {}; + } + var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers3 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; + return function createPopper4(reference2, popper2, options) { + if (options === void 0) { + options = defaultOptions; + } + var state = { + placement: "bottom", + orderedModifiers: [], + options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), + modifiersData: {}, + elements: { + reference: reference2, + popper: popper2 + }, + attributes: {}, + styles: {} + }; + var effectCleanupFns = []; + var isDestroyed = false; + var instance = { + state, + setOptions: function setOptions(setOptionsAction) { + var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state.options) : setOptionsAction; + cleanupModifierEffects(); + state.options = Object.assign({}, defaultOptions, state.options, options2); + state.scrollParents = { + reference: isElement(reference2) ? listScrollParents(reference2) : reference2.contextElement ? listScrollParents(reference2.contextElement) : [], + popper: listScrollParents(popper2) + }; + var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers3, state.options.modifiers))); + state.orderedModifiers = orderedModifiers.filter(function(m) { + return m.enabled; + }); + runModifierEffects(); + return instance.update(); + }, + // Sync update – it will always be executed, even if not necessary. This + // is useful for low frequency updates where sync behavior simplifies the + // logic. + // For high frequency updates (e.g. `resize` and `scroll` events), always + // prefer the async Popper#update method + forceUpdate: function forceUpdate() { + if (isDestroyed) { + return; + } + var _state$elements = state.elements, reference3 = _state$elements.reference, popper3 = _state$elements.popper; + if (!areValidElements(reference3, popper3)) { + return; + } + state.rects = { + reference: getCompositeRect(reference3, getOffsetParent(popper3), state.options.strategy === "fixed"), + popper: getLayoutRect(popper3) + }; + state.reset = false; + state.placement = state.options.placement; + state.orderedModifiers.forEach(function(modifier) { + return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); + }); + for (var index = 0; index < state.orderedModifiers.length; index++) { + if (state.reset === true) { + state.reset = false; + index = -1; + continue; + } + var _state$orderedModifie = state.orderedModifiers[index], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name; + if (typeof fn2 === "function") { + state = fn2({ + state, + options: _options, + name, + instance + }) || state; + } + } + }, + // Async and optimistically optimized update – it will not be executed if + // not necessary (debounced to run at most once-per-tick) + update: debounce(function() { + return new Promise(function(resolve) { + instance.forceUpdate(); + resolve(state); + }); + }), + destroy: function destroy() { + cleanupModifierEffects(); + isDestroyed = true; + } + }; + if (!areValidElements(reference2, popper2)) { + return instance; + } + instance.setOptions(options).then(function(state2) { + if (!isDestroyed && options.onFirstUpdate) { + options.onFirstUpdate(state2); + } + }); + function runModifierEffects() { + state.orderedModifiers.forEach(function(_ref) { + var name = _ref.name, _ref$options = _ref.options, options2 = _ref$options === void 0 ? {} : _ref$options, effect4 = _ref.effect; + if (typeof effect4 === "function") { + var cleanupFn = effect4({ + state, + name, + instance, + options: options2 + }); + var noopFn = function noopFn2() { + }; + effectCleanupFns.push(cleanupFn || noopFn); + } + }); + } + function cleanupModifierEffects() { + effectCleanupFns.forEach(function(fn2) { + return fn2(); + }); + effectCleanupFns = []; + } + return instance; + }; + } + var createPopper = /* @__PURE__ */ popperGenerator(); + + // node_modules/@popperjs/core/lib/popper-lite.js + var defaultModifiers = [eventListeners_default, popperOffsets_default, computeStyles_default, applyStyles_default]; + var createPopper2 = /* @__PURE__ */ popperGenerator({ + defaultModifiers + }); + + // node_modules/@popperjs/core/lib/popper.js + var defaultModifiers2 = [eventListeners_default, popperOffsets_default, computeStyles_default, applyStyles_default, offset_default, flip_default, preventOverflow_default, arrow_default, hide_default]; + var createPopper3 = /* @__PURE__ */ popperGenerator({ + defaultModifiers: defaultModifiers2 + }); + + // node_modules/bootstrap/dist/js/bootstrap.esm.js + var elementMap = /* @__PURE__ */ new Map(); + var Data = { + set(element, key, instance) { + if (!elementMap.has(element)) { + elementMap.set(element, /* @__PURE__ */ new Map()); + } + const instanceMap = elementMap.get(element); + if (!instanceMap.has(key) && instanceMap.size !== 0) { + console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); + return; + } + instanceMap.set(key, instance); + }, + get(element, key) { + if (elementMap.has(element)) { + return elementMap.get(element).get(key) || null; + } + return null; + }, + remove(element, key) { + if (!elementMap.has(element)) { + return; + } + const instanceMap = elementMap.get(element); + instanceMap.delete(key); + if (instanceMap.size === 0) { + elementMap.delete(element); + } + } + }; + var MAX_UID = 1e6; + var MILLISECONDS_MULTIPLIER = 1e3; + var TRANSITION_END = "transitionend"; + var parseSelector = (selector) => { + if (selector && window.CSS && window.CSS.escape) { + selector = selector.replace(/#([^\s"#']+)/g, (match, id) => `#${CSS.escape(id)}`); + } + return selector; + }; + var toType = (object) => { + if (object === null || object === void 0) { + return `${object}`; + } + return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase(); + }; + var getUID = (prefix) => { + do { + prefix += Math.floor(Math.random() * MAX_UID); + } while (document.getElementById(prefix)); + return prefix; + }; + var getTransitionDurationFromElement = (element) => { + if (!element) { + return 0; + } + let { + transitionDuration, + transitionDelay + } = window.getComputedStyle(element); + const floatTransitionDuration = Number.parseFloat(transitionDuration); + const floatTransitionDelay = Number.parseFloat(transitionDelay); + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } + transitionDuration = transitionDuration.split(",")[0]; + transitionDelay = transitionDelay.split(",")[0]; + return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; + }; + var triggerTransitionEnd = (element) => { + element.dispatchEvent(new Event(TRANSITION_END)); + }; + var isElement2 = (object) => { + if (!object || typeof object !== "object") { + return false; + } + if (typeof object.jquery !== "undefined") { + object = object[0]; + } + return typeof object.nodeType !== "undefined"; + }; + var getElement = (object) => { + if (isElement2(object)) { + return object.jquery ? object[0] : object; + } + if (typeof object === "string" && object.length > 0) { + return document.querySelector(parseSelector(object)); + } + return null; + }; + var isVisible = (element) => { + if (!isElement2(element) || element.getClientRects().length === 0) { + return false; + } + const elementIsVisible = getComputedStyle(element).getPropertyValue("visibility") === "visible"; + const closedDetails = element.closest("details:not([open])"); + if (!closedDetails) { + return elementIsVisible; + } + if (closedDetails !== element) { + const summary = element.closest("summary"); + if (summary && summary.parentNode !== closedDetails) { + return false; + } + if (summary === null) { + return false; + } + } + return elementIsVisible; + }; + var isDisabled = (element) => { + if (!element || element.nodeType !== Node.ELEMENT_NODE) { + return true; + } + if (element.classList.contains("disabled")) { + return true; + } + if (typeof element.disabled !== "undefined") { + return element.disabled; + } + return element.hasAttribute("disabled") && element.getAttribute("disabled") !== "false"; + }; + var findShadowRoot = (element) => { + if (!document.documentElement.attachShadow) { + return null; + } + if (typeof element.getRootNode === "function") { + const root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + if (element instanceof ShadowRoot) { + return element; + } + if (!element.parentNode) { + return null; + } + return findShadowRoot(element.parentNode); + }; + var noop = () => { + }; + var reflow = (element) => { + element.offsetHeight; + }; + var getjQuery = () => { + if (window.jQuery && !document.body.hasAttribute("data-bs-no-jquery")) { + return window.jQuery; + } + return null; + }; + var DOMContentLoadedCallbacks = []; + var onDOMContentLoaded = (callback) => { + if (document.readyState === "loading") { + if (!DOMContentLoadedCallbacks.length) { + document.addEventListener("DOMContentLoaded", () => { + for (const callback2 of DOMContentLoadedCallbacks) { + callback2(); + } + }); + } + DOMContentLoadedCallbacks.push(callback); + } else { + callback(); + } + }; + var isRTL = () => document.documentElement.dir === "rtl"; + var defineJQueryPlugin = (plugin) => { + onDOMContentLoaded(() => { + const $ = getjQuery(); + if ($) { + const name = plugin.NAME; + const JQUERY_NO_CONFLICT = $.fn[name]; + $.fn[name] = plugin.jQueryInterface; + $.fn[name].Constructor = plugin; + $.fn[name].noConflict = () => { + $.fn[name] = JQUERY_NO_CONFLICT; + return plugin.jQueryInterface; + }; + } + }); + }; + var execute = (possibleCallback, args = [], defaultValue = possibleCallback) => { + return typeof possibleCallback === "function" ? possibleCallback.call(...args) : defaultValue; + }; + var executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { + if (!waitForTransition) { + execute(callback); + return; + } + const durationPadding = 5; + const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; + let called = false; + const handler = ({ + target + }) => { + if (target !== transitionElement) { + return; + } + called = true; + transitionElement.removeEventListener(TRANSITION_END, handler); + execute(callback); + }; + transitionElement.addEventListener(TRANSITION_END, handler); + setTimeout(() => { + if (!called) { + triggerTransitionEnd(transitionElement); + } + }, emulatedDuration); + }; + var getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { + const listLength = list.length; + let index = list.indexOf(activeElement); + if (index === -1) { + return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]; + } + index += shouldGetNext ? 1 : -1; + if (isCycleAllowed) { + index = (index + listLength) % listLength; + } + return list[Math.max(0, Math.min(index, listLength - 1))]; + }; + var namespaceRegex = /[^.]*(?=\..*)\.|.*/; + var stripNameRegex = /\..*/; + var stripUidRegex = /::\d+$/; + var eventRegistry = {}; + var uidEvent = 1; + var customEvents = { + mouseenter: "mouseover", + mouseleave: "mouseout" + }; + var nativeEvents = /* @__PURE__ */ 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 makeEventUid(element, uid) { + return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; + } + function getElementEvents(element) { + const uid = makeEventUid(element); + element.uidEvent = uid; + eventRegistry[uid] = eventRegistry[uid] || {}; + return eventRegistry[uid]; + } + function bootstrapHandler(element, fn2) { + return function handler(event) { + hydrateObj(event, { + delegateTarget: element + }); + if (handler.oneOff) { + EventHandler.off(element, event.type, fn2); + } + return fn2.apply(element, [event]); + }; + } + function bootstrapDelegationHandler(element, selector, fn2) { + return function handler(event) { + const domElements = element.querySelectorAll(selector); + for (let { + target + } = event; target && target !== this; target = target.parentNode) { + for (const domElement of domElements) { + if (domElement !== target) { + continue; + } + hydrateObj(event, { + delegateTarget: target + }); + if (handler.oneOff) { + EventHandler.off(element, event.type, selector, fn2); + } + return fn2.apply(target, [event]); + } + } + }; + } + function findHandler(events, callable, delegationSelector = null) { + return Object.values(events).find((event) => event.callable === callable && event.delegationSelector === delegationSelector); + } + function normalizeParameters(originalTypeEvent, handler, delegationFunction) { + const isDelegated = typeof handler === "string"; + const callable = isDelegated ? delegationFunction : handler || delegationFunction; + let typeEvent = getTypeEvent(originalTypeEvent); + if (!nativeEvents.has(typeEvent)) { + typeEvent = originalTypeEvent; + } + return [isDelegated, callable, typeEvent]; + } + function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { + if (typeof originalTypeEvent !== "string" || !element) { + return; + } + let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + if (originalTypeEvent in customEvents) { + const wrapFunction = (fn3) => { + return function(event) { + if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { + return fn3.call(this, event); + } + }; + }; + callable = wrapFunction(callable); + } + const events = getElementEvents(element); + const handlers = events[typeEvent] || (events[typeEvent] = {}); + const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null); + if (previousFunction) { + previousFunction.oneOff = previousFunction.oneOff && oneOff; + return; + } + const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, "")); + const fn2 = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable); + fn2.delegationSelector = isDelegated ? handler : null; + fn2.callable = callable; + fn2.oneOff = oneOff; + fn2.uidEvent = uid; + handlers[uid] = fn2; + element.addEventListener(typeEvent, fn2, isDelegated); + } + function removeHandler(element, events, typeEvent, handler, delegationSelector) { + const fn2 = findHandler(events[typeEvent], handler, delegationSelector); + if (!fn2) { + return; + } + element.removeEventListener(typeEvent, fn2, Boolean(delegationSelector)); + delete events[typeEvent][fn2.uidEvent]; + } + function removeNamespacedHandlers(element, events, typeEvent, namespace) { + const storeElementEvent = events[typeEvent] || {}; + for (const [handlerKey, event] of Object.entries(storeElementEvent)) { + if (handlerKey.includes(namespace)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } + } + function getTypeEvent(event) { + event = event.replace(stripNameRegex, ""); + return customEvents[event] || event; + } + var EventHandler = { + on(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, false); + }, + one(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, true); + }, + off(element, originalTypeEvent, handler, delegationFunction) { + if (typeof originalTypeEvent !== "string" || !element) { + return; + } + const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + const inNamespace = typeEvent !== originalTypeEvent; + const events = getElementEvents(element); + const storeElementEvent = events[typeEvent] || {}; + const isNamespace = originalTypeEvent.startsWith("."); + if (typeof callable !== "undefined") { + if (!Object.keys(storeElementEvent).length) { + return; + } + removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null); + return; + } + if (isNamespace) { + for (const elementEvent of Object.keys(events)) { + removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); + } + } + for (const [keyHandlers, event] of Object.entries(storeElementEvent)) { + const handlerKey = keyHandlers.replace(stripUidRegex, ""); + if (!inNamespace || originalTypeEvent.includes(handlerKey)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } + }, + trigger(element, event, args) { + if (typeof event !== "string" || !element) { + return null; + } + const $ = getjQuery(); + const typeEvent = getTypeEvent(event); + const inNamespace = event !== typeEvent; + let jQueryEvent = null; + let bubbles = true; + let nativeDispatch = true; + let defaultPrevented = false; + if (inNamespace && $) { + jQueryEvent = $.Event(event, args); + $(element).trigger(jQueryEvent); + bubbles = !jQueryEvent.isPropagationStopped(); + nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); + defaultPrevented = jQueryEvent.isDefaultPrevented(); + } + const evt = hydrateObj(new Event(event, { + bubbles, + cancelable: true + }), args); + if (defaultPrevented) { + evt.preventDefault(); + } + if (nativeDispatch) { + element.dispatchEvent(evt); + } + if (evt.defaultPrevented && jQueryEvent) { + jQueryEvent.preventDefault(); + } + return evt; + } + }; + function hydrateObj(obj, meta = {}) { + for (const [key, value] of Object.entries(meta)) { + try { + obj[key] = value; + } catch (_unused) { + Object.defineProperty(obj, key, { + configurable: true, + get() { + return value; + } + }); + } + } + return obj; + } + function normalizeData(value) { + if (value === "true") { + return true; + } + if (value === "false") { + return false; + } + if (value === Number(value).toString()) { + return Number(value); + } + if (value === "" || value === "null") { + return null; + } + if (typeof value !== "string") { + return value; + } + try { + return JSON.parse(decodeURIComponent(value)); + } catch (_unused) { + return value; + } + } + function normalizeDataKey(key) { + return key.replace(/[A-Z]/g, (chr) => `-${chr.toLowerCase()}`); + } + var Manipulator = { + setDataAttribute(element, key, value) { + element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value); + }, + removeDataAttribute(element, key) { + element.removeAttribute(`data-bs-${normalizeDataKey(key)}`); + }, + getDataAttributes(element) { + if (!element) { + return {}; + } + const attributes = {}; + const bsKeys = Object.keys(element.dataset).filter((key) => key.startsWith("bs") && !key.startsWith("bsConfig")); + for (const key of bsKeys) { + let pureKey = key.replace(/^bs/, ""); + pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1); + attributes[pureKey] = normalizeData(element.dataset[key]); + } + return attributes; + }, + getDataAttribute(element, key) { + return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`)); + } + }; + var Config = class { + // Getters + 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(config) { + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + return config; + } + _mergeConfigObj(config, element) { + const jsonConfig = isElement2(element) ? Manipulator.getDataAttribute(element, "config") : {}; + return { + ...this.constructor.Default, + ...typeof jsonConfig === "object" ? jsonConfig : {}, + ...isElement2(element) ? Manipulator.getDataAttributes(element) : {}, + ...typeof config === "object" ? config : {} + }; + } + _typeCheckConfig(config, configTypes = this.constructor.DefaultType) { + for (const [property, expectedTypes] of Object.entries(configTypes)) { + const value = config[property]; + const valueType = isElement2(value) ? "element" : toType(value); + if (!new RegExp(expectedTypes).test(valueType)) { + throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); + } + } + } + }; + var VERSION = "5.3.8"; + var BaseComponent = class extends Config { + constructor(element, config) { + super(); + element = getElement(element); + if (!element) { + return; + } + this._element = element; + this._config = this._getConfig(config); + Data.set(this._element, this.constructor.DATA_KEY, this); + } + // Public + dispose() { + Data.remove(this._element, this.constructor.DATA_KEY); + EventHandler.off(this._element, this.constructor.EVENT_KEY); + for (const propertyName of Object.getOwnPropertyNames(this)) { + this[propertyName] = null; + } + } + // Private + _queueCallback(callback, element, isAnimated = true) { + executeAfterTransition(callback, element, isAnimated); + } + _getConfig(config) { + config = this._mergeConfigObj(config, this._element); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + // Static + static getInstance(element) { + return Data.get(getElement(element), this.DATA_KEY); + } + static getOrCreateInstance(element, config = {}) { + return this.getInstance(element) || new this(element, typeof config === "object" ? config : null); + } + static get VERSION() { + return VERSION; + } + static get DATA_KEY() { + return `bs.${this.NAME}`; + } + static get EVENT_KEY() { + return `.${this.DATA_KEY}`; + } + static eventName(name) { + return `${name}${this.EVENT_KEY}`; + } + }; + var getSelector = (element) => { + let selector = element.getAttribute("data-bs-target"); + if (!selector || selector === "#") { + let hrefAttribute = element.getAttribute("href"); + if (!hrefAttribute || !hrefAttribute.includes("#") && !hrefAttribute.startsWith(".")) { + return null; + } + if (hrefAttribute.includes("#") && !hrefAttribute.startsWith("#")) { + hrefAttribute = `#${hrefAttribute.split("#")[1]}`; + } + selector = hrefAttribute && hrefAttribute !== "#" ? hrefAttribute.trim() : null; + } + return selector ? selector.split(",").map((sel) => parseSelector(sel)).join(",") : null; + }; + var SelectorEngine = { + find(selector, element = document.documentElement) { + return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); + }, + findOne(selector, element = document.documentElement) { + return Element.prototype.querySelector.call(element, selector); + }, + children(element, selector) { + return [].concat(...element.children).filter((child2) => child2.matches(selector)); + }, + parents(element, selector) { + const parents = []; + let ancestor = element.parentNode.closest(selector); + while (ancestor) { + parents.push(ancestor); + ancestor = ancestor.parentNode.closest(selector); + } + return parents; + }, + prev(element, selector) { + let previous = element.previousElementSibling; + while (previous) { + if (previous.matches(selector)) { + return [previous]; + } + previous = previous.previousElementSibling; + } + return []; + }, + // TODO: this is now unused; remove later along with prev() + next(element, selector) { + let next = element.nextElementSibling; + while (next) { + if (next.matches(selector)) { + return [next]; + } + next = next.nextElementSibling; + } + return []; + }, + focusableChildren(element) { + const focusables = ["a", "button", "input", "textarea", "select", "details", "[tabindex]", '[contenteditable="true"]'].map((selector) => `${selector}:not([tabindex^="-"])`).join(","); + return this.find(focusables, element).filter((el) => !isDisabled(el) && isVisible(el)); + }, + getSelectorFromElement(element) { + const selector = getSelector(element); + if (selector) { + return SelectorEngine.findOne(selector) ? selector : null; + } + return null; + }, + getElementFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.findOne(selector) : null; + }, + getMultipleElementsFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.find(selector) : []; + } + }; + var enableDismissTrigger = (component, method = "hide") => { + const clickEvent = `click.dismiss${component.EVENT_KEY}`; + const name = component.NAME; + EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function(event) { + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`); + const instance = component.getOrCreateInstance(target); + instance[method](); + }); + }; + var NAME$f = "alert"; + var DATA_KEY$a = "bs.alert"; + var EVENT_KEY$b = `.${DATA_KEY$a}`; + var EVENT_CLOSE = `close${EVENT_KEY$b}`; + var EVENT_CLOSED = `closed${EVENT_KEY$b}`; + var CLASS_NAME_FADE$5 = "fade"; + var CLASS_NAME_SHOW$8 = "show"; + var Alert = class _Alert extends BaseComponent { + // Getters + static get NAME() { + return NAME$f; + } + // Public + close() { + const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); + if (closeEvent.defaultPrevented) { + return; + } + this._element.classList.remove(CLASS_NAME_SHOW$8); + const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); + this._queueCallback(() => this._destroyElement(), this._element, isAnimated); + } + // Private + _destroyElement() { + this._element.remove(); + EventHandler.trigger(this._element, EVENT_CLOSED); + this.dispose(); + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Alert.getOrCreateInstance(this); + if (typeof config !== "string") { + return; + } + if (data[config] === void 0 || config.startsWith("_") || config === "constructor") { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + }); + } + }; + enableDismissTrigger(Alert, "close"); + defineJQueryPlugin(Alert); + var NAME$e = "button"; + var DATA_KEY$9 = "bs.button"; + var EVENT_KEY$a = `.${DATA_KEY$9}`; + var DATA_API_KEY$6 = ".data-api"; + var CLASS_NAME_ACTIVE$3 = "active"; + var SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]'; + var EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; + var Button = class _Button extends BaseComponent { + // Getters + static get NAME() { + return NAME$e; + } + // Public + toggle() { + this._element.setAttribute("aria-pressed", this._element.classList.toggle(CLASS_NAME_ACTIVE$3)); + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Button.getOrCreateInstance(this); + if (config === "toggle") { + data[config](); + } + }); + } + }; + EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, (event) => { + event.preventDefault(); + const button = event.target.closest(SELECTOR_DATA_TOGGLE$5); + const data = Button.getOrCreateInstance(button); + data.toggle(); + }); + defineJQueryPlugin(Button); + var NAME$d = "swipe"; + var EVENT_KEY$9 = ".bs.swipe"; + var EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`; + var EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`; + var EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`; + var EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`; + var EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`; + var POINTER_TYPE_TOUCH = "touch"; + var POINTER_TYPE_PEN = "pen"; + var CLASS_NAME_POINTER_EVENT = "pointer-event"; + var SWIPE_THRESHOLD = 40; + var Default$c = { + endCallback: null, + leftCallback: null, + rightCallback: null + }; + var DefaultType$c = { + endCallback: "(function|null)", + leftCallback: "(function|null)", + rightCallback: "(function|null)" + }; + var Swipe = class _Swipe extends Config { + constructor(element, config) { + super(); + this._element = element; + if (!element || !_Swipe.isSupported()) { + return; + } + this._config = this._getConfig(config); + this._deltaX = 0; + this._supportPointerEvents = Boolean(window.PointerEvent); + this._initEvents(); + } + // Getters + static get Default() { + return Default$c; + } + static get DefaultType() { + return DefaultType$c; + } + static get NAME() { + return NAME$d; + } + // Public + dispose() { + EventHandler.off(this._element, EVENT_KEY$9); + } + // Private + _start(event) { + if (!this._supportPointerEvents) { + this._deltaX = event.touches[0].clientX; + return; + } + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX; + } + } + _end(event) { + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX - this._deltaX; + } + this._handleSwipe(); + execute(this._config.endCallback); + } + _move(event) { + this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX; + } + _handleSwipe() { + const absDeltaX = Math.abs(this._deltaX); + if (absDeltaX <= SWIPE_THRESHOLD) { + return; + } + const direction = absDeltaX / this._deltaX; + this._deltaX = 0; + if (!direction) { + return; + } + execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback); + } + _initEvents() { + if (this._supportPointerEvents) { + EventHandler.on(this._element, EVENT_POINTERDOWN, (event) => this._start(event)); + EventHandler.on(this._element, EVENT_POINTERUP, (event) => this._end(event)); + this._element.classList.add(CLASS_NAME_POINTER_EVENT); + } else { + EventHandler.on(this._element, EVENT_TOUCHSTART, (event) => this._start(event)); + EventHandler.on(this._element, EVENT_TOUCHMOVE, (event) => this._move(event)); + EventHandler.on(this._element, EVENT_TOUCHEND, (event) => this._end(event)); + } + } + _eventIsPointerPenTouch(event) { + return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); + } + // Static + static isSupported() { + return "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0; + } + }; + var NAME$c = "carousel"; + var DATA_KEY$8 = "bs.carousel"; + var EVENT_KEY$8 = `.${DATA_KEY$8}`; + var DATA_API_KEY$5 = ".data-api"; + var ARROW_LEFT_KEY$1 = "ArrowLeft"; + var ARROW_RIGHT_KEY$1 = "ArrowRight"; + var TOUCHEVENT_COMPAT_WAIT = 500; + var ORDER_NEXT = "next"; + var ORDER_PREV = "prev"; + var DIRECTION_LEFT = "left"; + var DIRECTION_RIGHT = "right"; + var EVENT_SLIDE = `slide${EVENT_KEY$8}`; + var EVENT_SLID = `slid${EVENT_KEY$8}`; + var EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`; + var EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`; + var EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`; + var EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`; + var EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`; + var EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`; + var CLASS_NAME_CAROUSEL = "carousel"; + var CLASS_NAME_ACTIVE$2 = "active"; + var CLASS_NAME_SLIDE = "slide"; + var CLASS_NAME_END = "carousel-item-end"; + var CLASS_NAME_START = "carousel-item-start"; + var CLASS_NAME_NEXT = "carousel-item-next"; + var CLASS_NAME_PREV = "carousel-item-prev"; + var SELECTOR_ACTIVE = ".active"; + var SELECTOR_ITEM = ".carousel-item"; + var SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM; + var SELECTOR_ITEM_IMG = ".carousel-item img"; + var SELECTOR_INDICATORS = ".carousel-indicators"; + var SELECTOR_DATA_SLIDE = "[data-bs-slide], [data-bs-slide-to]"; + var SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]'; + var KEY_TO_DIRECTION = { + [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT, + [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT + }; + var Default$b = { + interval: 5e3, + keyboard: true, + pause: "hover", + ride: false, + touch: true, + wrap: true + }; + var DefaultType$b = { + interval: "(number|boolean)", + // TODO:v6 remove boolean support + keyboard: "boolean", + pause: "(string|boolean)", + ride: "(boolean|string)", + touch: "boolean", + wrap: "boolean" + }; + var Carousel = class _Carousel extends BaseComponent { + constructor(element, config) { + super(element, config); + this._interval = null; + this._activeElement = null; + this._isSliding = false; + this.touchTimeout = null; + this._swipeHelper = null; + this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); + this._addEventListeners(); + if (this._config.ride === CLASS_NAME_CAROUSEL) { + this.cycle(); + } + } + // Getters + static get Default() { + return Default$b; + } + static get DefaultType() { + return DefaultType$b; + } + static get NAME() { + return NAME$c; + } + // Public + next() { + this._slide(ORDER_NEXT); + } + nextWhenVisible() { + if (!document.hidden && isVisible(this._element)) { + this.next(); + } + } + prev() { + this._slide(ORDER_PREV); + } + pause() { + if (this._isSliding) { + triggerTransitionEnd(this._element); + } + this._clearInterval(); + } + cycle() { + this._clearInterval(); + this._updateInterval(); + this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval); + } + _maybeEnableCycle() { + if (!this._config.ride) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.cycle()); + return; + } + this.cycle(); + } + to(index) { + const items = this._getItems(); + if (index > items.length - 1 || index < 0) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); + return; + } + const activeIndex = this._getItemIndex(this._getActive()); + if (activeIndex === index) { + return; + } + const order2 = index > activeIndex ? ORDER_NEXT : ORDER_PREV; + this._slide(order2, items[index]); + } + dispose() { + if (this._swipeHelper) { + this._swipeHelper.dispose(); + } + super.dispose(); + } + // Private + _configAfterMerge(config) { + config.defaultInterval = config.interval; + return config; + } + _addEventListeners() { + if (this._config.keyboard) { + EventHandler.on(this._element, EVENT_KEYDOWN$1, (event) => this._keydown(event)); + } + if (this._config.pause === "hover") { + EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause()); + EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle()); + } + if (this._config.touch && Swipe.isSupported()) { + this._addTouchEventListeners(); + } + } + _addTouchEventListeners() { + for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) { + EventHandler.on(img, EVENT_DRAG_START, (event) => event.preventDefault()); + } + const endCallBack = () => { + if (this._config.pause !== "hover") { + return; + } + this.pause(); + if (this.touchTimeout) { + clearTimeout(this.touchTimeout); + } + this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval); + }; + const swipeConfig = { + leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)), + rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)), + endCallback: endCallBack + }; + this._swipeHelper = new Swipe(this._element, swipeConfig); + } + _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + const direction = KEY_TO_DIRECTION[event.key]; + if (direction) { + event.preventDefault(); + this._slide(this._directionToOrder(direction)); + } + } + _getItemIndex(element) { + return this._getItems().indexOf(element); + } + _setActiveIndicatorElement(index) { + if (!this._indicatorsElement) { + return; + } + const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement); + activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); + activeIndicator.removeAttribute("aria-current"); + const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement); + if (newActiveIndicator) { + newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2); + newActiveIndicator.setAttribute("aria-current", "true"); + } + } + _updateInterval() { + const element = this._activeElement || this._getActive(); + if (!element) { + return; + } + const elementInterval = Number.parseInt(element.getAttribute("data-bs-interval"), 10); + this._config.interval = elementInterval || this._config.defaultInterval; + } + _slide(order2, element = null) { + if (this._isSliding) { + return; + } + const activeElement = this._getActive(); + const isNext = order2 === ORDER_NEXT; + const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap); + if (nextElement === activeElement) { + return; + } + const nextElementIndex = this._getItemIndex(nextElement); + const triggerEvent = (eventName) => { + return EventHandler.trigger(this._element, eventName, { + relatedTarget: nextElement, + direction: this._orderToDirection(order2), + from: this._getItemIndex(activeElement), + to: nextElementIndex + }); + }; + const slideEvent = triggerEvent(EVENT_SLIDE); + if (slideEvent.defaultPrevented) { + return; + } + if (!activeElement || !nextElement) { + return; + } + const isCycling = Boolean(this._interval); + this.pause(); + this._isSliding = true; + this._setActiveIndicatorElement(nextElementIndex); + this._activeElement = nextElement; + const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; + const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; + nextElement.classList.add(orderClassName); + reflow(nextElement); + activeElement.classList.add(directionalClassName); + nextElement.classList.add(directionalClassName); + const completeCallBack = () => { + nextElement.classList.remove(directionalClassName, orderClassName); + nextElement.classList.add(CLASS_NAME_ACTIVE$2); + activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); + this._isSliding = false; + triggerEvent(EVENT_SLID); + }; + this._queueCallback(completeCallBack, activeElement, this._isAnimated()); + if (isCycling) { + this.cycle(); + } + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_SLIDE); + } + _getActive() { + return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); + } + _getItems() { + return SelectorEngine.find(SELECTOR_ITEM, this._element); + } + _clearInterval() { + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + } + _directionToOrder(direction) { + if (isRTL()) { + return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; + } + return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; + } + _orderToDirection(order2) { + if (isRTL()) { + return order2 === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; + } + return order2 === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Carousel.getOrCreateInstance(this, config); + if (typeof config === "number") { + data.to(config); + return; + } + if (typeof config === "string") { + if (data[config] === void 0 || config.startsWith("_") || config === "constructor") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + } + }); + } + }; + EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function(event) { + const target = SelectorEngine.getElementFromSelector(this); + if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { + return; + } + event.preventDefault(); + const carousel = Carousel.getOrCreateInstance(target); + const slideIndex = this.getAttribute("data-bs-slide-to"); + if (slideIndex) { + carousel.to(slideIndex); + carousel._maybeEnableCycle(); + return; + } + if (Manipulator.getDataAttribute(this, "slide") === "next") { + carousel.next(); + carousel._maybeEnableCycle(); + return; + } + carousel.prev(); + carousel._maybeEnableCycle(); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => { + const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); + for (const carousel of carousels) { + Carousel.getOrCreateInstance(carousel); + } + }); + defineJQueryPlugin(Carousel); + var NAME$b = "collapse"; + var DATA_KEY$7 = "bs.collapse"; + var EVENT_KEY$7 = `.${DATA_KEY$7}`; + var DATA_API_KEY$4 = ".data-api"; + var EVENT_SHOW$6 = `show${EVENT_KEY$7}`; + var EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`; + var EVENT_HIDE$6 = `hide${EVENT_KEY$7}`; + var EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`; + var EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`; + var CLASS_NAME_SHOW$7 = "show"; + var CLASS_NAME_COLLAPSE = "collapse"; + var CLASS_NAME_COLLAPSING = "collapsing"; + var CLASS_NAME_COLLAPSED = "collapsed"; + var CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; + var CLASS_NAME_HORIZONTAL = "collapse-horizontal"; + var WIDTH = "width"; + var HEIGHT = "height"; + var SELECTOR_ACTIVES = ".collapse.show, .collapse.collapsing"; + var SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; + var Default$a = { + parent: null, + toggle: true + }; + var DefaultType$a = { + parent: "(null|element)", + toggle: "boolean" + }; + var Collapse = class _Collapse extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isTransitioning = false; + this._triggerArray = []; + const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); + for (const elem of toggleList) { + const selector = SelectorEngine.getSelectorFromElement(elem); + const filterElement = SelectorEngine.find(selector).filter((foundElement) => foundElement === this._element); + if (selector !== null && filterElement.length) { + this._triggerArray.push(elem); + } + } + this._initializeChildren(); + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); + } + if (this._config.toggle) { + this.toggle(); + } + } + // Getters + static get Default() { + return Default$a; + } + static get DefaultType() { + return DefaultType$a; + } + static get NAME() { + return NAME$b; + } + // Public + toggle() { + if (this._isShown()) { + this.hide(); + } else { + this.show(); + } + } + show() { + if (this._isTransitioning || this._isShown()) { + return; + } + let activeChildren = []; + if (this._config.parent) { + activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter((element) => element !== this._element).map((element) => _Collapse.getOrCreateInstance(element, { + toggle: false + })); + } + if (activeChildren.length && activeChildren[0]._isTransitioning) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); + if (startEvent.defaultPrevented) { + return; + } + for (const activeInstance of activeChildren) { + activeInstance.hide(); + } + const dimension = this._getDimension(); + this._element.classList.remove(CLASS_NAME_COLLAPSE); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.style[dimension] = 0; + this._addAriaAndCollapsedClass(this._triggerArray, true); + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + this._element.style[dimension] = ""; + EventHandler.trigger(this._element, EVENT_SHOWN$6); + }; + const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + const scrollSize = `scroll${capitalizedDimension}`; + this._queueCallback(complete, this._element, true); + this._element.style[dimension] = `${this._element[scrollSize]}px`; + } + hide() { + if (this._isTransitioning || !this._isShown()) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); + if (startEvent.defaultPrevented) { + return; + } + const dimension = this._getDimension(); + this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; + reflow(this._element); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + for (const trigger of this._triggerArray) { + const element = SelectorEngine.getElementFromSelector(trigger); + if (element && !this._isShown(element)) { + this._addAriaAndCollapsedClass([trigger], false); + } + } + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE); + EventHandler.trigger(this._element, EVENT_HIDDEN$6); + }; + this._element.style[dimension] = ""; + this._queueCallback(complete, this._element, true); + } + // Private + _isShown(element = this._element) { + return element.classList.contains(CLASS_NAME_SHOW$7); + } + _configAfterMerge(config) { + config.toggle = Boolean(config.toggle); + config.parent = getElement(config.parent); + return config; + } + _getDimension() { + return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; + } + _initializeChildren() { + if (!this._config.parent) { + return; + } + const children2 = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4); + for (const element of children2) { + const selected = SelectorEngine.getElementFromSelector(element); + if (selected) { + this._addAriaAndCollapsedClass([element], this._isShown(selected)); + } + } + } + _getFirstLevelChildren(selector) { + const children2 = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); + return SelectorEngine.find(selector, this._config.parent).filter((element) => !children2.includes(element)); + } + _addAriaAndCollapsedClass(triggerArray, isOpen) { + if (!triggerArray.length) { + return; + } + for (const element of triggerArray) { + element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen); + element.setAttribute("aria-expanded", isOpen); + } + } + // Static + static jQueryInterface(config) { + const _config = {}; + if (typeof config === "string" && /show|hide/.test(config)) { + _config.toggle = false; + } + return this.each(function() { + const data = _Collapse.getOrCreateInstance(this, _config); + if (typeof config === "string") { + if (typeof data[config] === "undefined") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + } + }); + } + }; + EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function(event) { + if (event.target.tagName === "A" || event.delegateTarget && event.delegateTarget.tagName === "A") { + event.preventDefault(); + } + for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) { + Collapse.getOrCreateInstance(element, { + toggle: false + }).toggle(); + } + }); + defineJQueryPlugin(Collapse); + var NAME$a = "dropdown"; + var DATA_KEY$6 = "bs.dropdown"; + var EVENT_KEY$6 = `.${DATA_KEY$6}`; + var DATA_API_KEY$3 = ".data-api"; + var ESCAPE_KEY$2 = "Escape"; + var TAB_KEY$1 = "Tab"; + var ARROW_UP_KEY$1 = "ArrowUp"; + var ARROW_DOWN_KEY$1 = "ArrowDown"; + var RIGHT_MOUSE_BUTTON = 2; + var EVENT_HIDE$5 = `hide${EVENT_KEY$6}`; + var EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`; + var EVENT_SHOW$5 = `show${EVENT_KEY$6}`; + var EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`; + var EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; + var EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`; + var EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`; + var CLASS_NAME_SHOW$6 = "show"; + var CLASS_NAME_DROPUP = "dropup"; + var CLASS_NAME_DROPEND = "dropend"; + var CLASS_NAME_DROPSTART = "dropstart"; + var CLASS_NAME_DROPUP_CENTER = "dropup-center"; + var CLASS_NAME_DROPDOWN_CENTER = "dropdown-center"; + var SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)'; + var SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`; + var SELECTOR_MENU = ".dropdown-menu"; + var SELECTOR_NAVBAR = ".navbar"; + var SELECTOR_NAVBAR_NAV = ".navbar-nav"; + var SELECTOR_VISIBLE_ITEMS = ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)"; + var PLACEMENT_TOP = isRTL() ? "top-end" : "top-start"; + var PLACEMENT_TOPEND = isRTL() ? "top-start" : "top-end"; + var PLACEMENT_BOTTOM = isRTL() ? "bottom-end" : "bottom-start"; + var PLACEMENT_BOTTOMEND = isRTL() ? "bottom-start" : "bottom-end"; + var PLACEMENT_RIGHT = isRTL() ? "left-start" : "right-start"; + var PLACEMENT_LEFT = isRTL() ? "right-start" : "left-start"; + var PLACEMENT_TOPCENTER = "top"; + var PLACEMENT_BOTTOMCENTER = "bottom"; + var Default$9 = { + autoClose: true, + boundary: "clippingParents", + display: "dynamic", + offset: [0, 2], + popperConfig: null, + reference: "toggle" + }; + var DefaultType$9 = { + autoClose: "(boolean|string)", + boundary: "(string|element)", + display: "string", + offset: "(array|string|function)", + popperConfig: "(null|object|function)", + reference: "(string|element|object)" + }; + var Dropdown = class _Dropdown extends BaseComponent { + constructor(element, config) { + super(element, config); + this._popper = null; + this._parent = this._element.parentNode; + this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); + this._inNavbar = this._detectNavbar(); + } + // Getters + static get Default() { + return Default$9; + } + static get DefaultType() { + return DefaultType$9; + } + static get NAME() { + return NAME$a; + } + // Public + toggle() { + return this._isShown() ? this.hide() : this.show(); + } + show() { + if (isDisabled(this._element) || this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget); + if (showEvent.defaultPrevented) { + return; + } + this._createPopper(); + if ("ontouchstart" in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, "mouseover", noop); + } + } + this._element.focus(); + this._element.setAttribute("aria-expanded", true); + this._menu.classList.add(CLASS_NAME_SHOW$6); + this._element.classList.add(CLASS_NAME_SHOW$6); + EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget); + } + hide() { + if (isDisabled(this._element) || !this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + this._completeHide(relatedTarget); + } + dispose() { + if (this._popper) { + this._popper.destroy(); + } + super.dispose(); + } + update() { + this._inNavbar = this._detectNavbar(); + if (this._popper) { + this._popper.update(); + } + } + // Private + _completeHide(relatedTarget) { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget); + if (hideEvent.defaultPrevented) { + return; + } + if ("ontouchstart" in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, "mouseover", noop); + } + } + if (this._popper) { + this._popper.destroy(); + } + this._menu.classList.remove(CLASS_NAME_SHOW$6); + this._element.classList.remove(CLASS_NAME_SHOW$6); + this._element.setAttribute("aria-expanded", "false"); + Manipulator.removeDataAttribute(this._menu, "popper"); + EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget); + } + _getConfig(config) { + config = super._getConfig(config); + if (typeof config.reference === "object" && !isElement2(config.reference) && typeof config.reference.getBoundingClientRect !== "function") { + throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); + } + return config; + } + _createPopper() { + if (typeof lib_exports === "undefined") { + throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)"); + } + let referenceElement = this._element; + if (this._config.reference === "parent") { + referenceElement = this._parent; + } else if (isElement2(this._config.reference)) { + referenceElement = getElement(this._config.reference); + } else if (typeof this._config.reference === "object") { + referenceElement = this._config.reference; + } + const popperConfig = this._getPopperConfig(); + this._popper = createPopper3(referenceElement, this._menu, popperConfig); + } + _isShown() { + return this._menu.classList.contains(CLASS_NAME_SHOW$6); + } + _getPlacement() { + const parentDropdown = this._parent; + if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { + return PLACEMENT_RIGHT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { + return PLACEMENT_LEFT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) { + return PLACEMENT_TOPCENTER; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) { + return PLACEMENT_BOTTOMCENTER; + } + const isEnd = getComputedStyle(this._menu).getPropertyValue("--bs-position").trim() === "end"; + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { + return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; + } + return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; + } + _detectNavbar() { + return this._element.closest(SELECTOR_NAVBAR) !== null; + } + _getOffset() { + const { + offset: offset2 + } = this._config; + if (typeof offset2 === "string") { + return offset2.split(",").map((value) => Number.parseInt(value, 10)); + } + if (typeof offset2 === "function") { + return (popperData) => offset2(popperData, this._element); + } + return offset2; + } + _getPopperConfig() { + const defaultBsPopperConfig = { + placement: this._getPlacement(), + modifiers: [{ + name: "preventOverflow", + options: { + boundary: this._config.boundary + } + }, { + name: "offset", + options: { + offset: this._getOffset() + } + }] + }; + if (this._inNavbar || this._config.display === "static") { + Manipulator.setDataAttribute(this._menu, "popper", "static"); + defaultBsPopperConfig.modifiers = [{ + name: "applyStyles", + enabled: false + }]; + } + return { + ...defaultBsPopperConfig, + ...execute(this._config.popperConfig, [void 0, defaultBsPopperConfig]) + }; + } + _selectMenuItem({ + key, + target + }) { + const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter((element) => isVisible(element)); + if (!items.length) { + return; + } + getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus(); + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Dropdown.getOrCreateInstance(this, config); + if (typeof config !== "string") { + return; + } + if (typeof data[config] === "undefined") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + static clearMenus(event) { + if (event.button === RIGHT_MOUSE_BUTTON || event.type === "keyup" && event.key !== TAB_KEY$1) { + return; + } + const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN); + for (const toggle of openToggles) { + const context = _Dropdown.getInstance(toggle); + if (!context || context._config.autoClose === false) { + continue; + } + const composedPath = event.composedPath(); + const isMenuTarget = composedPath.includes(context._menu); + if (composedPath.includes(context._element) || context._config.autoClose === "inside" && !isMenuTarget || context._config.autoClose === "outside" && isMenuTarget) { + continue; + } + if (context._menu.contains(event.target) && (event.type === "keyup" && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { + continue; + } + const relatedTarget = { + relatedTarget: context._element + }; + if (event.type === "click") { + relatedTarget.clickEvent = event; + } + context._completeHide(relatedTarget); + } + } + static dataApiKeydownHandler(event) { + const isInput = /input|textarea/i.test(event.target.tagName); + const isEscapeEvent = event.key === ESCAPE_KEY$2; + const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key); + if (!isUpOrDownEvent && !isEscapeEvent) { + return; + } + if (isInput && !isEscapeEvent) { + return; + } + event.preventDefault(); + const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); + const instance = _Dropdown.getOrCreateInstance(getToggleButton); + if (isUpOrDownEvent) { + event.stopPropagation(); + instance.show(); + instance._selectMenuItem(event); + return; + } + if (instance._isShown()) { + event.stopPropagation(); + instance.hide(); + getToggleButton.focus(); + } + } + }; + EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); + EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); + EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); + EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); + EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function(event) { + event.preventDefault(); + Dropdown.getOrCreateInstance(this).toggle(); + }); + defineJQueryPlugin(Dropdown); + var NAME$9 = "backdrop"; + var CLASS_NAME_FADE$4 = "fade"; + var CLASS_NAME_SHOW$5 = "show"; + var EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; + var Default$8 = { + className: "modal-backdrop", + clickCallback: null, + isAnimated: false, + isVisible: true, + // if false, we use the backdrop helper without adding any element to the dom + rootElement: "body" + // give the choice to place backdrop under different elements + }; + var DefaultType$8 = { + className: "string", + clickCallback: "(function|null)", + isAnimated: "boolean", + isVisible: "boolean", + rootElement: "(element|string)" + }; + var Backdrop = class extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isAppended = false; + this._element = null; + } + // Getters + static get Default() { + return Default$8; + } + static get DefaultType() { + return DefaultType$8; + } + static get NAME() { + return NAME$9; + } + // Public + show(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._append(); + const element = this._getElement(); + if (this._config.isAnimated) { + reflow(element); + } + element.classList.add(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + execute(callback); + }); + } + hide(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._getElement().classList.remove(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + this.dispose(); + execute(callback); + }); + } + dispose() { + if (!this._isAppended) { + return; + } + EventHandler.off(this._element, EVENT_MOUSEDOWN); + this._element.remove(); + this._isAppended = false; + } + // Private + _getElement() { + if (!this._element) { + const backdrop = document.createElement("div"); + backdrop.className = this._config.className; + if (this._config.isAnimated) { + backdrop.classList.add(CLASS_NAME_FADE$4); + } + this._element = backdrop; + } + return this._element; + } + _configAfterMerge(config) { + config.rootElement = getElement(config.rootElement); + return config; + } + _append() { + if (this._isAppended) { + return; + } + const element = this._getElement(); + this._config.rootElement.append(element); + EventHandler.on(element, EVENT_MOUSEDOWN, () => { + execute(this._config.clickCallback); + }); + this._isAppended = true; + } + _emulateAnimation(callback) { + executeAfterTransition(callback, this._getElement(), this._config.isAnimated); + } + }; + var NAME$8 = "focustrap"; + var DATA_KEY$5 = "bs.focustrap"; + var EVENT_KEY$5 = `.${DATA_KEY$5}`; + var EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`; + var EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; + var TAB_KEY = "Tab"; + var TAB_NAV_FORWARD = "forward"; + var TAB_NAV_BACKWARD = "backward"; + var Default$7 = { + autofocus: true, + trapElement: null + // The element to trap focus inside of + }; + var DefaultType$7 = { + autofocus: "boolean", + trapElement: "element" + }; + var FocusTrap = class extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isActive = false; + this._lastTabNavDirection = null; + } + // Getters + static get Default() { + return Default$7; + } + static get DefaultType() { + return DefaultType$7; + } + static get NAME() { + return NAME$8; + } + // Public + activate() { + if (this._isActive) { + return; + } + if (this._config.autofocus) { + this._config.trapElement.focus(); + } + EventHandler.off(document, EVENT_KEY$5); + EventHandler.on(document, EVENT_FOCUSIN$2, (event) => this._handleFocusin(event)); + EventHandler.on(document, EVENT_KEYDOWN_TAB, (event) => this._handleKeydown(event)); + this._isActive = true; + } + deactivate() { + if (!this._isActive) { + return; + } + this._isActive = false; + EventHandler.off(document, EVENT_KEY$5); + } + // Private + _handleFocusin(event) { + const { + trapElement + } = this._config; + if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) { + return; + } + const elements = SelectorEngine.focusableChildren(trapElement); + if (elements.length === 0) { + trapElement.focus(); + } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { + elements[elements.length - 1].focus(); + } else { + elements[0].focus(); + } + } + _handleKeydown(event) { + if (event.key !== TAB_KEY) { + return; + } + this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; + } + }; + var SELECTOR_FIXED_CONTENT = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"; + var SELECTOR_STICKY_CONTENT = ".sticky-top"; + var PROPERTY_PADDING = "padding-right"; + var PROPERTY_MARGIN = "margin-right"; + var ScrollBarHelper = class { + constructor() { + this._element = document.body; + } + // Public + getWidth() { + const documentWidth = document.documentElement.clientWidth; + return Math.abs(window.innerWidth - documentWidth); + } + hide() { + const width = this.getWidth(); + this._disableOverFlow(); + this._setElementAttributes(this._element, PROPERTY_PADDING, (calculatedValue) => calculatedValue + width); + this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, (calculatedValue) => calculatedValue + width); + this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, (calculatedValue) => calculatedValue - width); + } + reset() { + this._resetElementAttributes(this._element, "overflow"); + this._resetElementAttributes(this._element, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN); + } + isOverflowing() { + return this.getWidth() > 0; + } + // Private + _disableOverFlow() { + this._saveInitialAttribute(this._element, "overflow"); + this._element.style.overflow = "hidden"; + } + _setElementAttributes(selector, styleProperty, callback) { + const scrollbarWidth = this.getWidth(); + const manipulationCallBack = (element) => { + if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { + return; + } + this._saveInitialAttribute(element, styleProperty); + const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty); + element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _saveInitialAttribute(element, styleProperty) { + const actualValue = element.style.getPropertyValue(styleProperty); + if (actualValue) { + Manipulator.setDataAttribute(element, styleProperty, actualValue); + } + } + _resetElementAttributes(selector, styleProperty) { + const manipulationCallBack = (element) => { + const value = Manipulator.getDataAttribute(element, styleProperty); + if (value === null) { + element.style.removeProperty(styleProperty); + return; + } + Manipulator.removeDataAttribute(element, styleProperty); + element.style.setProperty(styleProperty, value); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _applyManipulationCallback(selector, callBack) { + if (isElement2(selector)) { + callBack(selector); + return; + } + for (const sel of SelectorEngine.find(selector, this._element)) { + callBack(sel); + } + } + }; + var NAME$7 = "modal"; + var DATA_KEY$4 = "bs.modal"; + var EVENT_KEY$4 = `.${DATA_KEY$4}`; + var DATA_API_KEY$2 = ".data-api"; + var ESCAPE_KEY$1 = "Escape"; + var EVENT_HIDE$4 = `hide${EVENT_KEY$4}`; + var EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; + var EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; + var EVENT_SHOW$4 = `show${EVENT_KEY$4}`; + var EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; + var EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; + var EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`; + var EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`; + var EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; + var EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; + var CLASS_NAME_OPEN = "modal-open"; + var CLASS_NAME_FADE$3 = "fade"; + var CLASS_NAME_SHOW$4 = "show"; + var CLASS_NAME_STATIC = "modal-static"; + var OPEN_SELECTOR$1 = ".modal.show"; + var SELECTOR_DIALOG = ".modal-dialog"; + var SELECTOR_MODAL_BODY = ".modal-body"; + var SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; + var Default$6 = { + backdrop: true, + focus: true, + keyboard: true + }; + var DefaultType$6 = { + backdrop: "(boolean|string)", + focus: "boolean", + keyboard: "boolean" + }; + var Modal = class _Modal extends BaseComponent { + constructor(element, config) { + super(element, config); + this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._isShown = false; + this._isTransitioning = false; + this._scrollBar = new ScrollBarHelper(); + this._addEventListeners(); + } + // Getters + static get Default() { + return Default$6; + } + static get DefaultType() { + return DefaultType$6; + } + static get NAME() { + return NAME$7; + } + // Public + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown || this._isTransitioning) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, { + relatedTarget + }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._isTransitioning = true; + this._scrollBar.hide(); + document.body.classList.add(CLASS_NAME_OPEN); + this._adjustDialog(); + this._backdrop.show(() => this._showElement(relatedTarget)); + } + hide() { + if (!this._isShown || this._isTransitioning) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4); + if (hideEvent.defaultPrevented) { + return; + } + this._isShown = false; + this._isTransitioning = true; + this._focustrap.deactivate(); + this._element.classList.remove(CLASS_NAME_SHOW$4); + this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); + } + dispose() { + EventHandler.off(window, EVENT_KEY$4); + EventHandler.off(this._dialog, EVENT_KEY$4); + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + handleUpdate() { + this._adjustDialog(); + } + // Private + _initializeBackDrop() { + return new Backdrop({ + isVisible: Boolean(this._config.backdrop), + // 'static' option will be translated to true, and booleans will keep their value, + isAnimated: this._isAnimated() + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _showElement(relatedTarget) { + if (!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", true); + this._element.setAttribute("role", "dialog"); + this._element.scrollTop = 0; + const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); + if (modalBody) { + modalBody.scrollTop = 0; + } + reflow(this._element); + this._element.classList.add(CLASS_NAME_SHOW$4); + const transitionComplete = () => { + if (this._config.focus) { + this._focustrap.activate(); + } + this._isTransitioning = false; + EventHandler.trigger(this._element, EVENT_SHOWN$4, { + relatedTarget + }); + }; + this._queueCallback(transitionComplete, this._dialog, this._isAnimated()); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, (event) => { + if (event.key !== ESCAPE_KEY$1) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + this._triggerBackdropTransition(); + }); + EventHandler.on(window, EVENT_RESIZE$1, () => { + if (this._isShown && !this._isTransitioning) { + this._adjustDialog(); + } + }); + EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, (event) => { + EventHandler.one(this._element, EVENT_CLICK_DISMISS, (event2) => { + if (this._element !== event.target || this._element !== event2.target) { + return; + } + if (this._config.backdrop === "static") { + this._triggerBackdropTransition(); + return; + } + if (this._config.backdrop) { + this.hide(); + } + }); + }); + } + _hideModal() { + this._element.style.display = "none"; + this._element.setAttribute("aria-hidden", true); + this._element.removeAttribute("aria-modal"); + this._element.removeAttribute("role"); + this._isTransitioning = false; + this._backdrop.hide(() => { + document.body.classList.remove(CLASS_NAME_OPEN); + this._resetAdjustments(); + this._scrollBar.reset(); + EventHandler.trigger(this._element, EVENT_HIDDEN$4); + }); + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_FADE$3); + } + _triggerBackdropTransition() { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); + if (hideEvent.defaultPrevented) { + return; + } + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const initialOverflowY = this._element.style.overflowY; + if (initialOverflowY === "hidden" || this._element.classList.contains(CLASS_NAME_STATIC)) { + return; + } + if (!isModalOverflowing) { + this._element.style.overflowY = "hidden"; + } + this._element.classList.add(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.classList.remove(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.style.overflowY = initialOverflowY; + }, this._dialog); + }, this._dialog); + this._element.focus(); + } + /** + * The following methods are used to handle overflowing modals + */ + _adjustDialog() { + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const scrollbarWidth = this._scrollBar.getWidth(); + const isBodyOverflowing = scrollbarWidth > 0; + if (isBodyOverflowing && !isModalOverflowing) { + const property = isRTL() ? "paddingLeft" : "paddingRight"; + this._element.style[property] = `${scrollbarWidth}px`; + } + if (!isBodyOverflowing && isModalOverflowing) { + const property = isRTL() ? "paddingRight" : "paddingLeft"; + this._element.style[property] = `${scrollbarWidth}px`; + } + } + _resetAdjustments() { + this._element.style.paddingLeft = ""; + this._element.style.paddingRight = ""; + } + // Static + static jQueryInterface(config, relatedTarget) { + return this.each(function() { + const data = _Modal.getOrCreateInstance(this, config); + if (typeof config !== "string") { + return; + } + if (typeof data[config] === "undefined") { + throw new TypeError(`No method named "${config}"`); + } + data[config](relatedTarget); + }); + } + }; + EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function(event) { + const target = SelectorEngine.getElementFromSelector(this); + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + EventHandler.one(target, EVENT_SHOW$4, (showEvent) => { + if (showEvent.defaultPrevented) { + return; + } + EventHandler.one(target, EVENT_HIDDEN$4, () => { + if (isVisible(this)) { + this.focus(); + } + }); + }); + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); + if (alreadyOpen) { + Modal.getInstance(alreadyOpen).hide(); + } + const data = Modal.getOrCreateInstance(target); + data.toggle(this); + }); + enableDismissTrigger(Modal); + defineJQueryPlugin(Modal); + var NAME$6 = "offcanvas"; + var DATA_KEY$3 = "bs.offcanvas"; + var EVENT_KEY$3 = `.${DATA_KEY$3}`; + var DATA_API_KEY$1 = ".data-api"; + var EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`; + var ESCAPE_KEY = "Escape"; + var CLASS_NAME_SHOW$3 = "show"; + var CLASS_NAME_SHOWING$1 = "showing"; + var CLASS_NAME_HIDING = "hiding"; + var CLASS_NAME_BACKDROP = "offcanvas-backdrop"; + var OPEN_SELECTOR = ".offcanvas.show"; + var EVENT_SHOW$3 = `show${EVENT_KEY$3}`; + var EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`; + var EVENT_HIDE$3 = `hide${EVENT_KEY$3}`; + var EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`; + var EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`; + var EVENT_RESIZE = `resize${EVENT_KEY$3}`; + var EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`; + var EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`; + var SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]'; + var Default$5 = { + backdrop: true, + keyboard: true, + scroll: false + }; + var DefaultType$5 = { + backdrop: "(boolean|string)", + keyboard: "boolean", + scroll: "boolean" + }; + var Offcanvas = class _Offcanvas extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isShown = false; + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._addEventListeners(); + } + // Getters + static get Default() { + return Default$5; + } + static get DefaultType() { + return DefaultType$5; + } + static get NAME() { + return NAME$6; + } + // Public + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { + relatedTarget + }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._backdrop.show(); + if (!this._config.scroll) { + new ScrollBarHelper().hide(); + } + this._element.setAttribute("aria-modal", true); + this._element.setAttribute("role", "dialog"); + this._element.classList.add(CLASS_NAME_SHOWING$1); + const completeCallBack = () => { + if (!this._config.scroll || this._config.backdrop) { + this._focustrap.activate(); + } + this._element.classList.add(CLASS_NAME_SHOW$3); + this._element.classList.remove(CLASS_NAME_SHOWING$1); + EventHandler.trigger(this._element, EVENT_SHOWN$3, { + relatedTarget + }); + }; + this._queueCallback(completeCallBack, this._element, true); + } + hide() { + if (!this._isShown) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); + if (hideEvent.defaultPrevented) { + return; + } + this._focustrap.deactivate(); + this._element.blur(); + this._isShown = false; + this._element.classList.add(CLASS_NAME_HIDING); + this._backdrop.hide(); + const completeCallback = () => { + this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING); + this._element.removeAttribute("aria-modal"); + this._element.removeAttribute("role"); + if (!this._config.scroll) { + new ScrollBarHelper().reset(); + } + EventHandler.trigger(this._element, EVENT_HIDDEN$3); + }; + this._queueCallback(completeCallback, this._element, true); + } + dispose() { + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + // Private + _initializeBackDrop() { + const clickCallback = () => { + if (this._config.backdrop === "static") { + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + return; + } + this.hide(); + }; + const isVisible2 = Boolean(this._config.backdrop); + return new Backdrop({ + className: CLASS_NAME_BACKDROP, + isVisible: isVisible2, + isAnimated: true, + rootElement: this._element.parentNode, + clickCallback: isVisible2 ? clickCallback : null + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event) => { + if (event.key !== ESCAPE_KEY) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + }); + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Offcanvas.getOrCreateInstance(this, config); + if (typeof config !== "string") { + return; + } + if (data[config] === void 0 || config.startsWith("_") || config === "constructor") { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + }); + } + }; + EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function(event) { + const target = SelectorEngine.getElementFromSelector(this); + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + EventHandler.one(target, EVENT_HIDDEN$3, () => { + if (isVisible(this)) { + this.focus(); + } + }); + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); + if (alreadyOpen && alreadyOpen !== target) { + Offcanvas.getInstance(alreadyOpen).hide(); + } + const data = Offcanvas.getOrCreateInstance(target); + data.toggle(this); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { + for (const selector of SelectorEngine.find(OPEN_SELECTOR)) { + Offcanvas.getOrCreateInstance(selector).show(); + } + }); + EventHandler.on(window, EVENT_RESIZE, () => { + for (const element of SelectorEngine.find("[aria-modal][class*=show][class*=offcanvas-]")) { + if (getComputedStyle(element).position !== "fixed") { + Offcanvas.getOrCreateInstance(element).hide(); + } + } + }); + enableDismissTrigger(Offcanvas); + defineJQueryPlugin(Offcanvas); + var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; + var DefaultAllowlist = { + // Global attributes allowed on any supplied element below. + "*": ["class", "dir", "id", "lang", "role", ARIA_ATTRIBUTE_PATTERN], + 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: [] + }; + var uriAttributes = /* @__PURE__ */ new Set(["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"]); + var SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i; + var allowedAttribute = (attribute, allowedAttributeList) => { + const attributeName = attribute.nodeName.toLowerCase(); + if (allowedAttributeList.includes(attributeName)) { + if (uriAttributes.has(attributeName)) { + return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue)); + } + return true; + } + return allowedAttributeList.filter((attributeRegex) => attributeRegex instanceof RegExp).some((regex) => regex.test(attributeName)); + }; + function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { + if (!unsafeHtml.length) { + return unsafeHtml; + } + if (sanitizeFunction && typeof sanitizeFunction === "function") { + return sanitizeFunction(unsafeHtml); + } + const domParser = new window.DOMParser(); + const createdDocument = domParser.parseFromString(unsafeHtml, "text/html"); + const elements = [].concat(...createdDocument.body.querySelectorAll("*")); + for (const element of elements) { + const elementName = element.nodeName.toLowerCase(); + if (!Object.keys(allowList).includes(elementName)) { + element.remove(); + continue; + } + const attributeList = [].concat(...element.attributes); + const allowedAttributes = [].concat(allowList["*"] || [], allowList[elementName] || []); + for (const attribute of attributeList) { + if (!allowedAttribute(attribute, allowedAttributes)) { + element.removeAttribute(attribute.nodeName); + } + } + } + return createdDocument.body.innerHTML; + } + var NAME$5 = "TemplateFactory"; + var Default$4 = { + allowList: DefaultAllowlist, + content: {}, + // { selector : text , selector2 : text2 , } + extraClass: "", + html: false, + sanitize: true, + sanitizeFn: null, + template: "
" + }; + var DefaultType$4 = { + allowList: "object", + content: "object", + extraClass: "(string|function)", + html: "boolean", + sanitize: "boolean", + sanitizeFn: "(null|function)", + template: "string" + }; + var DefaultContentType = { + entry: "(string|element|function|null)", + selector: "(string|element)" + }; + var TemplateFactory = class extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + } + // Getters + static get Default() { + return Default$4; + } + static get DefaultType() { + return DefaultType$4; + } + static get NAME() { + return NAME$5; + } + // Public + getContent() { + return Object.values(this._config.content).map((config) => this._resolvePossibleFunction(config)).filter(Boolean); + } + hasContent() { + return this.getContent().length > 0; + } + changeContent(content) { + this._checkContent(content); + this._config.content = { + ...this._config.content, + ...content + }; + return this; + } + toHtml() { + const templateWrapper = document.createElement("div"); + templateWrapper.innerHTML = this._maybeSanitize(this._config.template); + for (const [selector, text] of Object.entries(this._config.content)) { + this._setContent(templateWrapper, text, selector); + } + const template = templateWrapper.children[0]; + const extraClass = this._resolvePossibleFunction(this._config.extraClass); + if (extraClass) { + template.classList.add(...extraClass.split(" ")); + } + return template; + } + // Private + _typeCheckConfig(config) { + super._typeCheckConfig(config); + this._checkContent(config.content); + } + _checkContent(arg) { + for (const [selector, content] of Object.entries(arg)) { + super._typeCheckConfig({ + selector, + entry: content + }, DefaultContentType); + } + } + _setContent(template, content, selector) { + const templateElement = SelectorEngine.findOne(selector, template); + if (!templateElement) { + return; + } + content = this._resolvePossibleFunction(content); + if (!content) { + templateElement.remove(); + return; + } + if (isElement2(content)) { + this._putElementInTemplate(getElement(content), templateElement); + return; + } + if (this._config.html) { + templateElement.innerHTML = this._maybeSanitize(content); + return; + } + templateElement.textContent = content; + } + _maybeSanitize(arg) { + return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg; + } + _resolvePossibleFunction(arg) { + return execute(arg, [void 0, this]); + } + _putElementInTemplate(element, templateElement) { + if (this._config.html) { + templateElement.innerHTML = ""; + templateElement.append(element); + return; + } + templateElement.textContent = element.textContent; + } + }; + var NAME$4 = "tooltip"; + var DISALLOWED_ATTRIBUTES = /* @__PURE__ */ new Set(["sanitize", "allowList", "sanitizeFn"]); + var CLASS_NAME_FADE$2 = "fade"; + var CLASS_NAME_MODAL = "modal"; + var CLASS_NAME_SHOW$2 = "show"; + var SELECTOR_TOOLTIP_INNER = ".tooltip-inner"; + var SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; + var EVENT_MODAL_HIDE = "hide.bs.modal"; + var TRIGGER_HOVER = "hover"; + var TRIGGER_FOCUS = "focus"; + var TRIGGER_CLICK = "click"; + var TRIGGER_MANUAL = "manual"; + var EVENT_HIDE$2 = "hide"; + var EVENT_HIDDEN$2 = "hidden"; + var EVENT_SHOW$2 = "show"; + var EVENT_SHOWN$2 = "shown"; + var EVENT_INSERTED = "inserted"; + var EVENT_CLICK$1 = "click"; + var EVENT_FOCUSIN$1 = "focusin"; + var EVENT_FOCUSOUT$1 = "focusout"; + var EVENT_MOUSEENTER = "mouseenter"; + var EVENT_MOUSELEAVE = "mouseleave"; + var AttachmentMap = { + AUTO: "auto", + TOP: "top", + RIGHT: isRTL() ? "left" : "right", + BOTTOM: "bottom", + LEFT: isRTL() ? "right" : "left" + }; + var Default$3 = { + allowList: DefaultAllowlist, + animation: true, + boundary: "clippingParents", + container: false, + customClass: "", + delay: 0, + fallbackPlacements: ["top", "right", "bottom", "left"], + html: false, + offset: [0, 6], + placement: "top", + popperConfig: null, + sanitize: true, + sanitizeFn: null, + selector: false, + template: '', + title: "", + trigger: "hover focus" + }; + var DefaultType$3 = { + 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" + }; + var Tooltip = class _Tooltip extends BaseComponent { + constructor(element, config) { + if (typeof lib_exports === "undefined") { + throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)"); + } + super(element, config); + this._isEnabled = true; + this._timeout = 0; + this._isHovered = null; + this._activeTrigger = {}; + this._popper = null; + this._templateFactory = null; + this._newContent = null; + this.tip = null; + this._setListeners(); + if (!this._config.selector) { + this._fixTitle(); + } + } + // Getters + static get Default() { + return Default$3; + } + static get DefaultType() { + return DefaultType$3; + } + static get NAME() { + return NAME$4; + } + // Public + enable() { + this._isEnabled = true; + } + disable() { + this._isEnabled = false; + } + toggleEnabled() { + this._isEnabled = !this._isEnabled; + } + toggle() { + if (!this._isEnabled) { + return; + } + if (this._isShown()) { + this._leave(); + return; + } + this._enter(); + } + dispose() { + clearTimeout(this._timeout); + EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + if (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 showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2)); + const shadowRoot = findShadowRoot(this._element); + const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); + if (showEvent.defaultPrevented || !isInTheDom) { + return; + } + this._disposePopper(); + const tip = this._getTipElement(); + this._element.setAttribute("aria-describedby", tip.getAttribute("id")); + const { + container + } = this._config; + if (!this._element.ownerDocument.documentElement.contains(this.tip)) { + container.append(tip); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED)); + } + this._popper = this._createPopper(tip); + tip.classList.add(CLASS_NAME_SHOW$2); + if ("ontouchstart" in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, "mouseover", noop); + } + } + const complete = () => { + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2)); + if (this._isHovered === false) { + this._leave(); + } + this._isHovered = false; + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + hide() { + if (!this._isShown()) { + return; + } + const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2)); + if (hideEvent.defaultPrevented) { + return; + } + const tip = this._getTipElement(); + tip.classList.remove(CLASS_NAME_SHOW$2); + if ("ontouchstart" in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, "mouseover", noop); + } + } + this._activeTrigger[TRIGGER_CLICK] = false; + this._activeTrigger[TRIGGER_FOCUS] = false; + this._activeTrigger[TRIGGER_HOVER] = false; + this._isHovered = null; + const complete = () => { + if (this._isWithActiveTrigger()) { + return; + } + if (!this._isHovered) { + this._disposePopper(); + } + this._element.removeAttribute("aria-describedby"); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2)); + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + update() { + if (this._popper) { + this._popper.update(); + } + } + // Protected + _isWithContent() { + return Boolean(this._getTitle()); + } + _getTipElement() { + if (!this.tip) { + this.tip = this._createTipElement(this._newContent || this._getContentForTemplate()); + } + return this.tip; + } + _createTipElement(content) { + const tip = this._getTemplateFactory(content).toHtml(); + if (!tip) { + return null; + } + tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); + tip.classList.add(`bs-${this.constructor.NAME}-auto`); + const tipId = getUID(this.constructor.NAME).toString(); + tip.setAttribute("id", tipId); + if (this._isAnimated()) { + tip.classList.add(CLASS_NAME_FADE$2); + } + return tip; + } + setContent(content) { + this._newContent = content; + if (this._isShown()) { + this._disposePopper(); + this.show(); + } + } + _getTemplateFactory(content) { + if (this._templateFactory) { + this._templateFactory.changeContent(content); + } else { + this._templateFactory = new TemplateFactory({ + ...this._config, + // the `content` var has to be after `this._config` + // to override config.content in case of popover + content, + extraClass: this._resolvePossibleFunction(this._config.customClass) + }); + } + return this._templateFactory; + } + _getContentForTemplate() { + return { + [SELECTOR_TOOLTIP_INNER]: this._getTitle() + }; + } + _getTitle() { + return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute("data-bs-original-title"); + } + // Private + _initializeOnDelegatedTarget(event) { + return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); + } + _isAnimated() { + return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2); + } + _isShown() { + return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2); + } + _createPopper(tip) { + const placement = execute(this._config.placement, [this, tip, this._element]); + const attachment = AttachmentMap[placement.toUpperCase()]; + return createPopper3(this._element, tip, this._getPopperConfig(attachment)); + } + _getOffset() { + const { + offset: offset2 + } = this._config; + if (typeof offset2 === "string") { + return offset2.split(",").map((value) => Number.parseInt(value, 10)); + } + if (typeof offset2 === "function") { + return (popperData) => offset2(popperData, this._element); + } + return offset2; + } + _resolvePossibleFunction(arg) { + return execute(arg, [this._element, this._element]); + } + _getPopperConfig(attachment) { + const defaultBsPopperConfig = { + placement: attachment, + 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: true, + phase: "beforeMain", + fn: (data) => { + this._getTipElement().setAttribute("data-popper-placement", data.state.placement); + } + }] + }; + return { + ...defaultBsPopperConfig, + ...execute(this._config.popperConfig, [void 0, defaultBsPopperConfig]) + }; + } + _setListeners() { + const triggers = this._config.trigger.split(" "); + for (const trigger of triggers) { + if (trigger === "click") { + EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, (event) => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK]); + context.toggle(); + }); + } else if (trigger !== TRIGGER_MANUAL) { + const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1); + const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1); + EventHandler.on(this._element, eventIn, this._config.selector, (event) => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === "focusin" ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; + context._enter(); + }); + EventHandler.on(this._element, eventOut, this._config.selector, (event) => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === "focusout" ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); + context._leave(); + }); + } + } + this._hideModalHandler = () => { + if (this._element) { + this.hide(); + } + }; + EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + } + _fixTitle() { + const title = this._element.getAttribute("title"); + if (!title) { + return; + } + if (!this._element.getAttribute("aria-label") && !this._element.textContent.trim()) { + this._element.setAttribute("aria-label", title); + } + this._element.setAttribute("data-bs-original-title", title); + this._element.removeAttribute("title"); + } + _enter() { + if (this._isShown() || this._isHovered) { + this._isHovered = true; + return; + } + this._isHovered = true; + this._setTimeout(() => { + if (this._isHovered) { + this.show(); + } + }, this._config.delay.show); + } + _leave() { + if (this._isWithActiveTrigger()) { + return; + } + this._isHovered = false; + this._setTimeout(() => { + if (!this._isHovered) { + this.hide(); + } + }, this._config.delay.hide); + } + _setTimeout(handler, timeout) { + clearTimeout(this._timeout); + this._timeout = setTimeout(handler, timeout); + } + _isWithActiveTrigger() { + return Object.values(this._activeTrigger).includes(true); + } + _getConfig(config) { + const dataAttributes = Manipulator.getDataAttributes(this._element); + for (const dataAttribute of Object.keys(dataAttributes)) { + if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) { + delete dataAttributes[dataAttribute]; + } + } + config = { + ...dataAttributes, + ...typeof config === "object" && config ? config : {} + }; + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + config.container = config.container === false ? document.body : getElement(config.container); + if (typeof config.delay === "number") { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + if (typeof config.title === "number") { + config.title = config.title.toString(); + } + if (typeof config.content === "number") { + config.content = config.content.toString(); + } + return config; + } + _getDelegateConfig() { + const config = {}; + for (const [key, value] of Object.entries(this._config)) { + if (this.constructor.Default[key] !== value) { + config[key] = value; + } + } + config.selector = false; + config.trigger = "manual"; + return config; + } + _disposePopper() { + if (this._popper) { + this._popper.destroy(); + this._popper = null; + } + if (this.tip) { + this.tip.remove(); + this.tip = null; + } + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Tooltip.getOrCreateInstance(this, config); + if (typeof config !== "string") { + return; + } + if (typeof data[config] === "undefined") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + }; + defineJQueryPlugin(Tooltip); + var NAME$3 = "popover"; + var SELECTOR_TITLE = ".popover-header"; + var SELECTOR_CONTENT = ".popover-body"; + var Default$2 = { + ...Tooltip.Default, + content: "", + offset: [0, 8], + placement: "right", + template: '', + trigger: "click" + }; + var DefaultType$2 = { + ...Tooltip.DefaultType, + content: "(null|string|element|function)" + }; + var Popover = class _Popover extends Tooltip { + // Getters + static get Default() { + return Default$2; + } + static get DefaultType() { + return DefaultType$2; + } + static get NAME() { + return NAME$3; + } + // Overrides + _isWithContent() { + return this._getTitle() || this._getContent(); + } + // Private + _getContentForTemplate() { + return { + [SELECTOR_TITLE]: this._getTitle(), + [SELECTOR_CONTENT]: this._getContent() + }; + } + _getContent() { + return this._resolvePossibleFunction(this._config.content); + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Popover.getOrCreateInstance(this, config); + if (typeof config !== "string") { + return; + } + if (typeof data[config] === "undefined") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + }; + defineJQueryPlugin(Popover); + var NAME$2 = "scrollspy"; + var DATA_KEY$2 = "bs.scrollspy"; + var EVENT_KEY$2 = `.${DATA_KEY$2}`; + var DATA_API_KEY = ".data-api"; + var EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; + var EVENT_CLICK = `click${EVENT_KEY$2}`; + var EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`; + var CLASS_NAME_DROPDOWN_ITEM = "dropdown-item"; + var CLASS_NAME_ACTIVE$1 = "active"; + var SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; + var SELECTOR_TARGET_LINKS = "[href]"; + var SELECTOR_NAV_LIST_GROUP = ".nav, .list-group"; + var SELECTOR_NAV_LINKS = ".nav-link"; + var SELECTOR_NAV_ITEMS = ".nav-item"; + var SELECTOR_LIST_ITEMS = ".list-group-item"; + var SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`; + var SELECTOR_DROPDOWN = ".dropdown"; + var SELECTOR_DROPDOWN_TOGGLE$1 = ".dropdown-toggle"; + var Default$1 = { + offset: null, + // TODO: v6 @deprecated, keep it for backwards compatibility reasons + rootMargin: "0px 0px -25%", + smoothScroll: false, + target: null, + threshold: [0.1, 0.5, 1] + }; + var DefaultType$1 = { + offset: "(number|null)", + // TODO v6 @deprecated, keep it for backwards compatibility reasons + rootMargin: "string", + smoothScroll: "boolean", + target: "element", + threshold: "array" + }; + var ScrollSpy = class _ScrollSpy extends BaseComponent { + constructor(element, config) { + super(element, config); + this._targetLinks = /* @__PURE__ */ new Map(); + this._observableSections = /* @__PURE__ */ 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(); + } + // Getters + static get Default() { + return Default$1; + } + static get DefaultType() { + return DefaultType$1; + } + static get NAME() { + return NAME$2; + } + // Public + refresh() { + this._initializeTargetsAndObservables(); + this._maybeEnableSmoothScroll(); + if (this._observer) { + this._observer.disconnect(); + } else { + this._observer = this._getNewObserver(); + } + for (const section of this._observableSections.values()) { + this._observer.observe(section); + } + } + dispose() { + this._observer.disconnect(); + super.dispose(); + } + // Private + _configAfterMerge(config) { + config.target = getElement(config.target) || document.body; + config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin; + if (typeof config.threshold === "string") { + config.threshold = config.threshold.split(",").map((value) => Number.parseFloat(value)); + } + return config; + } + _maybeEnableSmoothScroll() { + if (!this._config.smoothScroll) { + return; + } + EventHandler.off(this._config.target, EVENT_CLICK); + EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, (event) => { + const observableSection = this._observableSections.get(event.target.hash); + if (observableSection) { + event.preventDefault(); + const root = this._rootElement || window; + const height = observableSection.offsetTop - this._element.offsetTop; + if (root.scrollTo) { + root.scrollTo({ + top: height, + behavior: "smooth" + }); + return; + } + root.scrollTop = height; + } + }); + } + _getNewObserver() { + const options = { + root: this._rootElement, + threshold: this._config.threshold, + rootMargin: this._config.rootMargin + }; + return new IntersectionObserver((entries) => this._observerCallback(entries), options); + } + // The logic of selection + _observerCallback(entries) { + const targetElement = (entry) => this._targetLinks.get(`#${entry.target.id}`); + const activate = (entry) => { + this._previousScrollData.visibleEntryTop = entry.target.offsetTop; + this._process(targetElement(entry)); + }; + const parentScrollTop = (this._rootElement || document.documentElement).scrollTop; + const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop; + this._previousScrollData.parentScrollTop = parentScrollTop; + for (const entry of entries) { + if (!entry.isIntersecting) { + this._activeTarget = null; + this._clearActiveClass(targetElement(entry)); + continue; + } + const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; + if (userScrollsDown && entryIsLowerThanPrevious) { + activate(entry); + if (!parentScrollTop) { + return; + } + continue; + } + if (!userScrollsDown && !entryIsLowerThanPrevious) { + activate(entry); + } + } + } + _initializeTargetsAndObservables() { + this._targetLinks = /* @__PURE__ */ new Map(); + this._observableSections = /* @__PURE__ */ new Map(); + const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target); + for (const anchor of targetLinks) { + if (!anchor.hash || isDisabled(anchor)) { + continue; + } + const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element); + if (isVisible(observableSection)) { + this._targetLinks.set(decodeURI(anchor.hash), anchor); + this._observableSections.set(anchor.hash, observableSection); + } + } + } + _process(target) { + if (this._activeTarget === target) { + return; + } + this._clearActiveClass(this._config.target); + this._activeTarget = target; + target.classList.add(CLASS_NAME_ACTIVE$1); + this._activateParents(target); + EventHandler.trigger(this._element, EVENT_ACTIVATE, { + relatedTarget: target + }); + } + _activateParents(target) { + if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { + SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1); + return; + } + for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) { + for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) { + item.classList.add(CLASS_NAME_ACTIVE$1); + } + } + } + _clearActiveClass(parent) { + parent.classList.remove(CLASS_NAME_ACTIVE$1); + const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent); + for (const node of activeNodes) { + node.classList.remove(CLASS_NAME_ACTIVE$1); + } + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _ScrollSpy.getOrCreateInstance(this, config); + if (typeof config !== "string") { + return; + } + if (data[config] === void 0 || config.startsWith("_") || config === "constructor") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + }; + EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => { + for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) { + ScrollSpy.getOrCreateInstance(spy); + } + }); + defineJQueryPlugin(ScrollSpy); + var NAME$1 = "tab"; + var DATA_KEY$1 = "bs.tab"; + var EVENT_KEY$1 = `.${DATA_KEY$1}`; + var EVENT_HIDE$1 = `hide${EVENT_KEY$1}`; + var EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`; + var EVENT_SHOW$1 = `show${EVENT_KEY$1}`; + var EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`; + var EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`; + var EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`; + var EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`; + var ARROW_LEFT_KEY = "ArrowLeft"; + var ARROW_RIGHT_KEY = "ArrowRight"; + var ARROW_UP_KEY = "ArrowUp"; + var ARROW_DOWN_KEY = "ArrowDown"; + var HOME_KEY = "Home"; + var END_KEY = "End"; + var CLASS_NAME_ACTIVE = "active"; + var CLASS_NAME_FADE$1 = "fade"; + var CLASS_NAME_SHOW$1 = "show"; + var CLASS_DROPDOWN = "dropdown"; + var SELECTOR_DROPDOWN_TOGGLE = ".dropdown-toggle"; + var SELECTOR_DROPDOWN_MENU = ".dropdown-menu"; + var NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`; + var SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; + var SELECTOR_OUTER = ".nav-item, .list-group-item"; + var SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`; + var SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; + var SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`; + var SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`; + var Tab = class _Tab extends BaseComponent { + constructor(element) { + super(element); + this._parent = this._element.closest(SELECTOR_TAB_PANEL); + if (!this._parent) { + return; + } + this._setInitialAttributes(this._parent, this._getChildren()); + EventHandler.on(this._element, EVENT_KEYDOWN, (event) => this._keydown(event)); + } + // Getters + static get NAME() { + return NAME$1; + } + // Public + show() { + const innerElem = this._element; + if (this._elemIsActive(innerElem)) { + return; + } + const active = this._getActiveElem(); + const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, { + relatedTarget: innerElem + }) : null; + const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, { + relatedTarget: active + }); + if (showEvent.defaultPrevented || hideEvent && hideEvent.defaultPrevented) { + return; + } + this._deactivate(active, innerElem); + this._activate(innerElem, active); + } + // Private + _activate(element, relatedElem) { + if (!element) { + return; + } + element.classList.add(CLASS_NAME_ACTIVE); + this._activate(SelectorEngine.getElementFromSelector(element)); + const complete = () => { + if (element.getAttribute("role") !== "tab") { + element.classList.add(CLASS_NAME_SHOW$1); + return; + } + element.removeAttribute("tabindex"); + element.setAttribute("aria-selected", true); + this._toggleDropDown(element, true); + EventHandler.trigger(element, EVENT_SHOWN$1, { + relatedTarget: relatedElem + }); + }; + this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); + } + _deactivate(element, relatedElem) { + if (!element) { + return; + } + element.classList.remove(CLASS_NAME_ACTIVE); + element.blur(); + this._deactivate(SelectorEngine.getElementFromSelector(element)); + const complete = () => { + if (element.getAttribute("role") !== "tab") { + element.classList.remove(CLASS_NAME_SHOW$1); + return; + } + element.setAttribute("aria-selected", false); + element.setAttribute("tabindex", "-1"); + this._toggleDropDown(element, false); + EventHandler.trigger(element, EVENT_HIDDEN$1, { + relatedTarget: relatedElem + }); + }; + this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); + } + _keydown(event) { + if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key)) { + return; + } + event.stopPropagation(); + event.preventDefault(); + const children2 = this._getChildren().filter((element) => !isDisabled(element)); + let nextActiveElement; + if ([HOME_KEY, END_KEY].includes(event.key)) { + nextActiveElement = children2[event.key === HOME_KEY ? 0 : children2.length - 1]; + } else { + const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key); + nextActiveElement = getNextActiveElement(children2, event.target, isNext, true); + } + if (nextActiveElement) { + nextActiveElement.focus({ + preventScroll: true + }); + _Tab.getOrCreateInstance(nextActiveElement).show(); + } + } + _getChildren() { + return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent); + } + _getActiveElem() { + return this._getChildren().find((child2) => this._elemIsActive(child2)) || null; + } + _setInitialAttributes(parent, children2) { + this._setAttributeIfNotExists(parent, "role", "tablist"); + for (const child2 of children2) { + this._setInitialAttributesOnChild(child2); + } + } + _setInitialAttributesOnChild(child2) { + child2 = this._getInnerElement(child2); + const isActive = this._elemIsActive(child2); + const outerElem = this._getOuterElement(child2); + child2.setAttribute("aria-selected", isActive); + if (outerElem !== child2) { + this._setAttributeIfNotExists(outerElem, "role", "presentation"); + } + if (!isActive) { + child2.setAttribute("tabindex", "-1"); + } + this._setAttributeIfNotExists(child2, "role", "tab"); + this._setInitialAttributesOnTargetPanel(child2); + } + _setInitialAttributesOnTargetPanel(child2) { + const target = SelectorEngine.getElementFromSelector(child2); + if (!target) { + return; + } + this._setAttributeIfNotExists(target, "role", "tabpanel"); + if (child2.id) { + this._setAttributeIfNotExists(target, "aria-labelledby", `${child2.id}`); + } + } + _toggleDropDown(element, open) { + const outerElem = this._getOuterElement(element); + if (!outerElem.classList.contains(CLASS_DROPDOWN)) { + return; + } + const toggle = (selector, className) => { + const element2 = SelectorEngine.findOne(selector, outerElem); + if (element2) { + element2.classList.toggle(className, open); + } + }; + toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE); + toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1); + outerElem.setAttribute("aria-expanded", open); + } + _setAttributeIfNotExists(element, attribute, value) { + if (!element.hasAttribute(attribute)) { + element.setAttribute(attribute, value); + } + } + _elemIsActive(elem) { + return elem.classList.contains(CLASS_NAME_ACTIVE); + } + // Try to get the inner element (usually the .nav-link) + _getInnerElement(elem) { + return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem); + } + // Try to get the outer element (usually the .nav-item) + _getOuterElement(elem) { + return elem.closest(SELECTOR_OUTER) || elem; + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Tab.getOrCreateInstance(this); + if (typeof config !== "string") { + return; + } + if (data[config] === void 0 || config.startsWith("_") || config === "constructor") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + }; + EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function(event) { + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + Tab.getOrCreateInstance(this).show(); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API, () => { + for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) { + Tab.getOrCreateInstance(element); + } + }); + defineJQueryPlugin(Tab); + var NAME = "toast"; + var DATA_KEY = "bs.toast"; + var EVENT_KEY = `.${DATA_KEY}`; + var EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`; + var EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`; + var EVENT_FOCUSIN = `focusin${EVENT_KEY}`; + var EVENT_FOCUSOUT = `focusout${EVENT_KEY}`; + var EVENT_HIDE = `hide${EVENT_KEY}`; + var EVENT_HIDDEN = `hidden${EVENT_KEY}`; + var EVENT_SHOW = `show${EVENT_KEY}`; + var EVENT_SHOWN = `shown${EVENT_KEY}`; + var CLASS_NAME_FADE = "fade"; + var CLASS_NAME_HIDE = "hide"; + var CLASS_NAME_SHOW = "show"; + var CLASS_NAME_SHOWING = "showing"; + var DefaultType = { + animation: "boolean", + autohide: "boolean", + delay: "number" + }; + var Default = { + animation: true, + autohide: true, + delay: 5e3 + }; + var Toast = class _Toast extends BaseComponent { + constructor(element, config) { + super(element, config); + this._timeout = null; + this._hasMouseInteraction = false; + this._hasKeyboardInteraction = false; + this._setListeners(); + } + // Getters + static get Default() { + return Default; + } + static get DefaultType() { + return DefaultType; + } + static get NAME() { + return NAME; + } + // Public + show() { + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW); + if (showEvent.defaultPrevented) { + return; + } + this._clearTimeout(); + if (this._config.animation) { + this._element.classList.add(CLASS_NAME_FADE); + } + const complete = () => { + this._element.classList.remove(CLASS_NAME_SHOWING); + EventHandler.trigger(this._element, EVENT_SHOWN); + this._maybeScheduleHide(); + }; + this._element.classList.remove(CLASS_NAME_HIDE); + reflow(this._element); + this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING); + this._queueCallback(complete, this._element, this._config.animation); + } + hide() { + if (!this.isShown()) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE); + if (hideEvent.defaultPrevented) { + return; + } + const complete = () => { + this._element.classList.add(CLASS_NAME_HIDE); + this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW); + EventHandler.trigger(this._element, EVENT_HIDDEN); + }; + this._element.classList.add(CLASS_NAME_SHOWING); + this._queueCallback(complete, this._element, this._config.animation); + } + dispose() { + this._clearTimeout(); + if (this.isShown()) { + this._element.classList.remove(CLASS_NAME_SHOW); + } + super.dispose(); + } + isShown() { + return this._element.classList.contains(CLASS_NAME_SHOW); + } + // Private + _maybeScheduleHide() { + if (!this._config.autohide) { + return; + } + if (this._hasMouseInteraction || this._hasKeyboardInteraction) { + return; + } + this._timeout = setTimeout(() => { + this.hide(); + }, this._config.delay); + } + _onInteraction(event, isInteracting) { + switch (event.type) { + case "mouseover": + case "mouseout": { + this._hasMouseInteraction = isInteracting; + break; + } + case "focusin": + case "focusout": { + this._hasKeyboardInteraction = isInteracting; + break; + } + } + if (isInteracting) { + this._clearTimeout(); + return; + } + const nextElement = event.relatedTarget; + if (this._element === nextElement || this._element.contains(nextElement)) { + return; + } + this._maybeScheduleHide(); + } + _setListeners() { + EventHandler.on(this._element, EVENT_MOUSEOVER, (event) => this._onInteraction(event, true)); + EventHandler.on(this._element, EVENT_MOUSEOUT, (event) => this._onInteraction(event, false)); + EventHandler.on(this._element, EVENT_FOCUSIN, (event) => this._onInteraction(event, true)); + EventHandler.on(this._element, EVENT_FOCUSOUT, (event) => this._onInteraction(event, false)); + } + _clearTimeout() { + clearTimeout(this._timeout); + this._timeout = null; + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Toast.getOrCreateInstance(this, config); + if (typeof config === "string") { + if (typeof data[config] === "undefined") { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + } + }); + } + }; + enableDismissTrigger(Toast); + defineJQueryPlugin(Toast); + + // dev/scripts/modules/Toast.js + var import_toastify_js = __toESM(require_toastify(), 1); + var Toast2 = (text = "", variant = "primary") => { + const getColorByName = (variant2 = "") => { + let color; + switch (variant2.trim().toLowerCase()) { + case "primary": + color = "#0d6efd"; + break; + case "secondary": + color = "#6c757d"; + break; + case "warning": + color = "#ffc720"; + break; + case "success": + color = "#13653f"; + break; + case "info": + color = "#25cff2"; + break; + case "error": + case "danger": + color = "#a52834"; + break; + case "light": + color = "#babbbc"; + break; + case "dark": + color = "#373b3e"; + break; + default: + console.warn("variant not found"); + color: "white"; + } + return color; + }; + const show = () => { + (0, import_toastify_js.default)({ + text, + duration: 2e3, + className: variant, + gravity: "top", + // `top` or `bottom` + position: "center", + // `left`, `center` or `right` + stopOnFocus: true, + // Prevents dismissing of toast on hover + style: { + background: getColorByName(variant) + } + }).showToast(); + }; + return { + show + }; + }; + var Toast_default = Toast2; + + // dev/scripts/modules/ProductManager.js + var ProductManager = (el = null) => { + const BASE_URL = "http://127.0.0.1:8000"; + const module = el || document.querySelector(".product-manager") || console.error("Product Manager not found"); + if (!module) return; + const DOM = { + module, + table: module.querySelector(".table-products"), + tBody: module.querySelector("tbody"), + inputName: module.querySelector(".input-product-name"), + inputPrice: module.querySelector(".input-product-price"), + btnAdd: module.querySelector(".button-product-add"), + templateRow: module.querySelector(".template-row"), + // Nav Actions + btnSave: module.querySelector(".button-products-save"), + btnReset: module.querySelector(".button-products-reset"), + // Modal Edit + modalEdit: module.querySelector(".modal-edit"), + formEdit: module.querySelector(".form-product-edit"), + inputEditName: module.querySelector(".input-edit-name"), + inputEditPrice: module.querySelector(".input-edit-price"), + inputEditId: module.querySelector(".input-edit-id"), + inputEditPosition: module.querySelector(".input-edit-position"), + btnUpdate: module.querySelector(".button-product-update"), + // Modal Delete + modalDelete: module.querySelector(".modal-delete"), + productName: module.querySelector("strong.product-name"), + btnConfirmDelete: module.querySelector(".button-confirm-delete") + }; + console.log(DOM); + const bsModalEdit = new Modal(DOM.modalEdit, { + backdrop: "static", + // true + keyboard: true + }); + const bsModalDelete = new Modal(DOM.modalDelete, { + backdrop: "static", + // true + keyboard: true + }); + const init = () => { + console.log("init"); + initProducts(); + DOM.btnReset.addEventListener("click", onClickReset); + DOM.btnSave.addEventListener("click", onClickSave); + DOM.btnAdd.addEventListener("click", onClickAdd); + DOM.btnAdd.disabled = true; + DOM.btnConfirmDelete.addEventListener("click", onClickConfirmDelete); + DOM.formEdit.addEventListener("submit", onSubmitEdit); + window.addEventListener("keyup", onKeyUp); + }; + const onKeyUp = (e) => { + DOM.btnAdd.disabled = DOM.inputName.value === "" || DOM.inputPrice.value === ""; + }; + const onClickReset = (e) => { + const btnEl = e.currentTarget; + resetProducts().then((data) => { + if (data.success) { + Toast_default(data.msg, "success").show(); + loadProducts(); + } + }); + }; + const onClickSave = (e) => { + const btnEl = e.currentTarget; + const icon = btnEl.querySelector("i"); + icon.classList.add("fa-jello"); + saveProducts().then((data) => { + if (data.success) { + setTimeout(() => { + icon.classList.remove("fa-jello"); + }, 500); + Toast_default(data.msg, "success").show(); + } + }); + }; + const onSubmitEdit = (e) => { + e.preventDefault(); + const product = { + name: DOM.inputEditName.value, + price: Number(DOM.inputEditPrice.value), + _id: DOM.inputEditId.value, + position: DOM.inputEditPosition.value + }; + DOM.btnUpdate.querySelector("i").classList.add("fa-spin"); + updateProduct(product).then((data) => { + console.log(data); + if (data.success) { + Toast_default(data.msg, "success").show(); + DOM.btnUpdate.querySelector("i").classList.remove("fa-spin"); + loadProducts(); + resetFields(); + bsModalEdit.hide(); + } else { + Toast_default(data.msg, "error").show(); + } + }); + }; + const onClickAdd = (e) => { + console.log("click"); + const product = { + name: DOM.inputName.value, + price: Number(DOM.inputPrice.value) + }; + createProduct(product).then((data) => { + console.log(data); + if (data.success) { + console.log("add"); + Toast_default(data.msg, "success").show(); + loadProducts(); + resetFields(); + } + }); + disableNonFunctionalButtons(); + }; + const onClickEdit = (e) => { + const btnEl = e.currentTarget; + const currentRow = parents(btnEl, "tr")[0]; + const id = currentRow.dataset.id; + getProduct(id).then((data) => { + showModalEdit(data); + }); + }; + const onClickRemove = (e) => { + const btnEl = e.currentTarget; + const currentRow = parents(btnEl, "tr")[0]; + const id = currentRow.dataset.id; + const productName = currentRow.querySelector(".td-name").textContent.trim(); + DOM.btnConfirmDelete.dataset.id = id; + DOM.productName.textContent = productName; + }; + const onClickConfirmDelete = (e) => { + const btnEl = e.currentTarget; + const id = btnEl.dataset.id; + deleteProduct(id).then((data) => { + if (data.success) { + Toast_default(data.msg, "success").show(); + bsModalDelete.hide(); + loadProducts(); + } else { + Toast_default(data.msg, "error").show(); + console.error(data); + } + }); + }; + const onClickMoveUp = (e) => { + const btnEl = e.currentTarget; + const currentRowEl = parents(btnEl, "tr")[0]; + currentRowEl.previousElementSibling.before(currentRowEl); + console.log("move up"); + disableNonFunctionalButtons(); + }; + const onClickMoveDown = (e) => { + const btnEl = e.currentTarget; + const currentRowEl = parents(btnEl, "tr")[0]; + currentRowEl.nextElementSibling.after(currentRowEl); + console.log("move down"); + disableNonFunctionalButtons(); + }; + const onMouseDownDrag = (e) => { + const btnEl = e.currentTarget; + const currentRowEl = parents(btnEl, "tr")[0]; + currentRowEl.draggable = true; + }; + const onMouseUpDrag = (e) => { + const btnEl = e.currentTarget; + const currentRowEl = parents(btnEl, "tr")[0]; + currentRowEl.draggable = false; + }; + const onDragStart = (e) => { + console.log("DragEvent: ", e); + const currentRowEl = e.currentTarget; + const idx = [...currentRowEl.parentNode.children].indexOf(currentRowEl); + e.dataTransfer.setData("text/plain", idx); + console.log("tr index:", idx); + }; + const onDragOver = (e) => { + e.preventDefault(); + }; + const onDrop = (e) => { + const currentRowEl = e.currentTarget; + const targetIdx = [...currentRowEl.parentNode.children].indexOf(currentRowEl); + const sourceIdx = parseInt(e.dataTransfer.getData("text/plain")); + console.log({ targetIdx, sourceIdx }); + if (sourceIdx === targetIdx) { + return; + } + const draggedEl = DOM.tBody.querySelector(`tr:nth-child(${sourceIdx + 1})`); + if (sourceIdx > targetIdx) { + currentRowEl.before(draggedEl); + } else { + currentRowEl.after(draggedEl); + } + disableNonFunctionalButtons(); + }; + const resetProducts = async () => { + try { + const response = await fetch(`${BASE_URL}/api/products/reset`, { + method: "PATCH", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify({ reset: true }) + }); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + Toast_default(error, "error").show(); + console.error(error); + return error; + } + }; + const saveProducts = async () => { + try { + const response = await fetch(`${BASE_URL}/api/products/save`, { + method: "PATCH", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify({ save: true }) + }); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + Toast_default(error, "error").show(); + console.error(error); + return error; + } + }; + const createProduct = async (product) => { + try { + const response = await fetch(`${BASE_URL}/api/products`, { + method: "POST", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(product) + }); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + Toast_default(error, "error").show(); + console.error(error); + return error; + } + }; + const getProducts = async () => { + try { + const response = await fetch(`${BASE_URL}/api/products`); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + console.error(error); + return error; + } + }; + const getProduct = async (id) => { + try { + const response = await fetch(`${BASE_URL}/api/products/${id}`); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + console.error(error); + return error; + } + }; + const updateProduct = async (product) => { + try { + const response = await fetch(`${BASE_URL}/api/products`, { + method: "PUT", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(product) + }); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + console.error(error); + return error; + } + }; + const deleteProduct = async (id) => { + try { + const response = await fetch(`${BASE_URL}/api/products/${id}`, { + method: "DELETE", + headers: { + "Content-Type": "application/json" + } + }); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + console.error(error); + return error; + } + }; + const initProducts = () => { + getProducts().then((products) => { + products.forEach((product) => { + addProduct(product); + }); + Toast_default("Init products").show(); + disableNonFunctionalButtons(); + }); + }; + const loadProducts = () => { + DOM.tBody.innerHTML = ""; + getProducts().then((data) => { + data.forEach((product) => { + addProduct(product); + }); + disableNonFunctionalButtons(); + }); + }; + const addProduct = (product) => { + const { name, price, _id: id, position } = product; + const trEl = DOM.templateRow.content.firstElementChild.cloneNode(true); + const tdNameEl = trEl.querySelector(".td-name"); + const tdPriceEl = trEl.querySelector(".td-price"); + const btnRemoveEl = trEl.querySelector(".button-product-remove"); + const btnMoveUpEl = trEl.querySelector(".button-product-move-up"); + const btnMoveDownEl = trEl.querySelector(".button-product-move-down"); + const btnDragEl = trEl.querySelector(".button-drag"); + const btnEditEl = trEl.querySelector(".button-product-edit"); + tdNameEl.textContent = name; + tdPriceEl.textContent = price; + btnEditEl.addEventListener("click", onClickEdit); + btnRemoveEl.addEventListener("click", onClickRemove); + btnMoveUpEl.addEventListener("click", onClickMoveUp); + btnMoveDownEl.addEventListener("click", onClickMoveDown); + btnDragEl.addEventListener("mousedown", onMouseDownDrag); + btnDragEl.addEventListener("mouseup", onMouseUpDrag); + trEl.addEventListener("dragstart", onDragStart); + trEl.addEventListener("dragover", onDragOver); + trEl.addEventListener("drop", onDrop); + trEl.dataset.id = id; + trEl.dataset.position = position; + DOM.tBody.appendChild(trEl); + }; + const showModalEdit = (product) => { + const { name = "", price = 0, _id: id, position } = product; + DOM.inputEditName.value = name; + DOM.inputEditPrice.value = price; + DOM.inputEditId.value = id; + DOM.inputEditPosition.value = position; + }; + const resetFields = () => { + DOM.btnAdd.disabled = true; + DOM.inputPrice.value = ""; + DOM.inputName.value = ""; + DOM.formEdit.reset(); + }; + const disableNonFunctionalButtons = () => { + Array.from(DOM.tBody.querySelectorAll("tr")).forEach((tr) => { + const btnMoveUp = tr.querySelector(".button-product-move-up"); + const btnMoveDown = tr.querySelector(".button-product-move-down"); + btnMoveUp.disabled = !tr.previousElementSibling; + btnMoveDown.disabled = !tr.nextElementSibling; + }); + }; + const parents = (el2, selector) => { + const parents2 = []; + while ((el2 = el2.parentNode) && el2 !== document) { + if (!selector || el2.matches(selector)) parents2.push(el2); + } + return parents2; + }; + init(); + return { + init, + initProducts, + resetFields + }; + }; + var ProductManager_default = ProductManager; + + // node_modules/@splidejs/splide/dist/js/splide.esm.js + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { writable: false }); + return Constructor; + } + var MEDIA_PREFERS_REDUCED_MOTION = "(prefers-reduced-motion: reduce)"; + var CREATED = 1; + var MOUNTED = 2; + var IDLE = 3; + var MOVING = 4; + var SCROLLING = 5; + var DRAGGING = 6; + var DESTROYED = 7; + var STATES = { + CREATED, + MOUNTED, + IDLE, + MOVING, + SCROLLING, + DRAGGING, + DESTROYED + }; + function empty(array) { + array.length = 0; + } + function slice(arrayLike, start2, end2) { + return Array.prototype.slice.call(arrayLike, start2, end2); + } + function apply(func) { + return func.bind.apply(func, [null].concat(slice(arguments, 1))); + } + var nextTick = setTimeout; + var noop2 = function noop3() { + }; + function raf(func) { + return requestAnimationFrame(func); + } + function typeOf(type, subject) { + return typeof subject === type; + } + function isObject(subject) { + return !isNull(subject) && typeOf("object", subject); + } + var isArray = Array.isArray; + var isFunction = apply(typeOf, "function"); + var isString = apply(typeOf, "string"); + var isUndefined = apply(typeOf, "undefined"); + function isNull(subject) { + return subject === null; + } + function isHTMLElement2(subject) { + try { + return subject instanceof (subject.ownerDocument.defaultView || window).HTMLElement; + } catch (e) { + return false; + } + } + function toArray(value) { + return isArray(value) ? value : [value]; + } + function forEach(values, iteratee) { + toArray(values).forEach(iteratee); + } + function includes(array, value) { + return array.indexOf(value) > -1; + } + function push(array, items) { + array.push.apply(array, toArray(items)); + return array; + } + function toggleClass(elm, classes, add) { + if (elm) { + forEach(classes, function(name) { + if (name) { + elm.classList[add ? "add" : "remove"](name); + } + }); + } + } + function addClass(elm, classes) { + toggleClass(elm, isString(classes) ? classes.split(" ") : classes, true); + } + function append(parent, children2) { + forEach(children2, parent.appendChild.bind(parent)); + } + function before(nodes, ref) { + forEach(nodes, function(node) { + var parent = (ref || node).parentNode; + if (parent) { + parent.insertBefore(node, ref); + } + }); + } + function matches(elm, selector) { + return isHTMLElement2(elm) && (elm["msMatchesSelector"] || elm.matches).call(elm, selector); + } + function children(parent, selector) { + var children2 = parent ? slice(parent.children) : []; + return selector ? children2.filter(function(child2) { + return matches(child2, selector); + }) : children2; + } + function child(parent, selector) { + return selector ? children(parent, selector)[0] : parent.firstElementChild; + } + var ownKeys = Object.keys; + function forOwn(object, iteratee, right2) { + if (object) { + (right2 ? ownKeys(object).reverse() : ownKeys(object)).forEach(function(key) { + key !== "__proto__" && iteratee(object[key], key); + }); + } + return object; + } + function assign(object) { + slice(arguments, 1).forEach(function(source) { + forOwn(source, function(value, key) { + object[key] = source[key]; + }); + }); + return object; + } + function merge(object) { + slice(arguments, 1).forEach(function(source) { + forOwn(source, function(value, key) { + if (isArray(value)) { + object[key] = value.slice(); + } else if (isObject(value)) { + object[key] = merge({}, isObject(object[key]) ? object[key] : {}, value); + } else { + object[key] = value; + } + }); + }); + return object; + } + function omit(object, keys) { + forEach(keys || ownKeys(object), function(key) { + delete object[key]; + }); + } + function removeAttribute(elms, attrs) { + forEach(elms, function(elm) { + forEach(attrs, function(attr) { + elm && elm.removeAttribute(attr); + }); + }); + } + function setAttribute(elms, attrs, value) { + if (isObject(attrs)) { + forOwn(attrs, function(value2, name) { + setAttribute(elms, name, value2); + }); + } else { + forEach(elms, function(elm) { + isNull(value) || value === "" ? removeAttribute(elm, attrs) : elm.setAttribute(attrs, String(value)); + }); + } + } + function create(tag, attrs, parent) { + var elm = document.createElement(tag); + if (attrs) { + isString(attrs) ? addClass(elm, attrs) : setAttribute(elm, attrs); + } + parent && append(parent, elm); + return elm; + } + function style(elm, prop, value) { + if (isUndefined(value)) { + return getComputedStyle(elm)[prop]; + } + if (!isNull(value)) { + elm.style[prop] = "" + value; + } + } + function display(elm, display2) { + style(elm, "display", display2); + } + function focus(elm) { + elm["setActive"] && elm["setActive"]() || elm.focus({ + preventScroll: true + }); + } + function getAttribute(elm, attr) { + return elm.getAttribute(attr); + } + function hasClass(elm, className) { + return elm && elm.classList.contains(className); + } + function rect(target) { + return target.getBoundingClientRect(); + } + function remove(nodes) { + forEach(nodes, function(node) { + if (node && node.parentNode) { + node.parentNode.removeChild(node); + } + }); + } + function parseHtml(html) { + return child(new DOMParser().parseFromString(html, "text/html").body); + } + function prevent(e, stopPropagation) { + e.preventDefault(); + if (stopPropagation) { + e.stopPropagation(); + e.stopImmediatePropagation(); + } + } + function query(parent, selector) { + return parent && parent.querySelector(selector); + } + function queryAll(parent, selector) { + return selector ? slice(parent.querySelectorAll(selector)) : []; + } + function removeClass(elm, classes) { + toggleClass(elm, classes, false); + } + function timeOf(e) { + return e.timeStamp; + } + function unit(value) { + return isString(value) ? value : value ? value + "px" : ""; + } + var PROJECT_CODE = "splide"; + var DATA_ATTRIBUTE = "data-" + PROJECT_CODE; + function assert(condition, message) { + if (!condition) { + throw new Error("[" + PROJECT_CODE + "] " + (message || "")); + } + } + var min2 = Math.min; + var max2 = Math.max; + var floor = Math.floor; + var ceil = Math.ceil; + var abs = Math.abs; + function approximatelyEqual(x, y, epsilon) { + return abs(x - y) < epsilon; + } + function between(number, x, y, exclusive) { + var minimum = min2(x, y); + var maximum = max2(x, y); + return exclusive ? minimum < number && number < maximum : minimum <= number && number <= maximum; + } + function clamp(number, x, y) { + var minimum = min2(x, y); + var maximum = max2(x, y); + return min2(max2(minimum, number), maximum); + } + function sign(x) { + return +(x > 0) - +(x < 0); + } + function format(string, replacements) { + forEach(replacements, function(replacement) { + string = string.replace("%s", "" + replacement); + }); + return string; + } + function pad(number) { + return number < 10 ? "0" + number : "" + number; + } + var ids = {}; + function uniqueId(prefix) { + return "" + prefix + pad(ids[prefix] = (ids[prefix] || 0) + 1); + } + function EventBinder() { + var listeners = []; + function bind(targets, events, callback, options) { + forEachEvent(targets, events, function(target, event, namespace) { + var isEventTarget = "addEventListener" in target; + var remover = isEventTarget ? target.removeEventListener.bind(target, event, callback, options) : target["removeListener"].bind(target, callback); + isEventTarget ? target.addEventListener(event, callback, options) : target["addListener"](callback); + listeners.push([target, event, namespace, callback, remover]); + }); + } + function unbind(targets, events, callback) { + forEachEvent(targets, events, function(target, event, namespace) { + listeners = listeners.filter(function(listener) { + if (listener[0] === target && listener[1] === event && listener[2] === namespace && (!callback || listener[3] === callback)) { + listener[4](); + return false; + } + return true; + }); + }); + } + function dispatch(target, type, detail) { + var e; + var bubbles = true; + if (typeof CustomEvent === "function") { + e = new CustomEvent(type, { + bubbles, + detail + }); + } else { + e = document.createEvent("CustomEvent"); + e.initCustomEvent(type, bubbles, false, detail); + } + target.dispatchEvent(e); + return e; + } + function forEachEvent(targets, events, iteratee) { + forEach(targets, function(target) { + target && forEach(events, function(events2) { + events2.split(" ").forEach(function(eventNS) { + var fragment = eventNS.split("."); + iteratee(target, fragment[0], fragment[1]); + }); + }); + }); + } + function destroy() { + listeners.forEach(function(data) { + data[4](); + }); + empty(listeners); + } + return { + bind, + unbind, + dispatch, + destroy + }; + } + var EVENT_MOUNTED = "mounted"; + var EVENT_READY = "ready"; + var EVENT_MOVE = "move"; + var EVENT_MOVED = "moved"; + var EVENT_CLICK2 = "click"; + var EVENT_ACTIVE = "active"; + var EVENT_INACTIVE = "inactive"; + var EVENT_VISIBLE = "visible"; + var EVENT_HIDDEN2 = "hidden"; + var EVENT_REFRESH = "refresh"; + var EVENT_UPDATED = "updated"; + var EVENT_RESIZE2 = "resize"; + var EVENT_RESIZED = "resized"; + var EVENT_DRAG = "drag"; + var EVENT_DRAGGING = "dragging"; + var EVENT_DRAGGED = "dragged"; + var EVENT_SCROLL = "scroll"; + var EVENT_SCROLLED = "scrolled"; + var EVENT_OVERFLOW = "overflow"; + var EVENT_DESTROY = "destroy"; + var EVENT_ARROWS_MOUNTED = "arrows:mounted"; + var EVENT_ARROWS_UPDATED = "arrows:updated"; + var EVENT_PAGINATION_MOUNTED = "pagination:mounted"; + var EVENT_PAGINATION_UPDATED = "pagination:updated"; + var EVENT_NAVIGATION_MOUNTED = "navigation:mounted"; + var EVENT_AUTOPLAY_PLAY = "autoplay:play"; + var EVENT_AUTOPLAY_PLAYING = "autoplay:playing"; + var EVENT_AUTOPLAY_PAUSE = "autoplay:pause"; + var EVENT_LAZYLOAD_LOADED = "lazyload:loaded"; + var EVENT_SLIDE_KEYDOWN = "sk"; + var EVENT_SHIFTED = "sh"; + var EVENT_END_INDEX_CHANGED = "ei"; + function EventInterface(Splide2) { + var bus = Splide2 ? Splide2.event.bus : document.createDocumentFragment(); + var binder = EventBinder(); + function on(events, callback) { + binder.bind(bus, toArray(events).join(" "), function(e) { + callback.apply(callback, isArray(e.detail) ? e.detail : []); + }); + } + function emit(event) { + binder.dispatch(bus, event, slice(arguments, 1)); + } + if (Splide2) { + Splide2.event.on(EVENT_DESTROY, binder.destroy); + } + return assign(binder, { + bus, + on, + off: apply(binder.unbind, bus), + emit + }); + } + function RequestInterval(interval, onInterval, onUpdate, limit) { + var now = Date.now; + var startTime; + var rate = 0; + var id; + var paused = true; + var count = 0; + function update() { + if (!paused) { + rate = interval ? min2((now() - startTime) / interval, 1) : 1; + onUpdate && onUpdate(rate); + if (rate >= 1) { + onInterval(); + startTime = now(); + if (limit && ++count >= limit) { + return pause(); + } + } + id = raf(update); + } + } + function start2(resume) { + resume || cancel(); + startTime = now() - (resume ? rate * interval : 0); + paused = false; + id = raf(update); + } + function pause() { + paused = true; + } + function rewind() { + startTime = now(); + rate = 0; + if (onUpdate) { + onUpdate(rate); + } + } + function cancel() { + id && cancelAnimationFrame(id); + rate = 0; + id = 0; + paused = true; + } + function set(time) { + interval = time; + } + function isPaused() { + return paused; + } + return { + start: start2, + rewind, + pause, + cancel, + set, + isPaused + }; + } + function State(initialState) { + var state = initialState; + function set(value) { + state = value; + } + function is(states) { + return includes(toArray(states), state); + } + return { + set, + is + }; + } + function Throttle(func, duration) { + var interval = RequestInterval(duration || 0, func, null, 1); + return function() { + interval.isPaused() && interval.start(); + }; + } + function Media(Splide2, Components2, options) { + var state = Splide2.state; + var breakpoints = options.breakpoints || {}; + var reducedMotion = options.reducedMotion || {}; + var binder = EventBinder(); + var queries = []; + function setup() { + var isMin = options.mediaQuery === "min"; + ownKeys(breakpoints).sort(function(n, m) { + return isMin ? +n - +m : +m - +n; + }).forEach(function(key) { + register(breakpoints[key], "(" + (isMin ? "min" : "max") + "-width:" + key + "px)"); + }); + register(reducedMotion, MEDIA_PREFERS_REDUCED_MOTION); + update(); + } + function destroy(completely) { + if (completely) { + binder.destroy(); + } + } + function register(options2, query2) { + var queryList = matchMedia(query2); + binder.bind(queryList, "change", update); + queries.push([options2, queryList]); + } + function update() { + var destroyed = state.is(DESTROYED); + var direction = options.direction; + var merged = queries.reduce(function(merged2, entry) { + return merge(merged2, entry[1].matches ? entry[0] : {}); + }, {}); + omit(options); + set(merged); + if (options.destroy) { + Splide2.destroy(options.destroy === "completely"); + } else if (destroyed) { + destroy(true); + Splide2.mount(); + } else { + direction !== options.direction && Splide2.refresh(); + } + } + function reduce(enable) { + if (matchMedia(MEDIA_PREFERS_REDUCED_MOTION).matches) { + enable ? merge(options, reducedMotion) : omit(options, ownKeys(reducedMotion)); + } + } + function set(opts, base, notify) { + merge(options, opts); + base && merge(Object.getPrototypeOf(options), opts); + if (notify || !state.is(CREATED)) { + Splide2.emit(EVENT_UPDATED, options); + } + } + return { + setup, + destroy, + reduce, + set + }; + } + var ARROW = "Arrow"; + var ARROW_LEFT = ARROW + "Left"; + var ARROW_RIGHT = ARROW + "Right"; + var ARROW_UP = ARROW + "Up"; + var ARROW_DOWN = ARROW + "Down"; + var RTL = "rtl"; + var TTB = "ttb"; + var ORIENTATION_MAP = { + width: ["height"], + left: ["top", "right"], + right: ["bottom", "left"], + x: ["y"], + X: ["Y"], + Y: ["X"], + ArrowLeft: [ARROW_UP, ARROW_RIGHT], + ArrowRight: [ARROW_DOWN, ARROW_LEFT] + }; + function Direction(Splide2, Components2, options) { + function resolve(prop, axisOnly, direction) { + direction = direction || options.direction; + var index = direction === RTL && !axisOnly ? 1 : direction === TTB ? 0 : -1; + return ORIENTATION_MAP[prop] && ORIENTATION_MAP[prop][index] || prop.replace(/width|left|right/i, function(match, offset2) { + var replacement = ORIENTATION_MAP[match.toLowerCase()][index] || match; + return offset2 > 0 ? replacement.charAt(0).toUpperCase() + replacement.slice(1) : replacement; + }); + } + function orient(value) { + return value * (options.direction === RTL ? 1 : -1); + } + return { + resolve, + orient + }; + } + var ROLE = "role"; + var TAB_INDEX = "tabindex"; + var DISABLED = "disabled"; + var ARIA_PREFIX = "aria-"; + var ARIA_CONTROLS = ARIA_PREFIX + "controls"; + var ARIA_CURRENT = ARIA_PREFIX + "current"; + var ARIA_SELECTED = ARIA_PREFIX + "selected"; + var ARIA_LABEL = ARIA_PREFIX + "label"; + var ARIA_LABELLEDBY = ARIA_PREFIX + "labelledby"; + var ARIA_HIDDEN = ARIA_PREFIX + "hidden"; + var ARIA_ORIENTATION = ARIA_PREFIX + "orientation"; + var ARIA_ROLEDESCRIPTION = ARIA_PREFIX + "roledescription"; + var ARIA_LIVE = ARIA_PREFIX + "live"; + var ARIA_BUSY = ARIA_PREFIX + "busy"; + var ARIA_ATOMIC = ARIA_PREFIX + "atomic"; + var ALL_ATTRIBUTES = [ROLE, TAB_INDEX, DISABLED, ARIA_CONTROLS, ARIA_CURRENT, ARIA_LABEL, ARIA_LABELLEDBY, ARIA_HIDDEN, ARIA_ORIENTATION, ARIA_ROLEDESCRIPTION]; + var CLASS_PREFIX = PROJECT_CODE + "__"; + var STATUS_CLASS_PREFIX = "is-"; + var CLASS_ROOT = PROJECT_CODE; + var CLASS_TRACK = CLASS_PREFIX + "track"; + var CLASS_LIST = CLASS_PREFIX + "list"; + var CLASS_SLIDE = CLASS_PREFIX + "slide"; + var CLASS_CLONE = CLASS_SLIDE + "--clone"; + var CLASS_CONTAINER = CLASS_SLIDE + "__container"; + var CLASS_ARROWS = CLASS_PREFIX + "arrows"; + var CLASS_ARROW = CLASS_PREFIX + "arrow"; + var CLASS_ARROW_PREV = CLASS_ARROW + "--prev"; + var CLASS_ARROW_NEXT = CLASS_ARROW + "--next"; + var CLASS_PAGINATION = CLASS_PREFIX + "pagination"; + var CLASS_PAGINATION_PAGE = CLASS_PAGINATION + "__page"; + var CLASS_PROGRESS = CLASS_PREFIX + "progress"; + var CLASS_PROGRESS_BAR = CLASS_PROGRESS + "__bar"; + var CLASS_TOGGLE = CLASS_PREFIX + "toggle"; + var CLASS_TOGGLE_PLAY = CLASS_TOGGLE + "__play"; + var CLASS_TOGGLE_PAUSE = CLASS_TOGGLE + "__pause"; + var CLASS_SPINNER = CLASS_PREFIX + "spinner"; + var CLASS_SR = CLASS_PREFIX + "sr"; + var CLASS_INITIALIZED = STATUS_CLASS_PREFIX + "initialized"; + var CLASS_ACTIVE = STATUS_CLASS_PREFIX + "active"; + var CLASS_PREV = STATUS_CLASS_PREFIX + "prev"; + var CLASS_NEXT = STATUS_CLASS_PREFIX + "next"; + var CLASS_VISIBLE = STATUS_CLASS_PREFIX + "visible"; + var CLASS_LOADING = STATUS_CLASS_PREFIX + "loading"; + var CLASS_FOCUS_IN = STATUS_CLASS_PREFIX + "focus-in"; + var CLASS_OVERFLOW = STATUS_CLASS_PREFIX + "overflow"; + var STATUS_CLASSES = [CLASS_ACTIVE, CLASS_VISIBLE, CLASS_PREV, CLASS_NEXT, CLASS_LOADING, CLASS_FOCUS_IN, CLASS_OVERFLOW]; + var CLASSES = { + slide: CLASS_SLIDE, + clone: CLASS_CLONE, + arrows: CLASS_ARROWS, + arrow: CLASS_ARROW, + prev: CLASS_ARROW_PREV, + next: CLASS_ARROW_NEXT, + pagination: CLASS_PAGINATION, + page: CLASS_PAGINATION_PAGE, + spinner: CLASS_SPINNER + }; + function closest(from, selector) { + if (isFunction(from.closest)) { + return from.closest(selector); + } + var elm = from; + while (elm && elm.nodeType === 1) { + if (matches(elm, selector)) { + break; + } + elm = elm.parentElement; + } + return elm; + } + var FRICTION = 5; + var LOG_INTERVAL = 200; + var POINTER_DOWN_EVENTS = "touchstart mousedown"; + var POINTER_MOVE_EVENTS = "touchmove mousemove"; + var POINTER_UP_EVENTS = "touchend touchcancel mouseup click"; + function Elements(Splide2, Components2, options) { + var _EventInterface = EventInterface(Splide2), on = _EventInterface.on, bind = _EventInterface.bind; + var root = Splide2.root; + var i18n = options.i18n; + var elements = {}; + var slides = []; + var rootClasses = []; + var trackClasses = []; + var track; + var list; + var isUsingKey; + function setup() { + collect(); + init(); + update(); + } + function mount() { + on(EVENT_REFRESH, destroy); + on(EVENT_REFRESH, setup); + on(EVENT_UPDATED, update); + bind(document, POINTER_DOWN_EVENTS + " keydown", function(e) { + isUsingKey = e.type === "keydown"; + }, { + capture: true + }); + bind(root, "focusin", function() { + toggleClass(root, CLASS_FOCUS_IN, !!isUsingKey); + }); + } + function destroy(completely) { + var attrs = ALL_ATTRIBUTES.concat("style"); + empty(slides); + removeClass(root, rootClasses); + removeClass(track, trackClasses); + removeAttribute([track, list], attrs); + removeAttribute(root, completely ? attrs : ["style", ARIA_ROLEDESCRIPTION]); + } + function update() { + removeClass(root, rootClasses); + removeClass(track, trackClasses); + rootClasses = getClasses(CLASS_ROOT); + trackClasses = getClasses(CLASS_TRACK); + addClass(root, rootClasses); + addClass(track, trackClasses); + setAttribute(root, ARIA_LABEL, options.label); + setAttribute(root, ARIA_LABELLEDBY, options.labelledby); + } + function collect() { + track = find("." + CLASS_TRACK); + list = child(track, "." + CLASS_LIST); + assert(track && list, "A track/list element is missing."); + push(slides, children(list, "." + CLASS_SLIDE + ":not(." + CLASS_CLONE + ")")); + forOwn({ + arrows: CLASS_ARROWS, + pagination: CLASS_PAGINATION, + prev: CLASS_ARROW_PREV, + next: CLASS_ARROW_NEXT, + bar: CLASS_PROGRESS_BAR, + toggle: CLASS_TOGGLE + }, function(className, key) { + elements[key] = find("." + className); + }); + assign(elements, { + root, + track, + list, + slides + }); + } + function init() { + var id = root.id || uniqueId(PROJECT_CODE); + var role = options.role; + root.id = id; + track.id = track.id || id + "-track"; + list.id = list.id || id + "-list"; + if (!getAttribute(root, ROLE) && root.tagName !== "SECTION" && role) { + setAttribute(root, ROLE, role); + } + setAttribute(root, ARIA_ROLEDESCRIPTION, i18n.carousel); + setAttribute(list, ROLE, "presentation"); + } + function find(selector) { + var elm = query(root, selector); + return elm && closest(elm, "." + CLASS_ROOT) === root ? elm : void 0; + } + function getClasses(base) { + return [base + "--" + options.type, base + "--" + options.direction, options.drag && base + "--draggable", options.isNavigation && base + "--nav", base === CLASS_ROOT && CLASS_ACTIVE]; + } + return assign(elements, { + setup, + mount, + destroy + }); + } + var SLIDE = "slide"; + var LOOP = "loop"; + var FADE = "fade"; + function Slide$1(Splide2, index, slideIndex, slide) { + var event = EventInterface(Splide2); + var on = event.on, emit = event.emit, bind = event.bind; + var Components = Splide2.Components, root = Splide2.root, options = Splide2.options; + var isNavigation = options.isNavigation, updateOnMove = options.updateOnMove, i18n = options.i18n, pagination = options.pagination, slideFocus = options.slideFocus; + var resolve = Components.Direction.resolve; + var styles = getAttribute(slide, "style"); + var label = getAttribute(slide, ARIA_LABEL); + var isClone = slideIndex > -1; + var container = child(slide, "." + CLASS_CONTAINER); + var destroyed; + function mount() { + if (!isClone) { + slide.id = root.id + "-slide" + pad(index + 1); + setAttribute(slide, ROLE, pagination ? "tabpanel" : "group"); + setAttribute(slide, ARIA_ROLEDESCRIPTION, i18n.slide); + setAttribute(slide, ARIA_LABEL, label || format(i18n.slideLabel, [index + 1, Splide2.length])); + } + listen(); + } + function listen() { + bind(slide, "click", apply(emit, EVENT_CLICK2, self)); + bind(slide, "keydown", apply(emit, EVENT_SLIDE_KEYDOWN, self)); + on([EVENT_MOVED, EVENT_SHIFTED, EVENT_SCROLLED], update); + on(EVENT_NAVIGATION_MOUNTED, initNavigation); + if (updateOnMove) { + on(EVENT_MOVE, onMove); + } + } + function destroy() { + destroyed = true; + event.destroy(); + removeClass(slide, STATUS_CLASSES); + removeAttribute(slide, ALL_ATTRIBUTES); + setAttribute(slide, "style", styles); + setAttribute(slide, ARIA_LABEL, label || ""); + } + function initNavigation() { + var controls = Splide2.splides.map(function(target) { + var Slide2 = target.splide.Components.Slides.getAt(index); + return Slide2 ? Slide2.slide.id : ""; + }).join(" "); + setAttribute(slide, ARIA_LABEL, format(i18n.slideX, (isClone ? slideIndex : index) + 1)); + setAttribute(slide, ARIA_CONTROLS, controls); + setAttribute(slide, ROLE, slideFocus ? "button" : ""); + slideFocus && removeAttribute(slide, ARIA_ROLEDESCRIPTION); + } + function onMove() { + if (!destroyed) { + update(); + } + } + function update() { + if (!destroyed) { + var curr = Splide2.index; + updateActivity(); + updateVisibility(); + toggleClass(slide, CLASS_PREV, index === curr - 1); + toggleClass(slide, CLASS_NEXT, index === curr + 1); + } + } + function updateActivity() { + var active = isActive(); + if (active !== hasClass(slide, CLASS_ACTIVE)) { + toggleClass(slide, CLASS_ACTIVE, active); + setAttribute(slide, ARIA_CURRENT, isNavigation && active || ""); + emit(active ? EVENT_ACTIVE : EVENT_INACTIVE, self); + } + } + function updateVisibility() { + var visible = isVisible2(); + var hidden = !visible && (!isActive() || isClone); + if (!Splide2.state.is([MOVING, SCROLLING])) { + setAttribute(slide, ARIA_HIDDEN, hidden || ""); + } + setAttribute(queryAll(slide, options.focusableNodes || ""), TAB_INDEX, hidden ? -1 : ""); + if (slideFocus) { + setAttribute(slide, TAB_INDEX, hidden ? -1 : 0); + } + if (visible !== hasClass(slide, CLASS_VISIBLE)) { + toggleClass(slide, CLASS_VISIBLE, visible); + emit(visible ? EVENT_VISIBLE : EVENT_HIDDEN2, self); + } + if (!visible && document.activeElement === slide) { + var Slide2 = Components.Slides.getAt(Splide2.index); + Slide2 && focus(Slide2.slide); + } + } + function style$1(prop, value, useContainer) { + style(useContainer && container || slide, prop, value); + } + function isActive() { + var curr = Splide2.index; + return curr === index || options.cloneStatus && curr === slideIndex; + } + function isVisible2() { + if (Splide2.is(FADE)) { + return isActive(); + } + var trackRect = rect(Components.Elements.track); + var slideRect = rect(slide); + var left2 = resolve("left", true); + var right2 = resolve("right", true); + return floor(trackRect[left2]) <= ceil(slideRect[left2]) && floor(slideRect[right2]) <= ceil(trackRect[right2]); + } + function isWithin(from, distance) { + var diff = abs(from - index); + if (!isClone && (options.rewind || Splide2.is(LOOP))) { + diff = min2(diff, Splide2.length - diff); + } + return diff <= distance; + } + var self = { + index, + slideIndex, + slide, + container, + isClone, + mount, + destroy, + update, + style: style$1, + isWithin + }; + return self; + } + function Slides(Splide2, Components2, options) { + var _EventInterface2 = EventInterface(Splide2), on = _EventInterface2.on, emit = _EventInterface2.emit, bind = _EventInterface2.bind; + var _Components2$Elements = Components2.Elements, slides = _Components2$Elements.slides, list = _Components2$Elements.list; + var Slides2 = []; + function mount() { + init(); + on(EVENT_REFRESH, destroy); + on(EVENT_REFRESH, init); + } + function init() { + slides.forEach(function(slide, index) { + register(slide, index, -1); + }); + } + function destroy() { + forEach$1(function(Slide2) { + Slide2.destroy(); + }); + empty(Slides2); + } + function update() { + forEach$1(function(Slide2) { + Slide2.update(); + }); + } + function register(slide, index, slideIndex) { + var object = Slide$1(Splide2, index, slideIndex, slide); + object.mount(); + Slides2.push(object); + Slides2.sort(function(Slide1, Slide2) { + return Slide1.index - Slide2.index; + }); + } + function get(excludeClones) { + return excludeClones ? filter(function(Slide2) { + return !Slide2.isClone; + }) : Slides2; + } + function getIn(page) { + var Controller2 = Components2.Controller; + var index = Controller2.toIndex(page); + var max3 = Controller2.hasFocus() ? 1 : options.perPage; + return filter(function(Slide2) { + return between(Slide2.index, index, index + max3 - 1); + }); + } + function getAt(index) { + return filter(index)[0]; + } + function add(items, index) { + forEach(items, function(slide) { + if (isString(slide)) { + slide = parseHtml(slide); + } + if (isHTMLElement2(slide)) { + var ref = slides[index]; + ref ? before(slide, ref) : append(list, slide); + addClass(slide, options.classes.slide); + observeImages(slide, apply(emit, EVENT_RESIZE2)); + } + }); + emit(EVENT_REFRESH); + } + function remove$1(matcher) { + remove(filter(matcher).map(function(Slide2) { + return Slide2.slide; + })); + emit(EVENT_REFRESH); + } + function forEach$1(iteratee, excludeClones) { + get(excludeClones).forEach(iteratee); + } + function filter(matcher) { + return Slides2.filter(isFunction(matcher) ? matcher : function(Slide2) { + return isString(matcher) ? matches(Slide2.slide, matcher) : includes(toArray(matcher), Slide2.index); + }); + } + function style2(prop, value, useContainer) { + forEach$1(function(Slide2) { + Slide2.style(prop, value, useContainer); + }); + } + function observeImages(elm, callback) { + var images = queryAll(elm, "img"); + var length = images.length; + if (length) { + images.forEach(function(img) { + bind(img, "load error", function() { + if (!--length) { + callback(); + } + }); + }); + } else { + callback(); + } + } + function getLength(excludeClones) { + return excludeClones ? slides.length : Slides2.length; + } + function isEnough() { + return Slides2.length > options.perPage; + } + return { + mount, + destroy, + update, + register, + get, + getIn, + getAt, + add, + remove: remove$1, + forEach: forEach$1, + filter, + style: style2, + getLength, + isEnough + }; + } + function Layout(Splide2, Components2, options) { + var _EventInterface3 = EventInterface(Splide2), on = _EventInterface3.on, bind = _EventInterface3.bind, emit = _EventInterface3.emit; + var Slides2 = Components2.Slides; + var resolve = Components2.Direction.resolve; + var _Components2$Elements2 = Components2.Elements, root = _Components2$Elements2.root, track = _Components2$Elements2.track, list = _Components2$Elements2.list; + var getAt = Slides2.getAt, styleSlides = Slides2.style; + var vertical; + var rootRect; + var overflow; + function mount() { + init(); + bind(window, "resize load", Throttle(apply(emit, EVENT_RESIZE2))); + on([EVENT_UPDATED, EVENT_REFRESH], init); + on(EVENT_RESIZE2, resize); + } + function init() { + vertical = options.direction === TTB; + style(root, "maxWidth", unit(options.width)); + style(track, resolve("paddingLeft"), cssPadding(false)); + style(track, resolve("paddingRight"), cssPadding(true)); + resize(true); + } + function resize(force) { + var newRect = rect(root); + if (force || rootRect.width !== newRect.width || rootRect.height !== newRect.height) { + style(track, "height", cssTrackHeight()); + styleSlides(resolve("marginRight"), unit(options.gap)); + styleSlides("width", cssSlideWidth()); + styleSlides("height", cssSlideHeight(), true); + rootRect = newRect; + emit(EVENT_RESIZED); + if (overflow !== (overflow = isOverflow())) { + toggleClass(root, CLASS_OVERFLOW, overflow); + emit(EVENT_OVERFLOW, overflow); + } + } + } + function cssPadding(right2) { + var padding = options.padding; + var prop = resolve(right2 ? "right" : "left"); + return padding && unit(padding[prop] || (isObject(padding) ? 0 : padding)) || "0px"; + } + function cssTrackHeight() { + var height = ""; + if (vertical) { + height = cssHeight(); + assert(height, "height or heightRatio is missing."); + height = "calc(" + height + " - " + cssPadding(false) + " - " + cssPadding(true) + ")"; + } + return height; + } + function cssHeight() { + return unit(options.height || rect(list).width * options.heightRatio); + } + function cssSlideWidth() { + return options.autoWidth ? null : unit(options.fixedWidth) || (vertical ? "" : cssSlideSize()); + } + function cssSlideHeight() { + return unit(options.fixedHeight) || (vertical ? options.autoHeight ? null : cssSlideSize() : cssHeight()); + } + function cssSlideSize() { + var gap = unit(options.gap); + return "calc((100%" + (gap && " + " + gap) + ")/" + (options.perPage || 1) + (gap && " - " + gap) + ")"; + } + function listSize() { + return rect(list)[resolve("width")]; + } + function slideSize(index, withoutGap) { + var Slide2 = getAt(index || 0); + return Slide2 ? rect(Slide2.slide)[resolve("width")] + (withoutGap ? 0 : getGap()) : 0; + } + function totalSize(index, withoutGap) { + var Slide2 = getAt(index); + if (Slide2) { + var right2 = rect(Slide2.slide)[resolve("right")]; + var left2 = rect(list)[resolve("left")]; + return abs(right2 - left2) + (withoutGap ? 0 : getGap()); + } + return 0; + } + function sliderSize(withoutGap) { + return totalSize(Splide2.length - 1) - totalSize(0) + slideSize(0, withoutGap); + } + function getGap() { + var Slide2 = getAt(0); + return Slide2 && parseFloat(style(Slide2.slide, resolve("marginRight"))) || 0; + } + function getPadding(right2) { + return parseFloat(style(track, resolve("padding" + (right2 ? "Right" : "Left")))) || 0; + } + function isOverflow() { + return Splide2.is(FADE) || sliderSize(true) > listSize(); + } + return { + mount, + resize, + listSize, + slideSize, + sliderSize, + totalSize, + getPadding, + isOverflow + }; + } + var MULTIPLIER = 2; + function Clones(Splide2, Components2, options) { + var event = EventInterface(Splide2); + var on = event.on; + var Elements2 = Components2.Elements, Slides2 = Components2.Slides; + var resolve = Components2.Direction.resolve; + var clones = []; + var cloneCount; + function mount() { + on(EVENT_REFRESH, remount); + on([EVENT_UPDATED, EVENT_RESIZE2], observe); + if (cloneCount = computeCloneCount()) { + generate(cloneCount); + Components2.Layout.resize(true); + } + } + function remount() { + destroy(); + mount(); + } + function destroy() { + remove(clones); + empty(clones); + event.destroy(); + } + function observe() { + var count = computeCloneCount(); + if (cloneCount !== count) { + if (cloneCount < count || !count) { + event.emit(EVENT_REFRESH); + } + } + } + function generate(count) { + var slides = Slides2.get().slice(); + var length = slides.length; + if (length) { + while (slides.length < count) { + push(slides, slides); + } + push(slides.slice(-count), slides.slice(0, count)).forEach(function(Slide2, index) { + var isHead = index < count; + var clone = cloneDeep(Slide2.slide, index); + isHead ? before(clone, slides[0].slide) : append(Elements2.list, clone); + push(clones, clone); + Slides2.register(clone, index - count + (isHead ? 0 : length), Slide2.index); + }); + } + } + function cloneDeep(elm, index) { + var clone = elm.cloneNode(true); + addClass(clone, options.classes.clone); + clone.id = Splide2.root.id + "-clone" + pad(index + 1); + return clone; + } + function computeCloneCount() { + var clones2 = options.clones; + if (!Splide2.is(LOOP)) { + clones2 = 0; + } else if (isUndefined(clones2)) { + var fixedSize = options[resolve("fixedWidth")] && Components2.Layout.slideSize(0); + var fixedCount = fixedSize && ceil(rect(Elements2.track)[resolve("width")] / fixedSize); + clones2 = fixedCount || options[resolve("autoWidth")] && Splide2.length || options.perPage * MULTIPLIER; + } + return clones2; + } + return { + mount, + destroy + }; + } + function Move(Splide2, Components2, options) { + var _EventInterface4 = EventInterface(Splide2), on = _EventInterface4.on, emit = _EventInterface4.emit; + var set = Splide2.state.set; + var _Components2$Layout = Components2.Layout, slideSize = _Components2$Layout.slideSize, getPadding = _Components2$Layout.getPadding, totalSize = _Components2$Layout.totalSize, listSize = _Components2$Layout.listSize, sliderSize = _Components2$Layout.sliderSize; + var _Components2$Directio = Components2.Direction, resolve = _Components2$Directio.resolve, orient = _Components2$Directio.orient; + var _Components2$Elements3 = Components2.Elements, list = _Components2$Elements3.list, track = _Components2$Elements3.track; + var Transition; + function mount() { + Transition = Components2.Transition; + on([EVENT_MOUNTED, EVENT_RESIZED, EVENT_UPDATED, EVENT_REFRESH], reposition); + } + function reposition() { + if (!Components2.Controller.isBusy()) { + Components2.Scroll.cancel(); + jump(Splide2.index); + Components2.Slides.update(); + } + } + function move(dest, index, prev, callback) { + if (dest !== index && canShift(dest > prev)) { + cancel(); + translate(shift(getPosition(), dest > prev), true); + } + set(MOVING); + emit(EVENT_MOVE, index, prev, dest); + Transition.start(index, function() { + set(IDLE); + emit(EVENT_MOVED, index, prev, dest); + callback && callback(); + }); + } + function jump(index) { + translate(toPosition(index, true)); + } + function translate(position, preventLoop) { + if (!Splide2.is(FADE)) { + var destination = preventLoop ? position : loop(position); + style(list, "transform", "translate" + resolve("X") + "(" + destination + "px)"); + position !== destination && emit(EVENT_SHIFTED); + } + } + function loop(position) { + if (Splide2.is(LOOP)) { + var index = toIndex(position); + var exceededMax = index > Components2.Controller.getEnd(); + var exceededMin = index < 0; + if (exceededMin || exceededMax) { + position = shift(position, exceededMax); + } + } + return position; + } + function shift(position, backwards) { + var excess = position - getLimit(backwards); + var size = sliderSize(); + position -= orient(size * (ceil(abs(excess) / size) || 1)) * (backwards ? 1 : -1); + return position; + } + function cancel() { + translate(getPosition(), true); + Transition.cancel(); + } + function toIndex(position) { + var Slides2 = Components2.Slides.get(); + var index = 0; + var minDistance = Infinity; + for (var i = 0; i < Slides2.length; i++) { + var slideIndex = Slides2[i].index; + var distance = abs(toPosition(slideIndex, true) - position); + if (distance <= minDistance) { + minDistance = distance; + index = slideIndex; + } else { + break; + } + } + return index; + } + function toPosition(index, trimming) { + var position = orient(totalSize(index - 1) - offset2(index)); + return trimming ? trim(position) : position; + } + function getPosition() { + var left2 = resolve("left"); + return rect(list)[left2] - rect(track)[left2] + orient(getPadding(false)); + } + function trim(position) { + if (options.trimSpace && Splide2.is(SLIDE)) { + position = clamp(position, 0, orient(sliderSize(true) - listSize())); + } + return position; + } + function offset2(index) { + var focus2 = options.focus; + return focus2 === "center" ? (listSize() - slideSize(index, true)) / 2 : +focus2 * slideSize(index) || 0; + } + function getLimit(max3) { + return toPosition(max3 ? Components2.Controller.getEnd() : 0, !!options.trimSpace); + } + function canShift(backwards) { + var shifted = orient(shift(getPosition(), backwards)); + return backwards ? shifted >= 0 : shifted <= list[resolve("scrollWidth")] - rect(track)[resolve("width")]; + } + function exceededLimit(max3, position) { + position = isUndefined(position) ? getPosition() : position; + var exceededMin = max3 !== true && orient(position) < orient(getLimit(false)); + var exceededMax = max3 !== false && orient(position) > orient(getLimit(true)); + return exceededMin || exceededMax; + } + return { + mount, + move, + jump, + translate, + shift, + cancel, + toIndex, + toPosition, + getPosition, + getLimit, + exceededLimit, + reposition + }; + } + function Controller(Splide2, Components2, options) { + var _EventInterface5 = EventInterface(Splide2), on = _EventInterface5.on, emit = _EventInterface5.emit; + var Move2 = Components2.Move; + var getPosition = Move2.getPosition, getLimit = Move2.getLimit, toPosition = Move2.toPosition; + var _Components2$Slides = Components2.Slides, isEnough = _Components2$Slides.isEnough, getLength = _Components2$Slides.getLength; + var omitEnd = options.omitEnd; + var isLoop = Splide2.is(LOOP); + var isSlide = Splide2.is(SLIDE); + var getNext = apply(getAdjacent, false); + var getPrev = apply(getAdjacent, true); + var currIndex = options.start || 0; + var endIndex; + var prevIndex = currIndex; + var slideCount; + var perMove; + var perPage; + function mount() { + init(); + on([EVENT_UPDATED, EVENT_REFRESH, EVENT_END_INDEX_CHANGED], init); + on(EVENT_RESIZED, onResized); + } + function init() { + slideCount = getLength(true); + perMove = options.perMove; + perPage = options.perPage; + endIndex = getEnd(); + var index = clamp(currIndex, 0, omitEnd ? endIndex : slideCount - 1); + if (index !== currIndex) { + currIndex = index; + Move2.reposition(); + } + } + function onResized() { + if (endIndex !== getEnd()) { + emit(EVENT_END_INDEX_CHANGED); + } + } + function go(control, allowSameIndex, callback) { + if (!isBusy()) { + var dest = parse(control); + var index = loop(dest); + if (index > -1 && (allowSameIndex || index !== currIndex)) { + setIndex(index); + Move2.move(dest, index, prevIndex, callback); + } + } + } + function scroll(destination, duration, snap, callback) { + Components2.Scroll.scroll(destination, duration, snap, function() { + var index = loop(Move2.toIndex(getPosition())); + setIndex(omitEnd ? min2(index, endIndex) : index); + callback && callback(); + }); + } + function parse(control) { + var index = currIndex; + if (isString(control)) { + var _ref = control.match(/([+\-<>])(\d+)?/) || [], indicator = _ref[1], number = _ref[2]; + if (indicator === "+" || indicator === "-") { + index = computeDestIndex(currIndex + +("" + indicator + (+number || 1)), currIndex); + } else if (indicator === ">") { + index = number ? toIndex(+number) : getNext(true); + } else if (indicator === "<") { + index = getPrev(true); + } + } else { + index = isLoop ? control : clamp(control, 0, endIndex); + } + return index; + } + function getAdjacent(prev, destination) { + var number = perMove || (hasFocus() ? 1 : perPage); + var dest = computeDestIndex(currIndex + number * (prev ? -1 : 1), currIndex, !(perMove || hasFocus())); + if (dest === -1 && isSlide) { + if (!approximatelyEqual(getPosition(), getLimit(!prev), 1)) { + return prev ? 0 : endIndex; + } + } + return destination ? dest : loop(dest); + } + function computeDestIndex(dest, from, snapPage) { + if (isEnough() || hasFocus()) { + var index = computeMovableDestIndex(dest); + if (index !== dest) { + from = dest; + dest = index; + snapPage = false; + } + if (dest < 0 || dest > endIndex) { + if (!perMove && (between(0, dest, from, true) || between(endIndex, from, dest, true))) { + dest = toIndex(toPage(dest)); + } else { + if (isLoop) { + dest = snapPage ? dest < 0 ? -(slideCount % perPage || perPage) : slideCount : dest; + } else if (options.rewind) { + dest = dest < 0 ? endIndex : 0; + } else { + dest = -1; + } + } + } else { + if (snapPage && dest !== from) { + dest = toIndex(toPage(from) + (dest < from ? -1 : 1)); + } + } + } else { + dest = -1; + } + return dest; + } + function computeMovableDestIndex(dest) { + if (isSlide && options.trimSpace === "move" && dest !== currIndex) { + var position = getPosition(); + while (position === toPosition(dest, true) && between(dest, 0, Splide2.length - 1, !options.rewind)) { + dest < currIndex ? --dest : ++dest; + } + } + return dest; + } + function loop(index) { + return isLoop ? (index + slideCount) % slideCount || 0 : index; + } + function getEnd() { + var end2 = slideCount - (hasFocus() || isLoop && perMove ? 1 : perPage); + while (omitEnd && end2-- > 0) { + if (toPosition(slideCount - 1, true) !== toPosition(end2, true)) { + end2++; + break; + } + } + return clamp(end2, 0, slideCount - 1); + } + function toIndex(page) { + return clamp(hasFocus() ? page : perPage * page, 0, endIndex); + } + function toPage(index) { + return hasFocus() ? min2(index, endIndex) : floor((index >= endIndex ? slideCount - 1 : index) / perPage); + } + function toDest(destination) { + var closest2 = Move2.toIndex(destination); + return isSlide ? clamp(closest2, 0, endIndex) : closest2; + } + function setIndex(index) { + if (index !== currIndex) { + prevIndex = currIndex; + currIndex = index; + } + } + function getIndex(prev) { + return prev ? prevIndex : currIndex; + } + function hasFocus() { + return !isUndefined(options.focus) || options.isNavigation; + } + function isBusy() { + return Splide2.state.is([MOVING, SCROLLING]) && !!options.waitForTransition; + } + return { + mount, + go, + scroll, + getNext, + getPrev, + getAdjacent, + getEnd, + setIndex, + getIndex, + toIndex, + toPage, + toDest, + hasFocus, + isBusy + }; + } + var XML_NAME_SPACE = "http://www.w3.org/2000/svg"; + var PATH = "m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z"; + var SIZE = 40; + function Arrows(Splide2, Components2, options) { + var event = EventInterface(Splide2); + var on = event.on, bind = event.bind, emit = event.emit; + var classes = options.classes, i18n = options.i18n; + var Elements2 = Components2.Elements, Controller2 = Components2.Controller; + var placeholder = Elements2.arrows, track = Elements2.track; + var wrapper = placeholder; + var prev = Elements2.prev; + var next = Elements2.next; + var created; + var wrapperClasses; + var arrows = {}; + function mount() { + init(); + on(EVENT_UPDATED, remount); + } + function remount() { + destroy(); + mount(); + } + function init() { + var enabled = options.arrows; + if (enabled && !(prev && next)) { + createArrows(); + } + if (prev && next) { + assign(arrows, { + prev, + next + }); + display(wrapper, enabled ? "" : "none"); + addClass(wrapper, wrapperClasses = CLASS_ARROWS + "--" + options.direction); + if (enabled) { + listen(); + update(); + setAttribute([prev, next], ARIA_CONTROLS, track.id); + emit(EVENT_ARROWS_MOUNTED, prev, next); + } + } + } + function destroy() { + event.destroy(); + removeClass(wrapper, wrapperClasses); + if (created) { + remove(placeholder ? [prev, next] : wrapper); + prev = next = null; + } else { + removeAttribute([prev, next], ALL_ATTRIBUTES); + } + } + function listen() { + on([EVENT_MOUNTED, EVENT_MOVED, EVENT_REFRESH, EVENT_SCROLLED, EVENT_END_INDEX_CHANGED], update); + bind(next, "click", apply(go, ">")); + bind(prev, "click", apply(go, "<")); + } + function go(control) { + Controller2.go(control, true); + } + function createArrows() { + wrapper = placeholder || create("div", classes.arrows); + prev = createArrow(true); + next = createArrow(false); + created = true; + append(wrapper, [prev, next]); + !placeholder && before(wrapper, track); + } + function createArrow(prev2) { + var arrow2 = '\";\n };\n\n _proto3.html = function html() {\n var _this$config = this.config,\n rootClass = _this$config.rootClass,\n listTag = _this$config.listTag,\n arrows = _this$config.arrows,\n beforeTrack = _this$config.beforeTrack,\n afterTrack = _this$config.afterTrack,\n slider = _this$config.slider,\n beforeSlider = _this$config.beforeSlider,\n afterSlider = _this$config.afterSlider;\n var html = \"\";\n html += \"
\";\n html += \"\";\n\n if (slider) {\n html += beforeSlider || \"\";\n html += \"
\";\n }\n\n html += beforeTrack || \"\";\n\n if (arrows) {\n html += this.renderArrows();\n }\n\n html += \"
\";\n html += \"<\" + listTag + \" class=\\\"splide__list\\\">\";\n html += this.renderSlides();\n html += \"\";\n html += \"
\";\n html += afterTrack || \"\";\n\n if (slider) {\n html += \"
\";\n html += afterSlider || \"\";\n }\n\n html += \"
\";\n return html;\n };\n\n return SplideRenderer;\n}();\n\nexport { CLASSES, CLASS_ACTIVE, CLASS_ARROW, CLASS_ARROWS, CLASS_ARROW_NEXT, CLASS_ARROW_PREV, CLASS_CLONE, CLASS_CONTAINER, CLASS_FOCUS_IN, CLASS_INITIALIZED, CLASS_LIST, CLASS_LOADING, CLASS_NEXT, CLASS_OVERFLOW, CLASS_PAGINATION, CLASS_PAGINATION_PAGE, CLASS_PREV, CLASS_PROGRESS, CLASS_PROGRESS_BAR, CLASS_ROOT, CLASS_SLIDE, CLASS_SPINNER, CLASS_SR, CLASS_TOGGLE, CLASS_TOGGLE_PAUSE, CLASS_TOGGLE_PLAY, CLASS_TRACK, CLASS_VISIBLE, DEFAULTS, EVENT_ACTIVE, EVENT_ARROWS_MOUNTED, EVENT_ARROWS_UPDATED, EVENT_AUTOPLAY_PAUSE, EVENT_AUTOPLAY_PLAY, EVENT_AUTOPLAY_PLAYING, EVENT_CLICK, EVENT_DESTROY, EVENT_DRAG, EVENT_DRAGGED, EVENT_DRAGGING, EVENT_END_INDEX_CHANGED, EVENT_HIDDEN, EVENT_INACTIVE, EVENT_LAZYLOAD_LOADED, EVENT_MOUNTED, EVENT_MOVE, EVENT_MOVED, EVENT_NAVIGATION_MOUNTED, EVENT_OVERFLOW, EVENT_PAGINATION_MOUNTED, EVENT_PAGINATION_UPDATED, EVENT_READY, EVENT_REFRESH, EVENT_RESIZE, EVENT_RESIZED, EVENT_SCROLL, EVENT_SCROLLED, EVENT_SHIFTED, EVENT_SLIDE_KEYDOWN, EVENT_UPDATED, EVENT_VISIBLE, EventBinder, EventInterface, FADE, LOOP, LTR, RTL, RequestInterval, SLIDE, STATUS_CLASSES, Splide, SplideRenderer, State, TTB, Throttle, Splide as default };\n", "// import 'bootstrap'; // ohne Pfadangabe (Modul auslesen aus node_modules) funktioniert nur mit JS-Bundler (esbuild, rollup & co.)\n\nimport ProductManager from './modules/ProductManager'; // Dateiendung kann weggelassen werden, wenn ein Bundler eingesetzt wird (esbuild, webpack, rollup, etc.)\nimport Splide from '@splidejs/splide';\n\n(() => {\n // === DOM & VARS =======\n const DOM = {};\n\n // === INIT =============\n const init = () => {\n console.log('init');\n router();\n };\n\n // === EVENTHANDLER =====\n\n // === XHR/FETCH ========\n\n // === FUNCTIONS ========\n const router = () => {\n const path = window.location.pathname;\n\n console.log(path);\n\n switch (path) {\n case '/':\n case '/index.html':\n console.log('HOME');\n const splider = new Splide('.splide', {\n type: 'loop',\n fixedHeight: '100%',\n height: '100%',\n autoHeight: true,\n }).mount();\n\n // nur Skripte, die f\u00FCr Home relevant ausf\u00FChren\n break;\n case '/projects/product-manager.html':\n console.log('PRODUCT_MANAGER');\n const pm = ProductManager();\n break;\n default:\n console.warn('Page not found');\n }\n };\n\n init();\n})();\n"], + "mappings": "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", + "names": ["Toastify", "offset", "createPopper", "style", "name", "child", "getComputedStyle", "getComputedStyle", "window", "min", "max", "toPaddingObject", "popperOffsets", "min", "max", "offset", "effect", "popper", "getComputedStyle", "effect", "window", "hash", "getComputedStyle", "getComputedStyle", "rect", "rect", "clippingParents", "getComputedStyle", "reference", "popperOffsets", "offset", "placements", "placement", "placements", "placement", "_loop", "_i", "checks", "rect", "offset", "popperOffsets", "offset", "min", "max", "rect", "fn", "merged", "defaultModifiers", "createPopper", "reference", "popper", "options", "fn", "state", "effect", "noopFn", "createPopper", "defaultModifiers", "createPopper", "elementMap", "Map", "set", "element", "key", "instance", "has", "instanceMap", "get", "size", "console", "error", "Array", "from", "keys", "remove", "delete", "MAX_UID", "MILLISECONDS_MULTIPLIER", "TRANSITION_END", "parseSelector", "selector", "window", "CSS", "escape", "replace", "match", "id", "toType", "object", "undefined", "Object", "prototype", "toString", "call", "toLowerCase", "getUID", "prefix", "Math", "floor", "random", "document", "getElementById", "getTransitionDurationFromElement", "transitionDuration", "transitionDelay", "getComputedStyle", "floatTransitionDuration", "Number", "parseFloat", "floatTransitionDelay", "split", "triggerTransitionEnd", "dispatchEvent", "Event", "isElement", "jquery", "nodeType", "getElement", "length", "querySelector", "isVisible", "getClientRects", "elementIsVisible", "getPropertyValue", "closedDetails", "closest", "summary", "parentNode", "isDisabled", "Node", "ELEMENT_NODE", "classList", "contains", "disabled", "hasAttribute", "getAttribute", "findShadowRoot", "documentElement", "attachShadow", "getRootNode", "root", "ShadowRoot", "noop", "reflow", "offsetHeight", "getjQuery", "jQuery", "body", "DOMContentLoadedCallbacks", "onDOMContentLoaded", "callback", "readyState", "addEventListener", "push", "isRTL", "dir", "defineJQueryPlugin", "plugin", "$", "name", "NAME", "JQUERY_NO_CONFLICT", "fn", "jQueryInterface", "Constructor", "noConflict", "execute", "possibleCallback", "args", "defaultValue", "executeAfterTransition", "transitionElement", "waitForTransition", "durationPadding", "emulatedDuration", "called", "handler", "target", "removeEventListener", "setTimeout", "getNextActiveElement", "list", "activeElement", "shouldGetNext", "isCycleAllowed", "listLength", "index", "indexOf", "max", "min", "namespaceRegex", "stripNameRegex", "stripUidRegex", "eventRegistry", "uidEvent", "customEvents", "mouseenter", "mouseleave", "nativeEvents", "Set", "makeEventUid", "uid", "getElementEvents", "bootstrapHandler", "event", "hydrateObj", "delegateTarget", "oneOff", "EventHandler", "off", "type", "apply", "bootstrapDelegationHandler", "domElements", "querySelectorAll", "domElement", "findHandler", "events", "callable", "delegationSelector", "values", "find", "normalizeParameters", "originalTypeEvent", "delegationFunction", "isDelegated", "typeEvent", "getTypeEvent", "addHandler", "wrapFunction", "relatedTarget", "handlers", "previousFunction", "removeHandler", "Boolean", "removeNamespacedHandlers", "namespace", "storeElementEvent", "handlerKey", "entries", "includes", "on", "one", "inNamespace", "isNamespace", "startsWith", "elementEvent", "slice", "keyHandlers", "trigger", "jQueryEvent", "bubbles", "nativeDispatch", "defaultPrevented", "isPropagationStopped", "isImmediatePropagationStopped", "isDefaultPrevented", "evt", "cancelable", "preventDefault", "obj", "meta", "value", "_unused", "defineProperty", "configurable", "normalizeData", "JSON", "parse", "decodeURIComponent", "normalizeDataKey", "chr", "Manipulator", "setDataAttribute", "setAttribute", "removeDataAttribute", "removeAttribute", "getDataAttributes", "attributes", "bsKeys", "dataset", "filter", "pureKey", "charAt", "getDataAttribute", "Config", "Default", "DefaultType", "Error", "_getConfig", "config", "_mergeConfigObj", "_configAfterMerge", "_typeCheckConfig", "jsonConfig", "constructor", "configTypes", "property", "expectedTypes", "valueType", "RegExp", "test", "TypeError", "toUpperCase", "VERSION", "BaseComponent", "_element", "_config", "Data", "DATA_KEY", "dispose", "EVENT_KEY", "propertyName", "getOwnPropertyNames", "_queueCallback", "isAnimated", "getInstance", "getOrCreateInstance", "eventName", "getSelector", "hrefAttribute", "trim", "map", "sel", "join", "SelectorEngine", "concat", "Element", "findOne", "children", "child", "matches", "parents", "ancestor", "prev", "previous", "previousElementSibling", "next", "nextElementSibling", "focusableChildren", "focusables", "el", "getSelectorFromElement", "getElementFromSelector", "getMultipleElementsFromSelector", "enableDismissTrigger", "component", "method", "clickEvent", "tagName", "EVENT_CLOSE", "EVENT_CLOSED", "CLASS_NAME_FADE", "CLASS_NAME_SHOW", "Alert", "close", "closeEvent", "_destroyElement", "each", "data", "DATA_API_KEY", "CLASS_NAME_ACTIVE", "SELECTOR_DATA_TOGGLE", "EVENT_CLICK_DATA_API", "Button", "toggle", "button", "EVENT_TOUCHSTART", "EVENT_TOUCHMOVE", "EVENT_TOUCHEND", "EVENT_POINTERDOWN", "EVENT_POINTERUP", "POINTER_TYPE_TOUCH", "POINTER_TYPE_PEN", "CLASS_NAME_POINTER_EVENT", "SWIPE_THRESHOLD", "endCallback", "leftCallback", "rightCallback", "Swipe", "isSupported", "_deltaX", "_supportPointerEvents", "PointerEvent", "_initEvents", "_start", "touches", "clientX", "_eventIsPointerPenTouch", "_end", "_handleSwipe", "_move", "absDeltaX", "abs", "direction", "add", "pointerType", "navigator", "maxTouchPoints", "ARROW_LEFT_KEY", "ARROW_RIGHT_KEY", "TOUCHEVENT_COMPAT_WAIT", "ORDER_NEXT", "ORDER_PREV", "DIRECTION_LEFT", "DIRECTION_RIGHT", "EVENT_SLIDE", "EVENT_SLID", "EVENT_KEYDOWN", "EVENT_MOUSEENTER", "EVENT_MOUSELEAVE", "EVENT_DRAG_START", "EVENT_LOAD_DATA_API", "CLASS_NAME_CAROUSEL", "CLASS_NAME_SLIDE", "CLASS_NAME_END", "CLASS_NAME_START", "CLASS_NAME_NEXT", "CLASS_NAME_PREV", "SELECTOR_ACTIVE", "SELECTOR_ITEM", "SELECTOR_ACTIVE_ITEM", "SELECTOR_ITEM_IMG", "SELECTOR_INDICATORS", "SELECTOR_DATA_SLIDE", "SELECTOR_DATA_RIDE", "KEY_TO_DIRECTION", "interval", "keyboard", "pause", "ride", "touch", "wrap", "Carousel", "_interval", "_activeElement", "_isSliding", "touchTimeout", "_swipeHelper", "_indicatorsElement", "_addEventListeners", "cycle", "_slide", "nextWhenVisible", "hidden", "_clearInterval", "_updateInterval", "setInterval", "_maybeEnableCycle", "to", "items", "_getItems", "activeIndex", "_getItemIndex", "_getActive", "order", "defaultInterval", "_keydown", "_addTouchEventListeners", "img", "endCallBack", "clearTimeout", "swipeConfig", "_directionToOrder", "_setActiveIndicatorElement", "activeIndicator", "newActiveIndicator", "elementInterval", "parseInt", "isNext", "nextElement", "nextElementIndex", "triggerEvent", "_orderToDirection", "slideEvent", "isCycling", "directionalClassName", "orderClassName", "completeCallBack", "_isAnimated", "clearInterval", "carousel", "slideIndex", "carousels", "EVENT_SHOW", "EVENT_SHOWN", "EVENT_HIDE", "EVENT_HIDDEN", "CLASS_NAME_COLLAPSE", "CLASS_NAME_COLLAPSING", "CLASS_NAME_COLLAPSED", "CLASS_NAME_DEEPER_CHILDREN", "CLASS_NAME_HORIZONTAL", "WIDTH", "HEIGHT", "SELECTOR_ACTIVES", "parent", "Collapse", "_isTransitioning", "_triggerArray", "toggleList", "elem", "filterElement", "foundElement", "_initializeChildren", "_addAriaAndCollapsedClass", "_isShown", "hide", "show", "activeChildren", "_getFirstLevelChildren", "startEvent", "activeInstance", "dimension", "_getDimension", "style", "complete", "capitalizedDimension", "scrollSize", "getBoundingClientRect", "selected", "triggerArray", "isOpen", "ESCAPE_KEY", "TAB_KEY", "ARROW_UP_KEY", "ARROW_DOWN_KEY", "RIGHT_MOUSE_BUTTON", "EVENT_KEYDOWN_DATA_API", "EVENT_KEYUP_DATA_API", "CLASS_NAME_DROPUP", "CLASS_NAME_DROPEND", "CLASS_NAME_DROPSTART", "CLASS_NAME_DROPUP_CENTER", "CLASS_NAME_DROPDOWN_CENTER", "SELECTOR_DATA_TOGGLE_SHOWN", "SELECTOR_MENU", "SELECTOR_NAVBAR", "SELECTOR_NAVBAR_NAV", "SELECTOR_VISIBLE_ITEMS", "PLACEMENT_TOP", "PLACEMENT_TOPEND", "PLACEMENT_BOTTOM", "PLACEMENT_BOTTOMEND", "PLACEMENT_RIGHT", "PLACEMENT_LEFT", "PLACEMENT_TOPCENTER", "PLACEMENT_BOTTOMCENTER", "autoClose", "boundary", "display", "offset", "popperConfig", "reference", "Dropdown", "_popper", "_parent", "_menu", "_inNavbar", "_detectNavbar", "showEvent", "_createPopper", "focus", "_completeHide", "destroy", "update", "hideEvent", "Popper", "referenceElement", "_getPopperConfig", "createPopper", "_getPlacement", "parentDropdown", "isEnd", "_getOffset", "popperData", "defaultBsPopperConfig", "placement", "modifiers", "options", "enabled", "_selectMenuItem", "clearMenus", "openToggles", "context", "composedPath", "isMenuTarget", "dataApiKeydownHandler", "isInput", "isEscapeEvent", "isUpOrDownEvent", "getToggleButton", "stopPropagation", "EVENT_MOUSEDOWN", "className", "clickCallback", "rootElement", "Backdrop", "_isAppended", "_append", "_getElement", "_emulateAnimation", "backdrop", "createElement", "append", "EVENT_FOCUSIN", "EVENT_KEYDOWN_TAB", "TAB_NAV_FORWARD", "TAB_NAV_BACKWARD", "autofocus", "trapElement", "FocusTrap", "_isActive", "_lastTabNavDirection", "activate", "_handleFocusin", "_handleKeydown", "deactivate", "elements", "shiftKey", "SELECTOR_FIXED_CONTENT", "SELECTOR_STICKY_CONTENT", "PROPERTY_PADDING", "PROPERTY_MARGIN", "ScrollBarHelper", "getWidth", "documentWidth", "clientWidth", "innerWidth", "width", "_disableOverFlow", "_setElementAttributes", "calculatedValue", "reset", "_resetElementAttributes", "isOverflowing", "_saveInitialAttribute", "overflow", "styleProperty", "scrollbarWidth", "manipulationCallBack", "setProperty", "_applyManipulationCallback", "actualValue", "removeProperty", "callBack", "EVENT_HIDE_PREVENTED", "EVENT_RESIZE", "EVENT_CLICK_DISMISS", "EVENT_MOUSEDOWN_DISMISS", "EVENT_KEYDOWN_DISMISS", "CLASS_NAME_OPEN", "CLASS_NAME_STATIC", "OPEN_SELECTOR", "SELECTOR_DIALOG", "SELECTOR_MODAL_BODY", "Modal", "_dialog", "_backdrop", "_initializeBackDrop", "_focustrap", "_initializeFocusTrap", "_scrollBar", "_adjustDialog", "_showElement", "_hideModal", "handleUpdate", "scrollTop", "modalBody", "transitionComplete", "_triggerBackdropTransition", "event2", "_resetAdjustments", "isModalOverflowing", "scrollHeight", "clientHeight", "initialOverflowY", "overflowY", "isBodyOverflowing", "paddingLeft", "paddingRight", "alreadyOpen", "CLASS_NAME_SHOWING", "CLASS_NAME_HIDING", "CLASS_NAME_BACKDROP", "scroll", "Offcanvas", "blur", "completeCallback", "position", "ARIA_ATTRIBUTE_PATTERN", "DefaultAllowlist", "a", "area", "b", "br", "col", "code", "dd", "div", "dl", "dt", "em", "hr", "h1", "h2", "h3", "h4", "h5", "h6", "i", "li", "ol", "p", "pre", "s", "small", "span", "sub", "sup", "strong", "u", "ul", "uriAttributes", "SAFE_URL_PATTERN", "allowedAttribute", "attribute", "allowedAttributeList", "attributeName", "nodeName", "nodeValue", "attributeRegex", "some", "regex", "sanitizeHtml", "unsafeHtml", "allowList", "sanitizeFunction", "domParser", "DOMParser", "createdDocument", "parseFromString", "elementName", "attributeList", "allowedAttributes", "innerHTML", "content", "extraClass", "html", "sanitize", "sanitizeFn", "template", "DefaultContentType", "entry", "TemplateFactory", "getContent", "_resolvePossibleFunction", "hasContent", "changeContent", "_checkContent", "toHtml", "templateWrapper", "_maybeSanitize", "text", "_setContent", "arg", "templateElement", "_putElementInTemplate", "textContent", "DISALLOWED_ATTRIBUTES", "CLASS_NAME_MODAL", "SELECTOR_TOOLTIP_INNER", "SELECTOR_MODAL", "EVENT_MODAL_HIDE", "TRIGGER_HOVER", "TRIGGER_FOCUS", "TRIGGER_CLICK", "TRIGGER_MANUAL", "EVENT_INSERTED", "EVENT_CLICK", "EVENT_FOCUSOUT", "AttachmentMap", "AUTO", "TOP", "RIGHT", "BOTTOM", "LEFT", "animation", "container", "customClass", "delay", "fallbackPlacements", "title", "Tooltip", "_isEnabled", "_timeout", "_isHovered", "_activeTrigger", "_templateFactory", "_newContent", "tip", "_setListeners", "_fixTitle", "enable", "disable", "toggleEnabled", "_leave", "_enter", "_hideModalHandler", "_disposePopper", "_isWithContent", "shadowRoot", "isInTheDom", "ownerDocument", "_getTipElement", "_isWithActiveTrigger", "_getTitle", "_createTipElement", "_getContentForTemplate", "_getTemplateFactory", "tipId", "setContent", "_initializeOnDelegatedTarget", "_getDelegateConfig", "attachment", "phase", "state", "triggers", "eventIn", "eventOut", "_setTimeout", "timeout", "dataAttributes", "dataAttribute", "SELECTOR_TITLE", "SELECTOR_CONTENT", "Popover", "_getContent", "EVENT_ACTIVATE", "CLASS_NAME_DROPDOWN_ITEM", "SELECTOR_DATA_SPY", "SELECTOR_TARGET_LINKS", "SELECTOR_NAV_LIST_GROUP", "SELECTOR_NAV_LINKS", "SELECTOR_NAV_ITEMS", "SELECTOR_LIST_ITEMS", "SELECTOR_LINK_ITEMS", "SELECTOR_DROPDOWN", "SELECTOR_DROPDOWN_TOGGLE", "rootMargin", "smoothScroll", "threshold", "ScrollSpy", "_targetLinks", "_observableSections", "_rootElement", "_activeTarget", "_observer", "_previousScrollData", "visibleEntryTop", "parentScrollTop", "refresh", "_initializeTargetsAndObservables", "_maybeEnableSmoothScroll", "disconnect", "_getNewObserver", "section", "observe", "observableSection", "hash", "height", "offsetTop", "scrollTo", "top", "behavior", "IntersectionObserver", "_observerCallback", "targetElement", "_process", "userScrollsDown", "isIntersecting", "_clearActiveClass", "entryIsLowerThanPrevious", "targetLinks", "anchor", "decodeURI", "_activateParents", "listGroup", "item", "activeNodes", "node", "spy", "HOME_KEY", "END_KEY", "CLASS_DROPDOWN", "SELECTOR_DROPDOWN_MENU", "NOT_SELECTOR_DROPDOWN_TOGGLE", "SELECTOR_TAB_PANEL", "SELECTOR_OUTER", "SELECTOR_INNER", "SELECTOR_INNER_ELEM", "SELECTOR_DATA_TOGGLE_ACTIVE", "Tab", "_setInitialAttributes", "_getChildren", "innerElem", "_elemIsActive", "active", "_getActiveElem", "_deactivate", "_activate", "relatedElem", "_toggleDropDown", "nextActiveElement", "preventScroll", "_setAttributeIfNotExists", "_setInitialAttributesOnChild", "_getInnerElement", "isActive", "outerElem", "_getOuterElement", "_setInitialAttributesOnTargetPanel", "open", "EVENT_MOUSEOVER", "EVENT_MOUSEOUT", "CLASS_NAME_HIDE", "autohide", "Toast", "_hasMouseInteraction", "_hasKeyboardInteraction", "_clearTimeout", "_maybeScheduleHide", "isShown", "_onInteraction", "isInteracting", "Toast", "variant", "Toastify", "el", "parents", "start", "end", "noop", "isHTMLElement", "children", "child", "right", "min", "max", "EVENT_CLICK", "EVENT_HIDDEN", "EVENT_RESIZE", "min", "start", "query", "offset", "EVENT_CLICK", "isVisible", "EVENT_HIDDEN", "left", "right", "min", "Controller", "max", "isHTMLElement", "EVENT_RESIZE", "style", "Slides", "Slide", "Elements", "focus", "Move", "end", "closest", "arrow", "Scroll", "noop", "start", "_Splide", "remove"] +} diff --git a/webseite-ts-claude/frontend/data/products.json b/webseite-ts-claude/frontend/data/products.json new file mode 100644 index 0000000..67e8369 --- /dev/null +++ b/webseite-ts-claude/frontend/data/products.json @@ -0,0 +1,5 @@ +[ + { "name": "3Doodler 3D Printing Pen", "price": 29.99 }, + { "name": "Powerstation 5- E. Maximus Chargus", "price": 44.95 }, + { "name": "8-Bit Legendary Hero Heat-Change Mug", "price": 6.99 } +] diff --git a/webseite-ts-claude/frontend/dev/scripts/main.js b/webseite-ts-claude/frontend/dev/scripts/main.js new file mode 100644 index 0000000..a1993cb --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scripts/main.js @@ -0,0 +1,49 @@ +// import 'bootstrap'; // ohne Pfadangabe (Modul auslesen aus node_modules) funktioniert nur mit JS-Bundler (esbuild, rollup & co.) + +import ProductManager from './modules/ProductManager'; // Dateiendung kann weggelassen werden, wenn ein Bundler eingesetzt wird (esbuild, webpack, rollup, etc.) +import Splide from '@splidejs/splide'; + +(() => { + // === DOM & VARS ======= + const DOM = {}; + + // === INIT ============= + const init = () => { + console.log('init'); + router(); + }; + + // === EVENTHANDLER ===== + + // === XHR/FETCH ======== + + // === FUNCTIONS ======== + const router = () => { + const path = window.location.pathname; + + console.log(path); + + switch (path) { + case '/': + case '/index.html': + console.log('HOME'); + const splider = new Splide('.splide', { + type: 'loop', + fixedHeight: '100%', + height: '100%', + autoHeight: true, + }).mount(); + + // nur Skripte, die für Home relevant ausführen + break; + case '/projects/product-manager.html': + console.log('PRODUCT_MANAGER'); + const pm = ProductManager(); + break; + default: + console.warn('Page not found'); + } + }; + + init(); +})(); diff --git a/webseite-ts-claude/frontend/dev/scripts/modules/ProductManager.js b/webseite-ts-claude/frontend/dev/scripts/modules/ProductManager.js new file mode 100644 index 0000000..07515e2 --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scripts/modules/ProductManager.js @@ -0,0 +1,574 @@ +import { Modal } from 'bootstrap'; // ohne Pfadangabe (Modul auslesen aus node_modules) funktioniert nur mit JS-Bundler (esbuild, rollup & co.) +import Toast from './Toast'; + +// import * as bootstrap from 'bootstrap'; +// import 'bootstrap'; + +// import 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js'; // würde auch ohne Bundler funktionieren +// import '../../../node_modules/bootstrap/dist/js/bootstrap.esm.js'; // würde auch ohne Bundler funktionieren + +// Factory Function +const ProductManager = (el = null) => { + // === DOM & VARS ======= + + const BASE_URL = 'http://127.0.0.1:8000'; + + const module = el || document.querySelector('.product-manager') || console.error('Product Manager not found'); + + if (!module) return; + + const DOM = { + module, + table: module.querySelector('.table-products'), + tBody: module.querySelector('tbody'), + inputName: module.querySelector('.input-product-name'), + inputPrice: module.querySelector('.input-product-price'), + btnAdd: module.querySelector('.button-product-add'), + templateRow: module.querySelector('.template-row'), + + // Nav Actions + btnSave: module.querySelector('.button-products-save'), + btnReset: module.querySelector('.button-products-reset'), + + // Modal Edit + modalEdit: module.querySelector('.modal-edit'), + formEdit: module.querySelector('.form-product-edit'), + inputEditName: module.querySelector('.input-edit-name'), + inputEditPrice: module.querySelector('.input-edit-price'), + inputEditId: module.querySelector('.input-edit-id'), + inputEditPosition: module.querySelector('.input-edit-position'), + btnUpdate: module.querySelector('.button-product-update'), + + // Modal Delete + modalDelete: module.querySelector('.modal-delete'), + productName: module.querySelector('strong.product-name'), + btnConfirmDelete: module.querySelector('.button-confirm-delete'), + }; + + console.log(DOM); + const bsModalEdit = new Modal(DOM.modalEdit, { + backdrop: 'static', // true + keyboard: true, + }); + + const bsModalDelete = new Modal(DOM.modalDelete, { + backdrop: 'static', // true + keyboard: true, + }); + + // === INIT ============= + const init = () => { + console.log('init'); + // Funktionaufrufe zu beginn der Anwendung + initProducts(); + + // Event-Lauscher zu beginn der Anwendung + DOM.btnReset.addEventListener('click', onClickReset); + DOM.btnSave.addEventListener('click', onClickSave); + + DOM.btnAdd.addEventListener('click', onClickAdd); + DOM.btnAdd.disabled = true; + DOM.btnConfirmDelete.addEventListener('click', onClickConfirmDelete); + DOM.formEdit.addEventListener('submit', onSubmitEdit); + window.addEventListener('keyup', onKeyUp); + }; + + // === EVENTHANDLER ===== + const onKeyUp = (e) => { + // if (DOM.inputName.value === '' && DOM.inputPrice.value === '') { + // DOM.btnAdd.disabled = true; + // } else { + // DOM.btnAdd.disabled = false; + // } + DOM.btnAdd.disabled = (DOM.inputName.value === '' || DOM.inputPrice.value === ''); // prettier-ignore + }; + + const onClickReset = (e) => { + const btnEl = e.currentTarget; + + // async process + resetProducts().then((data) => { + if (data.success) { + Toast(data.msg, 'success').show(); + loadProducts(); + } + }); + }; + + const onClickSave = (e) => { + const btnEl = e.currentTarget; + const icon = btnEl.querySelector('i'); + + icon.classList.add('fa-jello'); + + // async process + saveProducts().then((data) => { + if (data.success) { + setTimeout(() => { + icon.classList.remove('fa-jello'); + }, 500); + Toast(data.msg, 'success').show(); + } + }); + }; + + const onSubmitEdit = (e) => { + e.preventDefault(); // Standardverhalten unterbinden (Formular nicht an action versenden) + + // console.log(Object.entries(new FormData(DOM.formEdit))); + + const product = { + name: DOM.inputEditName.value, + price: Number(DOM.inputEditPrice.value), + _id: DOM.inputEditId.value, + position: DOM.inputEditPosition.value, + }; + + // update async process + DOM.btnUpdate.querySelector('i').classList.add('fa-spin'); + updateProduct(product).then((data) => { + console.log(data); + if (data.success) { + Toast(data.msg, 'success').show(); + DOM.btnUpdate.querySelector('i').classList.remove('fa-spin'); + loadProducts(); // All Produkte auslesen + resetFields(); + bsModalEdit.hide(); + } else { + Toast(data.msg, 'error').show(); + } + }); + }; + + const onClickAdd = (e) => { + console.log('click'); + + const product = { + name: DOM.inputName.value, + price: Number(DOM.inputPrice.value), + }; + + createProduct(product).then((data) => { + console.log(data); + if (data.success) { + console.log('add'); + Toast(data.msg, 'success').show(); + loadProducts(); + resetFields(); + } + }); + + // addProduct(product); + + disableNonFunctionalButtons(); + }; + + const onClickEdit = (e) => { + const btnEl = e.currentTarget; + const currentRow = parents(btnEl, 'tr')[0]; + const id = currentRow.dataset.id; + + // async fetch + getProduct(id).then((data) => { + // console.log(data); + showModalEdit(data); + }); + }; + + const onClickRemove = (e) => { + const btnEl = e.currentTarget; + const currentRow = parents(btnEl, 'tr')[0]; + const id = currentRow.dataset.id; + + const productName = currentRow.querySelector('.td-name').textContent.trim(); + + DOM.btnConfirmDelete.dataset.id = id; + DOM.productName.textContent = productName; + + // async fetch + // deleteProduct(id).then((data) => { + // if (data.success) { + // Toast(data.msg, 'success').show(); + // console.log('delete: success', data); + // loadProducts(); + // } else { + // Toast(data.msg, 'error').show(); + // console.error(data); + // } + // }); + }; + + const onClickConfirmDelete = (e) => { + const btnEl = e.currentTarget; + const id = btnEl.dataset.id; + + // async fetch + deleteProduct(id).then((data) => { + if (data.success) { + Toast(data.msg, 'success').show(); + bsModalDelete.hide(); + loadProducts(); + } else { + Toast(data.msg, 'error').show(); + console.error(data); + } + }); + }; + + const onClickMoveUp = (e) => { + const btnEl = e.currentTarget; + // const currentRowEl = btnEl.parentNode.parentNode; // aktuelle Zeile (tr) mit dem Button + const currentRowEl = parents(btnEl, 'tr')[0]; + + // ParentNode.insertBefore(referenceElement, targetElement) + // DOM.tBody.insertBefore(currentRowEl, currentRowEl.previousElementSibling); + + // targetElement.before(referenceElement) + currentRowEl.previousElementSibling.before(currentRowEl); + + console.log('move up'); + disableNonFunctionalButtons(); + }; + + const onClickMoveDown = (e) => { + const btnEl = e.currentTarget; + // const currentRowEl = btnEl.parentNode.parentNode; // aktuelle Zeile (tr) mit dem Button + const currentRowEl = parents(btnEl, 'tr')[0]; + + // ParentNode.insertBefore(referenceElement, targetElement) + // DOM.tBody.insertBefore(currentRowEl, currentRowEl.nextElementSibling.nextElementSibling); + + // targetElement.after(referenceElement) + currentRowEl.nextElementSibling.after(currentRowEl); + + console.log('move down'); + disableNonFunctionalButtons(); + }; + + // Drag 'n Drop EventHandler + const onMouseDownDrag = (e) => { + const btnEl = e.currentTarget; + const currentRowEl = parents(btnEl, 'tr')[0]; + currentRowEl.draggable = true; + }; + + const onMouseUpDrag = (e) => { + const btnEl = e.currentTarget; + const currentRowEl = parents(btnEl, 'tr')[0]; + currentRowEl.draggable = false; + }; + + const onDragStart = (e) => { + console.log('DragEvent: ', e); + const currentRowEl = e.currentTarget; // tr <- aktuelle Zeie, die bewegt wird + const idx = [...currentRowEl.parentNode.children].indexOf(currentRowEl); + + e.dataTransfer.setData('text/plain', idx); + // e.dataTransfer.setData('application/json', JSON.stringify({idx, name: sourceElement})); + console.log('tr index:', idx); + }; + + const onDragOver = (e) => { + e.preventDefault(); // WICHTIG! Sonst funktioniert drop EventHandler nicht. + }; + + const onDrop = (e) => { + const currentRowEl = e.currentTarget; // tr <- Zielzeile, auf die gedroppt wird. + const targetIdx = [...currentRowEl.parentNode.children].indexOf(currentRowEl); + const sourceIdx = parseInt(e.dataTransfer.getData('text/plain')); + // const { sourceIdx } = JSON.parse(e.dataTransfer.getData('application/json')); + + console.log({ targetIdx, sourceIdx }); + + // Guard wenn Element auf sich selbst losgelassen wurde, abbruch + if (sourceIdx === targetIdx) { + return; + } + + const draggedEl = DOM.tBody.querySelector(`tr:nth-child(${sourceIdx + 1})`); + // const draggedEl = DOM.tBody.children[sourceIdx] + + // Verschiebe das Element im DOM + if (sourceIdx > targetIdx) { + currentRowEl.before(draggedEl); + } else { + currentRowEl.after(draggedEl); + } + + disableNonFunctionalButtons(); + }; + + // === XHR/FETCH ======== + + // HTTP - Methode - PATCH + // reset products + const resetProducts = async () => { + try { + const response = await fetch(`${BASE_URL}/api/products/reset`, { + method: 'PATCH', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ reset: true }), + }); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + const data = await response.json(); // HTTP-Response + + return data; + } catch (error) { + Toast(error, 'error').show(); + + console.error(error); + return error; + } + }; + + // HTTP - Methode - PATCH + // save products + const saveProducts = async () => { + try { + const response = await fetch(`${BASE_URL}/api/products/save`, { + method: 'PATCH', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ save: true }), + }); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + const data = await response.json(); // HTTP-Response + + return data; + } catch (error) { + Toast(error, 'error').show(); + + console.error(error); + return error; + } + }; + + // HTTP - Methode - POST + // (C)RUD - create + // BRE(A)D - add - neues Produkt hinzufügen + const createProduct = async (product) => { + try { + const response = await fetch(`${BASE_URL}/api/products`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(product), + }); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + const data = await response.json(); // HTTP-Response + + return data; + } catch (error) { + Toast(error, 'error').show(); + + console.error(error); + return error; + } + }; + + // HTTP - Methode - GET + // C(R)UD - Read + // (B)READ - Browse - auslesen aller Produkte + const getProducts = async () => { + try { + const response = await fetch(`${BASE_URL}/api/products`); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + const data = await response.json(); // HTTP-Response + + return data; + } catch (error) { + console.error(error); + return error; + } + }; + + // HTTP - Methode - GET + // C(R)UD - Read + // B(R)EAD - Read - auslesen eines Produkts + const getProduct = async (id) => { + try { + const response = await fetch(`${BASE_URL}/api/products/${id}`); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + const data = await response.json(); // HTTP-Response + + return data; + } catch (error) { + console.error(error); + return error; + } + }; + + // HTTP - Methode - PUT + // CR(U)D - update + // BR(E)AD - edit - Produkt aktualisieren + const updateProduct = async (product) => { + try { + const response = await fetch(`${BASE_URL}/api/products`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(product), + }); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + const data = await response.json(); // HTTP-Response + + return data; + } catch (error) { + console.error(error); + return error; + } + }; + + // HTTP - Methode - DELETE + // CRU(D) - delete + // BREA(D) - delete - Produkt löschen + const deleteProduct = async (id) => { + try { + const response = await fetch(`${BASE_URL}/api/products/${id}`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + }); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + + const data = await response.json(); + return data; + } catch (error) { + console.error(error); + return error; + } + }; + + // === FUNCTIONS ======== + + const initProducts = () => { + getProducts().then((products) => { + products.forEach((product) => { + addProduct(product); + }); + Toast('Init products').show(); + disableNonFunctionalButtons(); + }); + + // PRODUCTS.forEach((product) => { + // addProduct(product); + // }); + //disableNonFunctionalButtons(); + // PRODUCTS.forEach(addProduct); + }; + + const loadProducts = () => { + DOM.tBody.innerHTML = ''; + getProducts().then((data) => { + data.forEach((product) => { + addProduct(product); + }); + disableNonFunctionalButtons(); + }); + }; + + const addProduct = (product) => { + const { name, price, _id: id, position } = product; + + // https://developer.mozilla.org/de/docs/Web/API/HTMLTemplateElement/content + const trEl = DOM.templateRow.content.firstElementChild.cloneNode(true); + + const tdNameEl = trEl.querySelector('.td-name'); + const tdPriceEl = trEl.querySelector('.td-price'); + const btnRemoveEl = trEl.querySelector('.button-product-remove'); + const btnMoveUpEl = trEl.querySelector('.button-product-move-up'); + const btnMoveDownEl = trEl.querySelector('.button-product-move-down'); + + const btnDragEl = trEl.querySelector('.button-drag'); + const btnEditEl = trEl.querySelector('.button-product-edit'); + + tdNameEl.textContent = name; + tdPriceEl.textContent = price; + + btnEditEl.addEventListener('click', onClickEdit); + btnRemoveEl.addEventListener('click', onClickRemove); + btnMoveUpEl.addEventListener('click', onClickMoveUp); + btnMoveDownEl.addEventListener('click', onClickMoveDown); + + // Drag 'n Drop Events + btnDragEl.addEventListener('mousedown', onMouseDownDrag); + btnDragEl.addEventListener('mouseup', onMouseUpDrag); + + trEl.addEventListener('dragstart', onDragStart); + trEl.addEventListener('dragover', onDragOver); + trEl.addEventListener('drop', onDrop); + + trEl.dataset.id = id; // ... + trEl.dataset.position = position; // ... + + DOM.tBody.appendChild(trEl); // Im DOM hinzufügen + }; + + const showModalEdit = (product) => { + const { name = '', price = 0, _id: id, position } = product; + + DOM.inputEditName.value = name; + DOM.inputEditPrice.value = price; + + DOM.inputEditId.value = id; + DOM.inputEditPosition.value = position; + }; + + const resetFields = () => { + DOM.btnAdd.disabled = true; + DOM.inputPrice.value = ''; + DOM.inputName.value = ''; + + DOM.formEdit.reset(); + }; + + const disableNonFunctionalButtons = () => { + Array.from(DOM.tBody.querySelectorAll('tr')).forEach((tr) => { + const btnMoveUp = tr.querySelector('.button-product-move-up'); + const btnMoveDown = tr.querySelector('.button-product-move-down'); + + btnMoveUp.disabled = !tr.previousElementSibling; + btnMoveDown.disabled = !tr.nextElementSibling; + }); + }; + + // Helferfunktion aus jQuery (youmightnotjquery) + const parents = (el, selector) => { + const parents = []; + while ((el = el.parentNode) && el !== document) { + if (!selector || el.matches(selector)) parents.push(el); + } + return parents; + }; + + init(); + + return { + init, + initProducts, + resetFields, + }; +}; + +// Freigabe für import +export default ProductManager; diff --git a/webseite-ts-claude/frontend/dev/scripts/modules/Toast.js b/webseite-ts-claude/frontend/dev/scripts/modules/Toast.js new file mode 100644 index 0000000..d3cda9c --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scripts/modules/Toast.js @@ -0,0 +1,59 @@ +import Toastify from 'toastify-js'; // das Modul wird von node_modules ausgelesen und gebundlet. Funktioniert nur mit JS-Bundler + +const Toast = (text = '', variant = 'primary') => { + const getColorByName = (variant = '') => { + let color; + switch (variant.trim().toLowerCase()) { + case 'primary': + color = '#0d6efd'; + break; + case 'secondary': + color = '#6c757d'; + break; + case 'warning': + color = '#ffc720'; + break; + case 'success': + color = '#13653f'; + break; + case 'info': + color = '#25cff2'; + break; + case 'error': + case 'danger': + color = '#a52834'; + break; + case 'light': + color = '#babbbc'; + break; + case 'dark': + color = '#373b3e'; + break; + + default: + console.warn('variant not found'); + color: 'white'; + } + return color; + }; + + const show = () => { + Toastify({ + text: text, + duration: 2000, + className: variant, + gravity: 'top', // `top` or `bottom` + position: 'center', // `left`, `center` or `right` + stopOnFocus: true, // Prevents dismissing of toast on hover + style: { + background: getColorByName(variant), + }, + }).showToast(); + }; + + return { + show, + }; +}; + +export default Toast; diff --git a/webseite-ts-claude/frontend/dev/scss/01_frameworks/_index.scss b/webseite-ts-claude/frontend/dev/scss/01_frameworks/_index.scss new file mode 100644 index 0000000..dcefbc9 --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scss/01_frameworks/_index.scss @@ -0,0 +1,3 @@ +// @import 'bootstrap-5.3.8/bootstrap-grid'; +@import 'bootstrap-5.3.8/bootstrap'; +// @import 'bulma-1.04/index' diff --git a/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_accordion.scss b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_accordion.scss new file mode 100644 index 0000000..e9f267f --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_accordion.scss @@ -0,0 +1,153 @@ +// +// Base styles +// + +.accordion { + // scss-docs-start accordion-css-vars + --#{$prefix}accordion-color: #{$accordion-color}; + --#{$prefix}accordion-bg: #{$accordion-bg}; + --#{$prefix}accordion-transition: #{$accordion-transition}; + --#{$prefix}accordion-border-color: #{$accordion-border-color}; + --#{$prefix}accordion-border-width: #{$accordion-border-width}; + --#{$prefix}accordion-border-radius: #{$accordion-border-radius}; + --#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius}; + --#{$prefix}accordion-btn-padding-x: #{$accordion-button-padding-x}; + --#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y}; + --#{$prefix}accordion-btn-color: #{$accordion-button-color}; + --#{$prefix}accordion-btn-bg: #{$accordion-button-bg}; + --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon)}; + --#{$prefix}accordion-btn-icon-width: #{$accordion-icon-width}; + --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform}; + --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition}; + --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)}; + --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow}; + --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x}; + --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y}; + --#{$prefix}accordion-active-color: #{$accordion-button-active-color}; + --#{$prefix}accordion-active-bg: #{$accordion-button-active-bg}; + // scss-docs-end accordion-css-vars +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-btn-padding-x); + @include font-size($font-size-base); + color: var(--#{$prefix}accordion-btn-color); + text-align: left; // Reset button style + background-color: var(--#{$prefix}accordion-btn-bg); + border: 0; + @include border-radius(0); + overflow-anchor: none; + @include transition(var(--#{$prefix}accordion-transition)); + + &:not(.collapsed) { + color: var(--#{$prefix}accordion-active-color); + background-color: var(--#{$prefix}accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--#{$prefix}accordion-border-width)) 0 var(--#{$prefix}accordion-border-color); // stylelint-disable-line function-disallowed-list + + &::after { + background-image: var(--#{$prefix}accordion-btn-active-icon); + transform: var(--#{$prefix}accordion-btn-icon-transform); + } + } + + // Accordion icon + &::after { + flex-shrink: 0; + width: var(--#{$prefix}accordion-btn-icon-width); + height: var(--#{$prefix}accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--#{$prefix}accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--#{$prefix}accordion-btn-icon-width); + @include transition(var(--#{$prefix}accordion-btn-icon-transition)); + } + + &:hover { + z-index: 2; + } + + &:focus { + z-index: 3; + outline: 0; + box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow); + } +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--#{$prefix}accordion-color); + background-color: var(--#{$prefix}accordion-bg); + border: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color); + + &:first-of-type { + @include border-top-radius(var(--#{$prefix}accordion-border-radius)); + + > .accordion-header .accordion-button { + @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius)); + } + } + + &:not(:first-of-type) { + border-top: 0; + } + + // Only set a border-radius on the last item if the accordion is collapsed + &:last-of-type { + @include border-bottom-radius(var(--#{$prefix}accordion-border-radius)); + + > .accordion-header .accordion-button { + &.collapsed { + @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius)); + } + } + + > .accordion-collapse { + @include border-bottom-radius(var(--#{$prefix}accordion-border-radius)); + } + } +} + +.accordion-body { + padding: var(--#{$prefix}accordion-body-padding-y) var(--#{$prefix}accordion-body-padding-x); +} + + +// Flush accordion items +// +// Remove borders and border-radius to keep accordion items edge-to-edge. + +.accordion-flush { + > .accordion-item { + border-right: 0; + border-left: 0; + @include border-radius(0); + + &:first-child { border-top: 0; } + &:last-child { border-bottom: 0; } + + // stylelint-disable selector-max-class + > .accordion-collapse, + > .accordion-header .accordion-button, + > .accordion-header .accordion-button.collapsed { + @include border-radius(0); + } + // stylelint-enable selector-max-class + } +} + +@if $enable-dark-mode { + @include color-mode(dark) { + .accordion-button::after { + --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon-dark)}; + --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon-dark)}; + } + } +} diff --git a/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_alert.scss b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_alert.scss new file mode 100644 index 0000000..b8cff9b --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_alert.scss @@ -0,0 +1,68 @@ +// +// Base styles +// + +.alert { + // scss-docs-start alert-css-vars + --#{$prefix}alert-bg: transparent; + --#{$prefix}alert-padding-x: #{$alert-padding-x}; + --#{$prefix}alert-padding-y: #{$alert-padding-y}; + --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom}; + --#{$prefix}alert-color: inherit; + --#{$prefix}alert-border-color: transparent; + --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}alert-border-color); + --#{$prefix}alert-border-radius: #{$alert-border-radius}; + --#{$prefix}alert-link-color: inherit; + // scss-docs-end alert-css-vars + + position: relative; + padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x); + margin-bottom: var(--#{$prefix}alert-margin-bottom); + color: var(--#{$prefix}alert-color); + background-color: var(--#{$prefix}alert-bg); + border: var(--#{$prefix}alert-border); + @include border-radius(var(--#{$prefix}alert-border-radius)); +} + +// Headings for larger alerts +.alert-heading { + // Specified to prevent conflicts of changing $headings-color + color: inherit; +} + +// Provide class for links that match alerts +.alert-link { + font-weight: $alert-link-font-weight; + color: var(--#{$prefix}alert-link-color); +} + + +// Dismissible alerts +// +// Expand the right padding and account for the close button's positioning. + +.alert-dismissible { + padding-right: $alert-dismissible-padding-r; + + // Adjust close link position + .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: $stretched-link-z-index + 1; + padding: $alert-padding-y * 1.25 $alert-padding-x; + } +} + + +// scss-docs-start alert-modifiers +// Generate contextual modifier classes for colorizing the alert +@each $state in map-keys($theme-colors) { + .alert-#{$state} { + --#{$prefix}alert-color: var(--#{$prefix}#{$state}-text-emphasis); + --#{$prefix}alert-bg: var(--#{$prefix}#{$state}-bg-subtle); + --#{$prefix}alert-border-color: var(--#{$prefix}#{$state}-border-subtle); + --#{$prefix}alert-link-color: var(--#{$prefix}#{$state}-text-emphasis); + } +} +// scss-docs-end alert-modifiers diff --git a/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_badge.scss b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_badge.scss new file mode 100644 index 0000000..cc3d269 --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_badge.scss @@ -0,0 +1,38 @@ +// Base class +// +// Requires one of the contextual, color modifier classes for `color` and +// `background-color`. + +.badge { + // scss-docs-start badge-css-vars + --#{$prefix}badge-padding-x: #{$badge-padding-x}; + --#{$prefix}badge-padding-y: #{$badge-padding-y}; + @include rfs($badge-font-size, --#{$prefix}badge-font-size); + --#{$prefix}badge-font-weight: #{$badge-font-weight}; + --#{$prefix}badge-color: #{$badge-color}; + --#{$prefix}badge-border-radius: #{$badge-border-radius}; + // scss-docs-end badge-css-vars + + display: inline-block; + padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x); + @include font-size(var(--#{$prefix}badge-font-size)); + font-weight: var(--#{$prefix}badge-font-weight); + line-height: 1; + color: var(--#{$prefix}badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + @include border-radius(var(--#{$prefix}badge-border-radius)); + @include gradient-bg(); + + // Empty badges collapse automatically + &:empty { + display: none; + } +} + +// Quick fix for badges in buttons +.btn .badge { + position: relative; + top: -1px; +} diff --git a/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_breadcrumb.scss b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_breadcrumb.scss new file mode 100644 index 0000000..b8252ff --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_breadcrumb.scss @@ -0,0 +1,40 @@ +.breadcrumb { + // scss-docs-start breadcrumb-css-vars + --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x}; + --#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y}; + --#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom}; + @include rfs($breadcrumb-font-size, --#{$prefix}breadcrumb-font-size); + --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg}; + --#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius}; + --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color}; + --#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x}; + --#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color}; + // scss-docs-end breadcrumb-css-vars + + display: flex; + flex-wrap: wrap; + padding: var(--#{$prefix}breadcrumb-padding-y) var(--#{$prefix}breadcrumb-padding-x); + margin-bottom: var(--#{$prefix}breadcrumb-margin-bottom); + @include font-size(var(--#{$prefix}breadcrumb-font-size)); + list-style: none; + background-color: var(--#{$prefix}breadcrumb-bg); + @include border-radius(var(--#{$prefix}breadcrumb-border-radius)); +} + +.breadcrumb-item { + // The separator between breadcrumbs (by default, a forward-slash: "/") + + .breadcrumb-item { + padding-left: var(--#{$prefix}breadcrumb-item-padding-x); + + &::before { + float: left; // Suppress inline spacings and underlining of the separator + padding-right: var(--#{$prefix}breadcrumb-item-padding-x); + color: var(--#{$prefix}breadcrumb-divider-color); + content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"}; + } + } + + &.active { + color: var(--#{$prefix}breadcrumb-item-active-color); + } +} diff --git a/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_button-group.scss b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_button-group.scss new file mode 100644 index 0000000..78e1252 --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_button-group.scss @@ -0,0 +1,147 @@ +// Make the div behave like a button +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; // match .btn alignment given font-size hack above + + > .btn { + position: relative; + flex: 1 1 auto; + } + + // Bring the hover, focused, and "active" buttons to the front to overlay + // the borders properly + > .btn-check:checked + .btn, + > .btn-check:focus + .btn, + > .btn:hover, + > .btn:focus, + > .btn:active, + > .btn.active { + z-index: 1; + } +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + + .input-group { + width: auto; + } +} + +.btn-group { + @include border-radius($btn-border-radius); + + // Prevent double borders when buttons are next to each other + > :not(.btn-check:first-child) + .btn, + > .btn-group:not(:first-child) { + margin-left: calc(-1 * #{$btn-border-width}); // stylelint-disable-line function-disallowed-list + } + + // Reset rounded corners + > .btn:not(:last-child):not(.dropdown-toggle), + > .btn.dropdown-toggle-split:first-child, + > .btn-group:not(:last-child) > .btn { + @include border-end-radius(0); + } + + // The left radius should be 0 if the button is: + // - the "third or more" child + // - the second child and the previous element isn't `.btn-check` (making it the first child visually) + // - part of a btn-group which isn't the first child + > .btn:nth-child(n + 3), + > :not(.btn-check) + .btn, + > .btn-group:not(:first-child) > .btn { + @include border-start-radius(0); + } +} + +// Sizing +// +// Remix the default button sizing classes into new ones for easier manipulation. + +.btn-group-sm > .btn { @extend .btn-sm; } +.btn-group-lg > .btn { @extend .btn-lg; } + + +// +// Split button dropdowns +// + +.dropdown-toggle-split { + padding-right: $btn-padding-x * .75; + padding-left: $btn-padding-x * .75; + + &::after, + .dropup &::after, + .dropend &::after { + margin-left: 0; + } + + .dropstart &::before { + margin-right: 0; + } +} + +.btn-sm + .dropdown-toggle-split { + padding-right: $btn-padding-x-sm * .75; + padding-left: $btn-padding-x-sm * .75; +} + +.btn-lg + .dropdown-toggle-split { + padding-right: $btn-padding-x-lg * .75; + padding-left: $btn-padding-x-lg * .75; +} + + +// The clickable button for toggling the menu +// Set the same inset shadow as the :active state +.btn-group.show .dropdown-toggle { + @include box-shadow($btn-active-box-shadow); + + // Show no shadow for `.btn-link` since it has no other button styles. + &.btn-link { + @include box-shadow(none); + } +} + + +// +// Vertical button groups +// + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; + + > .btn, + > .btn-group { + width: 100%; + } + + > .btn:not(:first-child), + > .btn-group:not(:first-child) { + margin-top: calc(-1 * #{$btn-border-width}); // stylelint-disable-line function-disallowed-list + } + + // Reset rounded corners + > .btn:not(:last-child):not(.dropdown-toggle), + > .btn-group:not(:last-child) > .btn { + @include border-bottom-radius(0); + } + + // The top radius should be 0 if the button is: + // - the "third or more" child + // - the second child and the previous element isn't `.btn-check` (making it the first child visually) + // - part of a btn-group which isn't the first child + > .btn:nth-child(n + 3), + > :not(.btn-check) + .btn, + > .btn-group:not(:first-child) > .btn { + @include border-top-radius(0); + } +} diff --git a/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_buttons.scss b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_buttons.scss new file mode 100644 index 0000000..caa4518 --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_buttons.scss @@ -0,0 +1,216 @@ +// +// Base styles +// + +.btn { + // scss-docs-start btn-css-vars + --#{$prefix}btn-padding-x: #{$btn-padding-x}; + --#{$prefix}btn-padding-y: #{$btn-padding-y}; + --#{$prefix}btn-font-family: #{$btn-font-family}; + @include rfs($btn-font-size, --#{$prefix}btn-font-size); + --#{$prefix}btn-font-weight: #{$btn-font-weight}; + --#{$prefix}btn-line-height: #{$btn-line-height}; + --#{$prefix}btn-color: #{$btn-color}; + --#{$prefix}btn-bg: transparent; + --#{$prefix}btn-border-width: #{$btn-border-width}; + --#{$prefix}btn-border-color: transparent; + --#{$prefix}btn-border-radius: #{$btn-border-radius}; + --#{$prefix}btn-hover-border-color: transparent; + --#{$prefix}btn-box-shadow: #{$btn-box-shadow}; + --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity}; + --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5); + // scss-docs-end btn-css-vars + + display: inline-block; + padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x); + font-family: var(--#{$prefix}btn-font-family); + @include font-size(var(--#{$prefix}btn-font-size)); + font-weight: var(--#{$prefix}btn-font-weight); + line-height: var(--#{$prefix}btn-line-height); + color: var(--#{$prefix}btn-color); + text-align: center; + text-decoration: if($link-decoration == none, null, none); + white-space: $btn-white-space; + vertical-align: middle; + cursor: if($enable-button-pointers, pointer, null); + user-select: none; + border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color); + @include border-radius(var(--#{$prefix}btn-border-radius)); + @include gradient-bg(var(--#{$prefix}btn-bg)); + @include box-shadow(var(--#{$prefix}btn-box-shadow)); + @include transition($btn-transition); + + &:hover { + color: var(--#{$prefix}btn-hover-color); + text-decoration: if($link-hover-decoration == underline, none, null); + background-color: var(--#{$prefix}btn-hover-bg); + border-color: var(--#{$prefix}btn-hover-border-color); + } + + .btn-check + &:hover { + // override for the checkbox/radio buttons + color: var(--#{$prefix}btn-color); + background-color: var(--#{$prefix}btn-bg); + border-color: var(--#{$prefix}btn-border-color); + } + + &:focus-visible { + color: var(--#{$prefix}btn-hover-color); + @include gradient-bg(var(--#{$prefix}btn-hover-bg)); + border-color: var(--#{$prefix}btn-hover-border-color); + outline: 0; + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows { + box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow); + } @else { + box-shadow: var(--#{$prefix}btn-focus-box-shadow); + } + } + + .btn-check:focus-visible + & { + border-color: var(--#{$prefix}btn-hover-border-color); + outline: 0; + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows { + box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow); + } @else { + box-shadow: var(--#{$prefix}btn-focus-box-shadow); + } + } + + .btn-check:checked + &, + :not(.btn-check) + &:active, + &:first-child:active, + &.active, + &.show { + color: var(--#{$prefix}btn-active-color); + background-color: var(--#{$prefix}btn-active-bg); + // Remove CSS gradients if they're enabled + background-image: if($enable-gradients, none, null); + border-color: var(--#{$prefix}btn-active-border-color); + @include box-shadow(var(--#{$prefix}btn-active-shadow)); + + &:focus-visible { + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows { + box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow); + } @else { + box-shadow: var(--#{$prefix}btn-focus-box-shadow); + } + } + } + + .btn-check:checked:focus-visible + & { + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows { + box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow); + } @else { + box-shadow: var(--#{$prefix}btn-focus-box-shadow); + } + } + + &:disabled, + &.disabled, + fieldset:disabled & { + color: var(--#{$prefix}btn-disabled-color); + pointer-events: none; + background-color: var(--#{$prefix}btn-disabled-bg); + background-image: if($enable-gradients, none, null); + border-color: var(--#{$prefix}btn-disabled-border-color); + opacity: var(--#{$prefix}btn-disabled-opacity); + @include box-shadow(none); + } +} + + +// +// Alternate buttons +// + +// scss-docs-start btn-variant-loops +@each $color, $value in $theme-colors { + .btn-#{$color} { + @if $color == "light" { + @include button-variant( + $value, + $value, + $hover-background: shade-color($value, $btn-hover-bg-shade-amount), + $hover-border: shade-color($value, $btn-hover-border-shade-amount), + $active-background: shade-color($value, $btn-active-bg-shade-amount), + $active-border: shade-color($value, $btn-active-border-shade-amount) + ); + } @else if $color == "dark" { + @include button-variant( + $value, + $value, + $hover-background: tint-color($value, $btn-hover-bg-tint-amount), + $hover-border: tint-color($value, $btn-hover-border-tint-amount), + $active-background: tint-color($value, $btn-active-bg-tint-amount), + $active-border: tint-color($value, $btn-active-border-tint-amount) + ); + } @else { + @include button-variant($value, $value); + } + } +} + +@each $color, $value in $theme-colors { + .btn-outline-#{$color} { + @include button-outline-variant($value); + } +} +// scss-docs-end btn-variant-loops + + +// +// Link buttons +// + +// Make a button look and behave like a link +.btn-link { + --#{$prefix}btn-font-weight: #{$font-weight-normal}; + --#{$prefix}btn-color: #{$btn-link-color}; + --#{$prefix}btn-bg: transparent; + --#{$prefix}btn-border-color: transparent; + --#{$prefix}btn-hover-color: #{$btn-link-hover-color}; + --#{$prefix}btn-hover-border-color: transparent; + --#{$prefix}btn-active-color: #{$btn-link-hover-color}; + --#{$prefix}btn-active-border-color: transparent; + --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color}; + --#{$prefix}btn-disabled-border-color: transparent; + --#{$prefix}btn-box-shadow: 0 0 0 #000; // Can't use `none` as keyword negates all values when used with multiple shadows + --#{$prefix}btn-focus-shadow-rgb: #{$btn-link-focus-shadow-rgb}; + + text-decoration: $link-decoration; + @if $enable-gradients { + background-image: none; + } + + &:hover, + &:focus-visible { + text-decoration: $link-hover-decoration; + } + + &:focus-visible { + color: var(--#{$prefix}btn-color); + } + + &:hover { + color: var(--#{$prefix}btn-hover-color); + } + + // No need for an active state here +} + + +// +// Button Sizes +// + +.btn-lg { + @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg); +} + +.btn-sm { + @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm); +} diff --git a/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_card.scss b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_card.scss new file mode 100644 index 0000000..dcebe6a --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_card.scss @@ -0,0 +1,238 @@ +// +// Base styles +// + +.card { + // scss-docs-start card-css-vars + --#{$prefix}card-spacer-y: #{$card-spacer-y}; + --#{$prefix}card-spacer-x: #{$card-spacer-x}; + --#{$prefix}card-title-spacer-y: #{$card-title-spacer-y}; + --#{$prefix}card-title-color: #{$card-title-color}; + --#{$prefix}card-subtitle-color: #{$card-subtitle-color}; + --#{$prefix}card-border-width: #{$card-border-width}; + --#{$prefix}card-border-color: #{$card-border-color}; + --#{$prefix}card-border-radius: #{$card-border-radius}; + --#{$prefix}card-box-shadow: #{$card-box-shadow}; + --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius}; + --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y}; + --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x}; + --#{$prefix}card-cap-bg: #{$card-cap-bg}; + --#{$prefix}card-cap-color: #{$card-cap-color}; + --#{$prefix}card-height: #{$card-height}; + --#{$prefix}card-color: #{$card-color}; + --#{$prefix}card-bg: #{$card-bg}; + --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding}; + --#{$prefix}card-group-margin: #{$card-group-margin}; + // scss-docs-end card-css-vars + + position: relative; + display: flex; + flex-direction: column; + min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106 + height: var(--#{$prefix}card-height); + color: var(--#{$prefix}body-color); + word-wrap: break-word; + background-color: var(--#{$prefix}card-bg); + background-clip: border-box; + border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color); + @include border-radius(var(--#{$prefix}card-border-radius)); + @include box-shadow(var(--#{$prefix}card-box-shadow)); + + > hr { + margin-right: 0; + margin-left: 0; + } + + > .list-group { + border-top: inherit; + border-bottom: inherit; + + &:first-child { + border-top-width: 0; + @include border-top-radius(var(--#{$prefix}card-inner-border-radius)); + } + + &:last-child { + border-bottom-width: 0; + @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius)); + } + } + + // Due to specificity of the above selector (`.card > .list-group`), we must + // use a child selector here to prevent double borders. + > .card-header + .list-group, + > .list-group + .card-footer { + border-top: 0; + } +} + +.card-body { + // Enable `flex-grow: 1` for decks and groups so that card blocks take up + // as much space as possible, ensuring footers are aligned to the bottom. + flex: 1 1 auto; + padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x); + color: var(--#{$prefix}card-color); +} + +.card-title { + margin-bottom: var(--#{$prefix}card-title-spacer-y); + color: var(--#{$prefix}card-title-color); +} + +.card-subtitle { + margin-top: calc(-.5 * var(--#{$prefix}card-title-spacer-y)); // stylelint-disable-line function-disallowed-list + margin-bottom: 0; + color: var(--#{$prefix}card-subtitle-color); +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link { + &:hover { + text-decoration: if($link-hover-decoration == underline, none, null); + } + + + .card-link { + margin-left: var(--#{$prefix}card-spacer-x); + } +} + +// +// Optional textual caps +// + +.card-header { + padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x); + margin-bottom: 0; // Removes the default margin-bottom of + color: var(--#{$prefix}card-cap-color); + background-color: var(--#{$prefix}card-cap-bg); + border-bottom: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color); + + &:first-child { + @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0); + } +} + +.card-footer { + padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x); + color: var(--#{$prefix}card-cap-color); + background-color: var(--#{$prefix}card-cap-bg); + border-top: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color); + + &:last-child { + @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius)); + } +} + + +// +// Header navs +// + +.card-header-tabs { + margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list + margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y)); // stylelint-disable-line function-disallowed-list + margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list + border-bottom: 0; + + .nav-link.active { + background-color: var(--#{$prefix}card-bg); + border-bottom-color: var(--#{$prefix}card-bg); + } +} + +.card-header-pills { + margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list + margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list +} + +// Card image +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--#{$prefix}card-img-overlay-padding); + @include border-radius(var(--#{$prefix}card-inner-border-radius)); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch +} + +.card-img, +.card-img-top { + @include border-top-radius(var(--#{$prefix}card-inner-border-radius)); +} + +.card-img, +.card-img-bottom { + @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius)); +} + + +// +// Card groups +// + +.card-group { + // The child selector allows nested `.card` within `.card-group` + // to display properly. + > .card { + margin-bottom: var(--#{$prefix}card-group-margin); + } + + @include media-breakpoint-up(sm) { + display: flex; + flex-flow: row wrap; + // The child selector allows nested `.card` within `.card-group` + // to display properly. + > .card { + flex: 1 0 0; + margin-bottom: 0; + + + .card { + margin-left: 0; + border-left: 0; + } + + // Handle rounded corners + @if $enable-rounded { + &:not(:last-child) { + @include border-end-radius(0); + + > .card-img-top, + > .card-header { + // stylelint-disable-next-line property-disallowed-list + border-top-right-radius: 0; + } + > .card-img-bottom, + > .card-footer { + // stylelint-disable-next-line property-disallowed-list + border-bottom-right-radius: 0; + } + } + + &:not(:first-child) { + @include border-start-radius(0); + + > .card-img-top, + > .card-header { + // stylelint-disable-next-line property-disallowed-list + border-top-left-radius: 0; + } + > .card-img-bottom, + > .card-footer { + // stylelint-disable-next-line property-disallowed-list + border-bottom-left-radius: 0; + } + } + } + } + } +} diff --git a/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_carousel.scss b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_carousel.scss new file mode 100644 index 0000000..5ebf6b1 --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_carousel.scss @@ -0,0 +1,226 @@ +// Notes on the classes: +// +// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically) +// even when their scroll action started on a carousel, but for compatibility (with Firefox) +// we're preventing all actions instead +// 2. The .carousel-item-start and .carousel-item-end is used to indicate where +// the active slide is heading. +// 3. .active.carousel-item is the current slide. +// 4. .active.carousel-item-start and .active.carousel-item-end is the current +// slide in its in-transition state. Only one of these occurs at a time. +// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end +// is the upcoming slide in transition. + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; + @include clearfix(); +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + @include transition($carousel-transition); +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + + +// +// Alternate transitions +// + +.carousel-fade { + .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; + } + + .carousel-item.active, + .carousel-item-next.carousel-item-start, + .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; + } + + .active.carousel-item-start, + .active.carousel-item-end { + z-index: 0; + opacity: 0; + @include transition(opacity 0s $carousel-transition-duration); + } +} + + +// +// Left/right controls for nav +// + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + // Use flex for alignment (1-3) + display: flex; // 1. allow flex styles + align-items: center; // 2. vertically center contents + justify-content: center; // 3. horizontally center contents + width: $carousel-control-width; + padding: 0; + color: $carousel-control-color; + text-align: center; + background: none; + filter: var(--#{$prefix}carousel-control-icon-filter); + border: 0; + opacity: $carousel-control-opacity; + @include transition($carousel-control-transition); + + // Hover/focus state + &:hover, + &:focus { + color: $carousel-control-color; + text-decoration: none; + outline: 0; + opacity: $carousel-control-hover-opacity; + } +} +.carousel-control-prev { + left: 0; + background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null); +} +.carousel-control-next { + right: 0; + background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null); +} + +// Icons for within +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: $carousel-control-icon-width; + height: $carousel-control-icon-width; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +.carousel-control-prev-icon { + background-image: escape-svg($carousel-control-prev-icon-bg) #{"/*rtl:" + escape-svg($carousel-control-next-icon-bg) + "*/"}; +} +.carousel-control-next-icon { + background-image: escape-svg($carousel-control-next-icon-bg) #{"/*rtl:" + escape-svg($carousel-control-prev-icon-bg) + "*/"}; +} + +// Optional indicator pips/controls +// +// Add a container (such as a list) with the following class and add an item (ideally a focusable control, +// like a button) with data-bs-target for each slide your carousel holds. + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + // Use the .carousel-control's width as margin so we don't overlay those + margin-right: $carousel-control-width; + margin-bottom: 1rem; + margin-left: $carousel-control-width; + + [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: $carousel-indicator-width; + height: $carousel-indicator-height; + padding: 0; + margin-right: $carousel-indicator-spacer; + margin-left: $carousel-indicator-spacer; + text-indent: -999px; + cursor: pointer; + background-color: var(--#{$prefix}carousel-indicator-active-bg); + background-clip: padding-box; + border: 0; + // Use transparent borders to increase the hit area by 10px on top and bottom. + border-top: $carousel-indicator-hit-area-height solid transparent; + border-bottom: $carousel-indicator-hit-area-height solid transparent; + opacity: $carousel-indicator-opacity; + @include transition($carousel-indicator-transition); + } + + .active { + opacity: $carousel-indicator-active-opacity; + } +} + + +// Optional captions +// +// + +.carousel-caption { + position: absolute; + right: (100% - $carousel-caption-width) * .5; + bottom: $carousel-caption-spacer; + left: (100% - $carousel-caption-width) * .5; + padding-top: $carousel-caption-padding-y; + padding-bottom: $carousel-caption-padding-y; + color: var(--#{$prefix}carousel-caption-color); + text-align: center; +} + +// Dark mode carousel + +@mixin carousel-dark() { + --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg-dark}; + --#{$prefix}carousel-caption-color: #{$carousel-caption-color-dark}; + --#{$prefix}carousel-control-icon-filter: #{$carousel-control-icon-filter-dark}; +} + +.carousel-dark { + @include carousel-dark(); +} + +:root, +[data-bs-theme="light"] { + --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg}; + --#{$prefix}carousel-caption-color: #{$carousel-caption-color}; + --#{$prefix}carousel-control-icon-filter: #{$carousel-control-icon-filter}; +} + +@if $enable-dark-mode { + @include color-mode(dark, true) { + @include carousel-dark(); + } +} diff --git a/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_close.scss b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_close.scss new file mode 100644 index 0000000..d53c96f --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_close.scss @@ -0,0 +1,66 @@ +// Transparent background and border properties included for button version. +// iOS requires the button element instead of an anchor tag. +// If you want the anchor version, it requires `href="#"`. +// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile + +.btn-close { + // scss-docs-start close-css-vars + --#{$prefix}btn-close-color: #{$btn-close-color}; + --#{$prefix}btn-close-bg: #{ escape-svg($btn-close-bg) }; + --#{$prefix}btn-close-opacity: #{$btn-close-opacity}; + --#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity}; + --#{$prefix}btn-close-focus-shadow: #{$btn-close-focus-shadow}; + --#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity}; + --#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity}; + // scss-docs-end close-css-vars + + box-sizing: content-box; + width: $btn-close-width; + height: $btn-close-height; + padding: $btn-close-padding-y $btn-close-padding-x; + color: var(--#{$prefix}btn-close-color); + background: transparent var(--#{$prefix}btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements + filter: var(--#{$prefix}btn-close-filter); + border: 0; // for button elements + @include border-radius(); + opacity: var(--#{$prefix}btn-close-opacity); + + // Override
's hover style + &:hover { + color: var(--#{$prefix}btn-close-color); + text-decoration: none; + opacity: var(--#{$prefix}btn-close-hover-opacity); + } + + &:focus { + outline: 0; + box-shadow: var(--#{$prefix}btn-close-focus-shadow); + opacity: var(--#{$prefix}btn-close-focus-opacity); + } + + &:disabled, + &.disabled { + pointer-events: none; + user-select: none; + opacity: var(--#{$prefix}btn-close-disabled-opacity); + } +} + +@mixin btn-close-white() { + --#{$prefix}btn-close-filter: #{$btn-close-filter-dark}; +} + +.btn-close-white { + @include btn-close-white(); +} + +:root, +[data-bs-theme="light"] { + --#{$prefix}btn-close-filter: #{$btn-close-filter}; +} + +@if $enable-dark-mode { + @include color-mode(dark, true) { + @include btn-close-white(); + } +} diff --git a/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_containers.scss b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_containers.scss new file mode 100644 index 0000000..83b3138 --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_containers.scss @@ -0,0 +1,41 @@ +// Container widths +// +// Set the container width, and override it for fixed navbars in media queries. + +@if $enable-container-classes { + // Single container class with breakpoint max-widths + .container, + // 100% wide container at all breakpoints + .container-fluid { + @include make-container(); + } + + // Responsive containers that are 100% wide until a breakpoint + @each $breakpoint, $container-max-width in $container-max-widths { + .container-#{$breakpoint} { + @extend .container-fluid; + } + + @include media-breakpoint-up($breakpoint, $grid-breakpoints) { + %responsive-container-#{$breakpoint} { + max-width: $container-max-width; + } + + // Extend each breakpoint which is smaller or equal to the current breakpoint + $extend-breakpoint: true; + + @each $name, $width in $grid-breakpoints { + @if ($extend-breakpoint) { + .container#{breakpoint-infix($name, $grid-breakpoints)} { + @extend %responsive-container-#{$breakpoint}; + } + + // Once the current breakpoint is reached, stop extending + @if ($breakpoint == $name) { + $extend-breakpoint: false; + } + } + } + } + } +} diff --git a/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_dropdown.scss b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_dropdown.scss new file mode 100644 index 0000000..587ebb4 --- /dev/null +++ b/webseite-ts-claude/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_dropdown.scss @@ -0,0 +1,250 @@ +// The dropdown wrapper (`
`) +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; + + // Generate the caret automatically + @include caret(); +} + +// The dropdown menu +.dropdown-menu { + // scss-docs-start dropdown-css-vars + --#{$prefix}dropdown-zindex: #{$zindex-dropdown}; + --#{$prefix}dropdown-min-width: #{$dropdown-min-width}; + --#{$prefix}dropdown-padding-x: #{$dropdown-padding-x}; + --#{$prefix}dropdown-padding-y: #{$dropdown-padding-y}; + --#{$prefix}dropdown-spacer: #{$dropdown-spacer}; + @include rfs($dropdown-font-size, --#{$prefix}dropdown-font-size); + --#{$prefix}dropdown-color: #{$dropdown-color}; + --#{$prefix}dropdown-bg: #{$dropdown-bg}; + --#{$prefix}dropdown-border-color: #{$dropdown-border-color}; + --#{$prefix}dropdown-border-radius: #{$dropdown-border-radius}; + --#{$prefix}dropdown-border-width: #{$dropdown-border-width}; + --#{$prefix}dropdown-inner-border-radius: #{$dropdown-inner-border-radius}; + --#{$prefix}dropdown-divider-bg: #{$dropdown-divider-bg}; + --#{$prefix}dropdown-divider-margin-y: #{$dropdown-divider-margin-y}; + --#{$prefix}dropdown-box-shadow: #{$dropdown-box-shadow}; + --#{$prefix}dropdown-link-color: #{$dropdown-link-color}; + --#{$prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color}; + --#{$prefix}dropdown-link-hover-bg: #{$dropdown-link-hover-bg}; + --#{$prefix}dropdown-link-active-color: #{$dropdown-link-active-color}; + --#{$prefix}dropdown-link-active-bg: #{$dropdown-link-active-bg}; + --#{$prefix}dropdown-link-disabled-color: #{$dropdown-link-disabled-color}; + --#{$prefix}dropdown-item-padding-x: #{$dropdown-item-padding-x}; + --#{$prefix}dropdown-item-padding-y: #{$dropdown-item-padding-y}; + --#{$prefix}dropdown-header-color: #{$dropdown-header-color}; + --#{$prefix}dropdown-header-padding-x: #{$dropdown-header-padding-x}; + --#{$prefix}dropdown-header-padding-y: #{$dropdown-header-padding-y}; + // scss-docs-end dropdown-css-vars + + position: absolute; + z-index: var(--#{$prefix}dropdown-zindex); + display: none; // none by default, but block on "open" of the menu + min-width: var(--#{$prefix}dropdown-min-width); + padding: var(--#{$prefix}dropdown-padding-y) var(--#{$prefix}dropdown-padding-x); + margin: 0; // Override default margin of ul + @include font-size(var(--#{$prefix}dropdown-font-size)); + color: var(--#{$prefix}dropdown-color); + text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) + list-style: none; + background-color: var(--#{$prefix}dropdown-bg); + background-clip: padding-box; + border: var(--#{$prefix}dropdown-border-width) solid var(--#{$prefix}dropdown-border-color); + @include border-radius(var(--#{$prefix}dropdown-border-radius)); + @include box-shadow(var(--#{$prefix}dropdown-box-shadow)); + + &[data-bs-popper] { + top: 100%; + left: 0; + margin-top: var(--#{$prefix}dropdown-spacer); + } + + @if $dropdown-padding-y == 0 { + > .dropdown-item:first-child, + > li:first-child .dropdown-item { + @include border-top-radius(var(--#{$prefix}dropdown-inner-border-radius)); + } + > .dropdown-item:last-child, + > li:last-child .dropdown-item { + @include border-bottom-radius(var(--#{$prefix}dropdown-inner-border-radius)); + } + + } +} + +// scss-docs-start responsive-breakpoints +// We deliberately hardcode the `bs-` prefix because we check +// this custom property in JS to determine Popper's positioning + +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + .dropdown-menu#{$infix}-start { + --bs-position: start; + + &[data-bs-popper] { + right: auto; + left: 0; + } + } + + .dropdown-menu#{$infix}-end { + --bs-position: end; + + &[data-bs-popper] { + right: 0; + left: auto; + } + } + } +} +// scss-docs-end responsive-breakpoints + +// Allow for dropdowns to go bottom up (aka, dropup-menu) +// Just add .dropup after the standard .dropdown class and you're set. +.dropup { + .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--#{$prefix}dropdown-spacer); + } + + .dropdown-toggle { + @include caret(up); + } +} + +.dropend { + .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--#{$prefix}dropdown-spacer); + } + + .dropdown-toggle { + @include caret(end); + &::after { + vertical-align: 0; + } + } +} + +.dropstart { + .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--#{$prefix}dropdown-spacer); + } + + .dropdown-toggle { + @include caret(start); + &::before { + vertical-align: 0; + } + } +} + + +// Dividers (basically an `
`) within the dropdown +.dropdown-divider { + height: 0; + margin: var(--#{$prefix}dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--#{$prefix}dropdown-divider-bg); + opacity: 1; // Revisit in v6 to de-dupe styles that conflict with
element +} + +// Links, buttons, and more within the dropdown menu +// +// `
+ +
  • + +
  • + + + + + + + + + + + + + + + + + + + +
    #NamePrice in €Actions
    +
    +
    + +
    + +
    +
    + + +
    +
    + +
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + +
    +
    +
    +
    +

    Address

    +

    + Lorem ipsum dolor, sit amet consectetur adipisicing elit. Beatae omnis hic eligendi rem fugiat quo! Autem + totam maxime itaque earum? +

    +
    +
    +

    Social Media

    +

    Lorem ipsum dolor sit, amet consectetur adipisicing elit. Nisi, earum.

    +
    +
    +

    Privacy Policy

    +

    Lorem ipsum dolor sit amet consectetur adipisicing elit. Eveniet, porro!

    +
    +
    +
    +
    + + diff --git a/webseite-ts.zip b/webseite-ts.zip new file mode 100644 index 0000000..a23794a Binary files /dev/null and b/webseite-ts.zip differ diff --git a/webseite-ts/backend/.vscode/settings.json b/webseite-ts/backend/.vscode/settings.json new file mode 100644 index 0000000..ab56b22 --- /dev/null +++ b/webseite-ts/backend/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "workbench.colorCustomizations": { + "titleBar.activeForeground": "#333", + "titleBar.activeBackground": "#d0d06b", + "titleBar.inactiveForeground": "#ddd", + "titleBar.inactiveBackground": "#a4a464" + } +} diff --git a/webseite-ts/backend/api.rest b/webseite-ts/backend/api.rest new file mode 100644 index 0000000..7e506de --- /dev/null +++ b/webseite-ts/backend/api.rest @@ -0,0 +1,68 @@ +# BROWSE Products + +GET http://127.0.0.1:8000/api/products + +### + +# READ Product + +GET http://127.0.0.1:8000/api/products/c38913d4-9524-461f-85d2-525241166e8e + + +### + +# ADD Product + +POST http://127.0.0.1:8000/api/products +Content-Type: application/json + +{ + "name": "Testproduct", + "price": 9.99 +} + +### + +# UPDATE Product + +PUT http://127.0.0.1:8000/api/products +Content-Type: application/json + +{ + "_id": "940c316b-518c-4a18-b1f6-328e010eef4d", + "name": "Testproduct Updated", + "price": 123.22 +} + +### + +# DELETE Product + +DELETE http://127.0.0.1:8000/api/products/6cbe4783-cfb5-4ed7-8196-9d6b55217de0 +Content-Type: application/json + +### + +# RESET Products +PATCH http://127.0.0.1:8000/api/products/reset +Content-Type: application/json + +{ + "reset": true +} + +### + +# SAVE Products +PATCH http://127.0.0.1:8000/api/products/save +Content-Type: application/json + +{ + "save": true +} + + + + + + diff --git a/webseite-ts/backend/data/products.bakup.json b/webseite-ts/backend/data/products.bakup.json new file mode 100644 index 0000000..906dff9 --- /dev/null +++ b/webseite-ts/backend/data/products.bakup.json @@ -0,0 +1,38 @@ +[ + { + "_id": "6cbe4783-cfb5-4ed7-8196-9d6b55217de0", + "position": 1, + "name": "3Doodler 3D Printing Pen", + "price": 29.99 + }, + { + "_id": "c38913d4-9524-461f-85d2-525241166e8e", + "position": 2, + "name": "Powerstation 5- E. Maximus Chargus", + "price": 44.95 + }, + { + "_id": "cdc887bd-fb0e-4485-8516-0a3720c3bb72", + "position": 3, + "name": "8-Bit Legendary Hero Heat-Change Mug", + "price": 6.99 + }, + { + "_id": "bded2710-8db8-41a5-87af-269195eab449", + "position": 4, + "name": "16-Bit Legendary Hero Heat-Change Mug", + "price": 12.99 + }, + { + "_id": "3b3352c1-789d-4b4f-8a93-f05f44ece5a5", + "position": 5, + "name": "32-Bit Legendary Hero Heat-Change Mug", + "price": 18.99 + }, + { + "_id": "5af39d33-cbcd-42c7-a160-50084faa91ba", + "position": 6, + "name": "64-Bit Legendary Hero Heat-Change Mug", + "price": 21.99 + } +] diff --git a/webseite-ts/backend/data/products.json b/webseite-ts/backend/data/products.json new file mode 100644 index 0000000..897db5d --- /dev/null +++ b/webseite-ts/backend/data/products.json @@ -0,0 +1,38 @@ +[ + { + "_id": "6cbe4783-cfb5-4ed7-8196-9d6b55217de0", + "position": 1, + "name": "3Doodler 3D Printing Pen", + "price": 29.99 + }, + { + "_id": "c38913d4-9524-461f-85d2-525241166e8e", + "position": 2, + "name": "Powerstation 5- E. Maximus Chargus", + "price": 44.95 + }, + { + "_id": "cdc887bd-fb0e-4485-8516-0a3720c3bb72", + "position": 3, + "name": "8-Bit Legendary Hero Heat-Change Mug", + "price": 6.99 + }, + { + "_id": "bded2710-8db8-41a5-87af-269195eab449", + "position": 4, + "name": "16-Bit Legendary Hero Heat-Change Mug", + "price": 12.99 + }, + { + "_id": "3b3352c1-789d-4b4f-8a93-f05f44ece5a5", + "position": 5, + "name": "32-Bit Legendary Hero Heat-Change Mug", + "price": 18.99 + }, + { + "_id": "5af39d33-cbcd-42c7-a160-50084faa91ba", + "position": 6, + "name": "64-Bit Legendary Hero Heat-Change Mug", + "price": 21.99 + } +] \ No newline at end of file diff --git a/webseite-ts/backend/model/ProductModel.js b/webseite-ts/backend/model/ProductModel.js new file mode 100644 index 0000000..424d144 --- /dev/null +++ b/webseite-ts/backend/model/ProductModel.js @@ -0,0 +1,113 @@ +import fs from 'node:fs'; +import { v4 as id } from 'uuid'; + +// Factoryfunction +const ProductModel = () => { + let products = []; + + const load = () => { + try { + products = JSON.parse(fs.readFileSync('./data/products.json', 'utf-8')); + } catch (error) { + console.log('Something went wrong: ', error); + products = []; + } + }; + + const reset = () => { + try { + products = JSON.parse(fs.readFileSync('./data/products.bakup.json', 'utf-8')); + } catch (error) { + console.log('Something went wrong: ', error); + products = []; + } + }; + + const save = () => { + try { + fs.writeFileSync('./data/products.json', JSON.stringify(products, null, 2), 'utf-8'); + } catch (error) { + console.log('Something went wrong:', error); + } + }; + + const getAll = () => { + return products; + }; + + const get = (id) => { + const product = products.find((product) => { + return product._id === id; + }); + + // Guard + if (!product) return null; + + return product; + }; + + const add = (product) => { + const { name, price } = product; + + if (!hasAllProps(product)) return false; + + products.push({ + _id: id(), + name, + price: Number(price.toFixed(2)), + position: products.length + 1, + }); + + return true; + }; + + const update = (product) => { + const foundIdx = products.findIndex((obj) => { + return obj._id === product._id; + }); + + // Guard + if (foundIdx === -1 || !hasAllProps(product)) return false; + + products[foundIdx] = product; + return true; + }; + + const remove = (id) => { + const foundIdx = products.findIndex((obj) => { + return obj._id === id; + }); + + // Guard + if (foundIdx === -1) return false; + + products.splice(foundIdx, 1); + + return true; + }; + + /** + * hasAllProps - Überprüfung ob Product "name" und "price" + * @return boolean + **/ + const hasAllProps = (product) => { + // return Object.hasOwn(product, 'name') && Object.hasOwn(product, 'price'); + + const keys = Object.keys(product); // => ['name', 'price'] + return keys.includes('name') && keys.includes('price'); + }; + + return { + // load: load + load, + save, + add, + getAll, + get, + update, + delete: remove, + reset, + }; +}; + +export default ProductModel; diff --git a/webseite-ts/backend/package.json b/webseite-ts/backend/package.json new file mode 100644 index 0000000..4924405 --- /dev/null +++ b/webseite-ts/backend/package.json @@ -0,0 +1,20 @@ +{ + "name": "website-backend", + "version": "1.0.0", + "description": "", + "main": "server.js", + "scripts": { + "start": "npx nodemon server.js", + "server": "npx nodemon server.js" + }, + "keywords": [], + "type": "module", + "license": "ISC", + "dependencies": { + "chalk": "^5.6.2", + "cors": "^2.8.6", + "dotenv": "^17.4.2", + "express": "^5.2.1", + "uuid": "^14.0.1" + } +} diff --git a/webseite-ts/backend/server.js b/webseite-ts/backend/server.js new file mode 100644 index 0000000..f3652d7 --- /dev/null +++ b/webseite-ts/backend/server.js @@ -0,0 +1,158 @@ +import express from 'express'; +import color from 'chalk'; +import cors from 'cors'; +import dotenv from 'dotenv'; + +dotenv.config(); // Sensible Konfigurationsvariablen in .env Datei auslagern + +// Model +import ProductModel from './model/ProductModel.js'; // Dateiendung nicht vergessen + +const PORT = process.env.SERVER_PORT; // || 8000; +const HOST = process.env.SERVER_HOST; // || '127.0.0.1'; // 'localhost' +const BASE_URL = `http://${HOST}:${PORT}`; + +const app = express(); +const products = ProductModel(); + +const corsOptions = { + origin: ['http://localhost:3000', 'http://127.0.0.1:3000'], + optionsSuccessStatus: 200, // some legacy browsers (IE11, various SmartTVs) choke on 204 +}; + +// lade Produkte +products.load(); + +// Middleware +app.use(cors(corsOptions)); // Fängt alle HTTP-Requests vor den Routenabfragen ab. +app.use(express.json()); // HTTP-Request Body wird als JSON Objekt erwartet und geparsed wird. // app.use(bodyParser.json()) - Modul body-parser war in express 4 notwendig + +app.use((req, res, next) => { + console.log(color.yellow('HTTP-Method: '), color.magenta(req.method)); + next(); +}); + +// Routes +app.get('/', (req, res) => { + // console.log(req.headers); + + res.send('SERVER WORKS!'); // HTTP-Response wird gesendet. +}); + +app.get('/persons', (req, res) => { + // res.setHeader('Content-Type', 'application/json'); // nicht notwendig den Content-Type selber zu definieren, da das express automatisch zuweist. + + const persons = [ + { firstName: 'John', lastName: 'Wick' }, + { firstName: 'Jane', lastName: 'Doe' }, + { firstName: 'Max', lastName: 'Mustermann' }, + ]; + // res.send(JSON.stringify(persons)); // nicht notwendig JS Objekte in JSON Strings umzuwandeln, das das express automatisch umwandelt + + res.send(persons); +}); + +// REST API ====== +// Representational State Transfer (abgekürzt REST) +// GET - Daten Holen +// POST - Daten hinzufügen +// PUT/PATCH - Daten aktualisieren / Einen Datensatz aktualisieren +// DELETE - Daten löschen + +// HTTP - Methode - POST +// (C)RUD - create - neues Produkt erstellen +// BRE(A)D - add +app.post('/api/products', (req, res) => { + const product = req.body; + + if (!products.add(product)) { + return res.status(400).send({ msg: 'Could not add product', status: 400, success: false }); + } + + return res.send({ msg: 'Product added', status: 200, success: true, data: product }); +}); + +// HTTP - Methode - GET +// C(R)UD - read +// (B)READ - browse +app.get('/api/products', (req, res) => { + const data = products.getAll(); + return res.send(data); +}); + +// HTTP - Methode - GET +// C(R)UD - read +// B(R)EAD - read +app.get('/api/products/:id', (req, res) => { + const id = req.params.id; // routenparameter :id wird als Eigenschaft in params-Objekt abgelegt + const product = products.get(id); + + if (!product) { + return res.status(400).send({ msg: 'Could not get product', status: 400, success: false }); + } + + return res.send(product); +}); + +// HTTP - Methode - PUT/PATCH +// CR(U)D - update +// BR(E)AD - edit +app.put('/api/products', (req, res) => { + const product = req.body; + + const updated = products.update(product); + + if (!updated) { + return res.status(400).send({ msg: 'Could not update product', status: 400, success: false }); + } + + return res.send({ msg: 'Product updated', status: 200, success: true, data: product }); +}); + +// HTTP - Methode - PATCH +// reseten von Produkten +app.patch('/api/products/reset', (req, res) => { + const reset = req.body.reset; + + if (!reset) { + return res.status(400).send({ msg: 'Could not reset products', status: 400, success: false }); + } + + products.reset(); + + return res.send({ msg: 'Products reseted', status: 200, success: true, data: reset }); +}); + +// HTTP - Methode - PATCH +// speichern von Produkten +app.patch('/api/products/save', (req, res) => { + const save = req.body.save; + + if (!save) { + return res.status(400).send({ msg: 'Could not save products', status: 400, success: false }); + } + + products.save(); + + return res.send({ msg: 'Products saved', status: 200, success: true, data: save }); +}); + +// HTTP - Methode - DELETE +// CRU(D) - delete +// BREA(D) - delete +app.delete('/api/products/:id', (req, res) => { + const id = req.params.id; + + if (!products.delete(id)) { + return res.status(400).send({ msg: 'Could not delete product', status: 400, success: false }); + } + + return res.send({ msg: 'Product deleted', status: 200, success: true, data: id }); +}); + +// ========= + +app.listen(PORT, HOST, () => { + console.log(color.magenta(`🚀 Server is running at: ${BASE_URL}`)); + console.log(color.yellow('CTRL + C to close.')); +}); diff --git a/webseite-ts/backend/utils/json-modifier.js b/webseite-ts/backend/utils/json-modifier.js new file mode 100644 index 0000000..f0c7847 --- /dev/null +++ b/webseite-ts/backend/utils/json-modifier.js @@ -0,0 +1,19 @@ +import fs from 'node:fs'; +import { v4 as id } from 'uuid'; + +console.log(id()); // 97412ca6-c7a8-4868-a49b-3cf4c2258dd8 + +try { + const data = JSON.parse(fs.readFileSync('../data/products.json', 'utf-8')); + + const products = data.map((product, index) => { + return { _id: product._id || id(), position: index + 1, ...product }; + }); + + console.log(products); + + fs.writeFileSync('../data/products.json', JSON.stringify(products, null, 2), 'utf-8'); + console.log('File modified'); +} catch (error) { + console.log(error); +} diff --git a/webseite-ts/backend/utils/package-lock.json b/webseite-ts/backend/utils/package-lock.json new file mode 100644 index 0000000..0ff2b94 --- /dev/null +++ b/webseite-ts/backend/utils/package-lock.json @@ -0,0 +1,28 @@ +{ + "name": "utils", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "utils", + "version": "1.0.0", + "dependencies": { + "uuid": "^14.0.1" + } + }, + "node_modules/uuid": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.1.tgz", + "integrity": "sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist-node/bin/uuid" + } + } + } +} diff --git a/webseite-ts/backend/utils/package.json b/webseite-ts/backend/utils/package.json new file mode 100644 index 0000000..2a2b3f7 --- /dev/null +++ b/webseite-ts/backend/utils/package.json @@ -0,0 +1,14 @@ +{ + "name": "utils", + "version": "1.0.0", + "description": "", + "main": "json-modifier.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "type": "module", + "dependencies": { + "uuid": "^14.0.1" + } +} diff --git a/webseite-ts/frontend/.vscode/settings.json b/webseite-ts/frontend/.vscode/settings.json new file mode 100644 index 0000000..cb2ddd7 --- /dev/null +++ b/webseite-ts/frontend/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "workbench.colorCustomizations": { + "titleBar.activeForeground": "#333", + "titleBar.activeBackground": "#86cd8b", + "titleBar.inactiveForeground": "#ddd", + "titleBar.inactiveBackground": "#6fa973" + } +} diff --git a/webseite-ts/frontend/README.md b/webseite-ts/frontend/README.md new file mode 100644 index 0000000..dbe5b1e --- /dev/null +++ b/webseite-ts/frontend/README.md @@ -0,0 +1,33 @@ +# Aufgabe + +- Nach Positionsveränderung (drop, move-up,move-down) sollen alle Positionen der Zeilen als Array festgehalten werden. + +```js + +const positions = [ + { + _id: '6cbe4783-cfb5-4ed7-8196-9d6b55217de0', + position: 1, + }, + { + _id: '6cbe4783-cfb5-4ed7-8196-9d6b55217de0', + position: 2, + }, + {...} + ] + +``` + +- Positionsarray an Server zur Aktualisierung senden (PUT) + +```js +'http://127.0.0.1:8000/api/products/positions'; +``` + +- Server: Positionen abfangen und products Array aktualisieren + +```js +//ProductModel +updatePosition() {...} + +``` diff --git a/webseite-ts/frontend/assets/css/main.css b/webseite-ts/frontend/assets/css/main.css new file mode 100644 index 0000000..3cd91e3 --- /dev/null +++ b/webseite-ts/frontend/assets/css/main.css @@ -0,0 +1,12870 @@ +@charset "UTF-8"; +/*! + * Bootstrap v5.3.8 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +@import 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.3.0/css/all.min.css'; +:root, +[data-bs-theme=light] { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-primary-text-emphasis: rgb(2.0392156863%, 17.2549019608%, 39.6862745098%); + --bs-secondary-text-emphasis: rgb(16.9411764706%, 18.3529411765%, 19.6078431373%); + --bs-success-text-emphasis: rgb(3.9215686275%, 21.1764705882%, 13.1764705882%); + --bs-info-text-emphasis: rgb(2.0392156863%, 31.6862745098%, 37.6470588235%); + --bs-warning-text-emphasis: rgb(40%, 30.2745098039%, 1.0980392157%); + --bs-danger-text-emphasis: rgb(34.5098039216%, 8.3137254902%, 10.8235294118%); + --bs-light-text-emphasis: #495057; + --bs-dark-text-emphasis: #495057; + --bs-primary-bg-subtle: rgb(81.0196078431%, 88.6274509804%, 99.8431372549%); + --bs-secondary-bg-subtle: rgb(88.4705882353%, 89.1764705882%, 89.8039215686%); + --bs-success-bg-subtle: rgb(81.9607843137%, 90.5882352941%, 86.5882352941%); + --bs-info-bg-subtle: rgb(81.0196078431%, 95.8431372549%, 98.8235294118%); + --bs-warning-bg-subtle: rgb(100%, 95.137254902%, 80.5490196078%); + --bs-danger-bg-subtle: rgb(97.2549019608%, 84.1568627451%, 85.4117647059%); + --bs-light-bg-subtle: rgb(98.6274509804%, 98.8235294118%, 99.0196078431%); + --bs-dark-bg-subtle: #ced4da; + --bs-primary-border-subtle: rgb(62.0392156863%, 77.2549019608%, 99.6862745098%); + --bs-secondary-border-subtle: rgb(76.9411764706%, 78.3529411765%, 79.6078431373%); + --bs-success-border-subtle: rgb(63.9215686275%, 81.1764705882%, 73.1764705882%); + --bs-info-border-subtle: rgb(62.0392156863%, 91.6862745098%, 97.6470588235%); + --bs-warning-border-subtle: rgb(100%, 90.2745098039%, 61.0980392157%); + --bs-danger-border-subtle: rgb(94.5098039216%, 68.3137254902%, 70.8235294118%); + --bs-light-border-subtle: #e9ecef; + --bs-dark-border-subtle: #adb5bd; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #212529; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg: #fff; + --bs-body-bg-rgb: 255, 255, 255; + --bs-emphasis-color: #000; + --bs-emphasis-color-rgb: 0, 0, 0; + --bs-secondary-color: rgba(33, 37, 41, 0.75); + --bs-secondary-color-rgb: 33, 37, 41; + --bs-secondary-bg: #e9ecef; + --bs-secondary-bg-rgb: 233, 236, 239; + --bs-tertiary-color: rgba(33, 37, 41, 0.5); + --bs-tertiary-color-rgb: 33, 37, 41; + --bs-tertiary-bg: #f8f9fa; + --bs-tertiary-bg-rgb: 248, 249, 250; + --bs-heading-color: inherit; + --bs-link-color: #0d6efd; + --bs-link-color-rgb: 13, 110, 253; + --bs-link-decoration: underline; + --bs-link-hover-color: rgb(4.0784313725%, 34.5098039216%, 79.3725490196%); + --bs-link-hover-color-rgb: 10, 88, 202; + --bs-code-color: #d63384; + --bs-highlight-color: #212529; + --bs-highlight-bg: rgb(100%, 95.137254902%, 80.5490196078%); + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #dee2e6; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-xxl: 2rem; + --bs-border-radius-2xl: var(--bs-border-radius-xxl); + --bs-border-radius-pill: 50rem; + --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); + --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-focus-ring-width: 0.25rem; + --bs-focus-ring-opacity: 0.25; + --bs-focus-ring-color: rgba(13, 110, 253, 0.25); + --bs-form-valid-color: #198754; + --bs-form-valid-border-color: #198754; + --bs-form-invalid-color: #dc3545; + --bs-form-invalid-border-color: #dc3545; +} + +[data-bs-theme=dark] { + color-scheme: dark; + --bs-body-color: #dee2e6; + --bs-body-color-rgb: 222, 226, 230; + --bs-body-bg: #212529; + --bs-body-bg-rgb: 33, 37, 41; + --bs-emphasis-color: #fff; + --bs-emphasis-color-rgb: 255, 255, 255; + --bs-secondary-color: rgba(222, 226, 230, 0.75); + --bs-secondary-color-rgb: 222, 226, 230; + --bs-secondary-bg: #343a40; + --bs-secondary-bg-rgb: 52, 58, 64; + --bs-tertiary-color: rgba(222, 226, 230, 0.5); + --bs-tertiary-color-rgb: 222, 226, 230; + --bs-tertiary-bg: rgb(16.6666666667%, 18.6274509804%, 20.5882352941%); + --bs-tertiary-bg-rgb: 43, 48, 53; + --bs-primary-text-emphasis: rgb(43.0588235294%, 65.8823529412%, 99.5294117647%); + --bs-secondary-text-emphasis: rgb(65.4117647059%, 67.5294117647%, 69.4117647059%); + --bs-success-text-emphasis: rgb(45.8823529412%, 71.7647058824%, 59.7647058824%); + --bs-info-text-emphasis: rgb(43.0588235294%, 87.5294117647%, 96.4705882353%); + --bs-warning-text-emphasis: rgb(100%, 85.4117647059%, 41.6470588235%); + --bs-danger-text-emphasis: rgb(91.7647058824%, 52.4705882353%, 56.2352941176%); + --bs-light-text-emphasis: #f8f9fa; + --bs-dark-text-emphasis: #dee2e6; + --bs-primary-bg-subtle: rgb(1.0196078431%, 8.6274509804%, 19.8431372549%); + --bs-secondary-bg-subtle: rgb(8.4705882353%, 9.1764705882%, 9.8039215686%); + --bs-success-bg-subtle: rgb(1.9607843137%, 10.5882352941%, 6.5882352941%); + --bs-info-bg-subtle: rgb(1.0196078431%, 15.8431372549%, 18.8235294118%); + --bs-warning-bg-subtle: rgb(20%, 15.137254902%, 0.5490196078%); + --bs-danger-bg-subtle: rgb(17.2549019608%, 4.1568627451%, 5.4117647059%); + --bs-light-bg-subtle: #343a40; + --bs-dark-bg-subtle: #1a1d20; + --bs-primary-border-subtle: rgb(3.0588235294%, 25.8823529412%, 59.5294117647%); + --bs-secondary-border-subtle: rgb(25.4117647059%, 27.5294117647%, 29.4117647059%); + --bs-success-border-subtle: rgb(5.8823529412%, 31.7647058824%, 19.7647058824%); + --bs-info-border-subtle: rgb(3.0588235294%, 47.5294117647%, 56.4705882353%); + --bs-warning-border-subtle: rgb(60%, 45.4117647059%, 1.6470588235%); + --bs-danger-border-subtle: rgb(51.7647058824%, 12.4705882353%, 16.2352941176%); + --bs-light-border-subtle: #495057; + --bs-dark-border-subtle: #343a40; + --bs-heading-color: inherit; + --bs-link-color: rgb(43.0588235294%, 65.8823529412%, 99.5294117647%); + --bs-link-hover-color: rgb(54.4470588235%, 72.7058823529%, 99.6235294118%); + --bs-link-color-rgb: 110, 168, 254; + --bs-link-hover-color-rgb: 139, 185, 254; + --bs-code-color: rgb(90.3529411765%, 52%, 71.0588235294%); + --bs-highlight-color: #dee2e6; + --bs-highlight-bg: rgb(40%, 30.2745098039%, 1.0980392157%); + --bs-border-color: #495057; + --bs-border-color-translucent: rgba(255, 255, 255, 0.15); + --bs-form-valid-color: rgb(45.8823529412%, 71.7647058824%, 59.7647058824%); + --bs-form-valid-border-color: rgb(45.8823529412%, 71.7647058824%, 59.7647058824%); + --bs-form-invalid-color: rgb(91.7647058824%, 52.4705882353%, 56.2352941176%); + --bs-form-invalid-border-color: rgb(91.7647058824%, 52.4705882353%, 56.2352941176%); +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: var(--bs-border-width) solid; + opacity: 0.25; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; + color: var(--bs-heading-color); +} + +h1, .h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + h1, .h1 { + font-size: 2.5rem; + } +} + +h2, .h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + h2, .h2 { + font-size: 2rem; + } +} + +h3, .h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h3, .h3 { + font-size: 1.75rem; + } +} + +h4, .h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h4, .h4 { + font-size: 1.5rem; + } +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + text-decoration: underline dotted; + cursor: help; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small, .small { + font-size: 0.875em; +} + +mark, .mark { + padding: 0.1875em; + color: var(--bs-highlight-color); + background-color: var(--bs-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); + text-decoration: underline; +} +a:hover { + --bs-link-color-rgb: var(--bs-link-hover-color-rgb); +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: var(--bs-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.1875rem 0.375rem; + font-size: 0.875em; + color: var(--bs-body-bg); + background-color: var(--bs-body-color); + border-radius: 0.25rem; +} +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-secondary-color); + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + line-height: inherit; + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + -webkit-appearance: textfield; + outline-offset: -2px; +} +[type=search]::-webkit-search-cancel-button { + cursor: pointer; + filter: grayscale(1); +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.625rem + 4.5vw); +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} + +.display-2 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.575rem + 3.9vw); +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} + +.display-3 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.525rem + 3.3vw); +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} + +.display-4 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.475rem + 2.7vw); +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} + +.display-5 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.425rem + 2.1vw); +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} + +.display-6 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #6c757d; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: var(--bs-body-bg); + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 0.875em; + color: var(--bs-secondary-color); +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} + +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.33333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.table { + --bs-table-color-type: initial; + --bs-table-bg-type: initial; + --bs-table-color-state: initial; + --bs-table-bg-state: initial; + --bs-table-color: var(--bs-emphasis-color); + --bs-table-bg: var(--bs-body-bg); + --bs-table-border-color: var(--bs-border-color); + --bs-table-accent-bg: transparent; + --bs-table-striped-color: var(--bs-emphasis-color); + --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05); + --bs-table-active-color: var(--bs-emphasis-color); + --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1); + --bs-table-hover-color: var(--bs-emphasis-color); + --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075); + width: 100%; + margin-bottom: 1rem; + vertical-align: top; + border-color: var(--bs-table-border-color); +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color))); + background-color: var(--bs-table-bg); + border-bottom-width: var(--bs-border-width); + box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} + +.table-group-divider { + border-top: calc(var(--bs-border-width) * 2) solid currentcolor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.table-bordered > :not(caption) > * { + border-width: var(--bs-border-width) 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 var(--bs-border-width); +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-color-type: var(--bs-table-striped-color); + --bs-table-bg-type: var(--bs-table-striped-bg); +} + +.table-striped-columns > :not(caption) > tr > :nth-child(even) { + --bs-table-color-type: var(--bs-table-striped-color); + --bs-table-bg-type: var(--bs-table-striped-bg); +} + +.table-active { + --bs-table-color-state: var(--bs-table-active-color); + --bs-table-bg-state: var(--bs-table-active-bg); +} + +.table-hover > tbody > tr:hover > * { + --bs-table-color-state: var(--bs-table-hover-color); + --bs-table-bg-state: var(--bs-table-hover-bg); +} + +.table-primary { + --bs-table-color: #000; + --bs-table-bg: rgb(81.0196078431%, 88.6274509804%, 99.8431372549%); + --bs-table-border-color: rgb(64.8156862745%, 70.9019607843%, 79.8745098039%); + --bs-table-striped-bg: rgb(76.968627451%, 84.1960784314%, 94.8509803922%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(72.9176470588%, 79.7647058824%, 89.8588235294%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(74.9431372549%, 81.9803921569%, 92.3549019608%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-secondary { + --bs-table-color: #000; + --bs-table-bg: rgb(88.4705882353%, 89.1764705882%, 89.8039215686%); + --bs-table-border-color: rgb(70.7764705882%, 71.3411764706%, 71.8431372549%); + --bs-table-striped-bg: rgb(84.0470588235%, 84.7176470588%, 85.3137254902%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(79.6235294118%, 80.2588235294%, 80.8235294118%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(81.8352941176%, 82.4882352941%, 83.068627451%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-success { + --bs-table-color: #000; + --bs-table-bg: rgb(81.9607843137%, 90.5882352941%, 86.5882352941%); + --bs-table-border-color: rgb(65.568627451%, 72.4705882353%, 69.2705882353%); + --bs-table-striped-bg: rgb(77.862745098%, 86.0588235294%, 82.2588235294%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(73.7647058824%, 81.5294117647%, 77.9294117647%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(75.8137254902%, 83.7941176471%, 80.0941176471%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-info { + --bs-table-color: #000; + --bs-table-bg: rgb(81.0196078431%, 95.8431372549%, 98.8235294118%); + --bs-table-border-color: rgb(64.8156862745%, 76.6745098039%, 79.0588235294%); + --bs-table-striped-bg: rgb(76.968627451%, 91.0509803922%, 93.8823529412%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(72.9176470588%, 86.2588235294%, 88.9411764706%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(74.9431372549%, 88.6549019608%, 91.4117647059%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-warning { + --bs-table-color: #000; + --bs-table-bg: rgb(100%, 95.137254902%, 80.5490196078%); + --bs-table-border-color: rgb(80%, 76.1098039216%, 64.4392156863%); + --bs-table-striped-bg: rgb(95%, 90.3803921569%, 76.5215686275%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(90%, 85.6235294118%, 72.4941176471%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(92.5%, 88.0019607843%, 74.5078431373%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-danger { + --bs-table-color: #000; + --bs-table-bg: rgb(97.2549019608%, 84.1568627451%, 85.4117647059%); + --bs-table-border-color: rgb(77.8039215686%, 67.3254901961%, 68.3294117647%); + --bs-table-striped-bg: rgb(92.3921568627%, 79.9490196078%, 81.1411764706%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(87.5294117647%, 75.7411764706%, 76.8705882353%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(89.9607843137%, 77.8450980392%, 79.0058823529%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-light { + --bs-table-color: #000; + --bs-table-bg: #f8f9fa; + --bs-table-border-color: rgb(77.8039215686%, 78.1176470588%, 78.431372549%); + --bs-table-striped-bg: rgb(92.3921568627%, 92.7647058824%, 93.137254902%); + --bs-table-striped-color: #000; + --bs-table-active-bg: rgb(87.5294117647%, 87.8823529412%, 88.2352941176%); + --bs-table-active-color: #000; + --bs-table-hover-bg: rgb(89.9607843137%, 90.3235294118%, 90.6862745098%); + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-dark { + --bs-table-color: #fff; + --bs-table-bg: #212529; + --bs-table-border-color: rgb(30.3529411765%, 31.6078431373%, 32.862745098%); + --bs-table-striped-bg: rgb(17.2941176471%, 18.7843137255%, 20.2745098039%); + --bs-table-striped-color: #fff; + --bs-table-active-bg: rgb(21.6470588235%, 23.0588235294%, 24.4705882353%); + --bs-table-active-color: #fff; + --bs-table-hover-bg: rgb(19.4705882353%, 20.9215686275%, 22.3725490196%); + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; +} + +.col-form-label { + padding-top: calc(0.375rem + var(--bs-border-width)); + padding-bottom: calc(0.375rem + var(--bs-border-width)); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + var(--bs-border-width)); + padding-bottom: calc(0.5rem + var(--bs-border-width)); + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + var(--bs-border-width)); + padding-bottom: calc(0.25rem + var(--bs-border-width)); + font-size: 0.875rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--bs-secondary-color); +} + +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--bs-body-color); + appearance: none; + background-color: var(--bs-body-bg); + background-clip: padding-box; + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type=file] { + overflow: hidden; +} +.form-control[type=file]:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: var(--bs-body-color); + background-color: var(--bs-body-bg); + border-color: rgb(52.5490196078%, 71.568627451%, 99.6078431373%); + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-control::-webkit-date-and-time-value { + min-width: 85px; + height: 1.5em; + margin: 0; +} +.form-control::-webkit-datetime-edit { + display: block; + padding: 0; +} +.form-control::placeholder { + color: var(--bs-secondary-color); + opacity: 1; +} +.form-control:disabled { + background-color: var(--bs-secondary-bg); + opacity: 1; +} +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + margin-inline-end: 0.75rem; + color: var(--bs-body-color); + background-color: var(--bs-tertiary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--bs-border-width); + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--bs-secondary-bg); +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: var(--bs-body-color); + background-color: transparent; + border: solid transparent; + border-width: var(--bs-border-width) 0; +} +.form-control-plaintext:focus { + outline: 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: var(--bs-border-radius-sm); +} +.form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + margin-inline-end: 0.5rem; +} + +.form-control-lg { + min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: var(--bs-border-radius-lg); +} +.form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + margin-inline-end: 1rem; +} + +textarea.form-control { + min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); +} +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); +} + +.form-control-color { + width: 3rem; + height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); + padding: 0.375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: var(--bs-border-radius); +} +.form-control-color::-webkit-color-swatch { + border: 0 !important; + border-radius: var(--bs-border-radius); +} +.form-control-color.form-control-sm { + height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); +} +.form-control-color.form-control-lg { + height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); +} + +.form-select { + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + display: block; + width: 100%; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--bs-body-color); + appearance: none; + background-color: var(--bs-body-bg); + background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: rgb(52.5490196078%, 71.568627451%, 99.6078431373%); + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 0.75rem; + background-image: none; +} +.form-select:disabled { + background-color: var(--bs-secondary-bg); +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 var(--bs-body-color); +} + +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; + border-radius: var(--bs-border-radius-sm); +} + +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; + border-radius: var(--bs-border-radius-lg); +} + +[data-bs-theme=dark] .form-select { + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); +} + +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} + +.form-check-reverse { + padding-right: 1.5em; + padding-left: 0; + text-align: right; +} +.form-check-reverse .form-check-input { + float: right; + margin-right: -1.5em; + margin-left: 0; +} + +.form-check-input { + --bs-form-check-bg: var(--bs-body-bg); + flex-shrink: 0; + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + appearance: none; + background-color: var(--bs-form-check-bg); + background-image: var(--bs-form-check-bg-image); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: var(--bs-border-width) solid var(--bs-border-color); + print-color-adjust: exact; +} +.form-check-input[type=checkbox] { + border-radius: 0.25em; +} +.form-check-input[type=radio] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: rgb(52.5490196078%, 71.568627451%, 99.6078431373%); + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-check-input:checked { + background-color: #0d6efd; + border-color: #0d6efd; +} +.form-check-input:checked[type=checkbox] { + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type=radio] { + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-check-input[type=checkbox]:indeterminate { + background-color: #0d6efd; + border-color: #0d6efd; + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + cursor: default; + opacity: 0.5; +} + +.form-switch { + padding-left: 2.5em; +} +.form-switch .form-check-input { + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + width: 2em; + margin-left: -2.5em; + background-image: var(--bs-form-switch-bg); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgb%2852.5490196078%, 71.568627451%, 99.6078431373%%29'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-switch.form-check-reverse { + padding-right: 2.5em; + padding-left: 0; +} +.form-switch.form-check-reverse .form-check-input { + margin-right: -2.5em; + margin-left: 0; +} + +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check[disabled] + .btn, .btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.65; +} + +[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) { + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e"); +} + +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + appearance: none; + background-color: transparent; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + appearance: none; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: rgb(71.5294117647%, 82.9411764706%, 99.7647058824%); +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: var(--bs-secondary-bg); + border-color: transparent; + border-radius: 1rem; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + appearance: none; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: rgb(71.5294117647%, 82.9411764706%, 99.7647058824%); +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: var(--bs-secondary-bg); + border-color: transparent; + border-radius: 1rem; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: var(--bs-secondary-color); +} +.form-range:disabled::-moz-range-thumb { + background-color: var(--bs-secondary-color); +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + calc(var(--bs-border-width) * 2)); + min-height: calc(3.5rem + calc(var(--bs-border-width) * 2)); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + z-index: 2; + max-width: 100%; + height: 100%; + padding: 1rem 0.75rem; + overflow: hidden; + color: rgba(var(--bs-body-color-rgb), 0.65); + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + border: var(--bs-border-width) solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 0.75rem; +} +.form-floating > .form-control::placeholder, +.form-floating > .form-control-plaintext::placeholder { + color: transparent; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill, +.form-floating > .form-control-plaintext:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; + padding-left: 0.75rem; +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-select ~ label { + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > textarea:focus ~ label::after, +.form-floating > textarea:not(:placeholder-shown) ~ label::after { + position: absolute; + inset: 1rem 0.375rem; + z-index: -1; + height: 1.5em; + content: ""; + background-color: var(--bs-body-bg); + border-radius: var(--bs-border-radius); +} +.form-floating > textarea:disabled ~ label::after { + background-color: var(--bs-secondary-bg); +} +.form-floating > .form-control-plaintext ~ label { + border-width: var(--bs-border-width) 0; +} +.form-floating > :disabled ~ label, +.form-floating > .form-control:disabled ~ label { + color: #6c757d; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select, +.input-group > .form-floating { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus, +.input-group > .form-floating:focus-within { + z-index: 5; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 5; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--bs-body-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-tertiary-bg); + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: var(--bs-border-radius-lg); +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: var(--bs-border-radius-sm); +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4), +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control, +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: calc(-1 * var(--bs-border-width)); + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--bs-form-valid-color); +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: var(--bs-success); + border-radius: var(--bs-border-radius); +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: var(--bs-form-valid-border-color); + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: var(--bs-form-valid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: var(--bs-form-valid-border-color); +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e"); + padding-right: 4.125rem; + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: var(--bs-form-valid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} + +.was-validated .form-control-color:valid, .form-control-color.is-valid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: var(--bs-form-valid-border-color); +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: var(--bs-form-valid-color); +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: var(--bs-form-valid-color); +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, +.was-validated .input-group > .form-select:not(:focus):valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.input-group > .form-floating:not(:focus-within).is-valid { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--bs-form-invalid-color); +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: var(--bs-danger); + border-radius: var(--bs-border-radius); +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: var(--bs-form-invalid-border-color); + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: var(--bs-form-invalid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: var(--bs-form-invalid-border-color); +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + padding-right: 4.125rem; + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: var(--bs-form-invalid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} + +.was-validated .form-control-color:invalid, .form-control-color.is-invalid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: var(--bs-form-invalid-border-color); +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: var(--bs-form-invalid-color); +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: var(--bs-form-invalid-color); +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, +.was-validated .input-group > .form-select:not(:focus):invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.input-group > .form-floating:not(:focus-within).is-invalid { + z-index: 4; +} + +.btn { + --bs-btn-padding-x: 0.75rem; + --bs-btn-padding-y: 0.375rem; + --bs-btn-font-family: ; + --bs-btn-font-size: 1rem; + --bs-btn-font-weight: 400; + --bs-btn-line-height: 1.5; + --bs-btn-color: var(--bs-body-color); + --bs-btn-bg: transparent; + --bs-btn-border-width: var(--bs-border-width); + --bs-btn-border-color: transparent; + --bs-btn-border-radius: var(--bs-border-radius); + --bs-btn-hover-border-color: transparent; + --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --bs-btn-disabled-opacity: 0.65; + --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); + font-family: var(--bs-btn-font-family); + font-size: var(--bs-btn-font-size); + font-weight: var(--bs-btn-font-weight); + line-height: var(--bs-btn-line-height); + color: var(--bs-btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + user-select: none; + border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); + border-radius: var(--bs-btn-border-radius); + background-color: var(--bs-btn-bg); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); +} +.btn-check + .btn:hover { + color: var(--bs-btn-color); + background-color: var(--bs-btn-bg); + border-color: var(--bs-btn-border-color); +} +.btn:focus-visible { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:focus-visible + .btn { + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show { + color: var(--bs-btn-active-color); + background-color: var(--bs-btn-active-bg); + border-color: var(--bs-btn-active-border-color); +} +.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:checked:focus-visible + .btn { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + color: var(--bs-btn-disabled-color); + pointer-events: none; + background-color: var(--bs-btn-disabled-bg); + border-color: var(--bs-btn-disabled-border-color); + opacity: var(--bs-btn-disabled-opacity); +} + +.btn-primary { + --bs-btn-color: #fff; + --bs-btn-bg: #0d6efd; + --bs-btn-border-color: #0d6efd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: rgb(4.3333333333%, 36.6666666667%, 84.3333333333%); + --bs-btn-hover-border-color: rgb(4.0784313725%, 34.5098039216%, 79.3725490196%); + --bs-btn-focus-shadow-rgb: 49, 132, 253; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: rgb(4.0784313725%, 34.5098039216%, 79.3725490196%); + --bs-btn-active-border-color: rgb(3.8235294118%, 32.3529411765%, 74.4117647059%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #0d6efd; + --bs-btn-disabled-border-color: #0d6efd; +} + +.btn-secondary { + --bs-btn-color: #fff; + --bs-btn-bg: #6c757d; + --bs-btn-border-color: #6c757d; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: rgb(36%, 39%, 41.6666666667%); + --bs-btn-hover-border-color: rgb(33.8823529412%, 36.7058823529%, 39.2156862745%); + --bs-btn-focus-shadow-rgb: 130, 138, 145; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: rgb(33.8823529412%, 36.7058823529%, 39.2156862745%); + --bs-btn-active-border-color: rgb(31.7647058824%, 34.4117647059%, 36.7647058824%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #6c757d; + --bs-btn-disabled-border-color: #6c757d; +} + +.btn-success { + --bs-btn-color: #fff; + --bs-btn-bg: #198754; + --bs-btn-border-color: #198754; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: rgb(8.3333333333%, 45%, 28%); + --bs-btn-hover-border-color: rgb(7.8431372549%, 42.3529411765%, 26.3529411765%); + --bs-btn-focus-shadow-rgb: 60, 153, 110; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: rgb(7.8431372549%, 42.3529411765%, 26.3529411765%); + --bs-btn-active-border-color: rgb(7.3529411765%, 39.7058823529%, 24.7058823529%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #198754; + --bs-btn-disabled-border-color: #198754; +} + +.btn-info { + --bs-btn-color: #000; + --bs-btn-bg: #0dcaf0; + --bs-btn-border-color: #0dcaf0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: rgb(19.3333333333%, 82.3333333333%, 95%); + --bs-btn-hover-border-color: rgb(14.5882352941%, 81.2941176471%, 94.7058823529%); + --bs-btn-focus-shadow-rgb: 11, 172, 204; + --bs-btn-active-color: #000; + --bs-btn-active-bg: rgb(24.0784313725%, 83.3725490196%, 95.2941176471%); + --bs-btn-active-border-color: rgb(14.5882352941%, 81.2941176471%, 94.7058823529%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #0dcaf0; + --bs-btn-disabled-border-color: #0dcaf0; +} + +.btn-warning { + --bs-btn-color: #000; + --bs-btn-bg: #ffc107; + --bs-btn-border-color: #ffc107; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: rgb(100%, 79.3333333333%, 17.3333333333%); + --bs-btn-hover-border-color: rgb(100%, 78.1176470588%, 12.4705882353%); + --bs-btn-focus-shadow-rgb: 217, 164, 6; + --bs-btn-active-color: #000; + --bs-btn-active-bg: rgb(100%, 80.5490196078%, 22.1960784314%); + --bs-btn-active-border-color: rgb(100%, 78.1176470588%, 12.4705882353%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #ffc107; + --bs-btn-disabled-border-color: #ffc107; +} + +.btn-danger { + --bs-btn-color: #fff; + --bs-btn-bg: #dc3545; + --bs-btn-border-color: #dc3545; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: rgb(73.3333333333%, 17.6666666667%, 23%); + --bs-btn-hover-border-color: rgb(69.0196078431%, 16.6274509804%, 21.6470588235%); + --bs-btn-focus-shadow-rgb: 225, 83, 97; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: rgb(69.0196078431%, 16.6274509804%, 21.6470588235%); + --bs-btn-active-border-color: rgb(64.7058823529%, 15.5882352941%, 20.2941176471%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #dc3545; + --bs-btn-disabled-border-color: #dc3545; +} + +.btn-light { + --bs-btn-color: #000; + --bs-btn-bg: #f8f9fa; + --bs-btn-border-color: #f8f9fa; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: rgb(82.6666666667%, 83%, 83.3333333333%); + --bs-btn-hover-border-color: rgb(77.8039215686%, 78.1176470588%, 78.431372549%); + --bs-btn-focus-shadow-rgb: 211, 212, 213; + --bs-btn-active-color: #000; + --bs-btn-active-bg: rgb(77.8039215686%, 78.1176470588%, 78.431372549%); + --bs-btn-active-border-color: rgb(72.9411764706%, 73.2352941176%, 73.5294117647%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #f8f9fa; + --bs-btn-disabled-border-color: #f8f9fa; +} + +.btn-dark { + --bs-btn-color: #fff; + --bs-btn-bg: #212529; + --bs-btn-border-color: #212529; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: rgb(26%, 27.3333333333%, 28.6666666667%); + --bs-btn-hover-border-color: rgb(21.6470588235%, 23.0588235294%, 24.4705882353%); + --bs-btn-focus-shadow-rgb: 66, 70, 73; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: rgb(30.3529411765%, 31.6078431373%, 32.862745098%); + --bs-btn-active-border-color: rgb(21.6470588235%, 23.0588235294%, 24.4705882353%); + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #212529; + --bs-btn-disabled-border-color: #212529; +} + +.btn-outline-primary { + --bs-btn-color: #0d6efd; + --bs-btn-border-color: #0d6efd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #0d6efd; + --bs-btn-hover-border-color: #0d6efd; + --bs-btn-focus-shadow-rgb: 13, 110, 253; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #0d6efd; + --bs-btn-active-border-color: #0d6efd; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #0d6efd; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #0d6efd; + --bs-gradient: none; +} + +.btn-outline-secondary { + --bs-btn-color: #6c757d; + --bs-btn-border-color: #6c757d; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #6c757d; + --bs-btn-hover-border-color: #6c757d; + --bs-btn-focus-shadow-rgb: 108, 117, 125; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #6c757d; + --bs-btn-active-border-color: #6c757d; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #6c757d; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #6c757d; + --bs-gradient: none; +} + +.btn-outline-success { + --bs-btn-color: #198754; + --bs-btn-border-color: #198754; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #198754; + --bs-btn-hover-border-color: #198754; + --bs-btn-focus-shadow-rgb: 25, 135, 84; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #198754; + --bs-btn-active-border-color: #198754; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #198754; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #198754; + --bs-gradient: none; +} + +.btn-outline-info { + --bs-btn-color: #0dcaf0; + --bs-btn-border-color: #0dcaf0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #0dcaf0; + --bs-btn-hover-border-color: #0dcaf0; + --bs-btn-focus-shadow-rgb: 13, 202, 240; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #0dcaf0; + --bs-btn-active-border-color: #0dcaf0; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #0dcaf0; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #0dcaf0; + --bs-gradient: none; +} + +.btn-outline-warning { + --bs-btn-color: #ffc107; + --bs-btn-border-color: #ffc107; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ffc107; + --bs-btn-hover-border-color: #ffc107; + --bs-btn-focus-shadow-rgb: 255, 193, 7; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ffc107; + --bs-btn-active-border-color: #ffc107; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #ffc107; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #ffc107; + --bs-gradient: none; +} + +.btn-outline-danger { + --bs-btn-color: #dc3545; + --bs-btn-border-color: #dc3545; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #dc3545; + --bs-btn-hover-border-color: #dc3545; + --bs-btn-focus-shadow-rgb: 220, 53, 69; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #dc3545; + --bs-btn-active-border-color: #dc3545; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #dc3545; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #dc3545; + --bs-gradient: none; +} + +.btn-outline-light { + --bs-btn-color: #f8f9fa; + --bs-btn-border-color: #f8f9fa; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f8f9fa; + --bs-btn-hover-border-color: #f8f9fa; + --bs-btn-focus-shadow-rgb: 248, 249, 250; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f8f9fa; + --bs-btn-active-border-color: #f8f9fa; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #f8f9fa; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #f8f9fa; + --bs-gradient: none; +} + +.btn-outline-dark { + --bs-btn-color: #212529; + --bs-btn-border-color: #212529; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #212529; + --bs-btn-hover-border-color: #212529; + --bs-btn-focus-shadow-rgb: 33, 37, 41; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #212529; + --bs-btn-active-border-color: #212529; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #212529; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #212529; + --bs-gradient: none; +} + +.btn-link { + --bs-btn-font-weight: 400; + --bs-btn-color: var(--bs-link-color); + --bs-btn-bg: transparent; + --bs-btn-border-color: transparent; + --bs-btn-hover-color: var(--bs-link-hover-color); + --bs-btn-hover-border-color: transparent; + --bs-btn-active-color: var(--bs-link-hover-color); + --bs-btn-active-border-color: transparent; + --bs-btn-disabled-color: #6c757d; + --bs-btn-disabled-border-color: transparent; + --bs-btn-box-shadow: 0 0 0 #000; + --bs-btn-focus-shadow-rgb: 49, 132, 253; + text-decoration: underline; +} +.btn-link:focus-visible { + color: var(--bs-btn-color); +} +.btn-link:hover { + color: var(--bs-btn-hover-color); +} + +.btn-lg, .btn-group-lg > .btn { + --bs-btn-padding-y: 0.5rem; + --bs-btn-padding-x: 1rem; + --bs-btn-font-size: 1.25rem; + --bs-btn-border-radius: var(--bs-border-radius-lg); +} + +.btn-sm, .btn-group-sm > .btn { + --bs-btn-padding-y: 0.25rem; + --bs-btn-padding-x: 0.5rem; + --bs-btn-font-size: 0.875rem; + --bs-btn-border-radius: var(--bs-border-radius-sm); +} + +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + --bs-dropdown-zindex: 1000; + --bs-dropdown-min-width: 10rem; + --bs-dropdown-padding-x: 0; + --bs-dropdown-padding-y: 0.5rem; + --bs-dropdown-spacer: 0.125rem; + --bs-dropdown-font-size: 1rem; + --bs-dropdown-color: var(--bs-body-color); + --bs-dropdown-bg: var(--bs-body-bg); + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-border-radius: var(--bs-border-radius); + --bs-dropdown-border-width: var(--bs-border-width); + --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width)); + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-divider-margin-y: 0.5rem; + --bs-dropdown-box-shadow: var(--bs-box-shadow); + --bs-dropdown-link-color: var(--bs-body-color); + --bs-dropdown-link-hover-color: var(--bs-body-color); + --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg); + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #0d6efd; + --bs-dropdown-link-disabled-color: var(--bs-tertiary-color); + --bs-dropdown-item-padding-x: 1rem; + --bs-dropdown-item-padding-y: 0.25rem; + --bs-dropdown-header-color: #6c757d; + --bs-dropdown-header-padding-x: 1rem; + --bs-dropdown-header-padding-y: 0.5rem; + position: absolute; + z-index: var(--bs-dropdown-zindex); + display: none; + min-width: var(--bs-dropdown-min-width); + padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); + margin: 0; + font-size: var(--bs-dropdown-font-size); + color: var(--bs-dropdown-color); + text-align: left; + list-style: none; + background-color: var(--bs-dropdown-bg); + background-clip: padding-box; + border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); + border-radius: var(--bs-dropdown-border-radius); +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: var(--bs-dropdown-spacer); +} + +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--bs-dropdown-spacer); +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--bs-dropdown-spacer); +} +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--bs-dropdown-spacer); +} +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: var(--bs-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--bs-dropdown-divider-bg); + opacity: 1; +} + +.dropdown-item { + display: block; + width: 100%; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + clear: both; + font-weight: 400; + color: var(--bs-dropdown-link-color); + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; + border-radius: var(--bs-dropdown-item-border-radius, 0); +} +.dropdown-item:hover, .dropdown-item:focus { + color: var(--bs-dropdown-link-hover-color); + background-color: var(--bs-dropdown-link-hover-bg); +} +.dropdown-item.active, .dropdown-item:active { + color: var(--bs-dropdown-link-active-color); + text-decoration: none; + background-color: var(--bs-dropdown-link-active-bg); +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: var(--bs-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x); + margin-bottom: 0; + font-size: 0.875rem; + color: var(--bs-dropdown-header-color); + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + color: var(--bs-dropdown-link-color); +} + +.dropdown-menu-dark { + --bs-dropdown-color: #dee2e6; + --bs-dropdown-bg: #343a40; + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-box-shadow: ; + --bs-dropdown-link-color: #dee2e6; + --bs-dropdown-link-hover-color: #fff; + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #0d6efd; + --bs-dropdown-link-disabled-color: #adb5bd; + --bs-dropdown-header-color: #adb5bd; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.btn-group { + border-radius: var(--bs-border-radius); +} +.btn-group > :not(.btn-check:first-child) + .btn, +.btn-group > .btn-group:not(:first-child) { + margin-left: calc(-1 * var(--bs-border-width)); +} +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn.dropdown-toggle-split:first-child, +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:nth-child(n+3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: calc(-1 * var(--bs-border-width)); +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:nth-child(n+3), +.btn-group-vertical > :not(.btn-check) + .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav { + --bs-nav-link-padding-x: 1rem; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-link-color); + --bs-nav-link-hover-color: var(--bs-link-hover-color); + --bs-nav-link-disabled-color: var(--bs-secondary-color); + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); + font-size: var(--bs-nav-link-font-size); + font-weight: var(--bs-nav-link-font-weight); + color: var(--bs-nav-link-color); + text-decoration: none; + background: none; + border: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:hover, .nav-link:focus { + color: var(--bs-nav-link-hover-color); +} +.nav-link:focus-visible { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.nav-link.disabled, .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} + +.nav-tabs { + --bs-nav-tabs-border-width: var(--bs-border-width); + --bs-nav-tabs-border-color: var(--bs-border-color); + --bs-nav-tabs-border-radius: var(--bs-border-radius); + --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color); + --bs-nav-tabs-link-active-color: var(--bs-emphasis-color); + --bs-nav-tabs-link-active-bg: var(--bs-body-bg); + --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg); + border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); +} +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); + border: var(--bs-nav-tabs-border-width) solid transparent; + border-top-left-radius: var(--bs-nav-tabs-border-radius); + border-top-right-radius: var(--bs-nav-tabs-border-radius); +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + isolation: isolate; + border-color: var(--bs-nav-tabs-link-hover-border-color); +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: var(--bs-nav-tabs-link-active-color); + background-color: var(--bs-nav-tabs-link-active-bg); + border-color: var(--bs-nav-tabs-link-active-border-color); +} +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills { + --bs-nav-pills-border-radius: var(--bs-border-radius); + --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-bg: #0d6efd; +} +.nav-pills .nav-link { + border-radius: var(--bs-nav-pills-border-radius); +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--bs-nav-pills-link-active-color); + background-color: var(--bs-nav-pills-link-active-bg); +} + +.nav-underline { + --bs-nav-underline-gap: 1rem; + --bs-nav-underline-border-width: 0.125rem; + --bs-nav-underline-link-active-color: var(--bs-emphasis-color); + gap: var(--bs-nav-underline-gap); +} +.nav-underline .nav-link { + padding-right: 0; + padding-left: 0; + border-bottom: var(--bs-nav-underline-border-width) solid transparent; +} +.nav-underline .nav-link:hover, .nav-underline .nav-link:focus { + border-bottom-color: currentcolor; +} +.nav-underline .nav-link.active, +.nav-underline .show > .nav-link { + font-weight: 700; + color: var(--bs-nav-underline-link-active-color); + border-bottom-color: currentcolor; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-grow: 1; + flex-basis: 0; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} + +.navbar { + --bs-navbar-padding-x: 0; + --bs-navbar-padding-y: 0.5rem; + --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65); + --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8); + --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3); + --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1); + --bs-navbar-brand-padding-y: 0.3125rem; + --bs-navbar-brand-margin-end: 1rem; + --bs-navbar-brand-font-size: 1.25rem; + --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1); + --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1); + --bs-navbar-nav-link-padding-x: 0.5rem; + --bs-navbar-toggler-padding-y: 0.25rem; + --bs-navbar-toggler-padding-x: 0.75rem; + --bs-navbar-toggler-font-size: 1.25rem; + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15); + --bs-navbar-toggler-border-radius: var(--bs-border-radius); + --bs-navbar-toggler-focus-width: 0.25rem; + --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: var(--bs-navbar-brand-padding-y); + padding-bottom: var(--bs-navbar-brand-padding-y); + margin-right: var(--bs-navbar-brand-margin-end); + font-size: var(--bs-navbar-brand-font-size); + color: var(--bs-navbar-brand-color); + text-decoration: none; + white-space: nowrap; +} +.navbar-brand:hover, .navbar-brand:focus { + color: var(--bs-navbar-brand-hover-color); +} + +.navbar-nav { + --bs-nav-link-padding-x: 0; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-navbar-color); + --bs-nav-link-hover-color: var(--bs-navbar-hover-color); + --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link.active, .navbar-nav .nav-link.show { + color: var(--bs-navbar-active-color); +} +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-navbar-color); +} +.navbar-text a, +.navbar-text a:hover, +.navbar-text a:focus { + color: var(--bs-navbar-active-color); +} + +.navbar-collapse { + flex-grow: 1; + flex-basis: 100%; + align-items: center; +} + +.navbar-toggler { + padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); + font-size: var(--bs-navbar-toggler-font-size); + line-height: 1; + color: var(--bs-navbar-color); + background-color: transparent; + border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); + border-radius: var(--bs-navbar-toggler-border-radius); + transition: var(--bs-navbar-toggler-transition); +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width); +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--bs-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; +} +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.navbar-dark, +.navbar[data-bs-theme=dark] { + --bs-navbar-color: rgba(255, 255, 255, 0.55); + --bs-navbar-hover-color: rgba(255, 255, 255, 0.75); + --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); + --bs-navbar-active-color: #fff; + --bs-navbar-brand-color: #fff; + --bs-navbar-brand-hover-color: #fff; + --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +[data-bs-theme=dark] .navbar-toggler-icon { + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.card { + --bs-card-spacer-y: 1rem; + --bs-card-spacer-x: 1rem; + --bs-card-title-spacer-y: 0.5rem; + --bs-card-title-color: ; + --bs-card-subtitle-color: ; + --bs-card-border-width: var(--bs-border-width); + --bs-card-border-color: var(--bs-border-color-translucent); + --bs-card-border-radius: var(--bs-border-radius); + --bs-card-box-shadow: ; + --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width))); + --bs-card-cap-padding-y: 0.5rem; + --bs-card-cap-padding-x: 1rem; + --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03); + --bs-card-cap-color: ; + --bs-card-height: ; + --bs-card-color: ; + --bs-card-bg: var(--bs-body-bg); + --bs-card-img-overlay-padding: 1rem; + --bs-card-group-margin: 0.75rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--bs-card-height); + color: var(--bs-body-color); + word-wrap: break-word; + background-color: var(--bs-card-bg); + background-clip: border-box; + border: var(--bs-card-border-width) solid var(--bs-card-border-color); + border-radius: var(--bs-card-border-radius); +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); + color: var(--bs-card-color); +} + +.card-title { + margin-bottom: var(--bs-card-title-spacer-y); + color: var(--bs-card-title-color); +} + +.card-subtitle { + margin-top: calc(-0.5 * var(--bs-card-title-spacer-y)); + margin-bottom: 0; + color: var(--bs-card-subtitle-color); +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link + .card-link { + margin-left: var(--bs-card-spacer-x); +} + +.card-header { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + margin-bottom: 0; + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-header:first-child { + border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; +} + +.card-footer { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-footer:last-child { + border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); +} + +.card-header-tabs { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); + border-bottom: 0; +} +.card-header-tabs .nav-link.active { + background-color: var(--bs-card-bg); + border-bottom-color: var(--bs-card-bg); +} + +.card-header-pills { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--bs-card-img-overlay-padding); + border-radius: var(--bs-card-inner-border-radius); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} + +.card-group > .card { + margin-bottom: var(--bs-card-group-margin); +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) > .card-img-top, + .card-group > .card:not(:last-child) > .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) > .card-img-bottom, + .card-group > .card:not(:last-child) > .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) > .card-img-top, + .card-group > .card:not(:first-child) > .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) > .card-img-bottom, + .card-group > .card:not(:first-child) > .card-footer { + border-bottom-left-radius: 0; + } +} + +.accordion { + --bs-accordion-color: var(--bs-body-color); + --bs-accordion-bg: var(--bs-body-bg); + --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; + --bs-accordion-border-color: var(--bs-border-color); + --bs-accordion-border-width: var(--bs-border-width); + --bs-accordion-border-radius: var(--bs-border-radius); + --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width))); + --bs-accordion-btn-padding-x: 1.25rem; + --bs-accordion-btn-padding-y: 1rem; + --bs-accordion-btn-color: var(--bs-body-color); + --bs-accordion-btn-bg: var(--bs-accordion-bg); + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + --bs-accordion-btn-icon-width: 1.25rem; + --bs-accordion-btn-icon-transform: rotate(-180deg); + --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='rgb%282.0392156863%, 17.2549019608%, 39.6862745098%%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-accordion-body-padding-x: 1.25rem; + --bs-accordion-body-padding-y: 1rem; + --bs-accordion-active-color: var(--bs-primary-text-emphasis); + --bs-accordion-active-bg: var(--bs-primary-bg-subtle); +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); + font-size: 1rem; + color: var(--bs-accordion-btn-color); + text-align: left; + background-color: var(--bs-accordion-btn-bg); + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: var(--bs-accordion-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: var(--bs-accordion-active-color); + background-color: var(--bs-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); +} +.accordion-button:not(.collapsed)::after { + background-image: var(--bs-accordion-btn-active-icon); + transform: var(--bs-accordion-btn-icon-transform); +} +.accordion-button::after { + flex-shrink: 0; + width: var(--bs-accordion-btn-icon-width); + height: var(--bs-accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--bs-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--bs-accordion-btn-icon-width); + transition: var(--bs-accordion-btn-icon-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + outline: 0; + box-shadow: var(--bs-accordion-btn-focus-box-shadow); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--bs-accordion-color); + background-color: var(--bs-accordion-bg); + border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); +} +.accordion-item:first-of-type { + border-top-left-radius: var(--bs-accordion-border-radius); + border-top-right-radius: var(--bs-accordion-border-radius); +} +.accordion-item:first-of-type > .accordion-header .accordion-button { + border-top-left-radius: var(--bs-accordion-inner-border-radius); + border-top-right-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} +.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed { + border-bottom-right-radius: var(--bs-accordion-inner-border-radius); + border-bottom-left-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:last-of-type > .accordion-collapse { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} + +.accordion-body { + padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); +} + +.accordion-flush > .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush > .accordion-item:first-child { + border-top: 0; +} +.accordion-flush > .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush > .accordion-item > .accordion-collapse, +.accordion-flush > .accordion-item > .accordion-header .accordion-button, +.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed { + border-radius: 0; +} + +[data-bs-theme=dark] .accordion-button::after { + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%2843.0588235294%, 65.8823529412%, 99.5294117647%%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e"); + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%2843.0588235294%, 65.8823529412%, 99.5294117647%%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e"); +} + +.breadcrumb { + --bs-breadcrumb-padding-x: 0; + --bs-breadcrumb-padding-y: 0; + --bs-breadcrumb-margin-bottom: 1rem; + --bs-breadcrumb-bg: ; + --bs-breadcrumb-border-radius: ; + --bs-breadcrumb-divider-color: var(--bs-secondary-color); + --bs-breadcrumb-item-padding-x: 0.5rem; + --bs-breadcrumb-item-active-color: var(--bs-secondary-color); + display: flex; + flex-wrap: wrap; + padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); + margin-bottom: var(--bs-breadcrumb-margin-bottom); + font-size: var(--bs-breadcrumb-font-size); + list-style: none; + background-color: var(--bs-breadcrumb-bg); + border-radius: var(--bs-breadcrumb-border-radius); +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: var(--bs-breadcrumb-item-padding-x); +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: var(--bs-breadcrumb-item-padding-x); + color: var(--bs-breadcrumb-divider-color); + content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; +} +.breadcrumb-item.active { + color: var(--bs-breadcrumb-item-active-color); +} + +.pagination { + --bs-pagination-padding-x: 0.75rem; + --bs-pagination-padding-y: 0.375rem; + --bs-pagination-font-size: 1rem; + --bs-pagination-color: var(--bs-link-color); + --bs-pagination-bg: var(--bs-body-bg); + --bs-pagination-border-width: var(--bs-border-width); + --bs-pagination-border-color: var(--bs-border-color); + --bs-pagination-border-radius: var(--bs-border-radius); + --bs-pagination-hover-color: var(--bs-link-hover-color); + --bs-pagination-hover-bg: var(--bs-tertiary-bg); + --bs-pagination-hover-border-color: var(--bs-border-color); + --bs-pagination-focus-color: var(--bs-link-hover-color); + --bs-pagination-focus-bg: var(--bs-secondary-bg); + --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-pagination-active-color: #fff; + --bs-pagination-active-bg: #0d6efd; + --bs-pagination-active-border-color: #0d6efd; + --bs-pagination-disabled-color: var(--bs-secondary-color); + --bs-pagination-disabled-bg: var(--bs-secondary-bg); + --bs-pagination-disabled-border-color: var(--bs-border-color); + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x); + font-size: var(--bs-pagination-font-size); + color: var(--bs-pagination-color); + text-decoration: none; + background-color: var(--bs-pagination-bg); + border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: var(--bs-pagination-hover-color); + background-color: var(--bs-pagination-hover-bg); + border-color: var(--bs-pagination-hover-border-color); +} +.page-link:focus { + z-index: 3; + color: var(--bs-pagination-focus-color); + background-color: var(--bs-pagination-focus-bg); + outline: 0; + box-shadow: var(--bs-pagination-focus-box-shadow); +} +.page-link.active, .active > .page-link { + z-index: 3; + color: var(--bs-pagination-active-color); + background-color: var(--bs-pagination-active-bg); + border-color: var(--bs-pagination-active-border-color); +} +.page-link.disabled, .disabled > .page-link { + color: var(--bs-pagination-disabled-color); + pointer-events: none; + background-color: var(--bs-pagination-disabled-bg); + border-color: var(--bs-pagination-disabled-border-color); +} + +.page-item:not(:first-child) .page-link { + margin-left: calc(-1 * var(--bs-border-width)); +} +.page-item:first-child .page-link { + border-top-left-radius: var(--bs-pagination-border-radius); + border-bottom-left-radius: var(--bs-pagination-border-radius); +} +.page-item:last-child .page-link { + border-top-right-radius: var(--bs-pagination-border-radius); + border-bottom-right-radius: var(--bs-pagination-border-radius); +} + +.pagination-lg { + --bs-pagination-padding-x: 1.5rem; + --bs-pagination-padding-y: 0.75rem; + --bs-pagination-font-size: 1.25rem; + --bs-pagination-border-radius: var(--bs-border-radius-lg); +} + +.pagination-sm { + --bs-pagination-padding-x: 0.5rem; + --bs-pagination-padding-y: 0.25rem; + --bs-pagination-font-size: 0.875rem; + --bs-pagination-border-radius: var(--bs-border-radius-sm); +} + +.badge { + --bs-badge-padding-x: 0.65em; + --bs-badge-padding-y: 0.35em; + --bs-badge-font-size: 0.75em; + --bs-badge-font-weight: 700; + --bs-badge-color: #fff; + --bs-badge-border-radius: var(--bs-border-radius); + display: inline-block; + padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); + font-size: var(--bs-badge-font-size); + font-weight: var(--bs-badge-font-weight); + line-height: 1; + color: var(--bs-badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: var(--bs-badge-border-radius); +} +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.alert { + --bs-alert-bg: transparent; + --bs-alert-padding-x: 1rem; + --bs-alert-padding-y: 1rem; + --bs-alert-margin-bottom: 1rem; + --bs-alert-color: inherit; + --bs-alert-border-color: transparent; + --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color); + --bs-alert-border-radius: var(--bs-border-radius); + --bs-alert-link-color: inherit; + position: relative; + padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); + margin-bottom: var(--bs-alert-margin-bottom); + color: var(--bs-alert-color); + background-color: var(--bs-alert-bg); + border: var(--bs-alert-border); + border-radius: var(--bs-alert-border-radius); +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; + color: var(--bs-alert-link-color); +} + +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} + +.alert-primary { + --bs-alert-color: var(--bs-primary-text-emphasis); + --bs-alert-bg: var(--bs-primary-bg-subtle); + --bs-alert-border-color: var(--bs-primary-border-subtle); + --bs-alert-link-color: var(--bs-primary-text-emphasis); +} + +.alert-secondary { + --bs-alert-color: var(--bs-secondary-text-emphasis); + --bs-alert-bg: var(--bs-secondary-bg-subtle); + --bs-alert-border-color: var(--bs-secondary-border-subtle); + --bs-alert-link-color: var(--bs-secondary-text-emphasis); +} + +.alert-success { + --bs-alert-color: var(--bs-success-text-emphasis); + --bs-alert-bg: var(--bs-success-bg-subtle); + --bs-alert-border-color: var(--bs-success-border-subtle); + --bs-alert-link-color: var(--bs-success-text-emphasis); +} + +.alert-info { + --bs-alert-color: var(--bs-info-text-emphasis); + --bs-alert-bg: var(--bs-info-bg-subtle); + --bs-alert-border-color: var(--bs-info-border-subtle); + --bs-alert-link-color: var(--bs-info-text-emphasis); +} + +.alert-warning { + --bs-alert-color: var(--bs-warning-text-emphasis); + --bs-alert-bg: var(--bs-warning-bg-subtle); + --bs-alert-border-color: var(--bs-warning-border-subtle); + --bs-alert-link-color: var(--bs-warning-text-emphasis); +} + +.alert-danger { + --bs-alert-color: var(--bs-danger-text-emphasis); + --bs-alert-bg: var(--bs-danger-bg-subtle); + --bs-alert-border-color: var(--bs-danger-border-subtle); + --bs-alert-link-color: var(--bs-danger-text-emphasis); +} + +.alert-light { + --bs-alert-color: var(--bs-light-text-emphasis); + --bs-alert-bg: var(--bs-light-bg-subtle); + --bs-alert-border-color: var(--bs-light-border-subtle); + --bs-alert-link-color: var(--bs-light-text-emphasis); +} + +.alert-dark { + --bs-alert-color: var(--bs-dark-text-emphasis); + --bs-alert-bg: var(--bs-dark-bg-subtle); + --bs-alert-border-color: var(--bs-dark-border-subtle); + --bs-alert-link-color: var(--bs-dark-text-emphasis); +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: var(--bs-progress-height); + } +} +.progress, +.progress-stacked { + --bs-progress-height: 1rem; + --bs-progress-font-size: 0.75rem; + --bs-progress-bg: var(--bs-secondary-bg); + --bs-progress-border-radius: var(--bs-border-radius); + --bs-progress-box-shadow: var(--bs-box-shadow-inset); + --bs-progress-bar-color: #fff; + --bs-progress-bar-bg: #0d6efd; + --bs-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--bs-progress-height); + overflow: hidden; + font-size: var(--bs-progress-font-size); + background-color: var(--bs-progress-bg); + border-radius: var(--bs-progress-border-radius); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--bs-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-progress-bar-bg); + transition: var(--bs-progress-bar-transition); +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: var(--bs-progress-height) var(--bs-progress-height); +} + +.progress-stacked > .progress { + overflow: visible; +} + +.progress-stacked > .progress > .progress-bar { + width: 100%; +} + +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +.list-group { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: var(--bs-body-bg); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-border-width: var(--bs-border-width); + --bs-list-group-border-radius: var(--bs-border-radius); + --bs-list-group-item-padding-x: 1rem; + --bs-list-group-item-padding-y: 0.5rem; + --bs-list-group-action-color: var(--bs-secondary-color); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-tertiary-bg); + --bs-list-group-action-active-color: var(--bs-body-color); + --bs-list-group-action-active-bg: var(--bs-secondary-bg); + --bs-list-group-disabled-color: var(--bs-secondary-color); + --bs-list-group-disabled-bg: var(--bs-body-bg); + --bs-list-group-active-color: #fff; + --bs-list-group-active-bg: #0d6efd; + --bs-list-group-active-border-color: #0d6efd; + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: var(--bs-list-group-border-radius); +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > .list-group-item::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item { + position: relative; + display: block; + padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x); + color: var(--bs-list-group-color); + text-decoration: none; + background-color: var(--bs-list-group-bg); + border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} +.list-group-item.disabled, .list-group-item:disabled { + color: var(--bs-list-group-disabled-color); + pointer-events: none; + background-color: var(--bs-list-group-disabled-bg); +} +.list-group-item.active { + z-index: 2; + color: var(--bs-list-group-active-color); + background-color: var(--bs-list-group-active-bg); + border-color: var(--bs-list-group-active-border-color); +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: calc(-1 * var(--bs-list-group-border-width)); + border-top-width: var(--bs-list-group-border-width); +} + +.list-group-item-action { + width: 100%; + color: var(--bs-list-group-action-color); + text-align: inherit; +} +.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus { + z-index: 1; + color: var(--bs-list-group-action-hover-color); + text-decoration: none; + background-color: var(--bs-list-group-action-hover-bg); +} +.list-group-item-action:not(.active):active { + color: var(--bs-list-group-action-active-color); + background-color: var(--bs-list-group-action-active-bg); +} + +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 var(--bs-list-group-border-width); +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + --bs-list-group-color: var(--bs-primary-text-emphasis); + --bs-list-group-bg: var(--bs-primary-bg-subtle); + --bs-list-group-border-color: var(--bs-primary-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-primary-border-subtle); + --bs-list-group-active-color: var(--bs-primary-bg-subtle); + --bs-list-group-active-bg: var(--bs-primary-text-emphasis); + --bs-list-group-active-border-color: var(--bs-primary-text-emphasis); +} + +.list-group-item-secondary { + --bs-list-group-color: var(--bs-secondary-text-emphasis); + --bs-list-group-bg: var(--bs-secondary-bg-subtle); + --bs-list-group-border-color: var(--bs-secondary-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle); + --bs-list-group-active-color: var(--bs-secondary-bg-subtle); + --bs-list-group-active-bg: var(--bs-secondary-text-emphasis); + --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis); +} + +.list-group-item-success { + --bs-list-group-color: var(--bs-success-text-emphasis); + --bs-list-group-bg: var(--bs-success-bg-subtle); + --bs-list-group-border-color: var(--bs-success-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-success-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-success-border-subtle); + --bs-list-group-active-color: var(--bs-success-bg-subtle); + --bs-list-group-active-bg: var(--bs-success-text-emphasis); + --bs-list-group-active-border-color: var(--bs-success-text-emphasis); +} + +.list-group-item-info { + --bs-list-group-color: var(--bs-info-text-emphasis); + --bs-list-group-bg: var(--bs-info-bg-subtle); + --bs-list-group-border-color: var(--bs-info-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-info-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-info-border-subtle); + --bs-list-group-active-color: var(--bs-info-bg-subtle); + --bs-list-group-active-bg: var(--bs-info-text-emphasis); + --bs-list-group-active-border-color: var(--bs-info-text-emphasis); +} + +.list-group-item-warning { + --bs-list-group-color: var(--bs-warning-text-emphasis); + --bs-list-group-bg: var(--bs-warning-bg-subtle); + --bs-list-group-border-color: var(--bs-warning-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-warning-border-subtle); + --bs-list-group-active-color: var(--bs-warning-bg-subtle); + --bs-list-group-active-bg: var(--bs-warning-text-emphasis); + --bs-list-group-active-border-color: var(--bs-warning-text-emphasis); +} + +.list-group-item-danger { + --bs-list-group-color: var(--bs-danger-text-emphasis); + --bs-list-group-bg: var(--bs-danger-bg-subtle); + --bs-list-group-border-color: var(--bs-danger-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-danger-border-subtle); + --bs-list-group-active-color: var(--bs-danger-bg-subtle); + --bs-list-group-active-bg: var(--bs-danger-text-emphasis); + --bs-list-group-active-border-color: var(--bs-danger-text-emphasis); +} + +.list-group-item-light { + --bs-list-group-color: var(--bs-light-text-emphasis); + --bs-list-group-bg: var(--bs-light-bg-subtle); + --bs-list-group-border-color: var(--bs-light-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-light-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-light-border-subtle); + --bs-list-group-active-color: var(--bs-light-bg-subtle); + --bs-list-group-active-bg: var(--bs-light-text-emphasis); + --bs-list-group-active-border-color: var(--bs-light-text-emphasis); +} + +.list-group-item-dark { + --bs-list-group-color: var(--bs-dark-text-emphasis); + --bs-list-group-bg: var(--bs-dark-bg-subtle); + --bs-list-group-border-color: var(--bs-dark-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-dark-border-subtle); + --bs-list-group-active-color: var(--bs-dark-bg-subtle); + --bs-list-group-active-bg: var(--bs-dark-text-emphasis); + --bs-list-group-active-border-color: var(--bs-dark-text-emphasis); +} + +.btn-close { + --bs-btn-close-color: #000; + --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e"); + --bs-btn-close-opacity: 0.5; + --bs-btn-close-hover-opacity: 0.75; + --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-btn-close-focus-opacity: 1; + --bs-btn-close-disabled-opacity: 0.25; + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: var(--bs-btn-close-color); + background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat; + filter: var(--bs-btn-close-filter); + border: 0; + border-radius: 0.375rem; + opacity: var(--bs-btn-close-opacity); +} +.btn-close:hover { + color: var(--bs-btn-close-color); + text-decoration: none; + opacity: var(--bs-btn-close-hover-opacity); +} +.btn-close:focus { + outline: 0; + box-shadow: var(--bs-btn-close-focus-shadow); + opacity: var(--bs-btn-close-focus-opacity); +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + user-select: none; + opacity: var(--bs-btn-close-disabled-opacity); +} + +.btn-close-white { + --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%); +} + +:root, +[data-bs-theme=light] { + --bs-btn-close-filter: ; +} + +[data-bs-theme=dark] { + --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%); +} + +.toast { + --bs-toast-zindex: 1090; + --bs-toast-padding-x: 0.75rem; + --bs-toast-padding-y: 0.5rem; + --bs-toast-spacing: 1.5rem; + --bs-toast-max-width: 350px; + --bs-toast-font-size: 0.875rem; + --bs-toast-color: ; + --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85); + --bs-toast-border-width: var(--bs-border-width); + --bs-toast-border-color: var(--bs-border-color-translucent); + --bs-toast-border-radius: var(--bs-border-radius); + --bs-toast-box-shadow: var(--bs-box-shadow); + --bs-toast-header-color: var(--bs-secondary-color); + --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85); + --bs-toast-header-border-color: var(--bs-border-color-translucent); + width: var(--bs-toast-max-width); + max-width: 100%; + font-size: var(--bs-toast-font-size); + color: var(--bs-toast-color); + pointer-events: auto; + background-color: var(--bs-toast-bg); + background-clip: padding-box; + border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); + box-shadow: var(--bs-toast-box-shadow); + border-radius: var(--bs-toast-border-radius); +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + --bs-toast-zindex: 1090; + position: absolute; + z-index: var(--bs-toast-zindex); + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: var(--bs-toast-spacing); +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); + color: var(--bs-toast-header-color); + background-color: var(--bs-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color); + border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); + border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); +} +.toast-header .btn-close { + margin-right: calc(-0.5 * var(--bs-toast-padding-x)); + margin-left: var(--bs-toast-padding-x); +} + +.toast-body { + padding: var(--bs-toast-padding-x); + word-wrap: break-word; +} + +.modal { + --bs-modal-zindex: 1055; + --bs-modal-width: 500px; + --bs-modal-padding: 1rem; + --bs-modal-margin: 0.5rem; + --bs-modal-color: var(--bs-body-color); + --bs-modal-bg: var(--bs-body-bg); + --bs-modal-border-color: var(--bs-border-color-translucent); + --bs-modal-border-width: var(--bs-border-width); + --bs-modal-border-radius: var(--bs-border-radius-lg); + --bs-modal-box-shadow: var(--bs-box-shadow-sm); + --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width))); + --bs-modal-header-padding-x: 1rem; + --bs-modal-header-padding-y: 1rem; + --bs-modal-header-padding: 1rem 1rem; + --bs-modal-header-border-color: var(--bs-border-color); + --bs-modal-header-border-width: var(--bs-border-width); + --bs-modal-title-line-height: 1.5; + --bs-modal-footer-gap: 0.5rem; + --bs-modal-footer-bg: ; + --bs-modal-footer-border-color: var(--bs-border-color); + --bs-modal-footer-border-width: var(--bs-border-width); + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: var(--bs-modal-margin); + pointer-events: none; +} +.modal.fade .modal-dialog { + transform: translate(0, -50px); + transition: transform 0.3s ease-out; +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - var(--bs-modal-margin) * 2); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - var(--bs-modal-margin) * 2); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--bs-modal-color); + pointer-events: auto; + background-color: var(--bs-modal-bg); + background-clip: padding-box; + border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); + border-radius: var(--bs-modal-border-radius); + outline: 0; +} + +.modal-backdrop { + --bs-backdrop-zindex: 1050; + --bs-backdrop-bg: #000; + --bs-backdrop-opacity: 0.5; + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--bs-backdrop-bg); +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: var(--bs-backdrop-opacity); +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + padding: var(--bs-modal-header-padding); + border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); + border-top-left-radius: var(--bs-modal-inner-border-radius); + border-top-right-radius: var(--bs-modal-inner-border-radius); +} +.modal-header .btn-close { + padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--bs-modal-header-padding-y)); + margin-right: calc(-0.5 * var(--bs-modal-header-padding-x)); + margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y)); + margin-left: auto; +} + +.modal-title { + margin-bottom: 0; + line-height: var(--bs-modal-title-line-height); +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--bs-modal-padding); +} + +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5); + background-color: var(--bs-modal-footer-bg); + border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color); + border-bottom-right-radius: var(--bs-modal-inner-border-radius); + border-bottom-left-radius: var(--bs-modal-inner-border-radius); +} +.modal-footer > * { + margin: calc(var(--bs-modal-footer-gap) * 0.5); +} + +@media (min-width: 576px) { + .modal { + --bs-modal-margin: 1.75rem; + --bs-modal-box-shadow: var(--bs-box-shadow); + } + .modal-dialog { + max-width: var(--bs-modal-width); + margin-right: auto; + margin-left: auto; + } + .modal-sm { + --bs-modal-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --bs-modal-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + --bs-modal-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header, +.modal-fullscreen .modal-footer { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header, + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header, + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header, + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header, + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header, + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} +.tooltip { + --bs-tooltip-zindex: 1080; + --bs-tooltip-max-width: 200px; + --bs-tooltip-padding-x: 0.5rem; + --bs-tooltip-padding-y: 0.25rem; + --bs-tooltip-margin: ; + --bs-tooltip-font-size: 0.875rem; + --bs-tooltip-color: var(--bs-body-bg); + --bs-tooltip-bg: var(--bs-emphasis-color); + --bs-tooltip-border-radius: var(--bs-border-radius); + --bs-tooltip-opacity: 0.9; + --bs-tooltip-arrow-width: 0.8rem; + --bs-tooltip-arrow-height: 0.4rem; + z-index: var(--bs-tooltip-zindex); + display: block; + margin: var(--bs-tooltip-margin); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: var(--bs-tooltip-opacity); +} +.tooltip .tooltip-arrow { + display: block; + width: var(--bs-tooltip-arrow-width); + height: var(--bs-tooltip-arrow-height); +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: calc(-1 * var(--bs-tooltip-arrow-height)); +} +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-top-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: calc(-1 * var(--bs-tooltip-arrow-height)); + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-right-color: var(--bs-tooltip-bg); +} + +/* rtl:end:ignore */ +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: calc(-1 * var(--bs-tooltip-arrow-height)); +} +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-bottom-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: calc(-1 * var(--bs-tooltip-arrow-height)); + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-left-color: var(--bs-tooltip-bg); +} + +/* rtl:end:ignore */ +.tooltip-inner { + max-width: var(--bs-tooltip-max-width); + padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x); + color: var(--bs-tooltip-color); + text-align: center; + background-color: var(--bs-tooltip-bg); + border-radius: var(--bs-tooltip-border-radius); +} + +.popover { + --bs-popover-zindex: 1070; + --bs-popover-max-width: 276px; + --bs-popover-font-size: 0.875rem; + --bs-popover-bg: var(--bs-body-bg); + --bs-popover-border-width: var(--bs-border-width); + --bs-popover-border-color: var(--bs-border-color-translucent); + --bs-popover-border-radius: var(--bs-border-radius-lg); + --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); + --bs-popover-box-shadow: var(--bs-box-shadow); + --bs-popover-header-padding-x: 1rem; + --bs-popover-header-padding-y: 0.5rem; + --bs-popover-header-font-size: 1rem; + --bs-popover-header-color: inherit; + --bs-popover-header-bg: var(--bs-secondary-bg); + --bs-popover-body-padding-x: 1rem; + --bs-popover-body-padding-y: 1rem; + --bs-popover-body-color: var(--bs-body-color); + --bs-popover-arrow-width: 1rem; + --bs-popover-arrow-height: 0.5rem; + --bs-popover-arrow-border: var(--bs-popover-border-color); + z-index: var(--bs-popover-zindex); + display: block; + max-width: var(--bs-popover-max-width); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-popover-font-size); + word-wrap: break-word; + background-color: var(--bs-popover-bg); + background-clip: padding-box; + border: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-radius: var(--bs-popover-border-radius); +} +.popover .popover-arrow { + display: block; + width: var(--bs-popover-arrow-width); + height: var(--bs-popover-arrow-height); +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-top-color: var(--bs-popover-arrow-border); +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: var(--bs-popover-border-width); + border-top-color: var(--bs-popover-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-right-color: var(--bs-popover-arrow-border); +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: var(--bs-popover-border-width); + border-right-color: var(--bs-popover-bg); +} + +/* rtl:end:ignore */ +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-bottom-color: var(--bs-popover-arrow-border); +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: var(--bs-popover-border-width); + border-bottom-color: var(--bs-popover-bg); +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: var(--bs-popover-arrow-width); + margin-left: calc(-0.5 * var(--bs-popover-arrow-width)); + content: ""; + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-left-color: var(--bs-popover-arrow-border); +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: var(--bs-popover-border-width); + border-left-color: var(--bs-popover-bg); +} + +/* rtl:end:ignore */ +.popover-header { + padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x); + margin-bottom: 0; + font-size: var(--bs-popover-header-font-size); + color: var(--bs-popover-header-color); + background-color: var(--bs-popover-header-bg); + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-top-left-radius: var(--bs-popover-inner-border-radius); + border-top-right-radius: var(--bs-popover-inner-border-radius); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x); + color: var(--bs-popover-body-color); +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, + .carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: none; + filter: var(--bs-carousel-control-icon-filter); + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")*/; +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")*/; +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: var(--bs-carousel-indicator-active-bg); + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: var(--bs-carousel-caption-color); + text-align: center; +} + +.carousel-dark { + --bs-carousel-indicator-active-bg: #000; + --bs-carousel-caption-color: #000; + --bs-carousel-control-icon-filter: invert(1) grayscale(100); +} + +:root, +[data-bs-theme=light] { + --bs-carousel-indicator-active-bg: #fff; + --bs-carousel-caption-color: #fff; + --bs-carousel-control-icon-filter: ; +} + +[data-bs-theme=dark] { + --bs-carousel-indicator-active-bg: #000; + --bs-carousel-caption-color: #000; + --bs-carousel-control-icon-filter: invert(1) grayscale(100); +} + +.spinner-grow, +.spinner-border { + display: inline-block; + flex-shrink: 0; + width: var(--bs-spinner-width); + height: var(--bs-spinner-height); + vertical-align: var(--bs-spinner-vertical-align); + border-radius: 50%; + animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} +.spinner-border { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-border-width: 0.25em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-border; + border: var(--bs-spinner-border-width) solid currentcolor; + border-right-color: transparent; +} + +.spinner-border-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; + --bs-spinner-border-width: 0.2em; +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} + +.spinner-grow-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + --bs-spinner-animation-speed: 1.5s; + } +} +.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { + --bs-offcanvas-zindex: 1045; + --bs-offcanvas-width: 400px; + --bs-offcanvas-height: 30vh; + --bs-offcanvas-padding-x: 1rem; + --bs-offcanvas-padding-y: 1rem; + --bs-offcanvas-color: var(--bs-body-color); + --bs-offcanvas-bg: var(--bs-body-bg); + --bs-offcanvas-border-width: var(--bs-border-width); + --bs-offcanvas-border-color: var(--bs-border-color-translucent); + --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm); + --bs-offcanvas-transition: transform 0.3s ease-in-out; + --bs-offcanvas-title-line-height: 1.5; +} + +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-sm.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-sm.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-sm.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { + transform: none; + } + .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { + visibility: visible; + } +} +@media (min-width: 576px) { + .offcanvas-sm { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-sm .offcanvas-header { + display: none; + } + .offcanvas-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-md.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-md.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-md.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { + transform: none; + } + .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { + visibility: visible; + } +} +@media (min-width: 768px) { + .offcanvas-md { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-md .offcanvas-header { + display: none; + } + .offcanvas-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-lg.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-lg.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-lg.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { + transform: none; + } + .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { + visibility: visible; + } +} +@media (min-width: 992px) { + .offcanvas-lg { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-lg .offcanvas-header { + display: none; + } + .offcanvas-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { + transform: none; + } + .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { + visibility: visible; + } +} +@media (min-width: 1200px) { + .offcanvas-xl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xl .offcanvas-header { + display: none; + } + .offcanvas-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xxl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xxl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xxl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { + transform: none; + } + .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { + visibility: visible; + } +} +@media (min-width: 1400px) { + .offcanvas-xxl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xxl .offcanvas-header { + display: none; + } + .offcanvas-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +.offcanvas { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); +} +.offcanvas.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); +} +.offcanvas.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); +} +.offcanvas.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas.showing, .offcanvas.show:not(.hiding) { + transform: none; +} +.offcanvas.showing, .offcanvas.hiding, .offcanvas.show { + visibility: visible; +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); +} +.offcanvas-header .btn-close { + padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y)); + margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y)); + margin-left: auto; +} + +.offcanvas-title { + margin-bottom: 0; + line-height: var(--bs-offcanvas-title-line-height); +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); + overflow-y: auto; +} + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.5; +} +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} + +@keyframes placeholder-wave { + 100% { + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.text-bg-primary { + color: #fff !important; + background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-secondary { + color: #fff !important; + background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-success { + color: #fff !important; + background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-info { + color: #000 !important; + background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-warning { + color: #000 !important; + background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-danger { + color: #fff !important; + background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-light { + color: #000 !important; + background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-dark { + color: #fff !important; + background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.link-primary { + color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-primary:hover, .link-primary:focus { + color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-secondary { + color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-secondary:hover, .link-secondary:focus { + color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-success { + color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-success:hover, .link-success:focus { + color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-info { + color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-info:hover, .link-info:focus { + color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-warning { + color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-warning:hover, .link-warning:focus { + color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-danger { + color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-danger:hover, .link-danger:focus { + color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-light { + color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-light:hover, .link-light:focus { + color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-dark { + color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-dark:hover, .link-dark:focus { + color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-body-emphasis { + color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-body-emphasis:hover, .link-body-emphasis:focus { + color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important; + text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important; +} + +.focus-ring:focus { + outline: 0; + box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color); +} + +.icon-link { + display: inline-flex; + gap: 0.375rem; + align-items: center; + text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5)); + text-underline-offset: 0.25em; + backface-visibility: hidden; +} +.icon-link > .bi { + flex-shrink: 0; + width: 1em; + height: 1em; + fill: currentcolor; + transition: 0.2s ease-in-out transform; +} +@media (prefers-reduced-motion: reduce) { + .icon-link > .bi { + transition: none; + } +} + +.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi { + transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0)); +} + +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} + +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} + +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} + +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: sticky; + top: 0; + z-index: 1020; +} + +.sticky-bottom { + position: sticky; + bottom: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} +.visually-hidden:not(caption), +.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) { + position: absolute !important; +} +.visually-hidden *, +.visually-hidden-focusable:not(:focus):not(:focus-within) * { + overflow: hidden !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: var(--bs-border-width); + min-height: 1em; + background-color: currentcolor; + opacity: 0.25; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.float-start { + float: left !important; +} + +.float-end { + float: right !important; +} + +.float-none { + float: none !important; +} + +.object-fit-contain { + object-fit: contain !important; +} + +.object-fit-cover { + object-fit: cover !important; +} + +.object-fit-fill { + object-fit: fill !important; +} + +.object-fit-scale { + object-fit: scale-down !important; +} + +.object-fit-none { + object-fit: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.overflow-x-auto { + overflow-x: auto !important; +} + +.overflow-x-hidden { + overflow-x: hidden !important; +} + +.overflow-x-visible { + overflow-x: visible !important; +} + +.overflow-x-scroll { + overflow-x: scroll !important; +} + +.overflow-y-auto { + overflow-y: auto !important; +} + +.overflow-y-hidden { + overflow-y: hidden !important; +} + +.overflow-y-visible { + overflow-y: visible !important; +} + +.overflow-y-scroll { + overflow-y: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: var(--bs-box-shadow) !important; +} + +.shadow-sm { + box-shadow: var(--bs-box-shadow-sm) !important; +} + +.shadow-lg { + box-shadow: var(--bs-box-shadow-lg) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.focus-ring-primary { + --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-secondary { + --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-success { + --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-info { + --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-warning { + --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-danger { + --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-light { + --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-dark { + --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity)); +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-primary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important; +} + +.border-secondary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important; +} + +.border-success { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important; +} + +.border-info { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important; +} + +.border-warning { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important; +} + +.border-danger { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important; +} + +.border-light { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important; +} + +.border-dark { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; +} + +.border-black { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important; +} + +.border-white { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; +} + +.border-primary-subtle { + border-color: var(--bs-primary-border-subtle) !important; +} + +.border-secondary-subtle { + border-color: var(--bs-secondary-border-subtle) !important; +} + +.border-success-subtle { + border-color: var(--bs-success-border-subtle) !important; +} + +.border-info-subtle { + border-color: var(--bs-info-border-subtle) !important; +} + +.border-warning-subtle { + border-color: var(--bs-warning-border-subtle) !important; +} + +.border-danger-subtle { + border-color: var(--bs-danger-border-subtle) !important; +} + +.border-light-subtle { + border-color: var(--bs-light-border-subtle) !important; +} + +.border-dark-subtle { + border-color: var(--bs-dark-border-subtle) !important; +} + +.border-1 { + border-width: 1px !important; +} + +.border-2 { + border-width: 2px !important; +} + +.border-3 { + border-width: 3px !important; +} + +.border-4 { + border-width: 4px !important; +} + +.border-5 { + border-width: 5px !important; +} + +.border-opacity-10 { + --bs-border-opacity: 0.1; +} + +.border-opacity-25 { + --bs-border-opacity: 0.25; +} + +.border-opacity-50 { + --bs-border-opacity: 0.5; +} + +.border-opacity-75 { + --bs-border-opacity: 0.75; +} + +.border-opacity-100 { + --bs-border-opacity: 1; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 3rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 3rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +.row-gap-0 { + row-gap: 0 !important; +} + +.row-gap-1 { + row-gap: 0.25rem !important; +} + +.row-gap-2 { + row-gap: 0.5rem !important; +} + +.row-gap-3 { + row-gap: 1rem !important; +} + +.row-gap-4 { + row-gap: 1.5rem !important; +} + +.row-gap-5 { + row-gap: 3rem !important; +} + +.column-gap-0 { + column-gap: 0 !important; +} + +.column-gap-1 { + column-gap: 0.25rem !important; +} + +.column-gap-2 { + column-gap: 0.5rem !important; +} + +.column-gap-3 { + column-gap: 1rem !important; +} + +.column-gap-4 { + column-gap: 1.5rem !important; +} + +.column-gap-5 { + column-gap: 3rem !important; +} + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} + +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.25rem !important; +} + +.fs-6 { + font-size: 1rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-medium { + font-weight: 500 !important; +} + +.fw-semibold { + font-weight: 600 !important; +} + +.fw-bold { + font-weight: 700 !important; +} + +.fw-bolder { + font-weight: bolder !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: 1.25 !important; +} + +.lh-base { + line-height: 1.5 !important; +} + +.lh-lg { + line-height: 2 !important; +} + +.text-start { + text-align: left !important; +} + +.text-end { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} + +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} + +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} + +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} + +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} + +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} + +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} + +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} + +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-body-secondary { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-body-tertiary { + --bs-text-opacity: 1; + color: var(--bs-tertiary-color) !important; +} + +.text-body-emphasis { + --bs-text-opacity: 1; + color: var(--bs-emphasis-color) !important; +} + +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --bs-text-opacity: 0.25; +} + +.text-opacity-50 { + --bs-text-opacity: 0.5; +} + +.text-opacity-75 { + --bs-text-opacity: 0.75; +} + +.text-opacity-100 { + --bs-text-opacity: 1; +} + +.text-primary-emphasis { + color: var(--bs-primary-text-emphasis) !important; +} + +.text-secondary-emphasis { + color: var(--bs-secondary-text-emphasis) !important; +} + +.text-success-emphasis { + color: var(--bs-success-text-emphasis) !important; +} + +.text-info-emphasis { + color: var(--bs-info-text-emphasis) !important; +} + +.text-warning-emphasis { + color: var(--bs-warning-text-emphasis) !important; +} + +.text-danger-emphasis { + color: var(--bs-danger-text-emphasis) !important; +} + +.text-light-emphasis { + color: var(--bs-light-text-emphasis) !important; +} + +.text-dark-emphasis { + color: var(--bs-dark-text-emphasis) !important; +} + +.link-opacity-10 { + --bs-link-opacity: 0.1; +} + +.link-opacity-10-hover:hover { + --bs-link-opacity: 0.1; +} + +.link-opacity-25 { + --bs-link-opacity: 0.25; +} + +.link-opacity-25-hover:hover { + --bs-link-opacity: 0.25; +} + +.link-opacity-50 { + --bs-link-opacity: 0.5; +} + +.link-opacity-50-hover:hover { + --bs-link-opacity: 0.5; +} + +.link-opacity-75 { + --bs-link-opacity: 0.75; +} + +.link-opacity-75-hover:hover { + --bs-link-opacity: 0.75; +} + +.link-opacity-100 { + --bs-link-opacity: 1; +} + +.link-opacity-100-hover:hover { + --bs-link-opacity: 1; +} + +.link-offset-1 { + text-underline-offset: 0.125em !important; +} + +.link-offset-1-hover:hover { + text-underline-offset: 0.125em !important; +} + +.link-offset-2 { + text-underline-offset: 0.25em !important; +} + +.link-offset-2-hover:hover { + text-underline-offset: 0.25em !important; +} + +.link-offset-3 { + text-underline-offset: 0.375em !important; +} + +.link-offset-3-hover:hover { + text-underline-offset: 0.375em !important; +} + +.link-underline-primary { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-secondary { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-success { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-info { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-warning { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-danger { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-light { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-dark { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-underline-opacity-0 { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-0-hover:hover { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-10 { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-10-hover:hover { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-25 { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-25-hover:hover { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-50 { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-50-hover:hover { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-75 { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-75-hover:hover { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-100 { + --bs-link-underline-opacity: 1; +} + +.link-underline-opacity-100-hover:hover { + --bs-link-underline-opacity: 1; +} + +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-body-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body-tertiary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --bs-bg-opacity: 1; +} + +.bg-primary-subtle { + background-color: var(--bs-primary-bg-subtle) !important; +} + +.bg-secondary-subtle { + background-color: var(--bs-secondary-bg-subtle) !important; +} + +.bg-success-subtle { + background-color: var(--bs-success-bg-subtle) !important; +} + +.bg-info-subtle { + background-color: var(--bs-info-bg-subtle) !important; +} + +.bg-warning-subtle { + background-color: var(--bs-warning-bg-subtle) !important; +} + +.bg-danger-subtle { + background-color: var(--bs-danger-bg-subtle) !important; +} + +.bg-light-subtle { + background-color: var(--bs-light-bg-subtle) !important; +} + +.bg-dark-subtle { + background-color: var(--bs-dark-bg-subtle) !important; +} + +.bg-gradient { + background-image: var(--bs-gradient) !important; +} + +.user-select-all { + user-select: all !important; +} + +.user-select-auto { + user-select: auto !important; +} + +.user-select-none { + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-2 { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-3 { + border-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-4 { + border-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-5 { + border-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-top { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-top-0 { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} + +.rounded-top-1 { + border-top-left-radius: var(--bs-border-radius-sm) !important; + border-top-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-top-2 { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-top-3 { + border-top-left-radius: var(--bs-border-radius-lg) !important; + border-top-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-top-4 { + border-top-left-radius: var(--bs-border-radius-xl) !important; + border-top-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-top-5 { + border-top-left-radius: var(--bs-border-radius-xxl) !important; + border-top-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-top-circle { + border-top-left-radius: 50% !important; + border-top-right-radius: 50% !important; +} + +.rounded-top-pill { + border-top-left-radius: var(--bs-border-radius-pill) !important; + border-top-right-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-end { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end-0 { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.rounded-end-1 { + border-top-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-end-2 { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end-3 { + border-top-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-end-4 { + border-top-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-end-5 { + border-top-right-radius: var(--bs-border-radius-xxl) !important; + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-end-circle { + border-top-right-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} + +.rounded-end-pill { + border-top-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-right-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-bottom { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-0 { + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} + +.rounded-bottom-1 { + border-bottom-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-bottom-2 { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-3 { + border-bottom-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-bottom-4 { + border-bottom-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-bottom-5 { + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-bottom-circle { + border-bottom-right-radius: 50% !important; + border-bottom-left-radius: 50% !important; +} + +.rounded-bottom-pill { + border-bottom-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-left-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-start { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start-0 { + border-bottom-left-radius: 0 !important; + border-top-left-radius: 0 !important; +} + +.rounded-start-1 { + border-bottom-left-radius: var(--bs-border-radius-sm) !important; + border-top-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-start-2 { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start-3 { + border-bottom-left-radius: var(--bs-border-radius-lg) !important; + border-top-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-start-4 { + border-bottom-left-radius: var(--bs-border-radius-xl) !important; + border-top-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-start-5 { + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; + border-top-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-start-circle { + border-bottom-left-radius: 50% !important; + border-top-left-radius: 50% !important; +} + +.rounded-start-pill { + border-bottom-left-radius: var(--bs-border-radius-pill) !important; + border-top-left-radius: var(--bs-border-radius-pill) !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +.z-n1 { + z-index: -1 !important; +} + +.z-0 { + z-index: 0 !important; +} + +.z-1 { + z-index: 1 !important; +} + +.z-2 { + z-index: 2 !important; +} + +.z-3 { + z-index: 3 !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .object-fit-sm-contain { + object-fit: contain !important; + } + .object-fit-sm-cover { + object-fit: cover !important; + } + .object-fit-sm-fill { + object-fit: fill !important; + } + .object-fit-sm-scale { + object-fit: scale-down !important; + } + .object-fit-sm-none { + object-fit: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 3rem !important; + } + .row-gap-sm-0 { + row-gap: 0 !important; + } + .row-gap-sm-1 { + row-gap: 0.25rem !important; + } + .row-gap-sm-2 { + row-gap: 0.5rem !important; + } + .row-gap-sm-3 { + row-gap: 1rem !important; + } + .row-gap-sm-4 { + row-gap: 1.5rem !important; + } + .row-gap-sm-5 { + row-gap: 3rem !important; + } + .column-gap-sm-0 { + column-gap: 0 !important; + } + .column-gap-sm-1 { + column-gap: 0.25rem !important; + } + .column-gap-sm-2 { + column-gap: 0.5rem !important; + } + .column-gap-sm-3 { + column-gap: 1rem !important; + } + .column-gap-sm-4 { + column-gap: 1.5rem !important; + } + .column-gap-sm-5 { + column-gap: 3rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .object-fit-md-contain { + object-fit: contain !important; + } + .object-fit-md-cover { + object-fit: cover !important; + } + .object-fit-md-fill { + object-fit: fill !important; + } + .object-fit-md-scale { + object-fit: scale-down !important; + } + .object-fit-md-none { + object-fit: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 3rem !important; + } + .row-gap-md-0 { + row-gap: 0 !important; + } + .row-gap-md-1 { + row-gap: 0.25rem !important; + } + .row-gap-md-2 { + row-gap: 0.5rem !important; + } + .row-gap-md-3 { + row-gap: 1rem !important; + } + .row-gap-md-4 { + row-gap: 1.5rem !important; + } + .row-gap-md-5 { + row-gap: 3rem !important; + } + .column-gap-md-0 { + column-gap: 0 !important; + } + .column-gap-md-1 { + column-gap: 0.25rem !important; + } + .column-gap-md-2 { + column-gap: 0.5rem !important; + } + .column-gap-md-3 { + column-gap: 1rem !important; + } + .column-gap-md-4 { + column-gap: 1.5rem !important; + } + .column-gap-md-5 { + column-gap: 3rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .object-fit-lg-contain { + object-fit: contain !important; + } + .object-fit-lg-cover { + object-fit: cover !important; + } + .object-fit-lg-fill { + object-fit: fill !important; + } + .object-fit-lg-scale { + object-fit: scale-down !important; + } + .object-fit-lg-none { + object-fit: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 3rem !important; + } + .row-gap-lg-0 { + row-gap: 0 !important; + } + .row-gap-lg-1 { + row-gap: 0.25rem !important; + } + .row-gap-lg-2 { + row-gap: 0.5rem !important; + } + .row-gap-lg-3 { + row-gap: 1rem !important; + } + .row-gap-lg-4 { + row-gap: 1.5rem !important; + } + .row-gap-lg-5 { + row-gap: 3rem !important; + } + .column-gap-lg-0 { + column-gap: 0 !important; + } + .column-gap-lg-1 { + column-gap: 0.25rem !important; + } + .column-gap-lg-2 { + column-gap: 0.5rem !important; + } + .column-gap-lg-3 { + column-gap: 1rem !important; + } + .column-gap-lg-4 { + column-gap: 1.5rem !important; + } + .column-gap-lg-5 { + column-gap: 3rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .object-fit-xl-contain { + object-fit: contain !important; + } + .object-fit-xl-cover { + object-fit: cover !important; + } + .object-fit-xl-fill { + object-fit: fill !important; + } + .object-fit-xl-scale { + object-fit: scale-down !important; + } + .object-fit-xl-none { + object-fit: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 3rem !important; + } + .row-gap-xl-0 { + row-gap: 0 !important; + } + .row-gap-xl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xl-3 { + row-gap: 1rem !important; + } + .row-gap-xl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xl-5 { + row-gap: 3rem !important; + } + .column-gap-xl-0 { + column-gap: 0 !important; + } + .column-gap-xl-1 { + column-gap: 0.25rem !important; + } + .column-gap-xl-2 { + column-gap: 0.5rem !important; + } + .column-gap-xl-3 { + column-gap: 1rem !important; + } + .column-gap-xl-4 { + column-gap: 1.5rem !important; + } + .column-gap-xl-5 { + column-gap: 3rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .object-fit-xxl-contain { + object-fit: contain !important; + } + .object-fit-xxl-cover { + object-fit: cover !important; + } + .object-fit-xxl-fill { + object-fit: fill !important; + } + .object-fit-xxl-scale { + object-fit: scale-down !important; + } + .object-fit-xxl-none { + object-fit: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 3rem !important; + } + .row-gap-xxl-0 { + row-gap: 0 !important; + } + .row-gap-xxl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xxl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xxl-3 { + row-gap: 1rem !important; + } + .row-gap-xxl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xxl-5 { + row-gap: 3rem !important; + } + .column-gap-xxl-0 { + column-gap: 0 !important; + } + .column-gap-xxl-1 { + column-gap: 0.25rem !important; + } + .column-gap-xxl-2 { + column-gap: 0.5rem !important; + } + .column-gap-xxl-3 { + column-gap: 1rem !important; + } + .column-gap-xxl-4 { + column-gap: 1.5rem !important; + } + .column-gap-xxl-5 { + column-gap: 3rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 2.5rem !important; + } + .fs-2 { + font-size: 2rem !important; + } + .fs-3 { + font-size: 1.75rem !important; + } + .fs-4 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: normal; + font-weight: 400; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-regular.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: italic; + font-weight: 400; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: normal; + font-weight: 500; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-500.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: italic; + font-weight: 500; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-500italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: normal; + font-weight: 600; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-600.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: italic; + font-weight: 600; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-600italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: normal; + font-weight: 700; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-700.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: italic; + font-weight: 700; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-700italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: normal; + font-weight: 800; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-800.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: italic; + font-weight: 800; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-800italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: normal; + font-weight: 900; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-900.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Playfair Display"; + font-style: italic; + font-weight: 900; + src: url("../fonts/playfair-display-v40-latin/playfair-display-v40-latin-900italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 200; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 200; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 300; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 300; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 400; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-regular.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 400; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 500; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 500; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 600; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 600; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 700; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 700; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 800; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 800; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800italic.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 900; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900.woff2") format("woff2"); +} +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 900; + src: url("../fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900italic.woff2") format("woff2"); +} +/* Color Theme Swatches in Hex */ +*, +html { + box-sizing: border-box; +} + +html, +body { + height: 100%; + padding: 0; + margin: 0; +} + +body { + font-family: "Source Sans 3", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; +} + +body { + display: flex; + flex-direction: column; +} + +main, +#main { + flex: 1 0 auto; +} + +body > footer, +.footer-main { + flex-shrink: 0; +} + +h1, .h1, +h2, +.h2, +h3, +.h3, +h4, +.h4, +h5, +.h5, +h6, +.h6 { + font-family: "Playfair Display", Cambria, Cochin, Georgia, Times, "Times New Roman", serif; + font-weight: 700; +} + +.splide__container { + box-sizing: border-box; + position: relative; +} + +.splide__list { + backface-visibility: hidden; + display: flex; + height: 100%; + margin: 0 !important; + padding: 0 !important; +} + +.splide.is-initialized:not(.is-active) .splide__list { + display: block; +} + +.splide__pagination { + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: center; + margin: 0; + pointer-events: none; +} + +.splide__pagination li { + display: inline-block; + line-height: 1; + list-style-type: none; + margin: 0; + pointer-events: auto; +} + +.splide:not(.is-overflow) .splide__pagination { + display: none; +} + +.splide__progress__bar { + width: 0; +} + +.splide { + position: relative; + visibility: hidden; +} + +.splide.is-initialized, .splide.is-rendered { + visibility: visible; +} + +.splide__slide { + backface-visibility: hidden; + box-sizing: border-box; + flex-shrink: 0; + list-style-type: none !important; + margin: 0; + position: relative; +} + +.splide__slide img { + vertical-align: bottom; +} + +.splide__spinner { + animation: splide-loading 1s infinite linear; + border: 2px solid #999; + border-left-color: transparent; + border-radius: 50%; + bottom: 0; + contain: strict; + display: inline-block; + height: 20px; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; + width: 20px; +} + +.splide__sr { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.splide__toggle__pause { + display: none; +} + +.splide__toggle.is-active .splide__toggle__play { + display: none; +} + +.splide__toggle.is-active .splide__toggle__pause { + display: inline; +} + +.splide__track { + overflow: hidden; + position: relative; + z-index: 0; +} + +@keyframes splide-loading { + 0% { + transform: rotateZ(0); + } + 100% { + transform: rotateZ(360deg); + } +} +.splide__track--draggable { + -webkit-touch-callout: none; + user-select: none; +} + +.splide__track--fade > .splide__list > .splide__slide { + margin: 0 !important; + opacity: 0; + z-index: 0; +} + +.splide__track--fade > .splide__list > .splide__slide.is-active { + opacity: 1; + z-index: 1; +} + +.splide--rtl { + direction: rtl; +} + +.splide__track--ttb > .splide__list { + display: block; +} + +.splide__arrow { + background: #ccc; + border: 0; + cursor: pointer; + padding: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); + z-index: 1; + opacity: 0.7; + align-items: center; + border-radius: 50%; + display: flex; + justify-content: center; + height: 2em; + width: 2em; +} + +.splide__arrow svg { + fill: #000; + height: 1.2em; + width: 1.2em; +} + +.splide__arrow:hover:not(:disabled) { + opacity: 0.9; +} + +.splide__arrow:disabled { + opacity: 0.3; +} + +.splide__arrow:focus-visible { + outline: #0bf 3px solid; + outline-offset: 3px; +} + +.splide__arrow--prev { + left: 1em; +} + +.splide__arrow--prev svg { + transform: scaleX(-1); +} + +.splide__arrow--next { + right: 1em; +} + +.splide.is-focus-in .splide__arrow:focus { + outline: #0bf 3px solid; + outline-offset: 3px; +} + +.splide__pagination { + bottom: 0.5em; + left: 0; + padding: 0 1em; + position: absolute; + right: 0; + z-index: 1; +} + +.splide__pagination__page { + background: #ccc; + border: 0; + border-radius: 50%; + display: inline-block; + height: 8px; + margin: 3px; + padding: 0; + position: relative; + transition: transform 0.2s linear; + width: 8px; + opacity: 0.7; +} + +.splide__pagination__page.is-active { + background: #fff; + z-index: 1; + transform: scale(1.4); +} + +.splide__pagination__page:hover { + cursor: pointer; + opacity: 0.9; +} + +.splide__pagination__page:focus-visible { + outline: #0bf 3px solid; + outline-offset: 3px; +} + +.splide.is-focus-in .splide__pagination__page:focus { + outline: #0bf 3px solid; + outline-offset: 3px; +} + +.splide__progress__bar { + background: #ccc; + height: 1rem; +} + +.splide__slide { + -webkit-tap-highlight-color: transparent; +} + +.splide__slide:focus { + outline: 0; +} + +@supports (outline-offset: -3px) { + .splide__slide:focus-visible { + outline: #0bf 3px solid; + outline-offset: -3px; + } +} +.splide__slide:focus-visible { + /* IE does not support outline-offset */ +} + +@media screen and (-ms-high-contrast: none) { + .splide__slide:focus-visible { + border: #0bf 3px solid; + } +} +@supports (outline-offset: -3px) { + .splide.is-focus-in .splide__slide:focus { + outline: #0bf 3px solid; + outline-offset: -3px; + } +} +.splide.is-focus-in .splide__slide:focus { + /* IE does not support outline-offset */ +} + +@media screen and (-ms-high-contrast: none) { + .splide.is-focus-in .splide__slide:focus { + border: #0bf 3px solid; + } +} +@media screen and (-ms-high-contrast: none) { + .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus { + border-color: #0bf; + } +} +.splide__toggle { + cursor: pointer; +} + +.splide__toggle:focus-visible { + outline: #0bf 3px solid; + outline-offset: 3px; +} + +.splide.is-focus-in .splide__toggle:focus { + outline: #0bf 3px solid; + outline-offset: 3px; +} + +.splide__track--nav > .splide__list > .splide__slide { + border: 3px solid transparent; + cursor: pointer; +} + +.splide__track--nav > .splide__list > .splide__slide.is-active { + border: 3px solid #000; +} + +.splide__arrows--rtl .splide__arrow--prev { + left: auto; + right: 1em; +} + +.splide__arrows--rtl .splide__arrow--prev svg { + transform: scaleX(1); +} + +.splide__arrows--rtl .splide__arrow--next { + left: 1em; + right: auto; +} + +.splide__arrows--rtl .splide__arrow--next svg { + transform: scaleX(-1); +} + +.splide__arrows--ttb .splide__arrow { + left: 50%; + transform: translate(-50%, 0); +} + +.splide__arrows--ttb .splide__arrow--prev { + top: 1em; +} + +.splide__arrows--ttb .splide__arrow--prev svg { + transform: rotateZ(-90deg); +} + +.splide__arrows--ttb .splide__arrow--next { + bottom: 1em; + top: auto; +} + +.splide__arrows--ttb .splide__arrow--next svg { + transform: rotateZ(90deg); +} + +.splide__pagination--ttb { + bottom: 0; + display: flex; + flex-direction: column; + left: auto; + padding: 1em 0; + right: 0.5em; + top: 0; +} + +@keyframes splide-loading { + 0% { + transform: rotateZ(0); + } + 100% { + transform: rotateZ(360deg); + } +} +.splide__track--draggable { + -webkit-touch-callout: none; + user-select: none; +} + +.splide__track--fade > .splide__list > .splide__slide { + margin: 0 !important; + opacity: 0; + z-index: 0; +} + +.splide__track--fade > .splide__list > .splide__slide.is-active { + opacity: 1; + z-index: 1; +} + +.splide--rtl { + direction: rtl; +} + +.splide__track--ttb > .splide__list { + display: block; +} + +.splide__container { + box-sizing: border-box; + position: relative; +} + +.splide__list { + backface-visibility: hidden; + display: flex; + height: 100%; + margin: 0 !important; + padding: 0 !important; +} + +.splide.is-initialized:not(.is-active) .splide__list { + display: block; +} + +.splide__pagination { + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: center; + margin: 0; + pointer-events: none; +} + +.splide__pagination li { + display: inline-block; + line-height: 1; + list-style-type: none; + margin: 0; + pointer-events: auto; +} + +.splide:not(.is-overflow) .splide__pagination { + display: none; +} + +.splide__progress__bar { + width: 0; +} + +.splide { + position: relative; + visibility: hidden; +} + +.splide.is-initialized, .splide.is-rendered { + visibility: visible; +} + +.splide__slide { + backface-visibility: hidden; + box-sizing: border-box; + flex-shrink: 0; + list-style-type: none !important; + margin: 0; + position: relative; +} + +.splide__slide img { + vertical-align: bottom; +} + +.splide__spinner { + animation: splide-loading 1s infinite linear; + border: 2px solid #999; + border-left-color: transparent; + border-radius: 50%; + bottom: 0; + contain: strict; + display: inline-block; + height: 20px; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; + width: 20px; +} + +.splide__sr { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.splide__toggle__pause { + display: none; +} + +.splide__toggle.is-active .splide__toggle__play { + display: none; +} + +.splide__toggle.is-active .splide__toggle__pause { + display: inline; +} + +.splide__track { + overflow: hidden; + position: relative; + z-index: 0; +} + +/*! + * Toastify js 1.12.0 + * https://github.com/apvarun/toastify-js + * @license MIT licensed + * + * Copyright (C) 2018 Varun A P + */ +.toastify { + padding: 12px 20px; + color: #ffffff; + display: inline-block; + box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.12), 0 10px 36px -4px rgba(77, 96, 232, 0.3); + background: -webkit-linear-gradient(315deg, #73a5ff, #5477f5); + background: linear-gradient(135deg, #73a5ff, #5477f5); + position: fixed; + opacity: 0; + transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1); + border-radius: 2px; + cursor: pointer; + text-decoration: none; + max-width: calc(50% - 20px); + z-index: 2147483647; +} + +.toastify.on { + opacity: 1; +} + +.toast-close { + background: transparent; + border: 0; + color: white; + cursor: pointer; + font-family: inherit; + font-size: 1em; + opacity: 0.4; + padding: 0 5px; +} + +.toastify-right { + right: 15px; +} + +.toastify-left { + left: 15px; +} + +.toastify-top { + top: -150px; +} + +.toastify-bottom { + bottom: -150px; +} + +.toastify-rounded { + border-radius: 25px; +} + +.toastify-avatar { + width: 1.5em; + height: 1.5em; + margin: -7px 5px; + border-radius: 2px; +} + +.toastify-center { + margin-left: auto; + margin-right: auto; + left: 0; + right: 0; + max-width: fit-content; + max-width: -moz-fit-content; +} + +@media only screen and (max-width: 360px) { + .toastify-right, + .toastify-left { + margin-left: auto; + margin-right: auto; + left: 0; + right: 0; + max-width: fit-content; + } +} +.footer-main { + background: #283e4a; + background: linear-gradient(180deg, rgb(40, 62, 74) 0%, rgb(24, 32, 38) 100%); + padding: 2rem 0; +} +.footer-main .col { + color: white; +} +.footer-main .col h2, .footer-main .col .h2, +.footer-main .col h3, +.footer-main .col .h3, +.footer-main .col h4, +.footer-main .col .h4, +.footer-main .col h5, +.footer-main .col .h5 { + font-size: 1.5rem; + color: #f06060; + padding: 0.5rem 0; + margin-bottom: 1rem; + letter-spacing: 2px; +} + +.header-main { + position: relative; + width: 100%; + min-height: 400px; +} +.header-main .content-box { + position: relative; + z-index: 2; + display: flex; + justify-content: center; + align-items: center; + width: auto; + margin: 0 auto; + height: 100%; + max-width: 360px; + max-height: 380px; +} +.header-main { + background: #f2ebbf url("../img/header-image.webp") center no-repeat; + background-size: cover; +} +.header-main--min { + height: 150px; + background-color: #8cbeb2; + display: flex; + justify-content: center; + align-items: center; +} +.header-main--min .content-box figure { + width: 150px; +} +.header-main .splide { + position: absolute; + z-index: 1; + height: 100%; + width: 100%; + top: 0; + overflow: hidden; +} +.header-main .splide .splide__track { + height: 100%; +} +.header-main .splide .splide__track .splider-content::after { + content: ""; + position: absolute; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.2); +} +.header-main .splide .splide__track .splider-content { + height: 100%; + padding: 0; +} +.header-main .splide .splide__track .splider-content img { + object-fit: cover; + width: 100%; + height: 100%; +} + +figure.logo-main { + width: 280px; +} +figure.logo-main figcaption { + position: absolute; + clip: rect(1px, 1px, 1px, 1px); + clip-path: inset(0 0 99.9% 99.9%); + overflow: hidden; + height: 1px; + width: 1px; + padding: 0; + border: 0; +} + +.menu-main { + background-color: #f06060; +} +.menu-main ul { + padding: 0; + margin: 0; + list-style: none; +} +.menu-main ul ul { + display: none; +} +.menu-main ul > li:hover ul, +.menu-main ul > li:focus ul, +.menu-main ul > li:focus-within ul { + display: block; +} +.menu-main ul.list { + display: flex; + justify-content: center; +} +.menu-main ul.list li a { + display: inline-block; + text-decoration: none; + text-transform: uppercase; + color: white; + padding: 0.5rem 1rem; + transition: all 0.4s ease-out; +} +.menu-main ul.list li a:hover, .menu-main ul.list li a:focus { + background-color: white; + color: #f06060; +} +.menu-main ul.sublist { + position: absolute; + background-color: rgba(240, 96, 96, 0.8); +} +.menu-main ul.sublist li a { + display: inline-block; + background-color: #f06060; + color: white; + padding: 0.5rem 1rem; + transition: all 0.4s ease-out; +} +.menu-main ul.sublist li a:hover, .menu-main ul.sublist li a:focus { + background-color: white; + color: #f06060; +} + +.product-manager .nav-products-actions { + margin: 1rem 0; + display: flex; + justify-content: flex-end; +} +.product-manager .nav-products-actions .list { + list-style: none; + margin: 0; + padding: 0; + display: flex; + gap: 1rem; +} +.product-manager table .th-actions { + width: 200px; +} +.product-manager table tbody td { + vertical-align: middle; +} +.product-manager table tbody td button { + margin: 3px; +} +.product-manager table tfoot .row > * { + margin-bottom: 1rem; +} +@media (min-width: 992px) { + .product-manager table tfoot .row > * { + margin-bottom: 0; + } +} + +/*# sourceMappingURL=main.css.map */ diff --git a/webseite-ts/frontend/assets/css/main.css.map b/webseite-ts/frontend/assets/css/main.css.map new file mode 100644 index 0000000..7f7684c --- /dev/null +++ b/webseite-ts/frontend/assets/css/main.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_banner.scss","../../dev/scss/02_fonts/_index.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_root.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/vendor/_rfs.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_color-mode.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_reboot.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_variables.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_border-radius.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_type.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_lists.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_images.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_image.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_containers.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_container.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_breakpoints.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_grid.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_grid.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_tables.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_table-variants.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_labels.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_form-text.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_form-control.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_transition.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_gradients.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_form-select.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_form-check.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_form-range.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_floating-labels.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/forms/_input-group.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_forms.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_buttons.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_buttons.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_transitions.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_dropdown.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_caret.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_button-group.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_nav.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_navbar.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_card.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_accordion.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_breadcrumb.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_pagination.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_pagination.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_badge.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_alert.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_progress.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_list-group.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_close.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_toasts.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_modal.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_backdrop.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_tooltip.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_reset-text.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_popover.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_carousel.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_clearfix.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_spinners.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_offcanvas.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/_placeholders.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_color-bg.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_colored-links.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_focus-ring.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_icon-link.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_ratio.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_position.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_stacks.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_visually-hidden.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_visually-hidden.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_stretched-link.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_text-truncation.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_text-truncate.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/helpers/_vr.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/mixins/_utilities.scss","../../dev/scss/01_frameworks/bootstrap-5.3.8/utilities/_api.scss","../../dev/scss/02_fonts/_playfair-display-v40-latin.scss","../../dev/scss/02_fonts/_source-sans-3-v19-latin.scss","../../dev/scss/03_base/_colors.scss","../../dev/scss/03_base/_theme.scss","../../dev/scss/03_base/_typography.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/container.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/list.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/pagination.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/progress.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/root.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/slide.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/spinner.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/index.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/sr.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/toggle.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/objects/track.scss","../../dev/scss/04_plugins/splide-4.1.4/core/foundation/animations.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/modifiers/draggable.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/modifiers/fade.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/modifiers/rtl.scss","../../dev/scss/04_plugins/splide-4.1.4/core/object/modifiers/ttb.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/objects/arrow.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/foundation/colors.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/foundation/mixins.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/objects/pagination.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/objects/progress.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/objects/slide.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/objects/toggle.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/modifiers/nav.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/modifiers/rtl.scss","../../dev/scss/04_plugins/splide-4.1.4/template/default/object/modifiers/ttb.scss","../../dev/scss/04_plugins/toastify-1.12/_toastify.scss","../../dev/scss/05_modules/_footer-main.scss","../../dev/scss/05_modules/_header-main.scss","../../dev/scss/05_modules/_logo-main.scss","../../dev/scss/05_modules/_menu-main.scss","../../dev/scss/05_modules/_product-manager.scss"],"names":[],"mappings":";AACE;AAAA;AAAA;AAAA;AAAA;ACCM;ACFR;AAAA;EASI;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAGF;EACA;EAMA;EACA;EACA;EAOA;EC2OI,qBALI;EDpOR;EACA;EAKA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAGA;EAEA;EACA;EACA;EAEA;EACA;EAMA;EACA;EACA;EAGA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAIA;EACA;EACA;EAIA;EACA;EACA;EACA;;;AEhHE;EFsHA;EAGA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAGE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAGF;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AGxKJ;AAAA;AAAA;EAGE;;;AAeE;EANJ;IAOM;;;;AAcN;EACE;EACA;EF6OI,WALI;EEtOR;EACA;EACA;EACA;EACA;EACA;EACA;;;AASF;EACE;EACA,OCmnB4B;EDlnB5B;EACA;EACA,SCynB4B;;;AD/mB9B;EACE;EACA,eCwjB4B;EDrjB5B,aCwjB4B;EDvjB5B,aCwjB4B;EDvjB5B;;;AAGF;EFuMQ;;AA5JJ;EE3CJ;IF8MQ;;;;AEzMR;EFkMQ;;AA5JJ;EEtCJ;IFyMQ;;;;AEpMR;EF6LQ;;AA5JJ;EEjCJ;IFoMQ;;;;AE/LR;EFwLQ;;AA5JJ;EE5BJ;IF+LQ;;;;AE1LR;EF+KM,WALI;;;AErKV;EF0KM,WALI;;;AE1JV;EACE;EACA,eCwV0B;;;AD9U5B;EACE;EACA;EACA;;;AAMF;EACE;EACA;EACA;;;AAMF;AAAA;EAEE;;;AAGF;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAGF;EACE,aC6b4B;;;ADxb9B;EACE;EACA;;;AAMF;EACE;;;AAQF;AAAA;EAEE,aCsa4B;;;AD9Z9B;EF6EM,WALI;;;AEjEV;EACE,SCqf4B;EDpf5B;EACA;;;AASF;AAAA;EAEE;EFwDI,WALI;EEjDR;EACA;;;AAGF;EAAM;;;AACN;EAAM;;;AAKN;EACE;EACA,iBCgNwC;;AD9MxC;EACE;;;AAWF;EAEE;EACA;;;AAOJ;AAAA;AAAA;AAAA;EAIE,aCgV4B;EHlUxB,WALI;;;AEDV;EACE;EACA;EACA;EACA;EFEI,WALI;;AEQR;EFHI,WALI;EEUN;EACA;;;AAIJ;EFVM,WALI;EEiBR;EACA;;AAGA;EACE;;;AAIJ;EACE;EFtBI,WALI;EE6BR,OC25CkC;ED15ClC,kBC25CkC;EChsDhC;;AFwSF;EACE;EF7BE,WALI;;;AE6CV;EACE;;;AAMF;AAAA;EAEE;;;AAQF;EACE;EACA;;;AAGF;EACE,aC4X4B;ED3X5B,gBC2X4B;ED1X5B,OC4Z4B;ED3Z5B;;;AAOF;EAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;;;AAQF;EACE;;;AAMF;EAEE;;;AAQF;EACE;;;AAKF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EF5HI,WALI;EEmIR;;;AAIF;AAAA;EAEE;;;AAKF;EACE;;;AAGF;EAGE;;AAGA;EACE;;;AAOJ;EACE;;;AAQF;AAAA;AAAA;AAAA;EAIE;;AAGE;AAAA;AAAA;AAAA;EACE;;;AAON;EACE;EACA;;;AAKF;EACE;;;AAUF;EACE;EACA;EACA;EACA;;;AAQF;EACE;EACA;EACA;EACA,eCmN4B;EDjN5B;EFnNM;;AA5JJ;EEyWJ;IFtMQ;;;AE+MN;EACE;;;AAOJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;;AAGF;EACE;;;AASF;EACE;EACA;;AAGA;EACE;EACA;;;AASJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA;EACE;;;AAKF;EACE;;;AAOF;EACE;EACA;;;AAKF;EACE;;;AAKF;EACE;;;AAOF;EACE;EACA;;;AAQF;EACE;;;AAQF;EACE;;;AG3kBF;ELmQM,WALI;EK5PR,aFwoB4B;;;AEnoB5B;EAGE,aF0nBkB;EEznBlB,aFymB0B;EH7WtB;;AA5JJ;EKpGF;ILuQM;;;;AKvQN;EAGE,aF0nBkB;EEznBlB,aFymB0B;EH7WtB;;AA5JJ;EKpGF;ILuQM;;;;AKvQN;EAGE,aF0nBkB;EEznBlB,aFymB0B;EH7WtB;;AA5JJ;EKpGF;ILuQM;;;;AKvQN;EAGE,aF0nBkB;EEznBlB,aFymB0B;EH7WtB;;AA5JJ;EKpGF;ILuQM;;;;AKvQN;EAGE,aF0nBkB;EEznBlB,aFymB0B;EH7WtB;;AA5JJ;EKpGF;ILuQM;;;;AKvQN;EAGE,aF0nBkB;EEznBlB,aFymB0B;EH7WtB;;AA5JJ;EKpGF;ILuQM;;;;AK/OR;ECvDE;EACA;;;AD2DF;EC5DE;EACA;;;AD8DF;EACE;;AAEA;EACE,cFsoB0B;;;AE5nB9B;EL8MM,WALI;EKvMR;;;AAIF;EACE,eFiUO;EH1HH,WALI;;AK/LR;EACE;;;AAIJ;EACE;EACA,eFuTO;EH1HH,WALI;EKtLR,OFtFS;;AEwFT;EACE;;;AEhGJ;ECIE;EAGA;;;ADDF;EACE,SJ+jDkC;EI9jDlC,kBJ+jDkC;EI9jDlC;EHGE;EIRF;EAGA;;;ADcF;EAEE;;;AAGF;EACE;EACA;;;AAGF;EPyPM,WALI;EOlPR,OJkjDkC;;;AMplDlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ECHA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACsDE;EF5CE;IACE,WNkee;;;AQvbnB;EF5CE;IACE,WNkee;;;AQvbnB;EF5CE;IACE,WNkee;;;AQvbnB;EF5CE;IACE,WNkee;;;AQvbnB;EF5CE;IACE,WNkee;;;ASlfvB;EAEI;EAAA;EAAA;EAAA;EAAA;EAAA;;;AAKF;ECNA;EACA;EACA;EACA;EAEA;EACA;EACA;;ADEE;ECOF;EACA;EACA;EACA;EACA;EACA;;;AA+CI;EACE;;;AAGF;EApCJ;EACA;;;AAcA;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AA+BE;EAhDJ;EACA;;;AAqDQ;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AA+DM;EAhEN;EACA;;;AAuEQ;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAwDU;EAxDV;;;AAmEM;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAPF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AF1DN;EEUE;IACE;;EAGF;IApCJ;IACA;;EAcA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EA+BE;IAhDJ;IACA;;EAqDQ;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EAuEQ;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAmEM;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;;AF1DN;EEUE;IACE;;EAGF;IApCJ;IACA;;EAcA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EA+BE;IAhDJ;IACA;;EAqDQ;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EAuEQ;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAmEM;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;;AF1DN;EEUE;IACE;;EAGF;IApCJ;IACA;;EAcA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EA+BE;IAhDJ;IACA;;EAqDQ;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EAuEQ;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAmEM;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;;AF1DN;EEUE;IACE;;EAGF;IApCJ;IACA;;EAcA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EA+BE;IAhDJ;IACA;;EAqDQ;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EAuEQ;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAmEM;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;;AF1DN;EEUE;IACE;;EAGF;IApCJ;IACA;;EAcA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EA+BE;IAhDJ;IACA;;EAqDQ;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EA+DM;IAhEN;IACA;;EAuEQ;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAwDU;IAxDV;;EAmEM;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAPF;AAAA;IAEE;;EAGF;AAAA;IAEE;;;ACrHV;EAEE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA,eXkYO;EWjYP,gBXusB4B;EWtsB5B;;AAOA;EACE;EAEA;EACA;EACA,qBX+sB0B;EW9sB1B;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE;;;AAOF;EACE;;;AAUA;EACE;;;AAeF;EACE;;AAGA;EACE;;;AAOJ;EACE;;AAGF;EACE;;;AAUF;EACE;EACA;;;AAMF;EACE;EACA;;;AAQJ;EACE;EACA;;;AAQA;EACE;EACA;;;AC5IF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAlBF;EAOE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;ADiJA;EACE;EACA;;;AH3FF;EGyFA;IACE;IACA;;;AH3FF;EGyFA;IACE;IACA;;;AH3FF;EGyFA;IACE;IACA;;;AH3FF;EGyFA;IACE;IACA;;;AH3FF;EGyFA;IACE;IACA;;;AEnKN;EACE,ebu2BsC;;;Aa91BxC;EACE;EACA;EACA;EhB8QI,WALI;EgBrQR,ab+lB4B;;;Aa3lB9B;EACE;EACA;EhBoQI,WALI;;;AgB3PV;EACE;EACA;EhB8PI,WALI;;;AiBtRV;EACE,Yd+1BsC;EHrkBlC,WALI;EiBjRR,Od+1BsC;;;Aep2BxC;EACE;EACA;EACA;ElBwRI,WALI;EkBhRR,afkmB4B;EejmB5B,afymB4B;EexmB5B,Of43BsC;Ee33BtC;EACA,kBfq3BsC;Eep3BtC;EACA;EdGE;EeHE,YDMJ;;ACFI;EDhBN;ICiBQ;;;ADGN;EACE;;AAEA;EACE;;AAKJ;EACE,Ofs2BoC;Eer2BpC,kBfg2BoC;Ee/1BpC,cf82BoC;Ee72BpC;EAKE,YfkhBkB;;Ae9gBtB;EAME;EAMA;EAKA;;AAKF;EACE;EACA;;AAIF;EACE,Of40BoC;Ee10BpC;;AAQF;EAEE,kBf8yBoC;Ee3yBpC;;AAIF;EACE;EACA;EACA,mBforB0B;EenrB1B,OfsyBoC;EiBp4BtC,kBjBqiCgC;Eer8B9B;EACA;EACA;EACA;EACA,yBfgsB0B;Ee/rB1B;ECzFE,YD0FF;;ACtFE;ED0EJ;ICzEM;;;ADwFN;EACE,kBf47B8B;;;Aen7BlC;EACE;EACA;EACA;EACA;EACA,afwf4B;Eevf5B,Of2xBsC;Ee1xBtC;EACA;EACA;;AAEA;EACE;;AAGF;EAEE;EACA;;;AAWJ;EACE,Yf4wBsC;Ee3wBtC;ElByII,WALI;EIvQN;;AcuIF;EACE;EACA;EACA,mBfooB0B;;;AehoB9B;EACE,YfgwBsC;Ee/vBtC;ElB4HI,WALI;EIvQN;;AcoJF;EACE;EACA;EACA,mBf2nB0B;;;AennB5B;EACE,Yf6uBoC;;Ae1uBtC;EACE,Yf0uBoC;;AevuBtC;EACE,YfuuBoC;;;AeluBxC;EACE,OfquBsC;EepuBtC,Qf8tBsC;Ee7tBtC,SfilB4B;;Ae/kB5B;EACE;;AAGF;EACE;EdvLA;;Ac2LF;EACE;Ed5LA;;AcgMF;EAAoB,Qf8sBkB;;Ae7sBtC;EAAoB,Qf8sBkB;;;AkB75BxC;EACE;EAEA;EACA;EACA;ErBqRI,WALI;EqB7QR,alB+lB4B;EkB9lB5B,alBsmB4B;EkBrmB5B,OlBy3BsC;EkBx3BtC;EACA,kBlBk3BsC;EkBj3BtC;EACA;EACA,qBlB+9BkC;EkB99BlC,iBlB+9BkC;EkB99BlC;EjBHE;EeHE,YESJ;;AFLI;EEfN;IFgBQ;;;AEMN;EACE,clBs3BoC;EkBr3BpC;EAKE,YlBi+B4B;;AkB79BhC;EAEE,elB6uB0B;EkB5uB1B;;AAGF;EAEE,kBlBu1BoC;;AkBl1BtC;EACE;EACA;;;AAIJ;EACE,alBsuB4B;EkBruB5B,gBlBquB4B;EkBpuB5B,clBquB4B;EHlgBxB,WALI;EIvQN;;;AiB8CJ;EACE,alBkuB4B;EkBjuB5B,gBlBiuB4B;EkBhuB5B,clBiuB4B;EHtgBxB,WALI;EIvQN;;;AiBwDA;EACE;;;ACxEN;EACE;EACA,YnBq6BwC;EmBp6BxC,cnBq6BwC;EmBp6BxC,enBq6BwC;;AmBn6BxC;EACE;EACA;;;AAIJ;EACE,enB25BwC;EmB15BxC;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;EAEA;EACA,OnB04BwC;EmBz4BxC,QnBy4BwC;EmBx4BxC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QnB24BwC;EmB14BxC;;AAGA;ElB3BE;;AkB+BF;EAEE,enBm4BsC;;AmBh4BxC;EACE,QnB03BsC;;AmBv3BxC;EACE,cnBs1BoC;EmBr1BpC;EACA,YnB8foB;;AmB3ftB;EACE,kBnB5BM;EmB6BN,cnB7BM;;AmB+BN;EAII;;AAIJ;EAII;;AAKN;EACE,kBnBjDM;EmBkDN,cnBlDM;EmBuDJ;;AAIJ;EACE;EACA;EACA,SnBk2BuC;;AmB31BvC;EACE;EACA,SnBy1BqC;;;AmB30B3C;EACE,cnBo1BgC;;AmBl1BhC;EACE;EAEA,OnB80B8B;EmB70B9B;EACA;EACA;ElBjHA;EeHE,YGsHF;;AHlHE;EG0GJ;IHzGM;;;AGmHJ;EACE;;AAGF;EACE,qBnB60B4B;EmBx0B1B;;AAKN;EACE,enBwzB8B;EmBvzB9B;;AAEA;EACE;EACA;;;AAKN;EACE;EACA,cnBsyBgC;;;AmBnyBlC;EACE;EACA;EACA;;AAIE;EACE;EACA;EACA,SnBspBwB;;;AmB/oB1B;EACE;;;ACnLN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIA;EAA0B,YpB8gCa;;AoB7gCvC;EAA0B,YpB6gCa;;AoB1gCzC;EACE;;AAGF;EACE,OpB+/BuC;EoB9/BvC,QpB8/BuC;EoB7/BvC;EACA;EH1BF,kBjBkCQ;EoBNN,QpB6/BuC;EC1gCvC;EeHE,YImBF;;AJfE;EIMJ;IJLM;;;AIgBJ;EHjCF,kBjB8hCyC;;AoBx/BzC;EACE,OpBw+B8B;EoBv+B9B,QpBw+B8B;EoBv+B9B;EACA,QpBu+B8B;EoBt+B9B,kBpBu+B8B;EoBt+B9B;EnB7BA;;AmBkCF;EACE,OpBo+BuC;EoBn+BvC,QpBm+BuC;EoBl+BvC;EHpDF,kBjBkCQ;EoBoBN,QpBm+BuC;EC1gCvC;EeHE,YI6CF;;AJzCE;EIiCJ;IJhCM;;;AI0CJ;EH3DF,kBjB8hCyC;;AoB99BzC;EACE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V;EAEE;EACA;EACA;E3BuRI,oBALI;E2BhRR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;E3BsQI,WALI;E2B/PR;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EvBjBE;EgBfF,kBOkCqB;ERtBjB,YQwBJ;;ARpBI;EQhBN;IRiBQ;;;AQqBN;EACE;EAEA;EACA;;AAGF;EAEE;EACA;EACA;;AAGF;EACE;EPrDF,kBOsDuB;EACrB;EACA;EAKE;;AAIJ;EACE;EACA;EAKE;;AAIJ;EAKE;EACA;EAGA;;AAGA;EAKI;;AAKN;EAKI;;AAIJ;EAGE;EACA;EACA;EAEA;EACA;;;AAYF;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADkGA;EC/GA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AD4HA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ADmGA;EChHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AD+GF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,iBxB8QwC;;AwBpQxC;EACE;;AAGF;EACE;;;AAWJ;ECjJE;EACA;E5B8NI,oBALI;E4BvNR;;;ADkJF;ECrJE;EACA;E5B8NI,oBALI;E4BvNR;;;ACnEF;EVgBM,YUfJ;;AVmBI;EUpBN;IVqBQ;;;AUlBN;EACE;;;AAMF;EACE;;;AAIJ;EACE;EACA;EVDI,YUEJ;;AVEI;EULN;IVMQ;;;AUDN;EACE;EACA;EVNE,YUOF;;AVHE;EUAJ;IVCM;;;;AWpBR;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAGF;EACE;;ACwBE;EACE;EACA,a5B6hBwB;E4B5hBxB,gB5B2hBwB;E4B1hBxB;EArCJ;EACA;EACA;EACA;;AA0DE;EACE;;;AD9CN;EAEE;EACA;EACA;EACA;EACA;E9BuQI,yBALI;E8BhQR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;E9B0OI,WALI;E8BnOR;EACA;EACA;EACA;EACA;EACA;E1BzCE;;A0B6CF;EACE;EACA;EACA;;;AAwBA;EACE;;AAEA;E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A;;AAEA;EAEE;;;AAUJ;EAEE;EACA;EAEA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;;AAGE;EAEE;;AAIJ;EACE;;;AASJ;EACE,a/B8gCkC;E+B7gClC,gB/B6gCkC;E+B5gClC;;AAEA;AAAA;AAAA;EAGE;;;AAaJ;EACE;EACA;EAGA;;;AAIF;EACE;ElCyII,WALI;EkClIR;EACA;EACA;EACA;E9BxIE;EeHE,Ye6IJ;;AfzII;EeiIN;IfhIQ;;;Ae0IN;EACE;;AAGF;EACE;EACA;EACA;;;AAMJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AvB1HE;EuBsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;If9NJ,YegOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AvB5LR;EuBsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;If9NJ,YegOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AvB5LR;EuBsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;If9NJ,YegOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AvB5LR;EuBsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;If9NJ,YegOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AvB5LR;EuBsIA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;If9NJ,YegOI;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AAtDR;EAEI;EACA;;AAEA;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;Ef9NJ,YegOI;;AAGA;EACE;;AAGF;EACE;EACA;EACA;EACA;;;AAiBZ;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAME;EACE;;;ACzRN;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E/BjBE;;A+BqBF;EACE;EACA;;AAGF;EACE;EACA;;AAEA;EACE;E/BtBF;EACA;;A+ByBA;EACE;E/BbF;EACA;;A+BmBF;AAAA;EAEE;;;AAIJ;EAGE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAQA;EACE;;;AAQJ;EACE;EACA;EACA;EACA;EACA;;AAEA;E/B7FE;;;A+BkGJ;EACE;EACA;EACA;EACA;;AAEA;E/BxGE;;;A+BkHJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;E/B1IE;;;A+B8IJ;AAAA;AAAA;EAGE;;;AAGF;AAAA;E/B3II;EACA;;;A+B+IJ;AAAA;E/BlII;EACA;;;A+B8IF;EACE;;AxB3HA;EwBuHJ;IAQI;IACA;;EAGA;IACE;IACA;;EAEA;IACE;IACA;;EAKA;I/B1KJ;IACA;;E+B4KM;AAAA;IAGE;;EAEF;AAAA;IAGE;;EAIJ;I/B3KJ;IACA;;E+B6KM;AAAA;IAGE;;EAEF;AAAA;IAGE;;;;ACnOZ;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EpC4PI,WALI;EoCrPR;EACA;EACA;EACA;EhCrBE;EgCuBF;EjB1BI,YiB2BJ;;AjBvBI;EiBUN;IjBTQ;;;AiBwBN;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EjBjDE,YiBkDF;;AjB9CE;EiBqCJ;IjBpCM;;;AiBgDN;EACE;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;;AAEA;EhC7DE;EACA;;AgC+DA;EhChEA;EACA;;AgCoEF;EACE;;AAIF;EhC5DE;EACA;;AgC+DE;EhChEF;EACA;;AgCoEA;EhCrEA;EACA;;;AgC0EJ;EACE;;;AASA;EACE;EACA;EhC9GA;;AgCiHA;EAAgB;;AAChB;EAAe;;AAGf;AAAA;AAAA;EhCrHA;;;AgCgIA;EACE;EACA;;;ACrJN;EAEE;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;ErC+QI,WALI;EqCxQR;EACA;EjCAE;;;AiCMF;EACE;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;;;ACrCJ;EAEE;EACA;EtC4RI,2BALI;EsCrRR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EhCpBA;EACA;;;AgCuBF;EACE;EACA;EACA;EtCgQI,WALI;EsCzPR;EACA;EACA;EACA;EnBpBI,YmBqBJ;;AnBjBI;EmBQN;InBPQ;;;AmBkBN;EACE;EACA;EAEA;EACA;;AAGF;EACE;EACA;EACA;EACA,SnC2uCgC;EmC1uChC;;AAGF;EAEE;EACA;ElBtDF,kBkBuDuB;EACrB;;AAGF;EAEE;EACA;EACA;EACA;;;AAKF;EACE,anC8sCgC;;AmCzsC9B;ElC9BF;EACA;;AkCmCE;ElClDF;EACA;;;AkCkEJ;EClGE;EACA;EvC0RI,2BALI;EuCnRR;;;ADmGF;ECtGE;EACA;EvC0RI,2BALI;EuCnRR;;;ACFF;EAEE;EACA;ExCuRI,sBALI;EwChRR;EACA;EACA;EAGA;EACA;ExC+QI,WALI;EwCxQR;EACA;EACA;EACA;EACA;EACA;EpCJE;;AoCSF;EACE;;;AAKJ;EACE;EACA;;;AChCF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;ErCHE;;;AqCQJ;EAEE;;;AAIF;EACE,atC6kB4B;EsC5kB5B;;;AAQF;EACE,etCs+C8B;;AsCn+C9B;EACE;EACA;EACA;EACA;EACA;;;AAQF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AAJF;EACE;EACA;EACA;EACA;;;AC5DF;EACE;IAAK;;;AAKT;AAAA;EAGE;E1CkRI,yBALI;E0C3QR;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;E1CsQI,WALI;E0C/PR;EtCRE;;;AsCaJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EvBxBI,YuByBJ;;AvBrBI;EuBYN;IvBXQ;;;;AuBuBR;EtBAE;EsBEA;;;AAGF;EACE;;;AAGF;EACE;;;AAIA;EACE;;AAGE;EAJJ;IAKM;;;;AC3DR;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EvCXE;;;AuCeJ;EACE;EACA;;AAEA;EAEE;EACA;;;AAQJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EvC9BE;EACA;;AuCiCF;EvCpBE;EACA;;AuCuBF;EAEE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAIF;EACE;;AAEA;EACE;EACA;;;AAUN;EACE;EACA;EACA;;AAIE;EAEE;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAaF;EACE;;AAGE;EvCzDJ;EAZA;;AuC0EI;EvC1EJ;EAYA;;AuCmEI;EACE;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;;AhCxFR;EgCgEA;IACE;;EAGE;IvCzDJ;IAZA;;EuC0EI;IvC1EJ;IAYA;;EuCmEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;AhCxFR;EgCgEA;IACE;;EAGE;IvCzDJ;IAZA;;EuC0EI;IvC1EJ;IAYA;;EuCmEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;AhCxFR;EgCgEA;IACE;;EAGE;IvCzDJ;IAZA;;EuC0EI;IvC1EJ;IAYA;;EuCmEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;AhCxFR;EgCgEA;IACE;;EAGE;IvCzDJ;IAZA;;EuC0EI;IvC1EJ;IAYA;;EuCmEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;AhCxFR;EgCgEA;IACE;;EAGE;IvCzDJ;IAZA;;EuC0EI;IvC1EJ;IAYA;;EuCmEI;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;;AAcZ;EvClJI;;AuCqJF;EACE;;AAEA;EACE;;;AAaJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAVF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AC9LJ;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA,OzCupD2B;EyCtpD3B,QzCspD2B;EyCrpD3B;EACA;EACA;EACA;EACA;ExCJE;EwCMF;;AAGA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EAEE;EACA;EACA;;;AAQJ;EAHE;;;AAOF;AAAA;EAEE;;;A3C3CE;E2CkCF;;;ACjDF;EAEE;EACA;EACA;EACA;EACA;E7CyRI,sBALI;E6ClRR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;E7C2QI,WALI;E6CpQR;EACA;EACA;EACA;EACA;EACA;EzCRE;;AyCWF;EACE;;AAGF;EACE;;;AAIJ;EACE;EAEA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EzChCE;EACA;;AyCkCF;EACE;EACA;;;AAIJ;EACE;EACA;;;AC9DF;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;;;AAOF;EACE;EACA;EACA;EAEA;;AAGA;EACE,W3Cm8CgC;EgBh/C9B,Y2B8CF;;A3B1CE;E2BwCJ;I3BvCM;;;A2B2CN;EACE,W3Cg8CgC;;A2C57ClC;EACE,W3C67CgC;;;A2Cz7CpC;EACE;;AAEA;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;E1CrFE;E0CyFF;;;AAIF;EAEE;EACA;EACA;EClHA;EACA;EACA;EACA,SDkH0B;ECjH1B;EACA;EACA,kBD+G4D;;AC5G5D;EAAS;;AACT;EAAS,SD2GiF;;;AAK5F;EACE;EACA;EACA;EACA;EACA;E1CrGE;EACA;;A0CuGF;EACE;EAEA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;;;AAKF;EACE;EAGA;EA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IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3C5BJ;E2C/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;A3CnCN;E2C5CF;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;InC5BA,YmC8BA;;;AnC1BA;EmCYJ;InCXM;;;ARuDJ;E2C5BE;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3C5BJ;E2C/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;A3CnCN;E2C5CF;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;InC5BA,YmC8BA;;;AnC1BA;EmCYJ;InCXM;;;ARuDJ;E2C5BE;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3C5BJ;E2C/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;A3CnCN;E2C5CF;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;InC5BA,YmC8BA;;;AnC1BA;EmCYJ;InCXM;;;ARuDJ;E2C5BE;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3C5BJ;E2C/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;A3CnCN;E2C5CF;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;InC5BA,YmC8BA;;;AnC1BA;EmCYJ;InCXM;;;ARuDJ;E2C5BE;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;;A3C5BJ;E2C/BF;IAiEM;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;IACA;IAEA;;;;AA/ER;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EnC5BA,YmC8BA;;AnC1BA;EmCYJ;InCXM;;;AmC2BF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EAEE;;AAGF;EAGE;;;AA2BR;EPpHE;EACA;EACA;EACA,S5C0mCkC;E4CzmClC;EACA;EACA,kB5CUS;;A4CPT;EAAS;;AACT;EAAS,S5Cm+CyB;;;AmDr3CpC;EACE;EACA;EACA;;AAEA;EACE;EAEA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;ACjJF;EACE;EACA;EACA;EACA;EACA;EACA,SpDgzCkC;;AoD9yClC;EACE;EACA;;;AAKJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKA;EACE;;;AAIJ;EACE;IACE,SpDmxCgC;;;AoD/wCpC;EACE;EACA;EACA;;;AAGF;EACE;IACE;;;AH9CF;EACE;EACA;EACA;;;AIHF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;ACFF;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AATN;EACE;EACA;;AAGE;EAGE;EACA;;;AAOR;EACE;EACA;;AAGE;EAEE;EACA;;;AC1BN;EACE;EAEA;;;ACHF;EACE;EACA,KxD6c4B;EwD5c5B;EACA;EACA,uBxD2c4B;EwD1c5B;;AAEA;EACE;EACA,OxDuc0B;EwDtc1B,QxDsc0B;EwDrc1B;ExCIE,YwCHF;;AxCOE;EwCZJ;IxCaM;;;;AwCDJ;EACE;;;ACnBN;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAKF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;ACrBJ;EACE;EACA;EACA;EACA;EACA,S1DumCkC;;;A0DpmCpC;EACE;EACA;EACA;EACA;EACA,S1D+lCkC;;;A0DvlChC;EACE;EACA;EACA,S1DmlC8B;;;A0DhlChC;EACE;EACA;EACA,S1D6kC8B;;;AQ9iChC;EkDxCA;IACE;IACA;IACA,S1DmlC8B;;E0DhlChC;IACE;IACA;IACA,S1D6kC8B;;;AQ9iChC;EkDxCA;IACE;IACA;IACA,S1DmlC8B;;E0DhlChC;IACE;IACA;IACA,S1D6kC8B;;;AQ9iChC;EkDxCA;IACE;IACA;IACA,S1DmlC8B;;E0DhlChC;IACE;IACA;IACA,S1D6kC8B;;;AQ9iChC;EkDxCA;IACE;IACA;IACA,S1DmlC8B;;E0DhlChC;IACE;IACA;IACA,S1D6kC8B;;;AQ9iChC;EkDxCA;IACE;IACA;IACA,S1DmlC8B;;E0DhlChC;IACE;IACA;IACA,S1D6kC8B;;;A2D5mCpC;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;ACRF;AAAA;ECIE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;AAAA;EACE;;AAIF;AAAA;EACE;;;ACnBF;EACE;EACA;EACA;EACA;EACA;EACA,S9DgcsC;E8D/btC;;;ACRJ;ECAE;EACA;EACA;;;ACNF;EACE;EACA;EACA,OjEisB4B;EiEhsB5B;EACA;EACA,SjE2rB4B;;;AkE/nBtB;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAjBJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AASF;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAIQ;EAGJ;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAjBJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AASF;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;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APJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;EAAA;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;AAPJ;EAOI;;;A1DVR;E0DGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;A1DVR;E0DGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;A1DVR;E0DGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;A1DVR;E0DGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;A1DVR;E0DGI;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;ACtDZ;ED+CQ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;ACnCZ;ED4BQ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;;AExEZ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AC7FF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;ACpIF;ACEA;AAAA;EAEE;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE,aCRU;;;ADYZ;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAME,aCtCc;EDuCd;;;AEzCA;EACE;EACA;;;ACAF;EACE;EACA;EACA;EACA;EACA;;;AAIA;EACE;;;ACVJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAKF;EACE;;;ACpBF;EACE;;;ACHN;EACE;EACA;;;AAEA;EAEE;;;ACLF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEA;EACE;;;ACNJ;EACE;EACA,QCHa;EDIb;EACA;EACA;EACA;EACA;EACA,QCVW;EDWX;EACA;EACA;EACA;EACA;EACA,OChBW;;;ACDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACFA;EACE;;;AAIA;EACE;;;AAGF;EACE;;;AChBN;EACE;EACA;EACA;;;ACJJ;EACE;IACE;;EAGF;IACE;;;ACHF;EACE;EACA;;;ACAE;EACE;EACA;EACA;;;AAEA;EACE;EACA;;;ACXR;EACE;;;ACEA;EACE;;;ACkBJ;EACE,YCpBS;EDqBT,QAfY;EAgBZ;EACA,SAhBa;EAiBb;EACA;EACA;EACA;EAGE,SApBI;EAwBJ;EACA,eA3BiB;EA4BjB;EACA;EACA,QAnCQ;EAoCR,OApCQ;;;AA2CV;EACE,MCnDC;EDoDD,QAjDC;EAkDD,OAlDC;;;AAyDH;EAEI,SA/CQ;;;AA6DZ;EAEI,SA9DW;;;AAkEf;EErEF,SAXQ;EAYR,gBAXe;;;AFmFb;EACE,MAtEC;;;AAwED;EACE;;;AAIJ;EACE,OA7EE;;;AAkFJ;EEvFF,SAXQ;EAYR,gBAXe;;;ACkBf;EACE,QAnBK;EAoBL;EACA;EACA;EACA;EACA;;;AAEA;EACE,YF1BO;EE2BP,QAtBO;EAuBP,eAtBc;EAuBd;EACA,QA7BO;EA8BP,QAxBO;EAyBP,SAxBQ;EAyBR;EACA,YAvBW;EAwBX,OAnCM;EAsCJ,SA7BM;;;AAgCR;EACE,YFzCY;EE0CZ;EAGE,WAlCa;;;AAsCjB;EACE;EAGE,SA5CU;;;AAoDd;EDrDJ,SAXQ;EAYR,gBAXe;;;ACuEX;ED7DJ,SAXQ;EAYR,gBAXe;;;AEIb;EACE,YHJO;EGKP,Q7FqhD8B;;;A8FrhDlC;EACE;;;AAOA;EACE;;;AHAJ;EGGE;IHRF,SAXQ;IAYR,gBAVqB;;;AGiBnB;AHCF;;;AAfA;EGcE;IHGA,QAtBM;;;AAgBR;EGSE;IHdF,SAXQ;IAYR,gBAVqB;;;AGuBnB;AHLF;;;AAfA;EGoBE;IHHA,QAtBM;;;AAKR;EG0BM;IAEI,cJ5BJ;;;AKFN;EACE;;;AAEA;EJKF,SAXQ;EAYR,gBAXe;;;AIWb;EJDF,SAXQ;EAYR,gBAXe;;;AKWX;EACE,QAZC;EAaD;;;AAUA;EACE,QAvBM;;;ACIV;EACE;EACA,OAVM;;;AAYN;EACE;;;AAIJ;EACE,MAjBK;EAkBL;;;AAEA;EACE;;;ACXN;EACE;EACA;;;AAEA;EACE,KAhBI;;;AAkBJ;EACE;;;AAIJ;EACE,QAvBO;EAwBP;;;AAEA;EACE;;;AAMR;EACE;EACA;EACA;EACA,MApCc;EAqCd;EACA,OArCe;EAsCf;;;AdzCJ;EACE;IACE;;EAGF;IACE;;;ACHF;EACE;EACA;;;ACAE;EACE;EACA;EACA;;;AAEA;EACE;EACA;;;ACXR;EACE;;;ACEA;EACE;;;AfJJ;EACE;EACA;;;ACAF;EACE;EACA;EACA;EACA;EACA;;;AAIA;EACE;;;ACVJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAKF;EACE;;;ACpBF;EACE;;;ACHN;EACE;EACA;;;AAEA;EAEE;;;ACLF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEA;EACE;;;ACNJ;EACE;EACA,QCHa;EDIb;EACA;EACA;EACA;EACA;EACA,QCVW;EDWX;EACA;EACA;EACA;EACA;EACA,OChBW;;;ACDb;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACFA;EACE;;;AAIA;EACE;;;AAGF;EACE;;;AChBN;EACE;EACA;EACA;;;AgBJJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA;EACE;EACA;EACA;EACA,YACE;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;AAAA;IAEE;IACA;IACA;IACA;IACA;;;ACrFJ;EACE,Y9BSgB;E8BRhB,Y9BSqB;E8BRrB;;AACA;EACE,O9BGU;;A8BFV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAIE;EACA,O9BNI;E8BOJ;EACA;EACA;;;ACdN;EACE;EAEA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAfJ;EAkBE;EACA;;AAEA;EACE;EACA,kB/BrBM;E+BsBN;EACA;EACA;;AAEE;EACE;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AATJ;EAYE;EACA;;AACA;EACE;EACA;EACA;;;AC5DV;EACE;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;ACXJ;EACE,kBjCIQ;;AiCFR;EACE;EACA;EACA;;AAGF;EACE;;AAKA;AAAA;AAAA;EACE;;AAIJ;EACE;EAEA;;AAEE;EACE;EACA;EACA;EACA,OjCrBM;EiCsBN;EACA;;AACA;EAEE,kBjC1BI;EiC2BJ,OjC9BA;;AiCoCR;EACE;EACA;;AAEE;EACE;EACA,kBjC1CE;EiC2CF,OjCxCM;EiCyCN;EACA;;AACA;EAEE,kBjC7CI;EiC8CJ,OjCjDA;;;AkCJR;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;AAKF;EACE;;AAGA;EACE;;AACA;EACE;;AAMJ;EACE;;AACA;EAFF;IAGI","file":"main.css"} \ No newline at end of file diff --git a/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-500.woff2 b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-500.woff2 new file mode 100644 index 0000000..64d6e11 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-500.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-500italic.woff2 b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-500italic.woff2 new file mode 100644 index 0000000..8e3e680 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-500italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-600.woff2 b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-600.woff2 new file mode 100644 index 0000000..c19fbc1 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-600.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-600italic.woff2 b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-600italic.woff2 new file mode 100644 index 0000000..78abff9 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-600italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-700.woff2 b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-700.woff2 new file mode 100644 index 0000000..39eefe0 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-700.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-700italic.woff2 b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-700italic.woff2 new file mode 100644 index 0000000..d7f6b28 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-700italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-800.woff2 b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-800.woff2 new file mode 100644 index 0000000..1128d50 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-800.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-800italic.woff2 b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-800italic.woff2 new file mode 100644 index 0000000..dc86c01 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-800italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-900.woff2 b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-900.woff2 new file mode 100644 index 0000000..87eff24 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-900.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-900italic.woff2 b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-900italic.woff2 new file mode 100644 index 0000000..61fa874 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-900italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-italic.woff2 b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-italic.woff2 new file mode 100644 index 0000000..30828de Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-regular.woff2 b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-regular.woff2 new file mode 100644 index 0000000..141ea84 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/playfair-display-v40-latin/playfair-display-v40-latin-regular.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200.woff2 new file mode 100644 index 0000000..1a88824 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200italic.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200italic.woff2 new file mode 100644 index 0000000..24c53f0 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-200italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300.woff2 new file mode 100644 index 0000000..b47991a Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300italic.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300italic.woff2 new file mode 100644 index 0000000..e24cd5a Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-300italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500.woff2 new file mode 100644 index 0000000..5918916 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500italic.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500italic.woff2 new file mode 100644 index 0000000..0706a1f Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-500italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600.woff2 new file mode 100644 index 0000000..9351177 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600italic.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600italic.woff2 new file mode 100644 index 0000000..b216f26 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-600italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700.woff2 new file mode 100644 index 0000000..3cb944c Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700italic.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700italic.woff2 new file mode 100644 index 0000000..f9a6d5f Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-700italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800.woff2 new file mode 100644 index 0000000..cd37781 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800italic.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800italic.woff2 new file mode 100644 index 0000000..7f43c11 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-800italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900.woff2 new file mode 100644 index 0000000..c3ac211 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900italic.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900italic.woff2 new file mode 100644 index 0000000..cc339ed Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-900italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-italic.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-italic.woff2 new file mode 100644 index 0000000..515b6b3 Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-italic.woff2 differ diff --git a/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-regular.woff2 b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-regular.woff2 new file mode 100644 index 0000000..0c4242e Binary files /dev/null and b/webseite-ts/frontend/assets/fonts/source-sans-3-v19-latin/source-sans-3-v19-latin-regular.woff2 differ diff --git a/webseite-ts/frontend/assets/img/donkey-logo.min.svg b/webseite-ts/frontend/assets/img/donkey-logo.min.svg new file mode 100644 index 0000000..190368f --- /dev/null +++ b/webseite-ts/frontend/assets/img/donkey-logo.min.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/webseite-ts/frontend/assets/img/donkey-logo.svg b/webseite-ts/frontend/assets/img/donkey-logo.svg new file mode 100644 index 0000000..ae915af --- /dev/null +++ b/webseite-ts/frontend/assets/img/donkey-logo.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/webseite-ts/frontend/assets/img/header-image.webp b/webseite-ts/frontend/assets/img/header-image.webp new file mode 100644 index 0000000..c35aaf5 Binary files /dev/null and b/webseite-ts/frontend/assets/img/header-image.webp differ diff --git a/webseite-ts/frontend/assets/img/slider/slide-01.webp b/webseite-ts/frontend/assets/img/slider/slide-01.webp new file mode 100644 index 0000000..4520581 Binary files /dev/null and b/webseite-ts/frontend/assets/img/slider/slide-01.webp differ diff --git a/webseite-ts/frontend/assets/img/slider/slide-02.webp b/webseite-ts/frontend/assets/img/slider/slide-02.webp new file mode 100644 index 0000000..1455d34 Binary files /dev/null and b/webseite-ts/frontend/assets/img/slider/slide-02.webp differ diff --git a/webseite-ts/frontend/assets/img/slider/slide-03.webp b/webseite-ts/frontend/assets/img/slider/slide-03.webp new file mode 100644 index 0000000..d627dca Binary files /dev/null and b/webseite-ts/frontend/assets/img/slider/slide-03.webp differ diff --git a/webseite-ts/frontend/assets/js/build.js b/webseite-ts/frontend/assets/js/build.js new file mode 100644 index 0000000..37ff18b --- /dev/null +++ b/webseite-ts/frontend/assets/js/build.js @@ -0,0 +1,8586 @@ +(() => { + var __create = Object.create; + var __defProp = Object.defineProperty; + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; + var __getOwnPropNames = Object.getOwnPropertyNames; + var __getProtoOf = Object.getPrototypeOf; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __commonJS = (cb, mod) => function __require() { + try { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + } catch (e) { + throw mod = 0, e; + } + }; + var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; + }; + var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod + )); + + // node_modules/toastify-js/src/toastify.js + var require_toastify = __commonJS({ + "node_modules/toastify-js/src/toastify.js"(exports, module) { + (function(root, factory) { + if (typeof module === "object" && module.exports) { + module.exports = factory(); + } else { + root.Toastify = factory(); + } + })(exports, function(global) { + var Toastify2 = function(options) { + return new Toastify2.lib.init(options); + }, version = "1.12.0"; + Toastify2.defaults = { + oldestFirst: true, + text: "Toastify is awesome!", + node: void 0, + duration: 3e3, + selector: void 0, + callback: function() { + }, + destination: void 0, + newWindow: false, + close: false, + gravity: "toastify-top", + positionLeft: false, + position: "", + backgroundColor: "", + avatar: "", + className: "", + stopOnFocus: true, + onClick: function() { + }, + offset: { x: 0, y: 0 }, + escapeMarkup: true, + ariaLive: "polite", + style: { background: "" } + }; + Toastify2.lib = Toastify2.prototype = { + toastify: version, + constructor: Toastify2, + // Initializing the object with required parameters + init: function(options) { + if (!options) { + options = {}; + } + this.options = {}; + this.toastElement = null; + this.options.text = options.text || Toastify2.defaults.text; + this.options.node = options.node || Toastify2.defaults.node; + this.options.duration = options.duration === 0 ? 0 : options.duration || Toastify2.defaults.duration; + this.options.selector = options.selector || Toastify2.defaults.selector; + this.options.callback = options.callback || Toastify2.defaults.callback; + this.options.destination = options.destination || Toastify2.defaults.destination; + this.options.newWindow = options.newWindow || Toastify2.defaults.newWindow; + this.options.close = options.close || Toastify2.defaults.close; + this.options.gravity = options.gravity === "bottom" ? "toastify-bottom" : Toastify2.defaults.gravity; + this.options.positionLeft = options.positionLeft || Toastify2.defaults.positionLeft; + this.options.position = options.position || Toastify2.defaults.position; + this.options.backgroundColor = options.backgroundColor || Toastify2.defaults.backgroundColor; + this.options.avatar = options.avatar || Toastify2.defaults.avatar; + this.options.className = options.className || Toastify2.defaults.className; + this.options.stopOnFocus = options.stopOnFocus === void 0 ? Toastify2.defaults.stopOnFocus : options.stopOnFocus; + this.options.onClick = options.onClick || Toastify2.defaults.onClick; + this.options.offset = options.offset || Toastify2.defaults.offset; + this.options.escapeMarkup = options.escapeMarkup !== void 0 ? options.escapeMarkup : Toastify2.defaults.escapeMarkup; + this.options.ariaLive = options.ariaLive || Toastify2.defaults.ariaLive; + this.options.style = options.style || Toastify2.defaults.style; + if (options.backgroundColor) { + this.options.style.background = options.backgroundColor; + } + return this; + }, + // Building the DOM element + buildToast: function() { + if (!this.options) { + throw "Toastify is not initialized"; + } + var divElement = document.createElement("div"); + divElement.className = "toastify on " + this.options.className; + if (!!this.options.position) { + divElement.className += " toastify-" + this.options.position; + } else { + if (this.options.positionLeft === true) { + divElement.className += " toastify-left"; + console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead."); + } else { + divElement.className += " toastify-right"; + } + } + divElement.className += " " + this.options.gravity; + if (this.options.backgroundColor) { + console.warn('DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property.'); + } + for (var property in this.options.style) { + divElement.style[property] = this.options.style[property]; + } + if (this.options.ariaLive) { + divElement.setAttribute("aria-live", this.options.ariaLive); + } + if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) { + divElement.appendChild(this.options.node); + } else { + if (this.options.escapeMarkup) { + divElement.innerText = this.options.text; + } else { + divElement.innerHTML = this.options.text; + } + if (this.options.avatar !== "") { + var avatarElement = document.createElement("img"); + avatarElement.src = this.options.avatar; + avatarElement.className = "toastify-avatar"; + if (this.options.position == "left" || this.options.positionLeft === true) { + divElement.appendChild(avatarElement); + } else { + divElement.insertAdjacentElement("afterbegin", avatarElement); + } + } + } + if (this.options.close === true) { + var closeElement = document.createElement("button"); + closeElement.type = "button"; + closeElement.setAttribute("aria-label", "Close"); + closeElement.className = "toast-close"; + closeElement.innerHTML = "✖"; + closeElement.addEventListener( + "click", + function(event) { + event.stopPropagation(); + this.removeElement(this.toastElement); + window.clearTimeout(this.toastElement.timeOutValue); + }.bind(this) + ); + var width = window.innerWidth > 0 ? window.innerWidth : screen.width; + if ((this.options.position == "left" || this.options.positionLeft === true) && width > 360) { + divElement.insertAdjacentElement("afterbegin", closeElement); + } else { + divElement.appendChild(closeElement); + } + } + if (this.options.stopOnFocus && this.options.duration > 0) { + var self = this; + divElement.addEventListener( + "mouseover", + function(event) { + window.clearTimeout(divElement.timeOutValue); + } + ); + divElement.addEventListener( + "mouseleave", + function() { + divElement.timeOutValue = window.setTimeout( + function() { + self.removeElement(divElement); + }, + self.options.duration + ); + } + ); + } + if (typeof this.options.destination !== "undefined") { + divElement.addEventListener( + "click", + function(event) { + event.stopPropagation(); + if (this.options.newWindow === true) { + window.open(this.options.destination, "_blank"); + } else { + window.location = this.options.destination; + } + }.bind(this) + ); + } + if (typeof this.options.onClick === "function" && typeof this.options.destination === "undefined") { + divElement.addEventListener( + "click", + function(event) { + event.stopPropagation(); + this.options.onClick(); + }.bind(this) + ); + } + if (typeof this.options.offset === "object") { + var x = getAxisOffsetAValue("x", this.options); + var y = getAxisOffsetAValue("y", this.options); + var xOffset = this.options.position == "left" ? x : "-" + x; + var yOffset = this.options.gravity == "toastify-top" ? y : "-" + y; + divElement.style.transform = "translate(" + xOffset + "," + yOffset + ")"; + } + return divElement; + }, + // Displaying the toast + showToast: function() { + this.toastElement = this.buildToast(); + var rootElement; + if (typeof this.options.selector === "string") { + rootElement = document.getElementById(this.options.selector); + } else if (this.options.selector instanceof HTMLElement || typeof ShadowRoot !== "undefined" && this.options.selector instanceof ShadowRoot) { + rootElement = this.options.selector; + } else { + rootElement = document.body; + } + if (!rootElement) { + throw "Root element is not defined"; + } + var elementToInsert = Toastify2.defaults.oldestFirst ? rootElement.firstChild : rootElement.lastChild; + rootElement.insertBefore(this.toastElement, elementToInsert); + Toastify2.reposition(); + if (this.options.duration > 0) { + this.toastElement.timeOutValue = window.setTimeout( + function() { + this.removeElement(this.toastElement); + }.bind(this), + this.options.duration + ); + } + return this; + }, + hideToast: function() { + if (this.toastElement.timeOutValue) { + clearTimeout(this.toastElement.timeOutValue); + } + this.removeElement(this.toastElement); + }, + // Removing the element from the DOM + removeElement: function(toastElement) { + toastElement.className = toastElement.className.replace(" on", ""); + window.setTimeout( + function() { + if (this.options.node && this.options.node.parentNode) { + this.options.node.parentNode.removeChild(this.options.node); + } + if (toastElement.parentNode) { + toastElement.parentNode.removeChild(toastElement); + } + this.options.callback.call(toastElement); + Toastify2.reposition(); + }.bind(this), + 400 + ); + } + }; + Toastify2.reposition = function() { + var topLeftOffsetSize = { + top: 15, + bottom: 15 + }; + var topRightOffsetSize = { + top: 15, + bottom: 15 + }; + var offsetSize = { + top: 15, + bottom: 15 + }; + var allToasts = document.getElementsByClassName("toastify"); + var classUsed; + for (var i = 0; i < allToasts.length; i++) { + if (containsClass(allToasts[i], "toastify-top") === true) { + classUsed = "toastify-top"; + } else { + classUsed = "toastify-bottom"; + } + var height = allToasts[i].offsetHeight; + classUsed = classUsed.substr(9, classUsed.length - 1); + var offset2 = 15; + var width = window.innerWidth > 0 ? window.innerWidth : screen.width; + if (width <= 360) { + allToasts[i].style[classUsed] = offsetSize[classUsed] + "px"; + offsetSize[classUsed] += height + offset2; + } else { + if (containsClass(allToasts[i], "toastify-left") === true) { + allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + "px"; + topLeftOffsetSize[classUsed] += height + offset2; + } else { + allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + "px"; + topRightOffsetSize[classUsed] += height + offset2; + } + } + } + return this; + }; + function getAxisOffsetAValue(axis, options) { + if (options.offset[axis]) { + if (isNaN(options.offset[axis])) { + return options.offset[axis]; + } else { + return options.offset[axis] + "px"; + } + } + return "0px"; + } + function containsClass(elem, yourClass) { + if (!elem || typeof yourClass !== "string") { + return false; + } else if (elem.className && elem.className.trim().split(/\s+/gi).indexOf(yourClass) > -1) { + return true; + } else { + return false; + } + } + Toastify2.lib.init.prototype = Toastify2.lib; + return Toastify2; + }); + } + }); + + // node_modules/@popperjs/core/lib/index.js + var lib_exports = {}; + __export(lib_exports, { + afterMain: () => afterMain, + afterRead: () => afterRead, + afterWrite: () => afterWrite, + applyStyles: () => applyStyles_default, + arrow: () => arrow_default, + auto: () => auto, + basePlacements: () => basePlacements, + beforeMain: () => beforeMain, + beforeRead: () => beforeRead, + beforeWrite: () => beforeWrite, + bottom: () => bottom, + clippingParents: () => clippingParents, + computeStyles: () => computeStyles_default, + createPopper: () => createPopper3, + createPopperBase: () => createPopper, + createPopperLite: () => createPopper2, + detectOverflow: () => detectOverflow, + end: () => end, + eventListeners: () => eventListeners_default, + flip: () => flip_default, + hide: () => hide_default, + left: () => left, + main: () => main, + modifierPhases: () => modifierPhases, + offset: () => offset_default, + placements: () => placements, + popper: () => popper, + popperGenerator: () => popperGenerator, + popperOffsets: () => popperOffsets_default, + preventOverflow: () => preventOverflow_default, + read: () => read, + reference: () => reference, + right: () => right, + start: () => start, + top: () => top, + variationPlacements: () => variationPlacements, + viewport: () => viewport, + write: () => write + }); + + // node_modules/@popperjs/core/lib/enums.js + var top = "top"; + var bottom = "bottom"; + var right = "right"; + var left = "left"; + var auto = "auto"; + var basePlacements = [top, bottom, right, left]; + var start = "start"; + var end = "end"; + var clippingParents = "clippingParents"; + var viewport = "viewport"; + var popper = "popper"; + var reference = "reference"; + var variationPlacements = /* @__PURE__ */ basePlacements.reduce(function(acc, placement) { + return acc.concat([placement + "-" + start, placement + "-" + end]); + }, []); + var placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) { + return acc.concat([placement, placement + "-" + start, placement + "-" + end]); + }, []); + var beforeRead = "beforeRead"; + var read = "read"; + var afterRead = "afterRead"; + var beforeMain = "beforeMain"; + var main = "main"; + var afterMain = "afterMain"; + var beforeWrite = "beforeWrite"; + var write = "write"; + var afterWrite = "afterWrite"; + var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; + + // node_modules/@popperjs/core/lib/dom-utils/getNodeName.js + function getNodeName(element) { + return element ? (element.nodeName || "").toLowerCase() : null; + } + + // node_modules/@popperjs/core/lib/dom-utils/getWindow.js + function getWindow(node) { + if (node == null) { + return window; + } + if (node.toString() !== "[object Window]") { + var ownerDocument = node.ownerDocument; + return ownerDocument ? ownerDocument.defaultView || window : window; + } + return node; + } + + // node_modules/@popperjs/core/lib/dom-utils/instanceOf.js + function isElement(node) { + var OwnElement = getWindow(node).Element; + return node instanceof OwnElement || node instanceof Element; + } + function isHTMLElement(node) { + var OwnElement = getWindow(node).HTMLElement; + return node instanceof OwnElement || node instanceof HTMLElement; + } + function isShadowRoot(node) { + if (typeof ShadowRoot === "undefined") { + return false; + } + var OwnElement = getWindow(node).ShadowRoot; + return node instanceof OwnElement || node instanceof ShadowRoot; + } + + // node_modules/@popperjs/core/lib/modifiers/applyStyles.js + function applyStyles(_ref) { + var state = _ref.state; + Object.keys(state.elements).forEach(function(name) { + var style2 = state.styles[name] || {}; + var attributes = state.attributes[name] || {}; + var element = state.elements[name]; + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style2); + Object.keys(attributes).forEach(function(name2) { + var value = attributes[name2]; + if (value === false) { + element.removeAttribute(name2); + } else { + element.setAttribute(name2, value === true ? "" : value); + } + }); + }); + } + function effect(_ref2) { + var state = _ref2.state; + var initialStyles = { + popper: { + position: state.options.strategy, + left: "0", + top: "0", + margin: "0" + }, + arrow: { + position: "absolute" + }, + reference: {} + }; + Object.assign(state.elements.popper.style, initialStyles.popper); + state.styles = initialStyles; + if (state.elements.arrow) { + Object.assign(state.elements.arrow.style, initialStyles.arrow); + } + return function() { + Object.keys(state.elements).forEach(function(name) { + var element = state.elements[name]; + var attributes = state.attributes[name] || {}; + var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); + var style2 = styleProperties.reduce(function(style3, property) { + style3[property] = ""; + return style3; + }, {}); + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style2); + Object.keys(attributes).forEach(function(attribute) { + element.removeAttribute(attribute); + }); + }); + }; + } + var applyStyles_default = { + name: "applyStyles", + enabled: true, + phase: "write", + fn: applyStyles, + effect, + requires: ["computeStyles"] + }; + + // node_modules/@popperjs/core/lib/utils/getBasePlacement.js + function getBasePlacement(placement) { + return placement.split("-")[0]; + } + + // node_modules/@popperjs/core/lib/utils/math.js + var max = Math.max; + var min = Math.min; + var round = Math.round; + + // node_modules/@popperjs/core/lib/utils/userAgent.js + function getUAString() { + var uaData = navigator.userAgentData; + if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) { + return uaData.brands.map(function(item) { + return item.brand + "/" + item.version; + }).join(" "); + } + return navigator.userAgent; + } + + // node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js + function isLayoutViewport() { + return !/^((?!chrome|android).)*safari/i.test(getUAString()); + } + + // node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js + function getBoundingClientRect(element, includeScale, isFixedStrategy) { + if (includeScale === void 0) { + includeScale = false; + } + if (isFixedStrategy === void 0) { + isFixedStrategy = false; + } + var clientRect = element.getBoundingClientRect(); + var scaleX = 1; + var scaleY = 1; + if (includeScale && isHTMLElement(element)) { + scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1; + scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1; + } + var _ref = isElement(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport; + var addVisualOffsets = !isLayoutViewport() && isFixedStrategy; + var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; + var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; + var width = clientRect.width / scaleX; + var height = clientRect.height / scaleY; + return { + width, + height, + top: y, + right: x + width, + bottom: y + height, + left: x, + x, + y + }; + } + + // node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js + function getLayoutRect(element) { + var clientRect = getBoundingClientRect(element); + var width = element.offsetWidth; + var height = element.offsetHeight; + if (Math.abs(clientRect.width - width) <= 1) { + width = clientRect.width; + } + if (Math.abs(clientRect.height - height) <= 1) { + height = clientRect.height; + } + return { + x: element.offsetLeft, + y: element.offsetTop, + width, + height + }; + } + + // node_modules/@popperjs/core/lib/dom-utils/contains.js + function contains(parent, child2) { + var rootNode = child2.getRootNode && child2.getRootNode(); + if (parent.contains(child2)) { + return true; + } else if (rootNode && isShadowRoot(rootNode)) { + var next = child2; + do { + if (next && parent.isSameNode(next)) { + return true; + } + next = next.parentNode || next.host; + } while (next); + } + return false; + } + + // node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js + function getComputedStyle2(element) { + return getWindow(element).getComputedStyle(element); + } + + // node_modules/@popperjs/core/lib/dom-utils/isTableElement.js + function isTableElement(element) { + return ["table", "td", "th"].indexOf(getNodeName(element)) >= 0; + } + + // node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js + function getDocumentElement(element) { + return ((isElement(element) ? element.ownerDocument : ( + // $FlowFixMe[prop-missing] + element.document + )) || window.document).documentElement; + } + + // node_modules/@popperjs/core/lib/dom-utils/getParentNode.js + function getParentNode(element) { + if (getNodeName(element) === "html") { + return element; + } + return ( + // this is a quicker (but less type safe) way to save quite some bytes from the bundle + // $FlowFixMe[incompatible-return] + // $FlowFixMe[prop-missing] + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || // DOM Element detected + (isShadowRoot(element) ? element.host : null) || // ShadowRoot detected + // $FlowFixMe[incompatible-call]: HTMLElement is a Node + getDocumentElement(element) + ); + } + + // node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js + function getTrueOffsetParent(element) { + if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837 + getComputedStyle2(element).position === "fixed") { + return null; + } + return element.offsetParent; + } + function getContainingBlock(element) { + var isFirefox = /firefox/i.test(getUAString()); + var isIE = /Trident/i.test(getUAString()); + if (isIE && isHTMLElement(element)) { + var elementCss = getComputedStyle2(element); + if (elementCss.position === "fixed") { + return null; + } + } + var currentNode = getParentNode(element); + if (isShadowRoot(currentNode)) { + currentNode = currentNode.host; + } + while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) { + var css = getComputedStyle2(currentNode); + if (css.transform !== "none" || css.perspective !== "none" || css.contain === "paint" || ["transform", "perspective"].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === "filter" || isFirefox && css.filter && css.filter !== "none") { + return currentNode; + } else { + currentNode = currentNode.parentNode; + } + } + return null; + } + function getOffsetParent(element) { + var window2 = getWindow(element); + var offsetParent = getTrueOffsetParent(element); + while (offsetParent && isTableElement(offsetParent) && getComputedStyle2(offsetParent).position === "static") { + offsetParent = getTrueOffsetParent(offsetParent); + } + if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle2(offsetParent).position === "static")) { + return window2; + } + return offsetParent || getContainingBlock(element) || window2; + } + + // node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js + function getMainAxisFromPlacement(placement) { + return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y"; + } + + // node_modules/@popperjs/core/lib/utils/within.js + function within(min3, value, max3) { + return max(min3, min(value, max3)); + } + function withinMaxClamp(min3, value, max3) { + var v = within(min3, value, max3); + return v > max3 ? max3 : v; + } + + // node_modules/@popperjs/core/lib/utils/getFreshSideObject.js + function getFreshSideObject() { + return { + top: 0, + right: 0, + bottom: 0, + left: 0 + }; + } + + // node_modules/@popperjs/core/lib/utils/mergePaddingObject.js + function mergePaddingObject(paddingObject) { + return Object.assign({}, getFreshSideObject(), paddingObject); + } + + // node_modules/@popperjs/core/lib/utils/expandToHashMap.js + function expandToHashMap(value, keys) { + return keys.reduce(function(hashMap, key) { + hashMap[key] = value; + return hashMap; + }, {}); + } + + // node_modules/@popperjs/core/lib/modifiers/arrow.js + var toPaddingObject = function toPaddingObject2(padding, state) { + padding = typeof padding === "function" ? padding(Object.assign({}, state.rects, { + placement: state.placement + })) : padding; + return mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements)); + }; + function arrow(_ref) { + var _state$modifiersData$; + var state = _ref.state, name = _ref.name, options = _ref.options; + var arrowElement = state.elements.arrow; + var popperOffsets2 = state.modifiersData.popperOffsets; + var basePlacement = getBasePlacement(state.placement); + var axis = getMainAxisFromPlacement(basePlacement); + var isVertical = [left, right].indexOf(basePlacement) >= 0; + var len = isVertical ? "height" : "width"; + if (!arrowElement || !popperOffsets2) { + return; + } + var paddingObject = toPaddingObject(options.padding, state); + var arrowRect = getLayoutRect(arrowElement); + var minProp = axis === "y" ? top : left; + var maxProp = axis === "y" ? bottom : right; + var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets2[axis] - state.rects.popper[len]; + var startDiff = popperOffsets2[axis] - state.rects.reference[axis]; + var arrowOffsetParent = getOffsetParent(arrowElement); + var clientSize = arrowOffsetParent ? axis === "y" ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; + var centerToReference = endDiff / 2 - startDiff / 2; + var min3 = paddingObject[minProp]; + var max3 = clientSize - arrowRect[len] - paddingObject[maxProp]; + var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; + var offset2 = within(min3, center, max3); + var axisProp = axis; + state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset2, _state$modifiersData$.centerOffset = offset2 - center, _state$modifiersData$); + } + function effect2(_ref2) { + var state = _ref2.state, options = _ref2.options; + var _options$element = options.element, arrowElement = _options$element === void 0 ? "[data-popper-arrow]" : _options$element; + if (arrowElement == null) { + return; + } + if (typeof arrowElement === "string") { + arrowElement = state.elements.popper.querySelector(arrowElement); + if (!arrowElement) { + return; + } + } + if (!contains(state.elements.popper, arrowElement)) { + return; + } + state.elements.arrow = arrowElement; + } + var arrow_default = { + name: "arrow", + enabled: true, + phase: "main", + fn: arrow, + effect: effect2, + requires: ["popperOffsets"], + requiresIfExists: ["preventOverflow"] + }; + + // node_modules/@popperjs/core/lib/utils/getVariation.js + function getVariation(placement) { + return placement.split("-")[1]; + } + + // node_modules/@popperjs/core/lib/modifiers/computeStyles.js + var unsetSides = { + top: "auto", + right: "auto", + bottom: "auto", + left: "auto" + }; + function roundOffsetsByDPR(_ref, win) { + var x = _ref.x, y = _ref.y; + var dpr = win.devicePixelRatio || 1; + return { + x: round(x * dpr) / dpr || 0, + y: round(y * dpr) / dpr || 0 + }; + } + function mapToStyles(_ref2) { + var _Object$assign2; + var popper2 = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed; + var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y; + var _ref3 = typeof roundOffsets === "function" ? roundOffsets({ + x, + y + }) : { + x, + y + }; + x = _ref3.x; + y = _ref3.y; + var hasX = offsets.hasOwnProperty("x"); + var hasY = offsets.hasOwnProperty("y"); + var sideX = left; + var sideY = top; + var win = window; + if (adaptive) { + var offsetParent = getOffsetParent(popper2); + var heightProp = "clientHeight"; + var widthProp = "clientWidth"; + if (offsetParent === getWindow(popper2)) { + offsetParent = getDocumentElement(popper2); + if (getComputedStyle2(offsetParent).position !== "static" && position === "absolute") { + heightProp = "scrollHeight"; + widthProp = "scrollWidth"; + } + } + offsetParent = offsetParent; + if (placement === top || (placement === left || placement === right) && variation === end) { + sideY = bottom; + var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : ( + // $FlowFixMe[prop-missing] + offsetParent[heightProp] + ); + y -= offsetY - popperRect.height; + y *= gpuAcceleration ? 1 : -1; + } + if (placement === left || (placement === top || placement === bottom) && variation === end) { + sideX = right; + var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : ( + // $FlowFixMe[prop-missing] + offsetParent[widthProp] + ); + x -= offsetX - popperRect.width; + x *= gpuAcceleration ? 1 : -1; + } + } + var commonStyles = Object.assign({ + position + }, adaptive && unsetSides); + var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ + x, + y + }, getWindow(popper2)) : { + x, + y + }; + x = _ref4.x; + y = _ref4.y; + if (gpuAcceleration) { + var _Object$assign; + return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); + } + return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2)); + } + function computeStyles(_ref5) { + var state = _ref5.state, options = _ref5.options; + var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; + var commonStyles = { + placement: getBasePlacement(state.placement), + variation: getVariation(state.placement), + popper: state.elements.popper, + popperRect: state.rects.popper, + gpuAcceleration, + isFixed: state.options.strategy === "fixed" + }; + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive, + roundOffsets + }))); + } + if (state.modifiersData.arrow != null) { + state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.arrow, + position: "absolute", + adaptive: false, + roundOffsets + }))); + } + state.attributes.popper = Object.assign({}, state.attributes.popper, { + "data-popper-placement": state.placement + }); + } + var computeStyles_default = { + name: "computeStyles", + enabled: true, + phase: "beforeWrite", + fn: computeStyles, + data: {} + }; + + // node_modules/@popperjs/core/lib/modifiers/eventListeners.js + var passive = { + passive: true + }; + function effect3(_ref) { + var state = _ref.state, instance = _ref.instance, options = _ref.options; + var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize; + var window2 = getWindow(state.elements.popper); + var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); + if (scroll) { + scrollParents.forEach(function(scrollParent) { + scrollParent.addEventListener("scroll", instance.update, passive); + }); + } + if (resize) { + window2.addEventListener("resize", instance.update, passive); + } + return function() { + if (scroll) { + scrollParents.forEach(function(scrollParent) { + scrollParent.removeEventListener("scroll", instance.update, passive); + }); + } + if (resize) { + window2.removeEventListener("resize", instance.update, passive); + } + }; + } + var eventListeners_default = { + name: "eventListeners", + enabled: true, + phase: "write", + fn: function fn() { + }, + effect: effect3, + data: {} + }; + + // node_modules/@popperjs/core/lib/utils/getOppositePlacement.js + var hash = { + left: "right", + right: "left", + bottom: "top", + top: "bottom" + }; + function getOppositePlacement(placement) { + return placement.replace(/left|right|bottom|top/g, function(matched) { + return hash[matched]; + }); + } + + // node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js + var hash2 = { + start: "end", + end: "start" + }; + function getOppositeVariationPlacement(placement) { + return placement.replace(/start|end/g, function(matched) { + return hash2[matched]; + }); + } + + // node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js + function getWindowScroll(node) { + var win = getWindow(node); + var scrollLeft = win.pageXOffset; + var scrollTop = win.pageYOffset; + return { + scrollLeft, + scrollTop + }; + } + + // node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js + function getWindowScrollBarX(element) { + return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; + } + + // node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js + function getViewportRect(element, strategy) { + var win = getWindow(element); + var html = getDocumentElement(element); + var visualViewport = win.visualViewport; + var width = html.clientWidth; + var height = html.clientHeight; + var x = 0; + var y = 0; + if (visualViewport) { + width = visualViewport.width; + height = visualViewport.height; + var layoutViewport = isLayoutViewport(); + if (layoutViewport || !layoutViewport && strategy === "fixed") { + x = visualViewport.offsetLeft; + y = visualViewport.offsetTop; + } + } + return { + width, + height, + x: x + getWindowScrollBarX(element), + y + }; + } + + // node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js + function getDocumentRect(element) { + var _element$ownerDocumen; + var html = getDocumentElement(element); + var winScroll = getWindowScroll(element); + var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; + var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); + var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); + var x = -winScroll.scrollLeft + getWindowScrollBarX(element); + var y = -winScroll.scrollTop; + if (getComputedStyle2(body || html).direction === "rtl") { + x += max(html.clientWidth, body ? body.clientWidth : 0) - width; + } + return { + width, + height, + x, + y + }; + } + + // node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js + function isScrollParent(element) { + var _getComputedStyle = getComputedStyle2(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY; + return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); + } + + // node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js + function getScrollParent(node) { + if (["html", "body", "#document"].indexOf(getNodeName(node)) >= 0) { + return node.ownerDocument.body; + } + if (isHTMLElement(node) && isScrollParent(node)) { + return node; + } + return getScrollParent(getParentNode(node)); + } + + // node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js + function listScrollParents(element, list) { + var _element$ownerDocumen; + if (list === void 0) { + list = []; + } + var scrollParent = getScrollParent(element); + var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; + var updatedList = list.concat(target); + return isBody ? updatedList : ( + // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here + updatedList.concat(listScrollParents(getParentNode(target))) + ); + } + + // node_modules/@popperjs/core/lib/utils/rectToClientRect.js + function rectToClientRect(rect2) { + return Object.assign({}, rect2, { + left: rect2.x, + top: rect2.y, + right: rect2.x + rect2.width, + bottom: rect2.y + rect2.height + }); + } + + // node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js + function getInnerBoundingClientRect(element, strategy) { + var rect2 = getBoundingClientRect(element, false, strategy === "fixed"); + rect2.top = rect2.top + element.clientTop; + rect2.left = rect2.left + element.clientLeft; + rect2.bottom = rect2.top + element.clientHeight; + rect2.right = rect2.left + element.clientWidth; + rect2.width = element.clientWidth; + rect2.height = element.clientHeight; + rect2.x = rect2.left; + rect2.y = rect2.top; + return rect2; + } + function getClientRectFromMixedType(element, clippingParent, strategy) { + return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element))); + } + function getClippingParents(element) { + var clippingParents2 = listScrollParents(getParentNode(element)); + var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle2(element).position) >= 0; + var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; + if (!isElement(clipperElement)) { + return []; + } + return clippingParents2.filter(function(clippingParent) { + return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== "body"; + }); + } + function getClippingRect(element, boundary, rootBoundary, strategy) { + var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element) : [].concat(boundary); + var clippingParents2 = [].concat(mainClippingParents, [rootBoundary]); + var firstClippingParent = clippingParents2[0]; + var clippingRect = clippingParents2.reduce(function(accRect, clippingParent) { + var rect2 = getClientRectFromMixedType(element, clippingParent, strategy); + accRect.top = max(rect2.top, accRect.top); + accRect.right = min(rect2.right, accRect.right); + accRect.bottom = min(rect2.bottom, accRect.bottom); + accRect.left = max(rect2.left, accRect.left); + return accRect; + }, getClientRectFromMixedType(element, firstClippingParent, strategy)); + clippingRect.width = clippingRect.right - clippingRect.left; + clippingRect.height = clippingRect.bottom - clippingRect.top; + clippingRect.x = clippingRect.left; + clippingRect.y = clippingRect.top; + return clippingRect; + } + + // node_modules/@popperjs/core/lib/utils/computeOffsets.js + function computeOffsets(_ref) { + var reference2 = _ref.reference, element = _ref.element, placement = _ref.placement; + var basePlacement = placement ? getBasePlacement(placement) : null; + var variation = placement ? getVariation(placement) : null; + var commonX = reference2.x + reference2.width / 2 - element.width / 2; + var commonY = reference2.y + reference2.height / 2 - element.height / 2; + var offsets; + switch (basePlacement) { + case top: + offsets = { + x: commonX, + y: reference2.y - element.height + }; + break; + case bottom: + offsets = { + x: commonX, + y: reference2.y + reference2.height + }; + break; + case right: + offsets = { + x: reference2.x + reference2.width, + y: commonY + }; + break; + case left: + offsets = { + x: reference2.x - element.width, + y: commonY + }; + break; + default: + offsets = { + x: reference2.x, + y: reference2.y + }; + } + var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; + if (mainAxis != null) { + var len = mainAxis === "y" ? "height" : "width"; + switch (variation) { + case start: + offsets[mainAxis] = offsets[mainAxis] - (reference2[len] / 2 - element[len] / 2); + break; + case end: + offsets[mainAxis] = offsets[mainAxis] + (reference2[len] / 2 - element[len] / 2); + break; + default: + } + } + return offsets; + } + + // node_modules/@popperjs/core/lib/utils/detectOverflow.js + function detectOverflow(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$strategy = _options.strategy, strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding; + var paddingObject = mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements)); + var altContext = elementContext === popper ? reference : popper; + var popperRect = state.rects.popper; + var element = state.elements[altBoundary ? altContext : elementContext]; + var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy); + var referenceClientRect = getBoundingClientRect(state.elements.reference); + var popperOffsets2 = computeOffsets({ + reference: referenceClientRect, + element: popperRect, + strategy: "absolute", + placement + }); + var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets2)); + var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; + var overflowOffsets = { + top: clippingClientRect.top - elementClientRect.top + paddingObject.top, + bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, + left: clippingClientRect.left - elementClientRect.left + paddingObject.left, + right: elementClientRect.right - clippingClientRect.right + paddingObject.right + }; + var offsetData = state.modifiersData.offset; + if (elementContext === popper && offsetData) { + var offset2 = offsetData[placement]; + Object.keys(overflowOffsets).forEach(function(key) { + var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; + var axis = [top, bottom].indexOf(key) >= 0 ? "y" : "x"; + overflowOffsets[key] += offset2[axis] * multiply; + }); + } + return overflowOffsets; + } + + // node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js + function computeAutoPlacement(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; + var variation = getVariation(placement); + var placements2 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function(placement2) { + return getVariation(placement2) === variation; + }) : basePlacements; + var allowedPlacements = placements2.filter(function(placement2) { + return allowedAutoPlacements.indexOf(placement2) >= 0; + }); + if (allowedPlacements.length === 0) { + allowedPlacements = placements2; + } + var overflows = allowedPlacements.reduce(function(acc, placement2) { + acc[placement2] = detectOverflow(state, { + placement: placement2, + boundary, + rootBoundary, + padding + })[getBasePlacement(placement2)]; + return acc; + }, {}); + return Object.keys(overflows).sort(function(a, b) { + return overflows[a] - overflows[b]; + }); + } + + // node_modules/@popperjs/core/lib/modifiers/flip.js + function getExpandedFallbackPlacements(placement) { + if (getBasePlacement(placement) === auto) { + return []; + } + var oppositePlacement = getOppositePlacement(placement); + return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; + } + function flip(_ref) { + var state = _ref.state, options = _ref.options, name = _ref.name; + if (state.modifiersData[name]._skip) { + return; + } + var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, specifiedFallbackPlacements = options.fallbackPlacements, padding = options.padding, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, allowedAutoPlacements = options.allowedAutoPlacements; + var preferredPlacement = state.options.placement; + var basePlacement = getBasePlacement(preferredPlacement); + var isBasePlacement = basePlacement === preferredPlacement; + var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); + var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function(acc, placement2) { + return acc.concat(getBasePlacement(placement2) === auto ? computeAutoPlacement(state, { + placement: placement2, + boundary, + rootBoundary, + padding, + flipVariations, + allowedAutoPlacements + }) : placement2); + }, []); + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var checksMap = /* @__PURE__ */ new Map(); + var makeFallbackChecks = true; + var firstFittingPlacement = placements2[0]; + for (var i = 0; i < placements2.length; i++) { + var placement = placements2[i]; + var _basePlacement = getBasePlacement(placement); + var isStartVariation = getVariation(placement) === start; + var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; + var len = isVertical ? "width" : "height"; + var overflow = detectOverflow(state, { + placement, + boundary, + rootBoundary, + altBoundary, + padding + }); + var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; + if (referenceRect[len] > popperRect[len]) { + mainVariationSide = getOppositePlacement(mainVariationSide); + } + var altVariationSide = getOppositePlacement(mainVariationSide); + var checks = []; + if (checkMainAxis) { + checks.push(overflow[_basePlacement] <= 0); + } + if (checkAltAxis) { + checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); + } + if (checks.every(function(check) { + return check; + })) { + firstFittingPlacement = placement; + makeFallbackChecks = false; + break; + } + checksMap.set(placement, checks); + } + if (makeFallbackChecks) { + var numberOfChecks = flipVariations ? 3 : 1; + var _loop = function _loop2(_i2) { + var fittingPlacement = placements2.find(function(placement2) { + var checks2 = checksMap.get(placement2); + if (checks2) { + return checks2.slice(0, _i2).every(function(check) { + return check; + }); + } + }); + if (fittingPlacement) { + firstFittingPlacement = fittingPlacement; + return "break"; + } + }; + for (var _i = numberOfChecks; _i > 0; _i--) { + var _ret = _loop(_i); + if (_ret === "break") break; + } + } + if (state.placement !== firstFittingPlacement) { + state.modifiersData[name]._skip = true; + state.placement = firstFittingPlacement; + state.reset = true; + } + } + var flip_default = { + name: "flip", + enabled: true, + phase: "main", + fn: flip, + requiresIfExists: ["offset"], + data: { + _skip: false + } + }; + + // node_modules/@popperjs/core/lib/modifiers/hide.js + function getSideOffsets(overflow, rect2, preventedOffsets) { + if (preventedOffsets === void 0) { + preventedOffsets = { + x: 0, + y: 0 + }; + } + return { + top: overflow.top - rect2.height - preventedOffsets.y, + right: overflow.right - rect2.width + preventedOffsets.x, + bottom: overflow.bottom - rect2.height + preventedOffsets.y, + left: overflow.left - rect2.width - preventedOffsets.x + }; + } + function isAnySideFullyClipped(overflow) { + return [top, right, bottom, left].some(function(side) { + return overflow[side] >= 0; + }); + } + function hide(_ref) { + var state = _ref.state, name = _ref.name; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var preventedOffsets = state.modifiersData.preventOverflow; + var referenceOverflow = detectOverflow(state, { + elementContext: "reference" + }); + var popperAltOverflow = detectOverflow(state, { + altBoundary: true + }); + var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); + var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); + var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); + var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); + state.modifiersData[name] = { + referenceClippingOffsets, + popperEscapeOffsets, + isReferenceHidden, + hasPopperEscaped + }; + state.attributes.popper = Object.assign({}, state.attributes.popper, { + "data-popper-reference-hidden": isReferenceHidden, + "data-popper-escaped": hasPopperEscaped + }); + } + var hide_default = { + name: "hide", + enabled: true, + phase: "main", + requiresIfExists: ["preventOverflow"], + fn: hide + }; + + // node_modules/@popperjs/core/lib/modifiers/offset.js + function distanceAndSkiddingToXY(placement, rects, offset2) { + var basePlacement = getBasePlacement(placement); + var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; + var _ref = typeof offset2 === "function" ? offset2(Object.assign({}, rects, { + placement + })) : offset2, skidding = _ref[0], distance = _ref[1]; + skidding = skidding || 0; + distance = (distance || 0) * invertDistance; + return [left, right].indexOf(basePlacement) >= 0 ? { + x: distance, + y: skidding + } : { + x: skidding, + y: distance + }; + } + function offset(_ref2) { + var state = _ref2.state, options = _ref2.options, name = _ref2.name; + var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset; + var data = placements.reduce(function(acc, placement) { + acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2); + return acc; + }, {}); + var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y; + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + state.modifiersData[name] = data; + } + var offset_default = { + name: "offset", + enabled: true, + phase: "main", + requires: ["popperOffsets"], + fn: offset + }; + + // node_modules/@popperjs/core/lib/modifiers/popperOffsets.js + function popperOffsets(_ref) { + var state = _ref.state, name = _ref.name; + state.modifiersData[name] = computeOffsets({ + reference: state.rects.reference, + element: state.rects.popper, + strategy: "absolute", + placement: state.placement + }); + } + var popperOffsets_default = { + name: "popperOffsets", + enabled: true, + phase: "read", + fn: popperOffsets, + data: {} + }; + + // node_modules/@popperjs/core/lib/utils/getAltAxis.js + function getAltAxis(axis) { + return axis === "x" ? "y" : "x"; + } + + // node_modules/@popperjs/core/lib/modifiers/preventOverflow.js + function preventOverflow(_ref) { + var state = _ref.state, options = _ref.options, name = _ref.name; + var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, padding = options.padding, _options$tether = options.tether, tether = _options$tether === void 0 ? true : _options$tether, _options$tetherOffset = options.tetherOffset, tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; + var overflow = detectOverflow(state, { + boundary, + rootBoundary, + padding, + altBoundary + }); + var basePlacement = getBasePlacement(state.placement); + var variation = getVariation(state.placement); + var isBasePlacement = !variation; + var mainAxis = getMainAxisFromPlacement(basePlacement); + var altAxis = getAltAxis(mainAxis); + var popperOffsets2 = state.modifiersData.popperOffsets; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var tetherOffsetValue = typeof tetherOffset === "function" ? tetherOffset(Object.assign({}, state.rects, { + placement: state.placement + })) : tetherOffset; + var normalizedTetherOffsetValue = typeof tetherOffsetValue === "number" ? { + mainAxis: tetherOffsetValue, + altAxis: tetherOffsetValue + } : Object.assign({ + mainAxis: 0, + altAxis: 0 + }, tetherOffsetValue); + var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; + var data = { + x: 0, + y: 0 + }; + if (!popperOffsets2) { + return; + } + if (checkMainAxis) { + var _offsetModifierState$; + var mainSide = mainAxis === "y" ? top : left; + var altSide = mainAxis === "y" ? bottom : right; + var len = mainAxis === "y" ? "height" : "width"; + var offset2 = popperOffsets2[mainAxis]; + var min3 = offset2 + overflow[mainSide]; + var max3 = offset2 - overflow[altSide]; + var additive = tether ? -popperRect[len] / 2 : 0; + var minLen = variation === start ? referenceRect[len] : popperRect[len]; + var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; + var arrowElement = state.elements.arrow; + var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { + width: 0, + height: 0 + }; + var arrowPaddingObject = state.modifiersData["arrow#persistent"] ? state.modifiersData["arrow#persistent"].padding : getFreshSideObject(); + var arrowPaddingMin = arrowPaddingObject[mainSide]; + var arrowPaddingMax = arrowPaddingObject[altSide]; + var arrowLen = within(0, referenceRect[len], arrowRect[len]); + var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; + var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; + var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); + var clientOffset = arrowOffsetParent ? mainAxis === "y" ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; + var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; + var tetherMin = offset2 + minOffset - offsetModifierValue - clientOffset; + var tetherMax = offset2 + maxOffset - offsetModifierValue; + var preventedOffset = within(tether ? min(min3, tetherMin) : min3, offset2, tether ? max(max3, tetherMax) : max3); + popperOffsets2[mainAxis] = preventedOffset; + data[mainAxis] = preventedOffset - offset2; + } + if (checkAltAxis) { + var _offsetModifierState$2; + var _mainSide = mainAxis === "x" ? top : left; + var _altSide = mainAxis === "x" ? bottom : right; + var _offset = popperOffsets2[altAxis]; + var _len = altAxis === "y" ? "height" : "width"; + var _min = _offset + overflow[_mainSide]; + var _max = _offset - overflow[_altSide]; + var isOriginSide = [top, left].indexOf(basePlacement) !== -1; + var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; + var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; + var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; + var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); + popperOffsets2[altAxis] = _preventedOffset; + data[altAxis] = _preventedOffset - _offset; + } + state.modifiersData[name] = data; + } + var preventOverflow_default = { + name: "preventOverflow", + enabled: true, + phase: "main", + fn: preventOverflow, + requiresIfExists: ["offset"] + }; + + // node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js + function getHTMLElementScroll(element) { + return { + scrollLeft: element.scrollLeft, + scrollTop: element.scrollTop + }; + } + + // node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js + function getNodeScroll(node) { + if (node === getWindow(node) || !isHTMLElement(node)) { + return getWindowScroll(node); + } else { + return getHTMLElementScroll(node); + } + } + + // node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js + function isElementScaled(element) { + var rect2 = element.getBoundingClientRect(); + var scaleX = round(rect2.width) / element.offsetWidth || 1; + var scaleY = round(rect2.height) / element.offsetHeight || 1; + return scaleX !== 1 || scaleY !== 1; + } + function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { + if (isFixed === void 0) { + isFixed = false; + } + var isOffsetParentAnElement = isHTMLElement(offsetParent); + var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); + var documentElement = getDocumentElement(offsetParent); + var rect2 = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed); + var scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + var offsets = { + x: 0, + y: 0 + }; + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== "body" || // https://github.com/popperjs/popper-core/issues/1078 + isScrollParent(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + if (isHTMLElement(offsetParent)) { + offsets = getBoundingClientRect(offsetParent, true); + offsets.x += offsetParent.clientLeft; + offsets.y += offsetParent.clientTop; + } else if (documentElement) { + offsets.x = getWindowScrollBarX(documentElement); + } + } + return { + x: rect2.left + scroll.scrollLeft - offsets.x, + y: rect2.top + scroll.scrollTop - offsets.y, + width: rect2.width, + height: rect2.height + }; + } + + // node_modules/@popperjs/core/lib/utils/orderModifiers.js + function order(modifiers) { + var map = /* @__PURE__ */ new Map(); + var visited = /* @__PURE__ */ new Set(); + var result = []; + modifiers.forEach(function(modifier) { + map.set(modifier.name, modifier); + }); + function sort(modifier) { + visited.add(modifier.name); + var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); + requires.forEach(function(dep) { + if (!visited.has(dep)) { + var depModifier = map.get(dep); + if (depModifier) { + sort(depModifier); + } + } + }); + result.push(modifier); + } + modifiers.forEach(function(modifier) { + if (!visited.has(modifier.name)) { + sort(modifier); + } + }); + return result; + } + function orderModifiers(modifiers) { + var orderedModifiers = order(modifiers); + return modifierPhases.reduce(function(acc, phase) { + return acc.concat(orderedModifiers.filter(function(modifier) { + return modifier.phase === phase; + })); + }, []); + } + + // node_modules/@popperjs/core/lib/utils/debounce.js + function debounce(fn2) { + var pending; + return function() { + if (!pending) { + pending = new Promise(function(resolve) { + Promise.resolve().then(function() { + pending = void 0; + resolve(fn2()); + }); + }); + } + return pending; + }; + } + + // node_modules/@popperjs/core/lib/utils/mergeByName.js + function mergeByName(modifiers) { + var merged = modifiers.reduce(function(merged2, current) { + var existing = merged2[current.name]; + merged2[current.name] = existing ? Object.assign({}, existing, current, { + options: Object.assign({}, existing.options, current.options), + data: Object.assign({}, existing.data, current.data) + }) : current; + return merged2; + }, {}); + return Object.keys(merged).map(function(key) { + return merged[key]; + }); + } + + // node_modules/@popperjs/core/lib/createPopper.js + var DEFAULT_OPTIONS = { + placement: "bottom", + modifiers: [], + strategy: "absolute" + }; + function areValidElements() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return !args.some(function(element) { + return !(element && typeof element.getBoundingClientRect === "function"); + }); + } + function popperGenerator(generatorOptions) { + if (generatorOptions === void 0) { + generatorOptions = {}; + } + var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers3 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; + return function createPopper4(reference2, popper2, options) { + if (options === void 0) { + options = defaultOptions; + } + var state = { + placement: "bottom", + orderedModifiers: [], + options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), + modifiersData: {}, + elements: { + reference: reference2, + popper: popper2 + }, + attributes: {}, + styles: {} + }; + var effectCleanupFns = []; + var isDestroyed = false; + var instance = { + state, + setOptions: function setOptions(setOptionsAction) { + var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state.options) : setOptionsAction; + cleanupModifierEffects(); + state.options = Object.assign({}, defaultOptions, state.options, options2); + state.scrollParents = { + reference: isElement(reference2) ? listScrollParents(reference2) : reference2.contextElement ? listScrollParents(reference2.contextElement) : [], + popper: listScrollParents(popper2) + }; + var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers3, state.options.modifiers))); + state.orderedModifiers = orderedModifiers.filter(function(m) { + return m.enabled; + }); + runModifierEffects(); + return instance.update(); + }, + // Sync update – it will always be executed, even if not necessary. This + // is useful for low frequency updates where sync behavior simplifies the + // logic. + // For high frequency updates (e.g. `resize` and `scroll` events), always + // prefer the async Popper#update method + forceUpdate: function forceUpdate() { + if (isDestroyed) { + return; + } + var _state$elements = state.elements, reference3 = _state$elements.reference, popper3 = _state$elements.popper; + if (!areValidElements(reference3, popper3)) { + return; + } + state.rects = { + reference: getCompositeRect(reference3, getOffsetParent(popper3), state.options.strategy === "fixed"), + popper: getLayoutRect(popper3) + }; + state.reset = false; + state.placement = state.options.placement; + state.orderedModifiers.forEach(function(modifier) { + return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); + }); + for (var index = 0; index < state.orderedModifiers.length; index++) { + if (state.reset === true) { + state.reset = false; + index = -1; + continue; + } + var _state$orderedModifie = state.orderedModifiers[index], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name; + if (typeof fn2 === "function") { + state = fn2({ + state, + options: _options, + name, + instance + }) || state; + } + } + }, + // Async and optimistically optimized update – it will not be executed if + // not necessary (debounced to run at most once-per-tick) + update: debounce(function() { + return new Promise(function(resolve) { + instance.forceUpdate(); + resolve(state); + }); + }), + destroy: function destroy() { + cleanupModifierEffects(); + isDestroyed = true; + } + }; + if (!areValidElements(reference2, popper2)) { + return instance; + } + instance.setOptions(options).then(function(state2) { + if (!isDestroyed && options.onFirstUpdate) { + options.onFirstUpdate(state2); + } + }); + function runModifierEffects() { + state.orderedModifiers.forEach(function(_ref) { + var name = _ref.name, _ref$options = _ref.options, options2 = _ref$options === void 0 ? {} : _ref$options, effect4 = _ref.effect; + if (typeof effect4 === "function") { + var cleanupFn = effect4({ + state, + name, + instance, + options: options2 + }); + var noopFn = function noopFn2() { + }; + effectCleanupFns.push(cleanupFn || noopFn); + } + }); + } + function cleanupModifierEffects() { + effectCleanupFns.forEach(function(fn2) { + return fn2(); + }); + effectCleanupFns = []; + } + return instance; + }; + } + var createPopper = /* @__PURE__ */ popperGenerator(); + + // node_modules/@popperjs/core/lib/popper-lite.js + var defaultModifiers = [eventListeners_default, popperOffsets_default, computeStyles_default, applyStyles_default]; + var createPopper2 = /* @__PURE__ */ popperGenerator({ + defaultModifiers + }); + + // node_modules/@popperjs/core/lib/popper.js + var defaultModifiers2 = [eventListeners_default, popperOffsets_default, computeStyles_default, applyStyles_default, offset_default, flip_default, preventOverflow_default, arrow_default, hide_default]; + var createPopper3 = /* @__PURE__ */ popperGenerator({ + defaultModifiers: defaultModifiers2 + }); + + // node_modules/bootstrap/dist/js/bootstrap.esm.js + var elementMap = /* @__PURE__ */ new Map(); + var Data = { + set(element, key, instance) { + if (!elementMap.has(element)) { + elementMap.set(element, /* @__PURE__ */ new Map()); + } + const instanceMap = elementMap.get(element); + if (!instanceMap.has(key) && instanceMap.size !== 0) { + console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); + return; + } + instanceMap.set(key, instance); + }, + get(element, key) { + if (elementMap.has(element)) { + return elementMap.get(element).get(key) || null; + } + return null; + }, + remove(element, key) { + if (!elementMap.has(element)) { + return; + } + const instanceMap = elementMap.get(element); + instanceMap.delete(key); + if (instanceMap.size === 0) { + elementMap.delete(element); + } + } + }; + var MAX_UID = 1e6; + var MILLISECONDS_MULTIPLIER = 1e3; + var TRANSITION_END = "transitionend"; + var parseSelector = (selector) => { + if (selector && window.CSS && window.CSS.escape) { + selector = selector.replace(/#([^\s"#']+)/g, (match, id) => `#${CSS.escape(id)}`); + } + return selector; + }; + var toType = (object) => { + if (object === null || object === void 0) { + return `${object}`; + } + return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase(); + }; + var getUID = (prefix) => { + do { + prefix += Math.floor(Math.random() * MAX_UID); + } while (document.getElementById(prefix)); + return prefix; + }; + var getTransitionDurationFromElement = (element) => { + if (!element) { + return 0; + } + let { + transitionDuration, + transitionDelay + } = window.getComputedStyle(element); + const floatTransitionDuration = Number.parseFloat(transitionDuration); + const floatTransitionDelay = Number.parseFloat(transitionDelay); + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } + transitionDuration = transitionDuration.split(",")[0]; + transitionDelay = transitionDelay.split(",")[0]; + return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; + }; + var triggerTransitionEnd = (element) => { + element.dispatchEvent(new Event(TRANSITION_END)); + }; + var isElement2 = (object) => { + if (!object || typeof object !== "object") { + return false; + } + if (typeof object.jquery !== "undefined") { + object = object[0]; + } + return typeof object.nodeType !== "undefined"; + }; + var getElement = (object) => { + if (isElement2(object)) { + return object.jquery ? object[0] : object; + } + if (typeof object === "string" && object.length > 0) { + return document.querySelector(parseSelector(object)); + } + return null; + }; + var isVisible = (element) => { + if (!isElement2(element) || element.getClientRects().length === 0) { + return false; + } + const elementIsVisible = getComputedStyle(element).getPropertyValue("visibility") === "visible"; + const closedDetails = element.closest("details:not([open])"); + if (!closedDetails) { + return elementIsVisible; + } + if (closedDetails !== element) { + const summary = element.closest("summary"); + if (summary && summary.parentNode !== closedDetails) { + return false; + } + if (summary === null) { + return false; + } + } + return elementIsVisible; + }; + var isDisabled = (element) => { + if (!element || element.nodeType !== Node.ELEMENT_NODE) { + return true; + } + if (element.classList.contains("disabled")) { + return true; + } + if (typeof element.disabled !== "undefined") { + return element.disabled; + } + return element.hasAttribute("disabled") && element.getAttribute("disabled") !== "false"; + }; + var findShadowRoot = (element) => { + if (!document.documentElement.attachShadow) { + return null; + } + if (typeof element.getRootNode === "function") { + const root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + if (element instanceof ShadowRoot) { + return element; + } + if (!element.parentNode) { + return null; + } + return findShadowRoot(element.parentNode); + }; + var noop = () => { + }; + var reflow = (element) => { + element.offsetHeight; + }; + var getjQuery = () => { + if (window.jQuery && !document.body.hasAttribute("data-bs-no-jquery")) { + return window.jQuery; + } + return null; + }; + var DOMContentLoadedCallbacks = []; + var onDOMContentLoaded = (callback) => { + if (document.readyState === "loading") { + if (!DOMContentLoadedCallbacks.length) { + document.addEventListener("DOMContentLoaded", () => { + for (const callback2 of DOMContentLoadedCallbacks) { + callback2(); + } + }); + } + DOMContentLoadedCallbacks.push(callback); + } else { + callback(); + } + }; + var isRTL = () => document.documentElement.dir === "rtl"; + var defineJQueryPlugin = (plugin) => { + onDOMContentLoaded(() => { + const $ = getjQuery(); + if ($) { + const name = plugin.NAME; + const JQUERY_NO_CONFLICT = $.fn[name]; + $.fn[name] = plugin.jQueryInterface; + $.fn[name].Constructor = plugin; + $.fn[name].noConflict = () => { + $.fn[name] = JQUERY_NO_CONFLICT; + return plugin.jQueryInterface; + }; + } + }); + }; + var execute = (possibleCallback, args = [], defaultValue = possibleCallback) => { + return typeof possibleCallback === "function" ? possibleCallback.call(...args) : defaultValue; + }; + var executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { + if (!waitForTransition) { + execute(callback); + return; + } + const durationPadding = 5; + const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; + let called = false; + const handler = ({ + target + }) => { + if (target !== transitionElement) { + return; + } + called = true; + transitionElement.removeEventListener(TRANSITION_END, handler); + execute(callback); + }; + transitionElement.addEventListener(TRANSITION_END, handler); + setTimeout(() => { + if (!called) { + triggerTransitionEnd(transitionElement); + } + }, emulatedDuration); + }; + var getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { + const listLength = list.length; + let index = list.indexOf(activeElement); + if (index === -1) { + return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]; + } + index += shouldGetNext ? 1 : -1; + if (isCycleAllowed) { + index = (index + listLength) % listLength; + } + return list[Math.max(0, Math.min(index, listLength - 1))]; + }; + var namespaceRegex = /[^.]*(?=\..*)\.|.*/; + var stripNameRegex = /\..*/; + var stripUidRegex = /::\d+$/; + var eventRegistry = {}; + var uidEvent = 1; + var customEvents = { + mouseenter: "mouseover", + mouseleave: "mouseout" + }; + var nativeEvents = /* @__PURE__ */ 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 makeEventUid(element, uid) { + return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; + } + function getElementEvents(element) { + const uid = makeEventUid(element); + element.uidEvent = uid; + eventRegistry[uid] = eventRegistry[uid] || {}; + return eventRegistry[uid]; + } + function bootstrapHandler(element, fn2) { + return function handler(event) { + hydrateObj(event, { + delegateTarget: element + }); + if (handler.oneOff) { + EventHandler.off(element, event.type, fn2); + } + return fn2.apply(element, [event]); + }; + } + function bootstrapDelegationHandler(element, selector, fn2) { + return function handler(event) { + const domElements = element.querySelectorAll(selector); + for (let { + target + } = event; target && target !== this; target = target.parentNode) { + for (const domElement of domElements) { + if (domElement !== target) { + continue; + } + hydrateObj(event, { + delegateTarget: target + }); + if (handler.oneOff) { + EventHandler.off(element, event.type, selector, fn2); + } + return fn2.apply(target, [event]); + } + } + }; + } + function findHandler(events, callable, delegationSelector = null) { + return Object.values(events).find((event) => event.callable === callable && event.delegationSelector === delegationSelector); + } + function normalizeParameters(originalTypeEvent, handler, delegationFunction) { + const isDelegated = typeof handler === "string"; + const callable = isDelegated ? delegationFunction : handler || delegationFunction; + let typeEvent = getTypeEvent(originalTypeEvent); + if (!nativeEvents.has(typeEvent)) { + typeEvent = originalTypeEvent; + } + return [isDelegated, callable, typeEvent]; + } + function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { + if (typeof originalTypeEvent !== "string" || !element) { + return; + } + let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + if (originalTypeEvent in customEvents) { + const wrapFunction = (fn3) => { + return function(event) { + if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { + return fn3.call(this, event); + } + }; + }; + callable = wrapFunction(callable); + } + const events = getElementEvents(element); + const handlers = events[typeEvent] || (events[typeEvent] = {}); + const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null); + if (previousFunction) { + previousFunction.oneOff = previousFunction.oneOff && oneOff; + return; + } + const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, "")); + const fn2 = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable); + fn2.delegationSelector = isDelegated ? handler : null; + fn2.callable = callable; + fn2.oneOff = oneOff; + fn2.uidEvent = uid; + handlers[uid] = fn2; + element.addEventListener(typeEvent, fn2, isDelegated); + } + function removeHandler(element, events, typeEvent, handler, delegationSelector) { + const fn2 = findHandler(events[typeEvent], handler, delegationSelector); + if (!fn2) { + return; + } + element.removeEventListener(typeEvent, fn2, Boolean(delegationSelector)); + delete events[typeEvent][fn2.uidEvent]; + } + function removeNamespacedHandlers(element, events, typeEvent, namespace) { + const storeElementEvent = events[typeEvent] || {}; + for (const [handlerKey, event] of Object.entries(storeElementEvent)) { + if (handlerKey.includes(namespace)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } + } + function getTypeEvent(event) { + event = event.replace(stripNameRegex, ""); + return customEvents[event] || event; + } + var EventHandler = { + on(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, false); + }, + one(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, true); + }, + off(element, originalTypeEvent, handler, delegationFunction) { + if (typeof originalTypeEvent !== "string" || !element) { + return; + } + const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + const inNamespace = typeEvent !== originalTypeEvent; + const events = getElementEvents(element); + const storeElementEvent = events[typeEvent] || {}; + const isNamespace = originalTypeEvent.startsWith("."); + if (typeof callable !== "undefined") { + if (!Object.keys(storeElementEvent).length) { + return; + } + removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null); + return; + } + if (isNamespace) { + for (const elementEvent of Object.keys(events)) { + removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); + } + } + for (const [keyHandlers, event] of Object.entries(storeElementEvent)) { + const handlerKey = keyHandlers.replace(stripUidRegex, ""); + if (!inNamespace || originalTypeEvent.includes(handlerKey)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } + }, + trigger(element, event, args) { + if (typeof event !== "string" || !element) { + return null; + } + const $ = getjQuery(); + const typeEvent = getTypeEvent(event); + const inNamespace = event !== typeEvent; + let jQueryEvent = null; + let bubbles = true; + let nativeDispatch = true; + let defaultPrevented = false; + if (inNamespace && $) { + jQueryEvent = $.Event(event, args); + $(element).trigger(jQueryEvent); + bubbles = !jQueryEvent.isPropagationStopped(); + nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); + defaultPrevented = jQueryEvent.isDefaultPrevented(); + } + const evt = hydrateObj(new Event(event, { + bubbles, + cancelable: true + }), args); + if (defaultPrevented) { + evt.preventDefault(); + } + if (nativeDispatch) { + element.dispatchEvent(evt); + } + if (evt.defaultPrevented && jQueryEvent) { + jQueryEvent.preventDefault(); + } + return evt; + } + }; + function hydrateObj(obj, meta = {}) { + for (const [key, value] of Object.entries(meta)) { + try { + obj[key] = value; + } catch (_unused) { + Object.defineProperty(obj, key, { + configurable: true, + get() { + return value; + } + }); + } + } + return obj; + } + function normalizeData(value) { + if (value === "true") { + return true; + } + if (value === "false") { + return false; + } + if (value === Number(value).toString()) { + return Number(value); + } + if (value === "" || value === "null") { + return null; + } + if (typeof value !== "string") { + return value; + } + try { + return JSON.parse(decodeURIComponent(value)); + } catch (_unused) { + return value; + } + } + function normalizeDataKey(key) { + return key.replace(/[A-Z]/g, (chr) => `-${chr.toLowerCase()}`); + } + var Manipulator = { + setDataAttribute(element, key, value) { + element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value); + }, + removeDataAttribute(element, key) { + element.removeAttribute(`data-bs-${normalizeDataKey(key)}`); + }, + getDataAttributes(element) { + if (!element) { + return {}; + } + const attributes = {}; + const bsKeys = Object.keys(element.dataset).filter((key) => key.startsWith("bs") && !key.startsWith("bsConfig")); + for (const key of bsKeys) { + let pureKey = key.replace(/^bs/, ""); + pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1); + attributes[pureKey] = normalizeData(element.dataset[key]); + } + return attributes; + }, + getDataAttribute(element, key) { + return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`)); + } + }; + var Config = class { + // Getters + 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(config) { + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + return config; + } + _mergeConfigObj(config, element) { + const jsonConfig = isElement2(element) ? Manipulator.getDataAttribute(element, "config") : {}; + return { + ...this.constructor.Default, + ...typeof jsonConfig === "object" ? jsonConfig : {}, + ...isElement2(element) ? Manipulator.getDataAttributes(element) : {}, + ...typeof config === "object" ? config : {} + }; + } + _typeCheckConfig(config, configTypes = this.constructor.DefaultType) { + for (const [property, expectedTypes] of Object.entries(configTypes)) { + const value = config[property]; + const valueType = isElement2(value) ? "element" : toType(value); + if (!new RegExp(expectedTypes).test(valueType)) { + throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); + } + } + } + }; + var VERSION = "5.3.8"; + var BaseComponent = class extends Config { + constructor(element, config) { + super(); + element = getElement(element); + if (!element) { + return; + } + this._element = element; + this._config = this._getConfig(config); + Data.set(this._element, this.constructor.DATA_KEY, this); + } + // Public + dispose() { + Data.remove(this._element, this.constructor.DATA_KEY); + EventHandler.off(this._element, this.constructor.EVENT_KEY); + for (const propertyName of Object.getOwnPropertyNames(this)) { + this[propertyName] = null; + } + } + // Private + _queueCallback(callback, element, isAnimated = true) { + executeAfterTransition(callback, element, isAnimated); + } + _getConfig(config) { + config = this._mergeConfigObj(config, this._element); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + // Static + static getInstance(element) { + return Data.get(getElement(element), this.DATA_KEY); + } + static getOrCreateInstance(element, config = {}) { + return this.getInstance(element) || new this(element, typeof config === "object" ? config : null); + } + static get VERSION() { + return VERSION; + } + static get DATA_KEY() { + return `bs.${this.NAME}`; + } + static get EVENT_KEY() { + return `.${this.DATA_KEY}`; + } + static eventName(name) { + return `${name}${this.EVENT_KEY}`; + } + }; + var getSelector = (element) => { + let selector = element.getAttribute("data-bs-target"); + if (!selector || selector === "#") { + let hrefAttribute = element.getAttribute("href"); + if (!hrefAttribute || !hrefAttribute.includes("#") && !hrefAttribute.startsWith(".")) { + return null; + } + if (hrefAttribute.includes("#") && !hrefAttribute.startsWith("#")) { + hrefAttribute = `#${hrefAttribute.split("#")[1]}`; + } + selector = hrefAttribute && hrefAttribute !== "#" ? hrefAttribute.trim() : null; + } + return selector ? selector.split(",").map((sel) => parseSelector(sel)).join(",") : null; + }; + var SelectorEngine = { + find(selector, element = document.documentElement) { + return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); + }, + findOne(selector, element = document.documentElement) { + return Element.prototype.querySelector.call(element, selector); + }, + children(element, selector) { + return [].concat(...element.children).filter((child2) => child2.matches(selector)); + }, + parents(element, selector) { + const parents = []; + let ancestor = element.parentNode.closest(selector); + while (ancestor) { + parents.push(ancestor); + ancestor = ancestor.parentNode.closest(selector); + } + return parents; + }, + prev(element, selector) { + let previous = element.previousElementSibling; + while (previous) { + if (previous.matches(selector)) { + return [previous]; + } + previous = previous.previousElementSibling; + } + return []; + }, + // TODO: this is now unused; remove later along with prev() + next(element, selector) { + let next = element.nextElementSibling; + while (next) { + if (next.matches(selector)) { + return [next]; + } + next = next.nextElementSibling; + } + return []; + }, + focusableChildren(element) { + const focusables = ["a", "button", "input", "textarea", "select", "details", "[tabindex]", '[contenteditable="true"]'].map((selector) => `${selector}:not([tabindex^="-"])`).join(","); + return this.find(focusables, element).filter((el) => !isDisabled(el) && isVisible(el)); + }, + getSelectorFromElement(element) { + const selector = getSelector(element); + if (selector) { + return SelectorEngine.findOne(selector) ? selector : null; + } + return null; + }, + getElementFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.findOne(selector) : null; + }, + getMultipleElementsFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.find(selector) : []; + } + }; + var enableDismissTrigger = (component, method = "hide") => { + const clickEvent = `click.dismiss${component.EVENT_KEY}`; + const name = component.NAME; + EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function(event) { + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`); + const instance = component.getOrCreateInstance(target); + instance[method](); + }); + }; + var NAME$f = "alert"; + var DATA_KEY$a = "bs.alert"; + var EVENT_KEY$b = `.${DATA_KEY$a}`; + var EVENT_CLOSE = `close${EVENT_KEY$b}`; + var EVENT_CLOSED = `closed${EVENT_KEY$b}`; + var CLASS_NAME_FADE$5 = "fade"; + var CLASS_NAME_SHOW$8 = "show"; + var Alert = class _Alert extends BaseComponent { + // Getters + static get NAME() { + return NAME$f; + } + // Public + close() { + const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); + if (closeEvent.defaultPrevented) { + return; + } + this._element.classList.remove(CLASS_NAME_SHOW$8); + const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); + this._queueCallback(() => this._destroyElement(), this._element, isAnimated); + } + // Private + _destroyElement() { + this._element.remove(); + EventHandler.trigger(this._element, EVENT_CLOSED); + this.dispose(); + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Alert.getOrCreateInstance(this); + if (typeof config !== "string") { + return; + } + if (data[config] === void 0 || config.startsWith("_") || config === "constructor") { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + }); + } + }; + enableDismissTrigger(Alert, "close"); + defineJQueryPlugin(Alert); + var NAME$e = "button"; + var DATA_KEY$9 = "bs.button"; + var EVENT_KEY$a = `.${DATA_KEY$9}`; + var DATA_API_KEY$6 = ".data-api"; + var CLASS_NAME_ACTIVE$3 = "active"; + var SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]'; + var EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; + var Button = class _Button extends BaseComponent { + // Getters + static get NAME() { + return NAME$e; + } + // Public + toggle() { + this._element.setAttribute("aria-pressed", this._element.classList.toggle(CLASS_NAME_ACTIVE$3)); + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Button.getOrCreateInstance(this); + if (config === "toggle") { + data[config](); + } + }); + } + }; + EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, (event) => { + event.preventDefault(); + const button = event.target.closest(SELECTOR_DATA_TOGGLE$5); + const data = Button.getOrCreateInstance(button); + data.toggle(); + }); + defineJQueryPlugin(Button); + var NAME$d = "swipe"; + var EVENT_KEY$9 = ".bs.swipe"; + var EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`; + var EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`; + var EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`; + var EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`; + var EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`; + var POINTER_TYPE_TOUCH = "touch"; + var POINTER_TYPE_PEN = "pen"; + var CLASS_NAME_POINTER_EVENT = "pointer-event"; + var SWIPE_THRESHOLD = 40; + var Default$c = { + endCallback: null, + leftCallback: null, + rightCallback: null + }; + var DefaultType$c = { + endCallback: "(function|null)", + leftCallback: "(function|null)", + rightCallback: "(function|null)" + }; + var Swipe = class _Swipe extends Config { + constructor(element, config) { + super(); + this._element = element; + if (!element || !_Swipe.isSupported()) { + return; + } + this._config = this._getConfig(config); + this._deltaX = 0; + this._supportPointerEvents = Boolean(window.PointerEvent); + this._initEvents(); + } + // Getters + static get Default() { + return Default$c; + } + static get DefaultType() { + return DefaultType$c; + } + static get NAME() { + return NAME$d; + } + // Public + dispose() { + EventHandler.off(this._element, EVENT_KEY$9); + } + // Private + _start(event) { + if (!this._supportPointerEvents) { + this._deltaX = event.touches[0].clientX; + return; + } + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX; + } + } + _end(event) { + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX - this._deltaX; + } + this._handleSwipe(); + execute(this._config.endCallback); + } + _move(event) { + this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX; + } + _handleSwipe() { + const absDeltaX = Math.abs(this._deltaX); + if (absDeltaX <= SWIPE_THRESHOLD) { + return; + } + const direction = absDeltaX / this._deltaX; + this._deltaX = 0; + if (!direction) { + return; + } + execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback); + } + _initEvents() { + if (this._supportPointerEvents) { + EventHandler.on(this._element, EVENT_POINTERDOWN, (event) => this._start(event)); + EventHandler.on(this._element, EVENT_POINTERUP, (event) => this._end(event)); + this._element.classList.add(CLASS_NAME_POINTER_EVENT); + } else { + EventHandler.on(this._element, EVENT_TOUCHSTART, (event) => this._start(event)); + EventHandler.on(this._element, EVENT_TOUCHMOVE, (event) => this._move(event)); + EventHandler.on(this._element, EVENT_TOUCHEND, (event) => this._end(event)); + } + } + _eventIsPointerPenTouch(event) { + return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); + } + // Static + static isSupported() { + return "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0; + } + }; + var NAME$c = "carousel"; + var DATA_KEY$8 = "bs.carousel"; + var EVENT_KEY$8 = `.${DATA_KEY$8}`; + var DATA_API_KEY$5 = ".data-api"; + var ARROW_LEFT_KEY$1 = "ArrowLeft"; + var ARROW_RIGHT_KEY$1 = "ArrowRight"; + var TOUCHEVENT_COMPAT_WAIT = 500; + var ORDER_NEXT = "next"; + var ORDER_PREV = "prev"; + var DIRECTION_LEFT = "left"; + var DIRECTION_RIGHT = "right"; + var EVENT_SLIDE = `slide${EVENT_KEY$8}`; + var EVENT_SLID = `slid${EVENT_KEY$8}`; + var EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`; + var EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`; + var EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`; + var EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`; + var EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`; + var EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`; + var CLASS_NAME_CAROUSEL = "carousel"; + var CLASS_NAME_ACTIVE$2 = "active"; + var CLASS_NAME_SLIDE = "slide"; + var CLASS_NAME_END = "carousel-item-end"; + var CLASS_NAME_START = "carousel-item-start"; + var CLASS_NAME_NEXT = "carousel-item-next"; + var CLASS_NAME_PREV = "carousel-item-prev"; + var SELECTOR_ACTIVE = ".active"; + var SELECTOR_ITEM = ".carousel-item"; + var SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM; + var SELECTOR_ITEM_IMG = ".carousel-item img"; + var SELECTOR_INDICATORS = ".carousel-indicators"; + var SELECTOR_DATA_SLIDE = "[data-bs-slide], [data-bs-slide-to]"; + var SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]'; + var KEY_TO_DIRECTION = { + [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT, + [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT + }; + var Default$b = { + interval: 5e3, + keyboard: true, + pause: "hover", + ride: false, + touch: true, + wrap: true + }; + var DefaultType$b = { + interval: "(number|boolean)", + // TODO:v6 remove boolean support + keyboard: "boolean", + pause: "(string|boolean)", + ride: "(boolean|string)", + touch: "boolean", + wrap: "boolean" + }; + var Carousel = class _Carousel extends BaseComponent { + constructor(element, config) { + super(element, config); + this._interval = null; + this._activeElement = null; + this._isSliding = false; + this.touchTimeout = null; + this._swipeHelper = null; + this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); + this._addEventListeners(); + if (this._config.ride === CLASS_NAME_CAROUSEL) { + this.cycle(); + } + } + // Getters + static get Default() { + return Default$b; + } + static get DefaultType() { + return DefaultType$b; + } + static get NAME() { + return NAME$c; + } + // Public + next() { + this._slide(ORDER_NEXT); + } + nextWhenVisible() { + if (!document.hidden && isVisible(this._element)) { + this.next(); + } + } + prev() { + this._slide(ORDER_PREV); + } + pause() { + if (this._isSliding) { + triggerTransitionEnd(this._element); + } + this._clearInterval(); + } + cycle() { + this._clearInterval(); + this._updateInterval(); + this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval); + } + _maybeEnableCycle() { + if (!this._config.ride) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.cycle()); + return; + } + this.cycle(); + } + to(index) { + const items = this._getItems(); + if (index > items.length - 1 || index < 0) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); + return; + } + const activeIndex = this._getItemIndex(this._getActive()); + if (activeIndex === index) { + return; + } + const order2 = index > activeIndex ? ORDER_NEXT : ORDER_PREV; + this._slide(order2, items[index]); + } + dispose() { + if (this._swipeHelper) { + this._swipeHelper.dispose(); + } + super.dispose(); + } + // Private + _configAfterMerge(config) { + config.defaultInterval = config.interval; + return config; + } + _addEventListeners() { + if (this._config.keyboard) { + EventHandler.on(this._element, EVENT_KEYDOWN$1, (event) => this._keydown(event)); + } + if (this._config.pause === "hover") { + EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause()); + EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle()); + } + if (this._config.touch && Swipe.isSupported()) { + this._addTouchEventListeners(); + } + } + _addTouchEventListeners() { + for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) { + EventHandler.on(img, EVENT_DRAG_START, (event) => event.preventDefault()); + } + const endCallBack = () => { + if (this._config.pause !== "hover") { + return; + } + this.pause(); + if (this.touchTimeout) { + clearTimeout(this.touchTimeout); + } + this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval); + }; + const swipeConfig = { + leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)), + rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)), + endCallback: endCallBack + }; + this._swipeHelper = new Swipe(this._element, swipeConfig); + } + _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + const direction = KEY_TO_DIRECTION[event.key]; + if (direction) { + event.preventDefault(); + this._slide(this._directionToOrder(direction)); + } + } + _getItemIndex(element) { + return this._getItems().indexOf(element); + } + _setActiveIndicatorElement(index) { + if (!this._indicatorsElement) { + return; + } + const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement); + activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); + activeIndicator.removeAttribute("aria-current"); + const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement); + if (newActiveIndicator) { + newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2); + newActiveIndicator.setAttribute("aria-current", "true"); + } + } + _updateInterval() { + const element = this._activeElement || this._getActive(); + if (!element) { + return; + } + const elementInterval = Number.parseInt(element.getAttribute("data-bs-interval"), 10); + this._config.interval = elementInterval || this._config.defaultInterval; + } + _slide(order2, element = null) { + if (this._isSliding) { + return; + } + const activeElement = this._getActive(); + const isNext = order2 === ORDER_NEXT; + const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap); + if (nextElement === activeElement) { + return; + } + const nextElementIndex = this._getItemIndex(nextElement); + const triggerEvent = (eventName) => { + return EventHandler.trigger(this._element, eventName, { + relatedTarget: nextElement, + direction: this._orderToDirection(order2), + from: this._getItemIndex(activeElement), + to: nextElementIndex + }); + }; + const slideEvent = triggerEvent(EVENT_SLIDE); + if (slideEvent.defaultPrevented) { + return; + } + if (!activeElement || !nextElement) { + return; + } + const isCycling = Boolean(this._interval); + this.pause(); + this._isSliding = true; + this._setActiveIndicatorElement(nextElementIndex); + this._activeElement = nextElement; + const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; + const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; + nextElement.classList.add(orderClassName); + reflow(nextElement); + activeElement.classList.add(directionalClassName); + nextElement.classList.add(directionalClassName); + const completeCallBack = () => { + nextElement.classList.remove(directionalClassName, orderClassName); + nextElement.classList.add(CLASS_NAME_ACTIVE$2); + activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); + this._isSliding = false; + triggerEvent(EVENT_SLID); + }; + this._queueCallback(completeCallBack, activeElement, this._isAnimated()); + if (isCycling) { + this.cycle(); + } + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_SLIDE); + } + _getActive() { + return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); + } + _getItems() { + return SelectorEngine.find(SELECTOR_ITEM, this._element); + } + _clearInterval() { + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + } + _directionToOrder(direction) { + if (isRTL()) { + return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; + } + return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; + } + _orderToDirection(order2) { + if (isRTL()) { + return order2 === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; + } + return order2 === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Carousel.getOrCreateInstance(this, config); + if (typeof config === "number") { + data.to(config); + return; + } + if (typeof config === "string") { + if (data[config] === void 0 || config.startsWith("_") || config === "constructor") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + } + }); + } + }; + EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function(event) { + const target = SelectorEngine.getElementFromSelector(this); + if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { + return; + } + event.preventDefault(); + const carousel = Carousel.getOrCreateInstance(target); + const slideIndex = this.getAttribute("data-bs-slide-to"); + if (slideIndex) { + carousel.to(slideIndex); + carousel._maybeEnableCycle(); + return; + } + if (Manipulator.getDataAttribute(this, "slide") === "next") { + carousel.next(); + carousel._maybeEnableCycle(); + return; + } + carousel.prev(); + carousel._maybeEnableCycle(); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => { + const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); + for (const carousel of carousels) { + Carousel.getOrCreateInstance(carousel); + } + }); + defineJQueryPlugin(Carousel); + var NAME$b = "collapse"; + var DATA_KEY$7 = "bs.collapse"; + var EVENT_KEY$7 = `.${DATA_KEY$7}`; + var DATA_API_KEY$4 = ".data-api"; + var EVENT_SHOW$6 = `show${EVENT_KEY$7}`; + var EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`; + var EVENT_HIDE$6 = `hide${EVENT_KEY$7}`; + var EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`; + var EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`; + var CLASS_NAME_SHOW$7 = "show"; + var CLASS_NAME_COLLAPSE = "collapse"; + var CLASS_NAME_COLLAPSING = "collapsing"; + var CLASS_NAME_COLLAPSED = "collapsed"; + var CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; + var CLASS_NAME_HORIZONTAL = "collapse-horizontal"; + var WIDTH = "width"; + var HEIGHT = "height"; + var SELECTOR_ACTIVES = ".collapse.show, .collapse.collapsing"; + var SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; + var Default$a = { + parent: null, + toggle: true + }; + var DefaultType$a = { + parent: "(null|element)", + toggle: "boolean" + }; + var Collapse = class _Collapse extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isTransitioning = false; + this._triggerArray = []; + const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); + for (const elem of toggleList) { + const selector = SelectorEngine.getSelectorFromElement(elem); + const filterElement = SelectorEngine.find(selector).filter((foundElement) => foundElement === this._element); + if (selector !== null && filterElement.length) { + this._triggerArray.push(elem); + } + } + this._initializeChildren(); + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); + } + if (this._config.toggle) { + this.toggle(); + } + } + // Getters + static get Default() { + return Default$a; + } + static get DefaultType() { + return DefaultType$a; + } + static get NAME() { + return NAME$b; + } + // Public + toggle() { + if (this._isShown()) { + this.hide(); + } else { + this.show(); + } + } + show() { + if (this._isTransitioning || this._isShown()) { + return; + } + let activeChildren = []; + if (this._config.parent) { + activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter((element) => element !== this._element).map((element) => _Collapse.getOrCreateInstance(element, { + toggle: false + })); + } + if (activeChildren.length && activeChildren[0]._isTransitioning) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); + if (startEvent.defaultPrevented) { + return; + } + for (const activeInstance of activeChildren) { + activeInstance.hide(); + } + const dimension = this._getDimension(); + this._element.classList.remove(CLASS_NAME_COLLAPSE); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.style[dimension] = 0; + this._addAriaAndCollapsedClass(this._triggerArray, true); + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + this._element.style[dimension] = ""; + EventHandler.trigger(this._element, EVENT_SHOWN$6); + }; + const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + const scrollSize = `scroll${capitalizedDimension}`; + this._queueCallback(complete, this._element, true); + this._element.style[dimension] = `${this._element[scrollSize]}px`; + } + hide() { + if (this._isTransitioning || !this._isShown()) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); + if (startEvent.defaultPrevented) { + return; + } + const dimension = this._getDimension(); + this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; + reflow(this._element); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + for (const trigger of this._triggerArray) { + const element = SelectorEngine.getElementFromSelector(trigger); + if (element && !this._isShown(element)) { + this._addAriaAndCollapsedClass([trigger], false); + } + } + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE); + EventHandler.trigger(this._element, EVENT_HIDDEN$6); + }; + this._element.style[dimension] = ""; + this._queueCallback(complete, this._element, true); + } + // Private + _isShown(element = this._element) { + return element.classList.contains(CLASS_NAME_SHOW$7); + } + _configAfterMerge(config) { + config.toggle = Boolean(config.toggle); + config.parent = getElement(config.parent); + return config; + } + _getDimension() { + return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; + } + _initializeChildren() { + if (!this._config.parent) { + return; + } + const children2 = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4); + for (const element of children2) { + const selected = SelectorEngine.getElementFromSelector(element); + if (selected) { + this._addAriaAndCollapsedClass([element], this._isShown(selected)); + } + } + } + _getFirstLevelChildren(selector) { + const children2 = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); + return SelectorEngine.find(selector, this._config.parent).filter((element) => !children2.includes(element)); + } + _addAriaAndCollapsedClass(triggerArray, isOpen) { + if (!triggerArray.length) { + return; + } + for (const element of triggerArray) { + element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen); + element.setAttribute("aria-expanded", isOpen); + } + } + // Static + static jQueryInterface(config) { + const _config = {}; + if (typeof config === "string" && /show|hide/.test(config)) { + _config.toggle = false; + } + return this.each(function() { + const data = _Collapse.getOrCreateInstance(this, _config); + if (typeof config === "string") { + if (typeof data[config] === "undefined") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + } + }); + } + }; + EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function(event) { + if (event.target.tagName === "A" || event.delegateTarget && event.delegateTarget.tagName === "A") { + event.preventDefault(); + } + for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) { + Collapse.getOrCreateInstance(element, { + toggle: false + }).toggle(); + } + }); + defineJQueryPlugin(Collapse); + var NAME$a = "dropdown"; + var DATA_KEY$6 = "bs.dropdown"; + var EVENT_KEY$6 = `.${DATA_KEY$6}`; + var DATA_API_KEY$3 = ".data-api"; + var ESCAPE_KEY$2 = "Escape"; + var TAB_KEY$1 = "Tab"; + var ARROW_UP_KEY$1 = "ArrowUp"; + var ARROW_DOWN_KEY$1 = "ArrowDown"; + var RIGHT_MOUSE_BUTTON = 2; + var EVENT_HIDE$5 = `hide${EVENT_KEY$6}`; + var EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`; + var EVENT_SHOW$5 = `show${EVENT_KEY$6}`; + var EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`; + var EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; + var EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`; + var EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`; + var CLASS_NAME_SHOW$6 = "show"; + var CLASS_NAME_DROPUP = "dropup"; + var CLASS_NAME_DROPEND = "dropend"; + var CLASS_NAME_DROPSTART = "dropstart"; + var CLASS_NAME_DROPUP_CENTER = "dropup-center"; + var CLASS_NAME_DROPDOWN_CENTER = "dropdown-center"; + var SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)'; + var SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`; + var SELECTOR_MENU = ".dropdown-menu"; + var SELECTOR_NAVBAR = ".navbar"; + var SELECTOR_NAVBAR_NAV = ".navbar-nav"; + var SELECTOR_VISIBLE_ITEMS = ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)"; + var PLACEMENT_TOP = isRTL() ? "top-end" : "top-start"; + var PLACEMENT_TOPEND = isRTL() ? "top-start" : "top-end"; + var PLACEMENT_BOTTOM = isRTL() ? "bottom-end" : "bottom-start"; + var PLACEMENT_BOTTOMEND = isRTL() ? "bottom-start" : "bottom-end"; + var PLACEMENT_RIGHT = isRTL() ? "left-start" : "right-start"; + var PLACEMENT_LEFT = isRTL() ? "right-start" : "left-start"; + var PLACEMENT_TOPCENTER = "top"; + var PLACEMENT_BOTTOMCENTER = "bottom"; + var Default$9 = { + autoClose: true, + boundary: "clippingParents", + display: "dynamic", + offset: [0, 2], + popperConfig: null, + reference: "toggle" + }; + var DefaultType$9 = { + autoClose: "(boolean|string)", + boundary: "(string|element)", + display: "string", + offset: "(array|string|function)", + popperConfig: "(null|object|function)", + reference: "(string|element|object)" + }; + var Dropdown = class _Dropdown extends BaseComponent { + constructor(element, config) { + super(element, config); + this._popper = null; + this._parent = this._element.parentNode; + this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); + this._inNavbar = this._detectNavbar(); + } + // Getters + static get Default() { + return Default$9; + } + static get DefaultType() { + return DefaultType$9; + } + static get NAME() { + return NAME$a; + } + // Public + toggle() { + return this._isShown() ? this.hide() : this.show(); + } + show() { + if (isDisabled(this._element) || this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget); + if (showEvent.defaultPrevented) { + return; + } + this._createPopper(); + if ("ontouchstart" in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, "mouseover", noop); + } + } + this._element.focus(); + this._element.setAttribute("aria-expanded", true); + this._menu.classList.add(CLASS_NAME_SHOW$6); + this._element.classList.add(CLASS_NAME_SHOW$6); + EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget); + } + hide() { + if (isDisabled(this._element) || !this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + this._completeHide(relatedTarget); + } + dispose() { + if (this._popper) { + this._popper.destroy(); + } + super.dispose(); + } + update() { + this._inNavbar = this._detectNavbar(); + if (this._popper) { + this._popper.update(); + } + } + // Private + _completeHide(relatedTarget) { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget); + if (hideEvent.defaultPrevented) { + return; + } + if ("ontouchstart" in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, "mouseover", noop); + } + } + if (this._popper) { + this._popper.destroy(); + } + this._menu.classList.remove(CLASS_NAME_SHOW$6); + this._element.classList.remove(CLASS_NAME_SHOW$6); + this._element.setAttribute("aria-expanded", "false"); + Manipulator.removeDataAttribute(this._menu, "popper"); + EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget); + } + _getConfig(config) { + config = super._getConfig(config); + if (typeof config.reference === "object" && !isElement2(config.reference) && typeof config.reference.getBoundingClientRect !== "function") { + throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); + } + return config; + } + _createPopper() { + if (typeof lib_exports === "undefined") { + throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)"); + } + let referenceElement = this._element; + if (this._config.reference === "parent") { + referenceElement = this._parent; + } else if (isElement2(this._config.reference)) { + referenceElement = getElement(this._config.reference); + } else if (typeof this._config.reference === "object") { + referenceElement = this._config.reference; + } + const popperConfig = this._getPopperConfig(); + this._popper = createPopper3(referenceElement, this._menu, popperConfig); + } + _isShown() { + return this._menu.classList.contains(CLASS_NAME_SHOW$6); + } + _getPlacement() { + const parentDropdown = this._parent; + if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { + return PLACEMENT_RIGHT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { + return PLACEMENT_LEFT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) { + return PLACEMENT_TOPCENTER; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) { + return PLACEMENT_BOTTOMCENTER; + } + const isEnd = getComputedStyle(this._menu).getPropertyValue("--bs-position").trim() === "end"; + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { + return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; + } + return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; + } + _detectNavbar() { + return this._element.closest(SELECTOR_NAVBAR) !== null; + } + _getOffset() { + const { + offset: offset2 + } = this._config; + if (typeof offset2 === "string") { + return offset2.split(",").map((value) => Number.parseInt(value, 10)); + } + if (typeof offset2 === "function") { + return (popperData) => offset2(popperData, this._element); + } + return offset2; + } + _getPopperConfig() { + const defaultBsPopperConfig = { + placement: this._getPlacement(), + modifiers: [{ + name: "preventOverflow", + options: { + boundary: this._config.boundary + } + }, { + name: "offset", + options: { + offset: this._getOffset() + } + }] + }; + if (this._inNavbar || this._config.display === "static") { + Manipulator.setDataAttribute(this._menu, "popper", "static"); + defaultBsPopperConfig.modifiers = [{ + name: "applyStyles", + enabled: false + }]; + } + return { + ...defaultBsPopperConfig, + ...execute(this._config.popperConfig, [void 0, defaultBsPopperConfig]) + }; + } + _selectMenuItem({ + key, + target + }) { + const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter((element) => isVisible(element)); + if (!items.length) { + return; + } + getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus(); + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Dropdown.getOrCreateInstance(this, config); + if (typeof config !== "string") { + return; + } + if (typeof data[config] === "undefined") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + static clearMenus(event) { + if (event.button === RIGHT_MOUSE_BUTTON || event.type === "keyup" && event.key !== TAB_KEY$1) { + return; + } + const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN); + for (const toggle of openToggles) { + const context = _Dropdown.getInstance(toggle); + if (!context || context._config.autoClose === false) { + continue; + } + const composedPath = event.composedPath(); + const isMenuTarget = composedPath.includes(context._menu); + if (composedPath.includes(context._element) || context._config.autoClose === "inside" && !isMenuTarget || context._config.autoClose === "outside" && isMenuTarget) { + continue; + } + if (context._menu.contains(event.target) && (event.type === "keyup" && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { + continue; + } + const relatedTarget = { + relatedTarget: context._element + }; + if (event.type === "click") { + relatedTarget.clickEvent = event; + } + context._completeHide(relatedTarget); + } + } + static dataApiKeydownHandler(event) { + const isInput = /input|textarea/i.test(event.target.tagName); + const isEscapeEvent = event.key === ESCAPE_KEY$2; + const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key); + if (!isUpOrDownEvent && !isEscapeEvent) { + return; + } + if (isInput && !isEscapeEvent) { + return; + } + event.preventDefault(); + const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); + const instance = _Dropdown.getOrCreateInstance(getToggleButton); + if (isUpOrDownEvent) { + event.stopPropagation(); + instance.show(); + instance._selectMenuItem(event); + return; + } + if (instance._isShown()) { + event.stopPropagation(); + instance.hide(); + getToggleButton.focus(); + } + } + }; + EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); + EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); + EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); + EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); + EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function(event) { + event.preventDefault(); + Dropdown.getOrCreateInstance(this).toggle(); + }); + defineJQueryPlugin(Dropdown); + var NAME$9 = "backdrop"; + var CLASS_NAME_FADE$4 = "fade"; + var CLASS_NAME_SHOW$5 = "show"; + var EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; + var Default$8 = { + className: "modal-backdrop", + clickCallback: null, + isAnimated: false, + isVisible: true, + // if false, we use the backdrop helper without adding any element to the dom + rootElement: "body" + // give the choice to place backdrop under different elements + }; + var DefaultType$8 = { + className: "string", + clickCallback: "(function|null)", + isAnimated: "boolean", + isVisible: "boolean", + rootElement: "(element|string)" + }; + var Backdrop = class extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isAppended = false; + this._element = null; + } + // Getters + static get Default() { + return Default$8; + } + static get DefaultType() { + return DefaultType$8; + } + static get NAME() { + return NAME$9; + } + // Public + show(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._append(); + const element = this._getElement(); + if (this._config.isAnimated) { + reflow(element); + } + element.classList.add(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + execute(callback); + }); + } + hide(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._getElement().classList.remove(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + this.dispose(); + execute(callback); + }); + } + dispose() { + if (!this._isAppended) { + return; + } + EventHandler.off(this._element, EVENT_MOUSEDOWN); + this._element.remove(); + this._isAppended = false; + } + // Private + _getElement() { + if (!this._element) { + const backdrop = document.createElement("div"); + backdrop.className = this._config.className; + if (this._config.isAnimated) { + backdrop.classList.add(CLASS_NAME_FADE$4); + } + this._element = backdrop; + } + return this._element; + } + _configAfterMerge(config) { + config.rootElement = getElement(config.rootElement); + return config; + } + _append() { + if (this._isAppended) { + return; + } + const element = this._getElement(); + this._config.rootElement.append(element); + EventHandler.on(element, EVENT_MOUSEDOWN, () => { + execute(this._config.clickCallback); + }); + this._isAppended = true; + } + _emulateAnimation(callback) { + executeAfterTransition(callback, this._getElement(), this._config.isAnimated); + } + }; + var NAME$8 = "focustrap"; + var DATA_KEY$5 = "bs.focustrap"; + var EVENT_KEY$5 = `.${DATA_KEY$5}`; + var EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`; + var EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; + var TAB_KEY = "Tab"; + var TAB_NAV_FORWARD = "forward"; + var TAB_NAV_BACKWARD = "backward"; + var Default$7 = { + autofocus: true, + trapElement: null + // The element to trap focus inside of + }; + var DefaultType$7 = { + autofocus: "boolean", + trapElement: "element" + }; + var FocusTrap = class extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isActive = false; + this._lastTabNavDirection = null; + } + // Getters + static get Default() { + return Default$7; + } + static get DefaultType() { + return DefaultType$7; + } + static get NAME() { + return NAME$8; + } + // Public + activate() { + if (this._isActive) { + return; + } + if (this._config.autofocus) { + this._config.trapElement.focus(); + } + EventHandler.off(document, EVENT_KEY$5); + EventHandler.on(document, EVENT_FOCUSIN$2, (event) => this._handleFocusin(event)); + EventHandler.on(document, EVENT_KEYDOWN_TAB, (event) => this._handleKeydown(event)); + this._isActive = true; + } + deactivate() { + if (!this._isActive) { + return; + } + this._isActive = false; + EventHandler.off(document, EVENT_KEY$5); + } + // Private + _handleFocusin(event) { + const { + trapElement + } = this._config; + if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) { + return; + } + const elements = SelectorEngine.focusableChildren(trapElement); + if (elements.length === 0) { + trapElement.focus(); + } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { + elements[elements.length - 1].focus(); + } else { + elements[0].focus(); + } + } + _handleKeydown(event) { + if (event.key !== TAB_KEY) { + return; + } + this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; + } + }; + var SELECTOR_FIXED_CONTENT = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"; + var SELECTOR_STICKY_CONTENT = ".sticky-top"; + var PROPERTY_PADDING = "padding-right"; + var PROPERTY_MARGIN = "margin-right"; + var ScrollBarHelper = class { + constructor() { + this._element = document.body; + } + // Public + getWidth() { + const documentWidth = document.documentElement.clientWidth; + return Math.abs(window.innerWidth - documentWidth); + } + hide() { + const width = this.getWidth(); + this._disableOverFlow(); + this._setElementAttributes(this._element, PROPERTY_PADDING, (calculatedValue) => calculatedValue + width); + this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, (calculatedValue) => calculatedValue + width); + this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, (calculatedValue) => calculatedValue - width); + } + reset() { + this._resetElementAttributes(this._element, "overflow"); + this._resetElementAttributes(this._element, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN); + } + isOverflowing() { + return this.getWidth() > 0; + } + // Private + _disableOverFlow() { + this._saveInitialAttribute(this._element, "overflow"); + this._element.style.overflow = "hidden"; + } + _setElementAttributes(selector, styleProperty, callback) { + const scrollbarWidth = this.getWidth(); + const manipulationCallBack = (element) => { + if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { + return; + } + this._saveInitialAttribute(element, styleProperty); + const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty); + element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _saveInitialAttribute(element, styleProperty) { + const actualValue = element.style.getPropertyValue(styleProperty); + if (actualValue) { + Manipulator.setDataAttribute(element, styleProperty, actualValue); + } + } + _resetElementAttributes(selector, styleProperty) { + const manipulationCallBack = (element) => { + const value = Manipulator.getDataAttribute(element, styleProperty); + if (value === null) { + element.style.removeProperty(styleProperty); + return; + } + Manipulator.removeDataAttribute(element, styleProperty); + element.style.setProperty(styleProperty, value); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _applyManipulationCallback(selector, callBack) { + if (isElement2(selector)) { + callBack(selector); + return; + } + for (const sel of SelectorEngine.find(selector, this._element)) { + callBack(sel); + } + } + }; + var NAME$7 = "modal"; + var DATA_KEY$4 = "bs.modal"; + var EVENT_KEY$4 = `.${DATA_KEY$4}`; + var DATA_API_KEY$2 = ".data-api"; + var ESCAPE_KEY$1 = "Escape"; + var EVENT_HIDE$4 = `hide${EVENT_KEY$4}`; + var EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; + var EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; + var EVENT_SHOW$4 = `show${EVENT_KEY$4}`; + var EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; + var EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; + var EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`; + var EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`; + var EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; + var EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; + var CLASS_NAME_OPEN = "modal-open"; + var CLASS_NAME_FADE$3 = "fade"; + var CLASS_NAME_SHOW$4 = "show"; + var CLASS_NAME_STATIC = "modal-static"; + var OPEN_SELECTOR$1 = ".modal.show"; + var SELECTOR_DIALOG = ".modal-dialog"; + var SELECTOR_MODAL_BODY = ".modal-body"; + var SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; + var Default$6 = { + backdrop: true, + focus: true, + keyboard: true + }; + var DefaultType$6 = { + backdrop: "(boolean|string)", + focus: "boolean", + keyboard: "boolean" + }; + var Modal = class _Modal extends BaseComponent { + constructor(element, config) { + super(element, config); + this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._isShown = false; + this._isTransitioning = false; + this._scrollBar = new ScrollBarHelper(); + this._addEventListeners(); + } + // Getters + static get Default() { + return Default$6; + } + static get DefaultType() { + return DefaultType$6; + } + static get NAME() { + return NAME$7; + } + // Public + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown || this._isTransitioning) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, { + relatedTarget + }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._isTransitioning = true; + this._scrollBar.hide(); + document.body.classList.add(CLASS_NAME_OPEN); + this._adjustDialog(); + this._backdrop.show(() => this._showElement(relatedTarget)); + } + hide() { + if (!this._isShown || this._isTransitioning) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4); + if (hideEvent.defaultPrevented) { + return; + } + this._isShown = false; + this._isTransitioning = true; + this._focustrap.deactivate(); + this._element.classList.remove(CLASS_NAME_SHOW$4); + this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); + } + dispose() { + EventHandler.off(window, EVENT_KEY$4); + EventHandler.off(this._dialog, EVENT_KEY$4); + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + handleUpdate() { + this._adjustDialog(); + } + // Private + _initializeBackDrop() { + return new Backdrop({ + isVisible: Boolean(this._config.backdrop), + // 'static' option will be translated to true, and booleans will keep their value, + isAnimated: this._isAnimated() + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _showElement(relatedTarget) { + if (!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", true); + this._element.setAttribute("role", "dialog"); + this._element.scrollTop = 0; + const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); + if (modalBody) { + modalBody.scrollTop = 0; + } + reflow(this._element); + this._element.classList.add(CLASS_NAME_SHOW$4); + const transitionComplete = () => { + if (this._config.focus) { + this._focustrap.activate(); + } + this._isTransitioning = false; + EventHandler.trigger(this._element, EVENT_SHOWN$4, { + relatedTarget + }); + }; + this._queueCallback(transitionComplete, this._dialog, this._isAnimated()); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, (event) => { + if (event.key !== ESCAPE_KEY$1) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + this._triggerBackdropTransition(); + }); + EventHandler.on(window, EVENT_RESIZE$1, () => { + if (this._isShown && !this._isTransitioning) { + this._adjustDialog(); + } + }); + EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, (event) => { + EventHandler.one(this._element, EVENT_CLICK_DISMISS, (event2) => { + if (this._element !== event.target || this._element !== event2.target) { + return; + } + if (this._config.backdrop === "static") { + this._triggerBackdropTransition(); + return; + } + if (this._config.backdrop) { + this.hide(); + } + }); + }); + } + _hideModal() { + this._element.style.display = "none"; + this._element.setAttribute("aria-hidden", true); + this._element.removeAttribute("aria-modal"); + this._element.removeAttribute("role"); + this._isTransitioning = false; + this._backdrop.hide(() => { + document.body.classList.remove(CLASS_NAME_OPEN); + this._resetAdjustments(); + this._scrollBar.reset(); + EventHandler.trigger(this._element, EVENT_HIDDEN$4); + }); + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_FADE$3); + } + _triggerBackdropTransition() { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); + if (hideEvent.defaultPrevented) { + return; + } + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const initialOverflowY = this._element.style.overflowY; + if (initialOverflowY === "hidden" || this._element.classList.contains(CLASS_NAME_STATIC)) { + return; + } + if (!isModalOverflowing) { + this._element.style.overflowY = "hidden"; + } + this._element.classList.add(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.classList.remove(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.style.overflowY = initialOverflowY; + }, this._dialog); + }, this._dialog); + this._element.focus(); + } + /** + * The following methods are used to handle overflowing modals + */ + _adjustDialog() { + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const scrollbarWidth = this._scrollBar.getWidth(); + const isBodyOverflowing = scrollbarWidth > 0; + if (isBodyOverflowing && !isModalOverflowing) { + const property = isRTL() ? "paddingLeft" : "paddingRight"; + this._element.style[property] = `${scrollbarWidth}px`; + } + if (!isBodyOverflowing && isModalOverflowing) { + const property = isRTL() ? "paddingRight" : "paddingLeft"; + this._element.style[property] = `${scrollbarWidth}px`; + } + } + _resetAdjustments() { + this._element.style.paddingLeft = ""; + this._element.style.paddingRight = ""; + } + // Static + static jQueryInterface(config, relatedTarget) { + return this.each(function() { + const data = _Modal.getOrCreateInstance(this, config); + if (typeof config !== "string") { + return; + } + if (typeof data[config] === "undefined") { + throw new TypeError(`No method named "${config}"`); + } + data[config](relatedTarget); + }); + } + }; + EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function(event) { + const target = SelectorEngine.getElementFromSelector(this); + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + EventHandler.one(target, EVENT_SHOW$4, (showEvent) => { + if (showEvent.defaultPrevented) { + return; + } + EventHandler.one(target, EVENT_HIDDEN$4, () => { + if (isVisible(this)) { + this.focus(); + } + }); + }); + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); + if (alreadyOpen) { + Modal.getInstance(alreadyOpen).hide(); + } + const data = Modal.getOrCreateInstance(target); + data.toggle(this); + }); + enableDismissTrigger(Modal); + defineJQueryPlugin(Modal); + var NAME$6 = "offcanvas"; + var DATA_KEY$3 = "bs.offcanvas"; + var EVENT_KEY$3 = `.${DATA_KEY$3}`; + var DATA_API_KEY$1 = ".data-api"; + var EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`; + var ESCAPE_KEY = "Escape"; + var CLASS_NAME_SHOW$3 = "show"; + var CLASS_NAME_SHOWING$1 = "showing"; + var CLASS_NAME_HIDING = "hiding"; + var CLASS_NAME_BACKDROP = "offcanvas-backdrop"; + var OPEN_SELECTOR = ".offcanvas.show"; + var EVENT_SHOW$3 = `show${EVENT_KEY$3}`; + var EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`; + var EVENT_HIDE$3 = `hide${EVENT_KEY$3}`; + var EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`; + var EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`; + var EVENT_RESIZE = `resize${EVENT_KEY$3}`; + var EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`; + var EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`; + var SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]'; + var Default$5 = { + backdrop: true, + keyboard: true, + scroll: false + }; + var DefaultType$5 = { + backdrop: "(boolean|string)", + keyboard: "boolean", + scroll: "boolean" + }; + var Offcanvas = class _Offcanvas extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isShown = false; + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._addEventListeners(); + } + // Getters + static get Default() { + return Default$5; + } + static get DefaultType() { + return DefaultType$5; + } + static get NAME() { + return NAME$6; + } + // Public + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { + relatedTarget + }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._backdrop.show(); + if (!this._config.scroll) { + new ScrollBarHelper().hide(); + } + this._element.setAttribute("aria-modal", true); + this._element.setAttribute("role", "dialog"); + this._element.classList.add(CLASS_NAME_SHOWING$1); + const completeCallBack = () => { + if (!this._config.scroll || this._config.backdrop) { + this._focustrap.activate(); + } + this._element.classList.add(CLASS_NAME_SHOW$3); + this._element.classList.remove(CLASS_NAME_SHOWING$1); + EventHandler.trigger(this._element, EVENT_SHOWN$3, { + relatedTarget + }); + }; + this._queueCallback(completeCallBack, this._element, true); + } + hide() { + if (!this._isShown) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); + if (hideEvent.defaultPrevented) { + return; + } + this._focustrap.deactivate(); + this._element.blur(); + this._isShown = false; + this._element.classList.add(CLASS_NAME_HIDING); + this._backdrop.hide(); + const completeCallback = () => { + this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING); + this._element.removeAttribute("aria-modal"); + this._element.removeAttribute("role"); + if (!this._config.scroll) { + new ScrollBarHelper().reset(); + } + EventHandler.trigger(this._element, EVENT_HIDDEN$3); + }; + this._queueCallback(completeCallback, this._element, true); + } + dispose() { + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + // Private + _initializeBackDrop() { + const clickCallback = () => { + if (this._config.backdrop === "static") { + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + return; + } + this.hide(); + }; + const isVisible2 = Boolean(this._config.backdrop); + return new Backdrop({ + className: CLASS_NAME_BACKDROP, + isVisible: isVisible2, + isAnimated: true, + rootElement: this._element.parentNode, + clickCallback: isVisible2 ? clickCallback : null + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event) => { + if (event.key !== ESCAPE_KEY) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + }); + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Offcanvas.getOrCreateInstance(this, config); + if (typeof config !== "string") { + return; + } + if (data[config] === void 0 || config.startsWith("_") || config === "constructor") { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + }); + } + }; + EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function(event) { + const target = SelectorEngine.getElementFromSelector(this); + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + EventHandler.one(target, EVENT_HIDDEN$3, () => { + if (isVisible(this)) { + this.focus(); + } + }); + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); + if (alreadyOpen && alreadyOpen !== target) { + Offcanvas.getInstance(alreadyOpen).hide(); + } + const data = Offcanvas.getOrCreateInstance(target); + data.toggle(this); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { + for (const selector of SelectorEngine.find(OPEN_SELECTOR)) { + Offcanvas.getOrCreateInstance(selector).show(); + } + }); + EventHandler.on(window, EVENT_RESIZE, () => { + for (const element of SelectorEngine.find("[aria-modal][class*=show][class*=offcanvas-]")) { + if (getComputedStyle(element).position !== "fixed") { + Offcanvas.getOrCreateInstance(element).hide(); + } + } + }); + enableDismissTrigger(Offcanvas); + defineJQueryPlugin(Offcanvas); + var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; + var DefaultAllowlist = { + // Global attributes allowed on any supplied element below. + "*": ["class", "dir", "id", "lang", "role", ARIA_ATTRIBUTE_PATTERN], + 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: [] + }; + var uriAttributes = /* @__PURE__ */ new Set(["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"]); + var SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i; + var allowedAttribute = (attribute, allowedAttributeList) => { + const attributeName = attribute.nodeName.toLowerCase(); + if (allowedAttributeList.includes(attributeName)) { + if (uriAttributes.has(attributeName)) { + return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue)); + } + return true; + } + return allowedAttributeList.filter((attributeRegex) => attributeRegex instanceof RegExp).some((regex) => regex.test(attributeName)); + }; + function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { + if (!unsafeHtml.length) { + return unsafeHtml; + } + if (sanitizeFunction && typeof sanitizeFunction === "function") { + return sanitizeFunction(unsafeHtml); + } + const domParser = new window.DOMParser(); + const createdDocument = domParser.parseFromString(unsafeHtml, "text/html"); + const elements = [].concat(...createdDocument.body.querySelectorAll("*")); + for (const element of elements) { + const elementName = element.nodeName.toLowerCase(); + if (!Object.keys(allowList).includes(elementName)) { + element.remove(); + continue; + } + const attributeList = [].concat(...element.attributes); + const allowedAttributes = [].concat(allowList["*"] || [], allowList[elementName] || []); + for (const attribute of attributeList) { + if (!allowedAttribute(attribute, allowedAttributes)) { + element.removeAttribute(attribute.nodeName); + } + } + } + return createdDocument.body.innerHTML; + } + var NAME$5 = "TemplateFactory"; + var Default$4 = { + allowList: DefaultAllowlist, + content: {}, + // { selector : text , selector2 : text2 , } + extraClass: "", + html: false, + sanitize: true, + sanitizeFn: null, + template: "
    " + }; + var DefaultType$4 = { + allowList: "object", + content: "object", + extraClass: "(string|function)", + html: "boolean", + sanitize: "boolean", + sanitizeFn: "(null|function)", + template: "string" + }; + var DefaultContentType = { + entry: "(string|element|function|null)", + selector: "(string|element)" + }; + var TemplateFactory = class extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + } + // Getters + static get Default() { + return Default$4; + } + static get DefaultType() { + return DefaultType$4; + } + static get NAME() { + return NAME$5; + } + // Public + getContent() { + return Object.values(this._config.content).map((config) => this._resolvePossibleFunction(config)).filter(Boolean); + } + hasContent() { + return this.getContent().length > 0; + } + changeContent(content) { + this._checkContent(content); + this._config.content = { + ...this._config.content, + ...content + }; + return this; + } + toHtml() { + const templateWrapper = document.createElement("div"); + templateWrapper.innerHTML = this._maybeSanitize(this._config.template); + for (const [selector, text] of Object.entries(this._config.content)) { + this._setContent(templateWrapper, text, selector); + } + const template = templateWrapper.children[0]; + const extraClass = this._resolvePossibleFunction(this._config.extraClass); + if (extraClass) { + template.classList.add(...extraClass.split(" ")); + } + return template; + } + // Private + _typeCheckConfig(config) { + super._typeCheckConfig(config); + this._checkContent(config.content); + } + _checkContent(arg) { + for (const [selector, content] of Object.entries(arg)) { + super._typeCheckConfig({ + selector, + entry: content + }, DefaultContentType); + } + } + _setContent(template, content, selector) { + const templateElement = SelectorEngine.findOne(selector, template); + if (!templateElement) { + return; + } + content = this._resolvePossibleFunction(content); + if (!content) { + templateElement.remove(); + return; + } + if (isElement2(content)) { + this._putElementInTemplate(getElement(content), templateElement); + return; + } + if (this._config.html) { + templateElement.innerHTML = this._maybeSanitize(content); + return; + } + templateElement.textContent = content; + } + _maybeSanitize(arg) { + return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg; + } + _resolvePossibleFunction(arg) { + return execute(arg, [void 0, this]); + } + _putElementInTemplate(element, templateElement) { + if (this._config.html) { + templateElement.innerHTML = ""; + templateElement.append(element); + return; + } + templateElement.textContent = element.textContent; + } + }; + var NAME$4 = "tooltip"; + var DISALLOWED_ATTRIBUTES = /* @__PURE__ */ new Set(["sanitize", "allowList", "sanitizeFn"]); + var CLASS_NAME_FADE$2 = "fade"; + var CLASS_NAME_MODAL = "modal"; + var CLASS_NAME_SHOW$2 = "show"; + var SELECTOR_TOOLTIP_INNER = ".tooltip-inner"; + var SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; + var EVENT_MODAL_HIDE = "hide.bs.modal"; + var TRIGGER_HOVER = "hover"; + var TRIGGER_FOCUS = "focus"; + var TRIGGER_CLICK = "click"; + var TRIGGER_MANUAL = "manual"; + var EVENT_HIDE$2 = "hide"; + var EVENT_HIDDEN$2 = "hidden"; + var EVENT_SHOW$2 = "show"; + var EVENT_SHOWN$2 = "shown"; + var EVENT_INSERTED = "inserted"; + var EVENT_CLICK$1 = "click"; + var EVENT_FOCUSIN$1 = "focusin"; + var EVENT_FOCUSOUT$1 = "focusout"; + var EVENT_MOUSEENTER = "mouseenter"; + var EVENT_MOUSELEAVE = "mouseleave"; + var AttachmentMap = { + AUTO: "auto", + TOP: "top", + RIGHT: isRTL() ? "left" : "right", + BOTTOM: "bottom", + LEFT: isRTL() ? "right" : "left" + }; + var Default$3 = { + allowList: DefaultAllowlist, + animation: true, + boundary: "clippingParents", + container: false, + customClass: "", + delay: 0, + fallbackPlacements: ["top", "right", "bottom", "left"], + html: false, + offset: [0, 6], + placement: "top", + popperConfig: null, + sanitize: true, + sanitizeFn: null, + selector: false, + template: '', + title: "", + trigger: "hover focus" + }; + var DefaultType$3 = { + 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" + }; + var Tooltip = class _Tooltip extends BaseComponent { + constructor(element, config) { + if (typeof lib_exports === "undefined") { + throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)"); + } + super(element, config); + this._isEnabled = true; + this._timeout = 0; + this._isHovered = null; + this._activeTrigger = {}; + this._popper = null; + this._templateFactory = null; + this._newContent = null; + this.tip = null; + this._setListeners(); + if (!this._config.selector) { + this._fixTitle(); + } + } + // Getters + static get Default() { + return Default$3; + } + static get DefaultType() { + return DefaultType$3; + } + static get NAME() { + return NAME$4; + } + // Public + enable() { + this._isEnabled = true; + } + disable() { + this._isEnabled = false; + } + toggleEnabled() { + this._isEnabled = !this._isEnabled; + } + toggle() { + if (!this._isEnabled) { + return; + } + if (this._isShown()) { + this._leave(); + return; + } + this._enter(); + } + dispose() { + clearTimeout(this._timeout); + EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + if (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 showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2)); + const shadowRoot = findShadowRoot(this._element); + const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); + if (showEvent.defaultPrevented || !isInTheDom) { + return; + } + this._disposePopper(); + const tip = this._getTipElement(); + this._element.setAttribute("aria-describedby", tip.getAttribute("id")); + const { + container + } = this._config; + if (!this._element.ownerDocument.documentElement.contains(this.tip)) { + container.append(tip); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED)); + } + this._popper = this._createPopper(tip); + tip.classList.add(CLASS_NAME_SHOW$2); + if ("ontouchstart" in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, "mouseover", noop); + } + } + const complete = () => { + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2)); + if (this._isHovered === false) { + this._leave(); + } + this._isHovered = false; + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + hide() { + if (!this._isShown()) { + return; + } + const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2)); + if (hideEvent.defaultPrevented) { + return; + } + const tip = this._getTipElement(); + tip.classList.remove(CLASS_NAME_SHOW$2); + if ("ontouchstart" in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, "mouseover", noop); + } + } + this._activeTrigger[TRIGGER_CLICK] = false; + this._activeTrigger[TRIGGER_FOCUS] = false; + this._activeTrigger[TRIGGER_HOVER] = false; + this._isHovered = null; + const complete = () => { + if (this._isWithActiveTrigger()) { + return; + } + if (!this._isHovered) { + this._disposePopper(); + } + this._element.removeAttribute("aria-describedby"); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2)); + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + update() { + if (this._popper) { + this._popper.update(); + } + } + // Protected + _isWithContent() { + return Boolean(this._getTitle()); + } + _getTipElement() { + if (!this.tip) { + this.tip = this._createTipElement(this._newContent || this._getContentForTemplate()); + } + return this.tip; + } + _createTipElement(content) { + const tip = this._getTemplateFactory(content).toHtml(); + if (!tip) { + return null; + } + tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); + tip.classList.add(`bs-${this.constructor.NAME}-auto`); + const tipId = getUID(this.constructor.NAME).toString(); + tip.setAttribute("id", tipId); + if (this._isAnimated()) { + tip.classList.add(CLASS_NAME_FADE$2); + } + return tip; + } + setContent(content) { + this._newContent = content; + if (this._isShown()) { + this._disposePopper(); + this.show(); + } + } + _getTemplateFactory(content) { + if (this._templateFactory) { + this._templateFactory.changeContent(content); + } else { + this._templateFactory = new TemplateFactory({ + ...this._config, + // the `content` var has to be after `this._config` + // to override config.content in case of popover + content, + extraClass: this._resolvePossibleFunction(this._config.customClass) + }); + } + return this._templateFactory; + } + _getContentForTemplate() { + return { + [SELECTOR_TOOLTIP_INNER]: this._getTitle() + }; + } + _getTitle() { + return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute("data-bs-original-title"); + } + // Private + _initializeOnDelegatedTarget(event) { + return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); + } + _isAnimated() { + return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2); + } + _isShown() { + return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2); + } + _createPopper(tip) { + const placement = execute(this._config.placement, [this, tip, this._element]); + const attachment = AttachmentMap[placement.toUpperCase()]; + return createPopper3(this._element, tip, this._getPopperConfig(attachment)); + } + _getOffset() { + const { + offset: offset2 + } = this._config; + if (typeof offset2 === "string") { + return offset2.split(",").map((value) => Number.parseInt(value, 10)); + } + if (typeof offset2 === "function") { + return (popperData) => offset2(popperData, this._element); + } + return offset2; + } + _resolvePossibleFunction(arg) { + return execute(arg, [this._element, this._element]); + } + _getPopperConfig(attachment) { + const defaultBsPopperConfig = { + placement: attachment, + 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: true, + phase: "beforeMain", + fn: (data) => { + this._getTipElement().setAttribute("data-popper-placement", data.state.placement); + } + }] + }; + return { + ...defaultBsPopperConfig, + ...execute(this._config.popperConfig, [void 0, defaultBsPopperConfig]) + }; + } + _setListeners() { + const triggers = this._config.trigger.split(" "); + for (const trigger of triggers) { + if (trigger === "click") { + EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, (event) => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK]); + context.toggle(); + }); + } else if (trigger !== TRIGGER_MANUAL) { + const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1); + const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1); + EventHandler.on(this._element, eventIn, this._config.selector, (event) => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === "focusin" ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; + context._enter(); + }); + EventHandler.on(this._element, eventOut, this._config.selector, (event) => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === "focusout" ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); + context._leave(); + }); + } + } + this._hideModalHandler = () => { + if (this._element) { + this.hide(); + } + }; + EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + } + _fixTitle() { + const title = this._element.getAttribute("title"); + if (!title) { + return; + } + if (!this._element.getAttribute("aria-label") && !this._element.textContent.trim()) { + this._element.setAttribute("aria-label", title); + } + this._element.setAttribute("data-bs-original-title", title); + this._element.removeAttribute("title"); + } + _enter() { + if (this._isShown() || this._isHovered) { + this._isHovered = true; + return; + } + this._isHovered = true; + this._setTimeout(() => { + if (this._isHovered) { + this.show(); + } + }, this._config.delay.show); + } + _leave() { + if (this._isWithActiveTrigger()) { + return; + } + this._isHovered = false; + this._setTimeout(() => { + if (!this._isHovered) { + this.hide(); + } + }, this._config.delay.hide); + } + _setTimeout(handler, timeout) { + clearTimeout(this._timeout); + this._timeout = setTimeout(handler, timeout); + } + _isWithActiveTrigger() { + return Object.values(this._activeTrigger).includes(true); + } + _getConfig(config) { + const dataAttributes = Manipulator.getDataAttributes(this._element); + for (const dataAttribute of Object.keys(dataAttributes)) { + if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) { + delete dataAttributes[dataAttribute]; + } + } + config = { + ...dataAttributes, + ...typeof config === "object" && config ? config : {} + }; + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + config.container = config.container === false ? document.body : getElement(config.container); + if (typeof config.delay === "number") { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + if (typeof config.title === "number") { + config.title = config.title.toString(); + } + if (typeof config.content === "number") { + config.content = config.content.toString(); + } + return config; + } + _getDelegateConfig() { + const config = {}; + for (const [key, value] of Object.entries(this._config)) { + if (this.constructor.Default[key] !== value) { + config[key] = value; + } + } + config.selector = false; + config.trigger = "manual"; + return config; + } + _disposePopper() { + if (this._popper) { + this._popper.destroy(); + this._popper = null; + } + if (this.tip) { + this.tip.remove(); + this.tip = null; + } + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Tooltip.getOrCreateInstance(this, config); + if (typeof config !== "string") { + return; + } + if (typeof data[config] === "undefined") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + }; + defineJQueryPlugin(Tooltip); + var NAME$3 = "popover"; + var SELECTOR_TITLE = ".popover-header"; + var SELECTOR_CONTENT = ".popover-body"; + var Default$2 = { + ...Tooltip.Default, + content: "", + offset: [0, 8], + placement: "right", + template: '', + trigger: "click" + }; + var DefaultType$2 = { + ...Tooltip.DefaultType, + content: "(null|string|element|function)" + }; + var Popover = class _Popover extends Tooltip { + // Getters + static get Default() { + return Default$2; + } + static get DefaultType() { + return DefaultType$2; + } + static get NAME() { + return NAME$3; + } + // Overrides + _isWithContent() { + return this._getTitle() || this._getContent(); + } + // Private + _getContentForTemplate() { + return { + [SELECTOR_TITLE]: this._getTitle(), + [SELECTOR_CONTENT]: this._getContent() + }; + } + _getContent() { + return this._resolvePossibleFunction(this._config.content); + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Popover.getOrCreateInstance(this, config); + if (typeof config !== "string") { + return; + } + if (typeof data[config] === "undefined") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + }; + defineJQueryPlugin(Popover); + var NAME$2 = "scrollspy"; + var DATA_KEY$2 = "bs.scrollspy"; + var EVENT_KEY$2 = `.${DATA_KEY$2}`; + var DATA_API_KEY = ".data-api"; + var EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; + var EVENT_CLICK = `click${EVENT_KEY$2}`; + var EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`; + var CLASS_NAME_DROPDOWN_ITEM = "dropdown-item"; + var CLASS_NAME_ACTIVE$1 = "active"; + var SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; + var SELECTOR_TARGET_LINKS = "[href]"; + var SELECTOR_NAV_LIST_GROUP = ".nav, .list-group"; + var SELECTOR_NAV_LINKS = ".nav-link"; + var SELECTOR_NAV_ITEMS = ".nav-item"; + var SELECTOR_LIST_ITEMS = ".list-group-item"; + var SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`; + var SELECTOR_DROPDOWN = ".dropdown"; + var SELECTOR_DROPDOWN_TOGGLE$1 = ".dropdown-toggle"; + var Default$1 = { + offset: null, + // TODO: v6 @deprecated, keep it for backwards compatibility reasons + rootMargin: "0px 0px -25%", + smoothScroll: false, + target: null, + threshold: [0.1, 0.5, 1] + }; + var DefaultType$1 = { + offset: "(number|null)", + // TODO v6 @deprecated, keep it for backwards compatibility reasons + rootMargin: "string", + smoothScroll: "boolean", + target: "element", + threshold: "array" + }; + var ScrollSpy = class _ScrollSpy extends BaseComponent { + constructor(element, config) { + super(element, config); + this._targetLinks = /* @__PURE__ */ new Map(); + this._observableSections = /* @__PURE__ */ 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(); + } + // Getters + static get Default() { + return Default$1; + } + static get DefaultType() { + return DefaultType$1; + } + static get NAME() { + return NAME$2; + } + // Public + refresh() { + this._initializeTargetsAndObservables(); + this._maybeEnableSmoothScroll(); + if (this._observer) { + this._observer.disconnect(); + } else { + this._observer = this._getNewObserver(); + } + for (const section of this._observableSections.values()) { + this._observer.observe(section); + } + } + dispose() { + this._observer.disconnect(); + super.dispose(); + } + // Private + _configAfterMerge(config) { + config.target = getElement(config.target) || document.body; + config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin; + if (typeof config.threshold === "string") { + config.threshold = config.threshold.split(",").map((value) => Number.parseFloat(value)); + } + return config; + } + _maybeEnableSmoothScroll() { + if (!this._config.smoothScroll) { + return; + } + EventHandler.off(this._config.target, EVENT_CLICK); + EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, (event) => { + const observableSection = this._observableSections.get(event.target.hash); + if (observableSection) { + event.preventDefault(); + const root = this._rootElement || window; + const height = observableSection.offsetTop - this._element.offsetTop; + if (root.scrollTo) { + root.scrollTo({ + top: height, + behavior: "smooth" + }); + return; + } + root.scrollTop = height; + } + }); + } + _getNewObserver() { + const options = { + root: this._rootElement, + threshold: this._config.threshold, + rootMargin: this._config.rootMargin + }; + return new IntersectionObserver((entries) => this._observerCallback(entries), options); + } + // The logic of selection + _observerCallback(entries) { + const targetElement = (entry) => this._targetLinks.get(`#${entry.target.id}`); + const activate = (entry) => { + this._previousScrollData.visibleEntryTop = entry.target.offsetTop; + this._process(targetElement(entry)); + }; + const parentScrollTop = (this._rootElement || document.documentElement).scrollTop; + const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop; + this._previousScrollData.parentScrollTop = parentScrollTop; + for (const entry of entries) { + if (!entry.isIntersecting) { + this._activeTarget = null; + this._clearActiveClass(targetElement(entry)); + continue; + } + const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; + if (userScrollsDown && entryIsLowerThanPrevious) { + activate(entry); + if (!parentScrollTop) { + return; + } + continue; + } + if (!userScrollsDown && !entryIsLowerThanPrevious) { + activate(entry); + } + } + } + _initializeTargetsAndObservables() { + this._targetLinks = /* @__PURE__ */ new Map(); + this._observableSections = /* @__PURE__ */ new Map(); + const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target); + for (const anchor of targetLinks) { + if (!anchor.hash || isDisabled(anchor)) { + continue; + } + const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element); + if (isVisible(observableSection)) { + this._targetLinks.set(decodeURI(anchor.hash), anchor); + this._observableSections.set(anchor.hash, observableSection); + } + } + } + _process(target) { + if (this._activeTarget === target) { + return; + } + this._clearActiveClass(this._config.target); + this._activeTarget = target; + target.classList.add(CLASS_NAME_ACTIVE$1); + this._activateParents(target); + EventHandler.trigger(this._element, EVENT_ACTIVATE, { + relatedTarget: target + }); + } + _activateParents(target) { + if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { + SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1); + return; + } + for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) { + for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) { + item.classList.add(CLASS_NAME_ACTIVE$1); + } + } + } + _clearActiveClass(parent) { + parent.classList.remove(CLASS_NAME_ACTIVE$1); + const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent); + for (const node of activeNodes) { + node.classList.remove(CLASS_NAME_ACTIVE$1); + } + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _ScrollSpy.getOrCreateInstance(this, config); + if (typeof config !== "string") { + return; + } + if (data[config] === void 0 || config.startsWith("_") || config === "constructor") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + }; + EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => { + for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) { + ScrollSpy.getOrCreateInstance(spy); + } + }); + defineJQueryPlugin(ScrollSpy); + var NAME$1 = "tab"; + var DATA_KEY$1 = "bs.tab"; + var EVENT_KEY$1 = `.${DATA_KEY$1}`; + var EVENT_HIDE$1 = `hide${EVENT_KEY$1}`; + var EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`; + var EVENT_SHOW$1 = `show${EVENT_KEY$1}`; + var EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`; + var EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`; + var EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`; + var EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`; + var ARROW_LEFT_KEY = "ArrowLeft"; + var ARROW_RIGHT_KEY = "ArrowRight"; + var ARROW_UP_KEY = "ArrowUp"; + var ARROW_DOWN_KEY = "ArrowDown"; + var HOME_KEY = "Home"; + var END_KEY = "End"; + var CLASS_NAME_ACTIVE = "active"; + var CLASS_NAME_FADE$1 = "fade"; + var CLASS_NAME_SHOW$1 = "show"; + var CLASS_DROPDOWN = "dropdown"; + var SELECTOR_DROPDOWN_TOGGLE = ".dropdown-toggle"; + var SELECTOR_DROPDOWN_MENU = ".dropdown-menu"; + var NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`; + var SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; + var SELECTOR_OUTER = ".nav-item, .list-group-item"; + var SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`; + var SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; + var SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`; + var SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`; + var Tab = class _Tab extends BaseComponent { + constructor(element) { + super(element); + this._parent = this._element.closest(SELECTOR_TAB_PANEL); + if (!this._parent) { + return; + } + this._setInitialAttributes(this._parent, this._getChildren()); + EventHandler.on(this._element, EVENT_KEYDOWN, (event) => this._keydown(event)); + } + // Getters + static get NAME() { + return NAME$1; + } + // Public + show() { + const innerElem = this._element; + if (this._elemIsActive(innerElem)) { + return; + } + const active = this._getActiveElem(); + const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, { + relatedTarget: innerElem + }) : null; + const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, { + relatedTarget: active + }); + if (showEvent.defaultPrevented || hideEvent && hideEvent.defaultPrevented) { + return; + } + this._deactivate(active, innerElem); + this._activate(innerElem, active); + } + // Private + _activate(element, relatedElem) { + if (!element) { + return; + } + element.classList.add(CLASS_NAME_ACTIVE); + this._activate(SelectorEngine.getElementFromSelector(element)); + const complete = () => { + if (element.getAttribute("role") !== "tab") { + element.classList.add(CLASS_NAME_SHOW$1); + return; + } + element.removeAttribute("tabindex"); + element.setAttribute("aria-selected", true); + this._toggleDropDown(element, true); + EventHandler.trigger(element, EVENT_SHOWN$1, { + relatedTarget: relatedElem + }); + }; + this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); + } + _deactivate(element, relatedElem) { + if (!element) { + return; + } + element.classList.remove(CLASS_NAME_ACTIVE); + element.blur(); + this._deactivate(SelectorEngine.getElementFromSelector(element)); + const complete = () => { + if (element.getAttribute("role") !== "tab") { + element.classList.remove(CLASS_NAME_SHOW$1); + return; + } + element.setAttribute("aria-selected", false); + element.setAttribute("tabindex", "-1"); + this._toggleDropDown(element, false); + EventHandler.trigger(element, EVENT_HIDDEN$1, { + relatedTarget: relatedElem + }); + }; + this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); + } + _keydown(event) { + if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key)) { + return; + } + event.stopPropagation(); + event.preventDefault(); + const children2 = this._getChildren().filter((element) => !isDisabled(element)); + let nextActiveElement; + if ([HOME_KEY, END_KEY].includes(event.key)) { + nextActiveElement = children2[event.key === HOME_KEY ? 0 : children2.length - 1]; + } else { + const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key); + nextActiveElement = getNextActiveElement(children2, event.target, isNext, true); + } + if (nextActiveElement) { + nextActiveElement.focus({ + preventScroll: true + }); + _Tab.getOrCreateInstance(nextActiveElement).show(); + } + } + _getChildren() { + return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent); + } + _getActiveElem() { + return this._getChildren().find((child2) => this._elemIsActive(child2)) || null; + } + _setInitialAttributes(parent, children2) { + this._setAttributeIfNotExists(parent, "role", "tablist"); + for (const child2 of children2) { + this._setInitialAttributesOnChild(child2); + } + } + _setInitialAttributesOnChild(child2) { + child2 = this._getInnerElement(child2); + const isActive = this._elemIsActive(child2); + const outerElem = this._getOuterElement(child2); + child2.setAttribute("aria-selected", isActive); + if (outerElem !== child2) { + this._setAttributeIfNotExists(outerElem, "role", "presentation"); + } + if (!isActive) { + child2.setAttribute("tabindex", "-1"); + } + this._setAttributeIfNotExists(child2, "role", "tab"); + this._setInitialAttributesOnTargetPanel(child2); + } + _setInitialAttributesOnTargetPanel(child2) { + const target = SelectorEngine.getElementFromSelector(child2); + if (!target) { + return; + } + this._setAttributeIfNotExists(target, "role", "tabpanel"); + if (child2.id) { + this._setAttributeIfNotExists(target, "aria-labelledby", `${child2.id}`); + } + } + _toggleDropDown(element, open) { + const outerElem = this._getOuterElement(element); + if (!outerElem.classList.contains(CLASS_DROPDOWN)) { + return; + } + const toggle = (selector, className) => { + const element2 = SelectorEngine.findOne(selector, outerElem); + if (element2) { + element2.classList.toggle(className, open); + } + }; + toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE); + toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1); + outerElem.setAttribute("aria-expanded", open); + } + _setAttributeIfNotExists(element, attribute, value) { + if (!element.hasAttribute(attribute)) { + element.setAttribute(attribute, value); + } + } + _elemIsActive(elem) { + return elem.classList.contains(CLASS_NAME_ACTIVE); + } + // Try to get the inner element (usually the .nav-link) + _getInnerElement(elem) { + return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem); + } + // Try to get the outer element (usually the .nav-item) + _getOuterElement(elem) { + return elem.closest(SELECTOR_OUTER) || elem; + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Tab.getOrCreateInstance(this); + if (typeof config !== "string") { + return; + } + if (data[config] === void 0 || config.startsWith("_") || config === "constructor") { + throw new TypeError(`No method named "${config}"`); + } + data[config](); + }); + } + }; + EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function(event) { + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + Tab.getOrCreateInstance(this).show(); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API, () => { + for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) { + Tab.getOrCreateInstance(element); + } + }); + defineJQueryPlugin(Tab); + var NAME = "toast"; + var DATA_KEY = "bs.toast"; + var EVENT_KEY = `.${DATA_KEY}`; + var EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`; + var EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`; + var EVENT_FOCUSIN = `focusin${EVENT_KEY}`; + var EVENT_FOCUSOUT = `focusout${EVENT_KEY}`; + var EVENT_HIDE = `hide${EVENT_KEY}`; + var EVENT_HIDDEN = `hidden${EVENT_KEY}`; + var EVENT_SHOW = `show${EVENT_KEY}`; + var EVENT_SHOWN = `shown${EVENT_KEY}`; + var CLASS_NAME_FADE = "fade"; + var CLASS_NAME_HIDE = "hide"; + var CLASS_NAME_SHOW = "show"; + var CLASS_NAME_SHOWING = "showing"; + var DefaultType = { + animation: "boolean", + autohide: "boolean", + delay: "number" + }; + var Default = { + animation: true, + autohide: true, + delay: 5e3 + }; + var Toast = class _Toast extends BaseComponent { + constructor(element, config) { + super(element, config); + this._timeout = null; + this._hasMouseInteraction = false; + this._hasKeyboardInteraction = false; + this._setListeners(); + } + // Getters + static get Default() { + return Default; + } + static get DefaultType() { + return DefaultType; + } + static get NAME() { + return NAME; + } + // Public + show() { + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW); + if (showEvent.defaultPrevented) { + return; + } + this._clearTimeout(); + if (this._config.animation) { + this._element.classList.add(CLASS_NAME_FADE); + } + const complete = () => { + this._element.classList.remove(CLASS_NAME_SHOWING); + EventHandler.trigger(this._element, EVENT_SHOWN); + this._maybeScheduleHide(); + }; + this._element.classList.remove(CLASS_NAME_HIDE); + reflow(this._element); + this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING); + this._queueCallback(complete, this._element, this._config.animation); + } + hide() { + if (!this.isShown()) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE); + if (hideEvent.defaultPrevented) { + return; + } + const complete = () => { + this._element.classList.add(CLASS_NAME_HIDE); + this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW); + EventHandler.trigger(this._element, EVENT_HIDDEN); + }; + this._element.classList.add(CLASS_NAME_SHOWING); + this._queueCallback(complete, this._element, this._config.animation); + } + dispose() { + this._clearTimeout(); + if (this.isShown()) { + this._element.classList.remove(CLASS_NAME_SHOW); + } + super.dispose(); + } + isShown() { + return this._element.classList.contains(CLASS_NAME_SHOW); + } + // Private + _maybeScheduleHide() { + if (!this._config.autohide) { + return; + } + if (this._hasMouseInteraction || this._hasKeyboardInteraction) { + return; + } + this._timeout = setTimeout(() => { + this.hide(); + }, this._config.delay); + } + _onInteraction(event, isInteracting) { + switch (event.type) { + case "mouseover": + case "mouseout": { + this._hasMouseInteraction = isInteracting; + break; + } + case "focusin": + case "focusout": { + this._hasKeyboardInteraction = isInteracting; + break; + } + } + if (isInteracting) { + this._clearTimeout(); + return; + } + const nextElement = event.relatedTarget; + if (this._element === nextElement || this._element.contains(nextElement)) { + return; + } + this._maybeScheduleHide(); + } + _setListeners() { + EventHandler.on(this._element, EVENT_MOUSEOVER, (event) => this._onInteraction(event, true)); + EventHandler.on(this._element, EVENT_MOUSEOUT, (event) => this._onInteraction(event, false)); + EventHandler.on(this._element, EVENT_FOCUSIN, (event) => this._onInteraction(event, true)); + EventHandler.on(this._element, EVENT_FOCUSOUT, (event) => this._onInteraction(event, false)); + } + _clearTimeout() { + clearTimeout(this._timeout); + this._timeout = null; + } + // Static + static jQueryInterface(config) { + return this.each(function() { + const data = _Toast.getOrCreateInstance(this, config); + if (typeof config === "string") { + if (typeof data[config] === "undefined") { + throw new TypeError(`No method named "${config}"`); + } + data[config](this); + } + }); + } + }; + enableDismissTrigger(Toast); + defineJQueryPlugin(Toast); + + // dev/scripts/modules/Toast.js + var import_toastify_js = __toESM(require_toastify(), 1); + var Toast2 = (text = "", variant = "primary") => { + const getColorByName = (variant2 = "") => { + let color; + switch (variant2.trim().toLowerCase()) { + case "primary": + color = "#0d6efd"; + break; + case "secondary": + color = "#6c757d"; + break; + case "warning": + color = "#ffc720"; + break; + case "success": + color = "#13653f"; + break; + case "info": + color = "#25cff2"; + break; + case "error": + case "danger": + color = "#a52834"; + break; + case "light": + color = "#babbbc"; + break; + case "dark": + color = "#373b3e"; + break; + default: + console.warn("variant not found"); + color: "white"; + } + return color; + }; + const show = () => { + (0, import_toastify_js.default)({ + text, + duration: 2e3, + className: variant, + gravity: "top", + // `top` or `bottom` + position: "center", + // `left`, `center` or `right` + stopOnFocus: true, + // Prevents dismissing of toast on hover + style: { + background: getColorByName(variant) + } + }).showToast(); + }; + return { + show + }; + }; + var Toast_default = Toast2; + + // dev/scripts/modules/ProductManager.js + var ProductManager = (el = null) => { + const BASE_URL = "http://127.0.0.1:8000"; + const module = el || document.querySelector(".product-manager") || console.error("Product Manager not found"); + if (!module) return; + const DOM = { + module, + table: module.querySelector(".table-products"), + tBody: module.querySelector("tbody"), + inputName: module.querySelector(".input-product-name"), + inputPrice: module.querySelector(".input-product-price"), + btnAdd: module.querySelector(".button-product-add"), + templateRow: module.querySelector(".template-row"), + // Nav Actions + btnSave: module.querySelector(".button-products-save"), + btnReset: module.querySelector(".button-products-reset"), + // Modal Edit + modalEdit: module.querySelector(".modal-edit"), + formEdit: module.querySelector(".form-product-edit"), + inputEditName: module.querySelector(".input-edit-name"), + inputEditPrice: module.querySelector(".input-edit-price"), + inputEditId: module.querySelector(".input-edit-id"), + inputEditPosition: module.querySelector(".input-edit-position"), + btnUpdate: module.querySelector(".button-product-update"), + // Modal Delete + modalDelete: module.querySelector(".modal-delete"), + productName: module.querySelector("strong.product-name"), + btnConfirmDelete: module.querySelector(".button-confirm-delete") + }; + console.log(DOM); + const bsModalEdit = new Modal(DOM.modalEdit, { + backdrop: "static", + // true + keyboard: true + }); + const bsModalDelete = new Modal(DOM.modalDelete, { + backdrop: "static", + // true + keyboard: true + }); + const init = () => { + console.log("init"); + initProducts(); + DOM.btnReset.addEventListener("click", onClickReset); + DOM.btnSave.addEventListener("click", onClickSave); + DOM.btnAdd.addEventListener("click", onClickAdd); + DOM.btnAdd.disabled = true; + DOM.btnConfirmDelete.addEventListener("click", onClickConfirmDelete); + DOM.formEdit.addEventListener("submit", onSubmitEdit); + window.addEventListener("keyup", onKeyUp); + }; + const onKeyUp = (e) => { + DOM.btnAdd.disabled = DOM.inputName.value === "" || DOM.inputPrice.value === ""; + }; + const onClickReset = (e) => { + const btnEl = e.currentTarget; + resetProducts().then((data) => { + if (data.success) { + Toast_default(data.msg, "success").show(); + loadProducts(); + } + }); + }; + const onClickSave = (e) => { + const btnEl = e.currentTarget; + const icon = btnEl.querySelector("i"); + icon.classList.add("fa-jello"); + saveProducts().then((data) => { + if (data.success) { + setTimeout(() => { + icon.classList.remove("fa-jello"); + }, 500); + Toast_default(data.msg, "success").show(); + } + }); + }; + const onSubmitEdit = (e) => { + e.preventDefault(); + const product = { + name: DOM.inputEditName.value, + price: Number(DOM.inputEditPrice.value), + _id: DOM.inputEditId.value, + position: DOM.inputEditPosition.value + }; + DOM.btnUpdate.querySelector("i").classList.add("fa-spin"); + updateProduct(product).then((data) => { + console.log(data); + if (data.success) { + Toast_default(data.msg, "success").show(); + DOM.btnUpdate.querySelector("i").classList.remove("fa-spin"); + loadProducts(); + resetFields(); + bsModalEdit.hide(); + } else { + Toast_default(data.msg, "error").show(); + } + }); + }; + const onClickAdd = (e) => { + console.log("click"); + const product = { + name: DOM.inputName.value, + price: Number(DOM.inputPrice.value) + }; + createProduct(product).then((data) => { + console.log(data); + if (data.success) { + console.log("add"); + Toast_default(data.msg, "success").show(); + loadProducts(); + resetFields(); + } + }); + disableNonFunctionalButtons(); + }; + const onClickEdit = (e) => { + const btnEl = e.currentTarget; + const currentRow = parents(btnEl, "tr")[0]; + const id = currentRow.dataset.id; + getProduct(id).then((data) => { + showModalEdit(data); + }); + }; + const onClickRemove = (e) => { + const btnEl = e.currentTarget; + const currentRow = parents(btnEl, "tr")[0]; + const id = currentRow.dataset.id; + const productName = currentRow.querySelector(".td-name").textContent.trim(); + DOM.btnConfirmDelete.dataset.id = id; + DOM.productName.textContent = productName; + }; + const onClickConfirmDelete = (e) => { + const btnEl = e.currentTarget; + const id = btnEl.dataset.id; + deleteProduct(id).then((data) => { + if (data.success) { + Toast_default(data.msg, "success").show(); + bsModalDelete.hide(); + loadProducts(); + } else { + Toast_default(data.msg, "error").show(); + console.error(data); + } + }); + }; + const onClickMoveUp = (e) => { + const btnEl = e.currentTarget; + const currentRowEl = parents(btnEl, "tr")[0]; + currentRowEl.previousElementSibling.before(currentRowEl); + console.log("move up"); + disableNonFunctionalButtons(); + }; + const onClickMoveDown = (e) => { + const btnEl = e.currentTarget; + const currentRowEl = parents(btnEl, "tr")[0]; + currentRowEl.nextElementSibling.after(currentRowEl); + console.log("move down"); + disableNonFunctionalButtons(); + }; + const onMouseDownDrag = (e) => { + const btnEl = e.currentTarget; + const currentRowEl = parents(btnEl, "tr")[0]; + currentRowEl.draggable = true; + }; + const onMouseUpDrag = (e) => { + const btnEl = e.currentTarget; + const currentRowEl = parents(btnEl, "tr")[0]; + currentRowEl.draggable = false; + }; + const onDragStart = (e) => { + console.log("DragEvent: ", e); + const currentRowEl = e.currentTarget; + const idx = [...currentRowEl.parentNode.children].indexOf(currentRowEl); + e.dataTransfer.setData("text/plain", idx); + console.log("tr index:", idx); + }; + const onDragOver = (e) => { + e.preventDefault(); + }; + const onDrop = (e) => { + const currentRowEl = e.currentTarget; + const targetIdx = [...currentRowEl.parentNode.children].indexOf(currentRowEl); + const sourceIdx = parseInt(e.dataTransfer.getData("text/plain")); + console.log({ targetIdx, sourceIdx }); + if (sourceIdx === targetIdx) { + return; + } + const draggedEl = DOM.tBody.querySelector(`tr:nth-child(${sourceIdx + 1})`); + if (sourceIdx > targetIdx) { + currentRowEl.before(draggedEl); + } else { + currentRowEl.after(draggedEl); + } + disableNonFunctionalButtons(); + }; + const resetProducts = async () => { + try { + const response = await fetch(`${BASE_URL}/api/products/reset`, { + method: "PATCH", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify({ reset: true }) + }); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + Toast_default(error, "error").show(); + console.error(error); + return error; + } + }; + const saveProducts = async () => { + try { + const response = await fetch(`${BASE_URL}/api/products/save`, { + method: "PATCH", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify({ save: true }) + }); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + Toast_default(error, "error").show(); + console.error(error); + return error; + } + }; + const createProduct = async (product) => { + try { + const response = await fetch(`${BASE_URL}/api/products`, { + method: "POST", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(product) + }); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + Toast_default(error, "error").show(); + console.error(error); + return error; + } + }; + const getProducts = async () => { + try { + const response = await fetch(`${BASE_URL}/api/products`); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + console.error(error); + return error; + } + }; + const getProduct = async (id) => { + try { + const response = await fetch(`${BASE_URL}/api/products/${id}`); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + console.error(error); + return error; + } + }; + const updateProduct = async (product) => { + try { + const response = await fetch(`${BASE_URL}/api/products`, { + method: "PUT", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(product) + }); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + console.error(error); + return error; + } + }; + const deleteProduct = async (id) => { + try { + const response = await fetch(`${BASE_URL}/api/products/${id}`, { + method: "DELETE", + headers: { + "Content-Type": "application/json" + } + }); + if (!response.ok) { + throw new Error("Fetch went wrong."); + } + const data = await response.json(); + return data; + } catch (error) { + console.error(error); + return error; + } + }; + const initProducts = () => { + getProducts().then((products) => { + products.forEach((product) => { + addProduct(product); + }); + Toast_default("Init products").show(); + disableNonFunctionalButtons(); + }); + }; + const loadProducts = () => { + DOM.tBody.innerHTML = ""; + getProducts().then((data) => { + data.forEach((product) => { + addProduct(product); + }); + disableNonFunctionalButtons(); + }); + }; + const addProduct = (product) => { + const { name, price, _id: id, position } = product; + const trEl = DOM.templateRow.content.firstElementChild.cloneNode(true); + const tdNameEl = trEl.querySelector(".td-name"); + const tdPriceEl = trEl.querySelector(".td-price"); + const btnRemoveEl = trEl.querySelector(".button-product-remove"); + const btnMoveUpEl = trEl.querySelector(".button-product-move-up"); + const btnMoveDownEl = trEl.querySelector(".button-product-move-down"); + const btnDragEl = trEl.querySelector(".button-drag"); + const btnEditEl = trEl.querySelector(".button-product-edit"); + tdNameEl.textContent = name; + tdPriceEl.textContent = price; + btnEditEl.addEventListener("click", onClickEdit); + btnRemoveEl.addEventListener("click", onClickRemove); + btnMoveUpEl.addEventListener("click", onClickMoveUp); + btnMoveDownEl.addEventListener("click", onClickMoveDown); + btnDragEl.addEventListener("mousedown", onMouseDownDrag); + btnDragEl.addEventListener("mouseup", onMouseUpDrag); + trEl.addEventListener("dragstart", onDragStart); + trEl.addEventListener("dragover", onDragOver); + trEl.addEventListener("drop", onDrop); + trEl.dataset.id = id; + trEl.dataset.position = position; + DOM.tBody.appendChild(trEl); + }; + const showModalEdit = (product) => { + const { name = "", price = 0, _id: id, position } = product; + DOM.inputEditName.value = name; + DOM.inputEditPrice.value = price; + DOM.inputEditId.value = id; + DOM.inputEditPosition.value = position; + }; + const resetFields = () => { + DOM.btnAdd.disabled = true; + DOM.inputPrice.value = ""; + DOM.inputName.value = ""; + DOM.formEdit.reset(); + }; + const disableNonFunctionalButtons = () => { + Array.from(DOM.tBody.querySelectorAll("tr")).forEach((tr) => { + const btnMoveUp = tr.querySelector(".button-product-move-up"); + const btnMoveDown = tr.querySelector(".button-product-move-down"); + btnMoveUp.disabled = !tr.previousElementSibling; + btnMoveDown.disabled = !tr.nextElementSibling; + }); + }; + const parents = (el2, selector) => { + const parents2 = []; + while ((el2 = el2.parentNode) && el2 !== document) { + if (!selector || el2.matches(selector)) parents2.push(el2); + } + return parents2; + }; + init(); + return { + init, + initProducts, + resetFields + }; + }; + var ProductManager_default = ProductManager; + + // node_modules/@splidejs/splide/dist/js/splide.esm.js + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { writable: false }); + return Constructor; + } + var MEDIA_PREFERS_REDUCED_MOTION = "(prefers-reduced-motion: reduce)"; + var CREATED = 1; + var MOUNTED = 2; + var IDLE = 3; + var MOVING = 4; + var SCROLLING = 5; + var DRAGGING = 6; + var DESTROYED = 7; + var STATES = { + CREATED, + MOUNTED, + IDLE, + MOVING, + SCROLLING, + DRAGGING, + DESTROYED + }; + function empty(array) { + array.length = 0; + } + function slice(arrayLike, start2, end2) { + return Array.prototype.slice.call(arrayLike, start2, end2); + } + function apply(func) { + return func.bind.apply(func, [null].concat(slice(arguments, 1))); + } + var nextTick = setTimeout; + var noop2 = function noop3() { + }; + function raf(func) { + return requestAnimationFrame(func); + } + function typeOf(type, subject) { + return typeof subject === type; + } + function isObject(subject) { + return !isNull(subject) && typeOf("object", subject); + } + var isArray = Array.isArray; + var isFunction = apply(typeOf, "function"); + var isString = apply(typeOf, "string"); + var isUndefined = apply(typeOf, "undefined"); + function isNull(subject) { + return subject === null; + } + function isHTMLElement2(subject) { + try { + return subject instanceof (subject.ownerDocument.defaultView || window).HTMLElement; + } catch (e) { + return false; + } + } + function toArray(value) { + return isArray(value) ? value : [value]; + } + function forEach(values, iteratee) { + toArray(values).forEach(iteratee); + } + function includes(array, value) { + return array.indexOf(value) > -1; + } + function push(array, items) { + array.push.apply(array, toArray(items)); + return array; + } + function toggleClass(elm, classes, add) { + if (elm) { + forEach(classes, function(name) { + if (name) { + elm.classList[add ? "add" : "remove"](name); + } + }); + } + } + function addClass(elm, classes) { + toggleClass(elm, isString(classes) ? classes.split(" ") : classes, true); + } + function append(parent, children2) { + forEach(children2, parent.appendChild.bind(parent)); + } + function before(nodes, ref) { + forEach(nodes, function(node) { + var parent = (ref || node).parentNode; + if (parent) { + parent.insertBefore(node, ref); + } + }); + } + function matches(elm, selector) { + return isHTMLElement2(elm) && (elm["msMatchesSelector"] || elm.matches).call(elm, selector); + } + function children(parent, selector) { + var children2 = parent ? slice(parent.children) : []; + return selector ? children2.filter(function(child2) { + return matches(child2, selector); + }) : children2; + } + function child(parent, selector) { + return selector ? children(parent, selector)[0] : parent.firstElementChild; + } + var ownKeys = Object.keys; + function forOwn(object, iteratee, right2) { + if (object) { + (right2 ? ownKeys(object).reverse() : ownKeys(object)).forEach(function(key) { + key !== "__proto__" && iteratee(object[key], key); + }); + } + return object; + } + function assign(object) { + slice(arguments, 1).forEach(function(source) { + forOwn(source, function(value, key) { + object[key] = source[key]; + }); + }); + return object; + } + function merge(object) { + slice(arguments, 1).forEach(function(source) { + forOwn(source, function(value, key) { + if (isArray(value)) { + object[key] = value.slice(); + } else if (isObject(value)) { + object[key] = merge({}, isObject(object[key]) ? object[key] : {}, value); + } else { + object[key] = value; + } + }); + }); + return object; + } + function omit(object, keys) { + forEach(keys || ownKeys(object), function(key) { + delete object[key]; + }); + } + function removeAttribute(elms, attrs) { + forEach(elms, function(elm) { + forEach(attrs, function(attr) { + elm && elm.removeAttribute(attr); + }); + }); + } + function setAttribute(elms, attrs, value) { + if (isObject(attrs)) { + forOwn(attrs, function(value2, name) { + setAttribute(elms, name, value2); + }); + } else { + forEach(elms, function(elm) { + isNull(value) || value === "" ? removeAttribute(elm, attrs) : elm.setAttribute(attrs, String(value)); + }); + } + } + function create(tag, attrs, parent) { + var elm = document.createElement(tag); + if (attrs) { + isString(attrs) ? addClass(elm, attrs) : setAttribute(elm, attrs); + } + parent && append(parent, elm); + return elm; + } + function style(elm, prop, value) { + if (isUndefined(value)) { + return getComputedStyle(elm)[prop]; + } + if (!isNull(value)) { + elm.style[prop] = "" + value; + } + } + function display(elm, display2) { + style(elm, "display", display2); + } + function focus(elm) { + elm["setActive"] && elm["setActive"]() || elm.focus({ + preventScroll: true + }); + } + function getAttribute(elm, attr) { + return elm.getAttribute(attr); + } + function hasClass(elm, className) { + return elm && elm.classList.contains(className); + } + function rect(target) { + return target.getBoundingClientRect(); + } + function remove(nodes) { + forEach(nodes, function(node) { + if (node && node.parentNode) { + node.parentNode.removeChild(node); + } + }); + } + function parseHtml(html) { + return child(new DOMParser().parseFromString(html, "text/html").body); + } + function prevent(e, stopPropagation) { + e.preventDefault(); + if (stopPropagation) { + e.stopPropagation(); + e.stopImmediatePropagation(); + } + } + function query(parent, selector) { + return parent && parent.querySelector(selector); + } + function queryAll(parent, selector) { + return selector ? slice(parent.querySelectorAll(selector)) : []; + } + function removeClass(elm, classes) { + toggleClass(elm, classes, false); + } + function timeOf(e) { + return e.timeStamp; + } + function unit(value) { + return isString(value) ? value : value ? value + "px" : ""; + } + var PROJECT_CODE = "splide"; + var DATA_ATTRIBUTE = "data-" + PROJECT_CODE; + function assert(condition, message) { + if (!condition) { + throw new Error("[" + PROJECT_CODE + "] " + (message || "")); + } + } + var min2 = Math.min; + var max2 = Math.max; + var floor = Math.floor; + var ceil = Math.ceil; + var abs = Math.abs; + function approximatelyEqual(x, y, epsilon) { + return abs(x - y) < epsilon; + } + function between(number, x, y, exclusive) { + var minimum = min2(x, y); + var maximum = max2(x, y); + return exclusive ? minimum < number && number < maximum : minimum <= number && number <= maximum; + } + function clamp(number, x, y) { + var minimum = min2(x, y); + var maximum = max2(x, y); + return min2(max2(minimum, number), maximum); + } + function sign(x) { + return +(x > 0) - +(x < 0); + } + function format(string, replacements) { + forEach(replacements, function(replacement) { + string = string.replace("%s", "" + replacement); + }); + return string; + } + function pad(number) { + return number < 10 ? "0" + number : "" + number; + } + var ids = {}; + function uniqueId(prefix) { + return "" + prefix + pad(ids[prefix] = (ids[prefix] || 0) + 1); + } + function EventBinder() { + var listeners = []; + function bind(targets, events, callback, options) { + forEachEvent(targets, events, function(target, event, namespace) { + var isEventTarget = "addEventListener" in target; + var remover = isEventTarget ? target.removeEventListener.bind(target, event, callback, options) : target["removeListener"].bind(target, callback); + isEventTarget ? target.addEventListener(event, callback, options) : target["addListener"](callback); + listeners.push([target, event, namespace, callback, remover]); + }); + } + function unbind(targets, events, callback) { + forEachEvent(targets, events, function(target, event, namespace) { + listeners = listeners.filter(function(listener) { + if (listener[0] === target && listener[1] === event && listener[2] === namespace && (!callback || listener[3] === callback)) { + listener[4](); + return false; + } + return true; + }); + }); + } + function dispatch(target, type, detail) { + var e; + var bubbles = true; + if (typeof CustomEvent === "function") { + e = new CustomEvent(type, { + bubbles, + detail + }); + } else { + e = document.createEvent("CustomEvent"); + e.initCustomEvent(type, bubbles, false, detail); + } + target.dispatchEvent(e); + return e; + } + function forEachEvent(targets, events, iteratee) { + forEach(targets, function(target) { + target && forEach(events, function(events2) { + events2.split(" ").forEach(function(eventNS) { + var fragment = eventNS.split("."); + iteratee(target, fragment[0], fragment[1]); + }); + }); + }); + } + function destroy() { + listeners.forEach(function(data) { + data[4](); + }); + empty(listeners); + } + return { + bind, + unbind, + dispatch, + destroy + }; + } + var EVENT_MOUNTED = "mounted"; + var EVENT_READY = "ready"; + var EVENT_MOVE = "move"; + var EVENT_MOVED = "moved"; + var EVENT_CLICK2 = "click"; + var EVENT_ACTIVE = "active"; + var EVENT_INACTIVE = "inactive"; + var EVENT_VISIBLE = "visible"; + var EVENT_HIDDEN2 = "hidden"; + var EVENT_REFRESH = "refresh"; + var EVENT_UPDATED = "updated"; + var EVENT_RESIZE2 = "resize"; + var EVENT_RESIZED = "resized"; + var EVENT_DRAG = "drag"; + var EVENT_DRAGGING = "dragging"; + var EVENT_DRAGGED = "dragged"; + var EVENT_SCROLL = "scroll"; + var EVENT_SCROLLED = "scrolled"; + var EVENT_OVERFLOW = "overflow"; + var EVENT_DESTROY = "destroy"; + var EVENT_ARROWS_MOUNTED = "arrows:mounted"; + var EVENT_ARROWS_UPDATED = "arrows:updated"; + var EVENT_PAGINATION_MOUNTED = "pagination:mounted"; + var EVENT_PAGINATION_UPDATED = "pagination:updated"; + var EVENT_NAVIGATION_MOUNTED = "navigation:mounted"; + var EVENT_AUTOPLAY_PLAY = "autoplay:play"; + var EVENT_AUTOPLAY_PLAYING = "autoplay:playing"; + var EVENT_AUTOPLAY_PAUSE = "autoplay:pause"; + var EVENT_LAZYLOAD_LOADED = "lazyload:loaded"; + var EVENT_SLIDE_KEYDOWN = "sk"; + var EVENT_SHIFTED = "sh"; + var EVENT_END_INDEX_CHANGED = "ei"; + function EventInterface(Splide2) { + var bus = Splide2 ? Splide2.event.bus : document.createDocumentFragment(); + var binder = EventBinder(); + function on(events, callback) { + binder.bind(bus, toArray(events).join(" "), function(e) { + callback.apply(callback, isArray(e.detail) ? e.detail : []); + }); + } + function emit(event) { + binder.dispatch(bus, event, slice(arguments, 1)); + } + if (Splide2) { + Splide2.event.on(EVENT_DESTROY, binder.destroy); + } + return assign(binder, { + bus, + on, + off: apply(binder.unbind, bus), + emit + }); + } + function RequestInterval(interval, onInterval, onUpdate, limit) { + var now = Date.now; + var startTime; + var rate = 0; + var id; + var paused = true; + var count = 0; + function update() { + if (!paused) { + rate = interval ? min2((now() - startTime) / interval, 1) : 1; + onUpdate && onUpdate(rate); + if (rate >= 1) { + onInterval(); + startTime = now(); + if (limit && ++count >= limit) { + return pause(); + } + } + id = raf(update); + } + } + function start2(resume) { + resume || cancel(); + startTime = now() - (resume ? rate * interval : 0); + paused = false; + id = raf(update); + } + function pause() { + paused = true; + } + function rewind() { + startTime = now(); + rate = 0; + if (onUpdate) { + onUpdate(rate); + } + } + function cancel() { + id && cancelAnimationFrame(id); + rate = 0; + id = 0; + paused = true; + } + function set(time) { + interval = time; + } + function isPaused() { + return paused; + } + return { + start: start2, + rewind, + pause, + cancel, + set, + isPaused + }; + } + function State(initialState) { + var state = initialState; + function set(value) { + state = value; + } + function is(states) { + return includes(toArray(states), state); + } + return { + set, + is + }; + } + function Throttle(func, duration) { + var interval = RequestInterval(duration || 0, func, null, 1); + return function() { + interval.isPaused() && interval.start(); + }; + } + function Media(Splide2, Components2, options) { + var state = Splide2.state; + var breakpoints = options.breakpoints || {}; + var reducedMotion = options.reducedMotion || {}; + var binder = EventBinder(); + var queries = []; + function setup() { + var isMin = options.mediaQuery === "min"; + ownKeys(breakpoints).sort(function(n, m) { + return isMin ? +n - +m : +m - +n; + }).forEach(function(key) { + register(breakpoints[key], "(" + (isMin ? "min" : "max") + "-width:" + key + "px)"); + }); + register(reducedMotion, MEDIA_PREFERS_REDUCED_MOTION); + update(); + } + function destroy(completely) { + if (completely) { + binder.destroy(); + } + } + function register(options2, query2) { + var queryList = matchMedia(query2); + binder.bind(queryList, "change", update); + queries.push([options2, queryList]); + } + function update() { + var destroyed = state.is(DESTROYED); + var direction = options.direction; + var merged = queries.reduce(function(merged2, entry) { + return merge(merged2, entry[1].matches ? entry[0] : {}); + }, {}); + omit(options); + set(merged); + if (options.destroy) { + Splide2.destroy(options.destroy === "completely"); + } else if (destroyed) { + destroy(true); + Splide2.mount(); + } else { + direction !== options.direction && Splide2.refresh(); + } + } + function reduce(enable) { + if (matchMedia(MEDIA_PREFERS_REDUCED_MOTION).matches) { + enable ? merge(options, reducedMotion) : omit(options, ownKeys(reducedMotion)); + } + } + function set(opts, base, notify) { + merge(options, opts); + base && merge(Object.getPrototypeOf(options), opts); + if (notify || !state.is(CREATED)) { + Splide2.emit(EVENT_UPDATED, options); + } + } + return { + setup, + destroy, + reduce, + set + }; + } + var ARROW = "Arrow"; + var ARROW_LEFT = ARROW + "Left"; + var ARROW_RIGHT = ARROW + "Right"; + var ARROW_UP = ARROW + "Up"; + var ARROW_DOWN = ARROW + "Down"; + var RTL = "rtl"; + var TTB = "ttb"; + var ORIENTATION_MAP = { + width: ["height"], + left: ["top", "right"], + right: ["bottom", "left"], + x: ["y"], + X: ["Y"], + Y: ["X"], + ArrowLeft: [ARROW_UP, ARROW_RIGHT], + ArrowRight: [ARROW_DOWN, ARROW_LEFT] + }; + function Direction(Splide2, Components2, options) { + function resolve(prop, axisOnly, direction) { + direction = direction || options.direction; + var index = direction === RTL && !axisOnly ? 1 : direction === TTB ? 0 : -1; + return ORIENTATION_MAP[prop] && ORIENTATION_MAP[prop][index] || prop.replace(/width|left|right/i, function(match, offset2) { + var replacement = ORIENTATION_MAP[match.toLowerCase()][index] || match; + return offset2 > 0 ? replacement.charAt(0).toUpperCase() + replacement.slice(1) : replacement; + }); + } + function orient(value) { + return value * (options.direction === RTL ? 1 : -1); + } + return { + resolve, + orient + }; + } + var ROLE = "role"; + var TAB_INDEX = "tabindex"; + var DISABLED = "disabled"; + var ARIA_PREFIX = "aria-"; + var ARIA_CONTROLS = ARIA_PREFIX + "controls"; + var ARIA_CURRENT = ARIA_PREFIX + "current"; + var ARIA_SELECTED = ARIA_PREFIX + "selected"; + var ARIA_LABEL = ARIA_PREFIX + "label"; + var ARIA_LABELLEDBY = ARIA_PREFIX + "labelledby"; + var ARIA_HIDDEN = ARIA_PREFIX + "hidden"; + var ARIA_ORIENTATION = ARIA_PREFIX + "orientation"; + var ARIA_ROLEDESCRIPTION = ARIA_PREFIX + "roledescription"; + var ARIA_LIVE = ARIA_PREFIX + "live"; + var ARIA_BUSY = ARIA_PREFIX + "busy"; + var ARIA_ATOMIC = ARIA_PREFIX + "atomic"; + var ALL_ATTRIBUTES = [ROLE, TAB_INDEX, DISABLED, ARIA_CONTROLS, ARIA_CURRENT, ARIA_LABEL, ARIA_LABELLEDBY, ARIA_HIDDEN, ARIA_ORIENTATION, ARIA_ROLEDESCRIPTION]; + var CLASS_PREFIX = PROJECT_CODE + "__"; + var STATUS_CLASS_PREFIX = "is-"; + var CLASS_ROOT = PROJECT_CODE; + var CLASS_TRACK = CLASS_PREFIX + "track"; + var CLASS_LIST = CLASS_PREFIX + "list"; + var CLASS_SLIDE = CLASS_PREFIX + "slide"; + var CLASS_CLONE = CLASS_SLIDE + "--clone"; + var CLASS_CONTAINER = CLASS_SLIDE + "__container"; + var CLASS_ARROWS = CLASS_PREFIX + "arrows"; + var CLASS_ARROW = CLASS_PREFIX + "arrow"; + var CLASS_ARROW_PREV = CLASS_ARROW + "--prev"; + var CLASS_ARROW_NEXT = CLASS_ARROW + "--next"; + var CLASS_PAGINATION = CLASS_PREFIX + "pagination"; + var CLASS_PAGINATION_PAGE = CLASS_PAGINATION + "__page"; + var CLASS_PROGRESS = CLASS_PREFIX + "progress"; + var CLASS_PROGRESS_BAR = CLASS_PROGRESS + "__bar"; + var CLASS_TOGGLE = CLASS_PREFIX + "toggle"; + var CLASS_TOGGLE_PLAY = CLASS_TOGGLE + "__play"; + var CLASS_TOGGLE_PAUSE = CLASS_TOGGLE + "__pause"; + var CLASS_SPINNER = CLASS_PREFIX + "spinner"; + var CLASS_SR = CLASS_PREFIX + "sr"; + var CLASS_INITIALIZED = STATUS_CLASS_PREFIX + "initialized"; + var CLASS_ACTIVE = STATUS_CLASS_PREFIX + "active"; + var CLASS_PREV = STATUS_CLASS_PREFIX + "prev"; + var CLASS_NEXT = STATUS_CLASS_PREFIX + "next"; + var CLASS_VISIBLE = STATUS_CLASS_PREFIX + "visible"; + var CLASS_LOADING = STATUS_CLASS_PREFIX + "loading"; + var CLASS_FOCUS_IN = STATUS_CLASS_PREFIX + "focus-in"; + var CLASS_OVERFLOW = STATUS_CLASS_PREFIX + "overflow"; + var STATUS_CLASSES = [CLASS_ACTIVE, CLASS_VISIBLE, CLASS_PREV, CLASS_NEXT, CLASS_LOADING, CLASS_FOCUS_IN, CLASS_OVERFLOW]; + var CLASSES = { + slide: CLASS_SLIDE, + clone: CLASS_CLONE, + arrows: CLASS_ARROWS, + arrow: CLASS_ARROW, + prev: CLASS_ARROW_PREV, + next: CLASS_ARROW_NEXT, + pagination: CLASS_PAGINATION, + page: CLASS_PAGINATION_PAGE, + spinner: CLASS_SPINNER + }; + function closest(from, selector) { + if (isFunction(from.closest)) { + return from.closest(selector); + } + var elm = from; + while (elm && elm.nodeType === 1) { + if (matches(elm, selector)) { + break; + } + elm = elm.parentElement; + } + return elm; + } + var FRICTION = 5; + var LOG_INTERVAL = 200; + var POINTER_DOWN_EVENTS = "touchstart mousedown"; + var POINTER_MOVE_EVENTS = "touchmove mousemove"; + var POINTER_UP_EVENTS = "touchend touchcancel mouseup click"; + function Elements(Splide2, Components2, options) { + var _EventInterface = EventInterface(Splide2), on = _EventInterface.on, bind = _EventInterface.bind; + var root = Splide2.root; + var i18n = options.i18n; + var elements = {}; + var slides = []; + var rootClasses = []; + var trackClasses = []; + var track; + var list; + var isUsingKey; + function setup() { + collect(); + init(); + update(); + } + function mount() { + on(EVENT_REFRESH, destroy); + on(EVENT_REFRESH, setup); + on(EVENT_UPDATED, update); + bind(document, POINTER_DOWN_EVENTS + " keydown", function(e) { + isUsingKey = e.type === "keydown"; + }, { + capture: true + }); + bind(root, "focusin", function() { + toggleClass(root, CLASS_FOCUS_IN, !!isUsingKey); + }); + } + function destroy(completely) { + var attrs = ALL_ATTRIBUTES.concat("style"); + empty(slides); + removeClass(root, rootClasses); + removeClass(track, trackClasses); + removeAttribute([track, list], attrs); + removeAttribute(root, completely ? attrs : ["style", ARIA_ROLEDESCRIPTION]); + } + function update() { + removeClass(root, rootClasses); + removeClass(track, trackClasses); + rootClasses = getClasses(CLASS_ROOT); + trackClasses = getClasses(CLASS_TRACK); + addClass(root, rootClasses); + addClass(track, trackClasses); + setAttribute(root, ARIA_LABEL, options.label); + setAttribute(root, ARIA_LABELLEDBY, options.labelledby); + } + function collect() { + track = find("." + CLASS_TRACK); + list = child(track, "." + CLASS_LIST); + assert(track && list, "A track/list element is missing."); + push(slides, children(list, "." + CLASS_SLIDE + ":not(." + CLASS_CLONE + ")")); + forOwn({ + arrows: CLASS_ARROWS, + pagination: CLASS_PAGINATION, + prev: CLASS_ARROW_PREV, + next: CLASS_ARROW_NEXT, + bar: CLASS_PROGRESS_BAR, + toggle: CLASS_TOGGLE + }, function(className, key) { + elements[key] = find("." + className); + }); + assign(elements, { + root, + track, + list, + slides + }); + } + function init() { + var id = root.id || uniqueId(PROJECT_CODE); + var role = options.role; + root.id = id; + track.id = track.id || id + "-track"; + list.id = list.id || id + "-list"; + if (!getAttribute(root, ROLE) && root.tagName !== "SECTION" && role) { + setAttribute(root, ROLE, role); + } + setAttribute(root, ARIA_ROLEDESCRIPTION, i18n.carousel); + setAttribute(list, ROLE, "presentation"); + } + function find(selector) { + var elm = query(root, selector); + return elm && closest(elm, "." + CLASS_ROOT) === root ? elm : void 0; + } + function getClasses(base) { + return [base + "--" + options.type, base + "--" + options.direction, options.drag && base + "--draggable", options.isNavigation && base + "--nav", base === CLASS_ROOT && CLASS_ACTIVE]; + } + return assign(elements, { + setup, + mount, + destroy + }); + } + var SLIDE = "slide"; + var LOOP = "loop"; + var FADE = "fade"; + function Slide$1(Splide2, index, slideIndex, slide) { + var event = EventInterface(Splide2); + var on = event.on, emit = event.emit, bind = event.bind; + var Components = Splide2.Components, root = Splide2.root, options = Splide2.options; + var isNavigation = options.isNavigation, updateOnMove = options.updateOnMove, i18n = options.i18n, pagination = options.pagination, slideFocus = options.slideFocus; + var resolve = Components.Direction.resolve; + var styles = getAttribute(slide, "style"); + var label = getAttribute(slide, ARIA_LABEL); + var isClone = slideIndex > -1; + var container = child(slide, "." + CLASS_CONTAINER); + var destroyed; + function mount() { + if (!isClone) { + slide.id = root.id + "-slide" + pad(index + 1); + setAttribute(slide, ROLE, pagination ? "tabpanel" : "group"); + setAttribute(slide, ARIA_ROLEDESCRIPTION, i18n.slide); + setAttribute(slide, ARIA_LABEL, label || format(i18n.slideLabel, [index + 1, Splide2.length])); + } + listen(); + } + function listen() { + bind(slide, "click", apply(emit, EVENT_CLICK2, self)); + bind(slide, "keydown", apply(emit, EVENT_SLIDE_KEYDOWN, self)); + on([EVENT_MOVED, EVENT_SHIFTED, EVENT_SCROLLED], update); + on(EVENT_NAVIGATION_MOUNTED, initNavigation); + if (updateOnMove) { + on(EVENT_MOVE, onMove); + } + } + function destroy() { + destroyed = true; + event.destroy(); + removeClass(slide, STATUS_CLASSES); + removeAttribute(slide, ALL_ATTRIBUTES); + setAttribute(slide, "style", styles); + setAttribute(slide, ARIA_LABEL, label || ""); + } + function initNavigation() { + var controls = Splide2.splides.map(function(target) { + var Slide2 = target.splide.Components.Slides.getAt(index); + return Slide2 ? Slide2.slide.id : ""; + }).join(" "); + setAttribute(slide, ARIA_LABEL, format(i18n.slideX, (isClone ? slideIndex : index) + 1)); + setAttribute(slide, ARIA_CONTROLS, controls); + setAttribute(slide, ROLE, slideFocus ? "button" : ""); + slideFocus && removeAttribute(slide, ARIA_ROLEDESCRIPTION); + } + function onMove() { + if (!destroyed) { + update(); + } + } + function update() { + if (!destroyed) { + var curr = Splide2.index; + updateActivity(); + updateVisibility(); + toggleClass(slide, CLASS_PREV, index === curr - 1); + toggleClass(slide, CLASS_NEXT, index === curr + 1); + } + } + function updateActivity() { + var active = isActive(); + if (active !== hasClass(slide, CLASS_ACTIVE)) { + toggleClass(slide, CLASS_ACTIVE, active); + setAttribute(slide, ARIA_CURRENT, isNavigation && active || ""); + emit(active ? EVENT_ACTIVE : EVENT_INACTIVE, self); + } + } + function updateVisibility() { + var visible = isVisible2(); + var hidden = !visible && (!isActive() || isClone); + if (!Splide2.state.is([MOVING, SCROLLING])) { + setAttribute(slide, ARIA_HIDDEN, hidden || ""); + } + setAttribute(queryAll(slide, options.focusableNodes || ""), TAB_INDEX, hidden ? -1 : ""); + if (slideFocus) { + setAttribute(slide, TAB_INDEX, hidden ? -1 : 0); + } + if (visible !== hasClass(slide, CLASS_VISIBLE)) { + toggleClass(slide, CLASS_VISIBLE, visible); + emit(visible ? EVENT_VISIBLE : EVENT_HIDDEN2, self); + } + if (!visible && document.activeElement === slide) { + var Slide2 = Components.Slides.getAt(Splide2.index); + Slide2 && focus(Slide2.slide); + } + } + function style$1(prop, value, useContainer) { + style(useContainer && container || slide, prop, value); + } + function isActive() { + var curr = Splide2.index; + return curr === index || options.cloneStatus && curr === slideIndex; + } + function isVisible2() { + if (Splide2.is(FADE)) { + return isActive(); + } + var trackRect = rect(Components.Elements.track); + var slideRect = rect(slide); + var left2 = resolve("left", true); + var right2 = resolve("right", true); + return floor(trackRect[left2]) <= ceil(slideRect[left2]) && floor(slideRect[right2]) <= ceil(trackRect[right2]); + } + function isWithin(from, distance) { + var diff = abs(from - index); + if (!isClone && (options.rewind || Splide2.is(LOOP))) { + diff = min2(diff, Splide2.length - diff); + } + return diff <= distance; + } + var self = { + index, + slideIndex, + slide, + container, + isClone, + mount, + destroy, + update, + style: style$1, + isWithin + }; + return self; + } + function Slides(Splide2, Components2, options) { + var _EventInterface2 = EventInterface(Splide2), on = _EventInterface2.on, emit = _EventInterface2.emit, bind = _EventInterface2.bind; + var _Components2$Elements = Components2.Elements, slides = _Components2$Elements.slides, list = _Components2$Elements.list; + var Slides2 = []; + function mount() { + init(); + on(EVENT_REFRESH, destroy); + on(EVENT_REFRESH, init); + } + function init() { + slides.forEach(function(slide, index) { + register(slide, index, -1); + }); + } + function destroy() { + forEach$1(function(Slide2) { + Slide2.destroy(); + }); + empty(Slides2); + } + function update() { + forEach$1(function(Slide2) { + Slide2.update(); + }); + } + function register(slide, index, slideIndex) { + var object = Slide$1(Splide2, index, slideIndex, slide); + object.mount(); + Slides2.push(object); + Slides2.sort(function(Slide1, Slide2) { + return Slide1.index - Slide2.index; + }); + } + function get(excludeClones) { + return excludeClones ? filter(function(Slide2) { + return !Slide2.isClone; + }) : Slides2; + } + function getIn(page) { + var Controller2 = Components2.Controller; + var index = Controller2.toIndex(page); + var max3 = Controller2.hasFocus() ? 1 : options.perPage; + return filter(function(Slide2) { + return between(Slide2.index, index, index + max3 - 1); + }); + } + function getAt(index) { + return filter(index)[0]; + } + function add(items, index) { + forEach(items, function(slide) { + if (isString(slide)) { + slide = parseHtml(slide); + } + if (isHTMLElement2(slide)) { + var ref = slides[index]; + ref ? before(slide, ref) : append(list, slide); + addClass(slide, options.classes.slide); + observeImages(slide, apply(emit, EVENT_RESIZE2)); + } + }); + emit(EVENT_REFRESH); + } + function remove$1(matcher) { + remove(filter(matcher).map(function(Slide2) { + return Slide2.slide; + })); + emit(EVENT_REFRESH); + } + function forEach$1(iteratee, excludeClones) { + get(excludeClones).forEach(iteratee); + } + function filter(matcher) { + return Slides2.filter(isFunction(matcher) ? matcher : function(Slide2) { + return isString(matcher) ? matches(Slide2.slide, matcher) : includes(toArray(matcher), Slide2.index); + }); + } + function style2(prop, value, useContainer) { + forEach$1(function(Slide2) { + Slide2.style(prop, value, useContainer); + }); + } + function observeImages(elm, callback) { + var images = queryAll(elm, "img"); + var length = images.length; + if (length) { + images.forEach(function(img) { + bind(img, "load error", function() { + if (!--length) { + callback(); + } + }); + }); + } else { + callback(); + } + } + function getLength(excludeClones) { + return excludeClones ? slides.length : Slides2.length; + } + function isEnough() { + return Slides2.length > options.perPage; + } + return { + mount, + destroy, + update, + register, + get, + getIn, + getAt, + add, + remove: remove$1, + forEach: forEach$1, + filter, + style: style2, + getLength, + isEnough + }; + } + function Layout(Splide2, Components2, options) { + var _EventInterface3 = EventInterface(Splide2), on = _EventInterface3.on, bind = _EventInterface3.bind, emit = _EventInterface3.emit; + var Slides2 = Components2.Slides; + var resolve = Components2.Direction.resolve; + var _Components2$Elements2 = Components2.Elements, root = _Components2$Elements2.root, track = _Components2$Elements2.track, list = _Components2$Elements2.list; + var getAt = Slides2.getAt, styleSlides = Slides2.style; + var vertical; + var rootRect; + var overflow; + function mount() { + init(); + bind(window, "resize load", Throttle(apply(emit, EVENT_RESIZE2))); + on([EVENT_UPDATED, EVENT_REFRESH], init); + on(EVENT_RESIZE2, resize); + } + function init() { + vertical = options.direction === TTB; + style(root, "maxWidth", unit(options.width)); + style(track, resolve("paddingLeft"), cssPadding(false)); + style(track, resolve("paddingRight"), cssPadding(true)); + resize(true); + } + function resize(force) { + var newRect = rect(root); + if (force || rootRect.width !== newRect.width || rootRect.height !== newRect.height) { + style(track, "height", cssTrackHeight()); + styleSlides(resolve("marginRight"), unit(options.gap)); + styleSlides("width", cssSlideWidth()); + styleSlides("height", cssSlideHeight(), true); + rootRect = newRect; + emit(EVENT_RESIZED); + if (overflow !== (overflow = isOverflow())) { + toggleClass(root, CLASS_OVERFLOW, overflow); + emit(EVENT_OVERFLOW, overflow); + } + } + } + function cssPadding(right2) { + var padding = options.padding; + var prop = resolve(right2 ? "right" : "left"); + return padding && unit(padding[prop] || (isObject(padding) ? 0 : padding)) || "0px"; + } + function cssTrackHeight() { + var height = ""; + if (vertical) { + height = cssHeight(); + assert(height, "height or heightRatio is missing."); + height = "calc(" + height + " - " + cssPadding(false) + " - " + cssPadding(true) + ")"; + } + return height; + } + function cssHeight() { + return unit(options.height || rect(list).width * options.heightRatio); + } + function cssSlideWidth() { + return options.autoWidth ? null : unit(options.fixedWidth) || (vertical ? "" : cssSlideSize()); + } + function cssSlideHeight() { + return unit(options.fixedHeight) || (vertical ? options.autoHeight ? null : cssSlideSize() : cssHeight()); + } + function cssSlideSize() { + var gap = unit(options.gap); + return "calc((100%" + (gap && " + " + gap) + ")/" + (options.perPage || 1) + (gap && " - " + gap) + ")"; + } + function listSize() { + return rect(list)[resolve("width")]; + } + function slideSize(index, withoutGap) { + var Slide2 = getAt(index || 0); + return Slide2 ? rect(Slide2.slide)[resolve("width")] + (withoutGap ? 0 : getGap()) : 0; + } + function totalSize(index, withoutGap) { + var Slide2 = getAt(index); + if (Slide2) { + var right2 = rect(Slide2.slide)[resolve("right")]; + var left2 = rect(list)[resolve("left")]; + return abs(right2 - left2) + (withoutGap ? 0 : getGap()); + } + return 0; + } + function sliderSize(withoutGap) { + return totalSize(Splide2.length - 1) - totalSize(0) + slideSize(0, withoutGap); + } + function getGap() { + var Slide2 = getAt(0); + return Slide2 && parseFloat(style(Slide2.slide, resolve("marginRight"))) || 0; + } + function getPadding(right2) { + return parseFloat(style(track, resolve("padding" + (right2 ? "Right" : "Left")))) || 0; + } + function isOverflow() { + return Splide2.is(FADE) || sliderSize(true) > listSize(); + } + return { + mount, + resize, + listSize, + slideSize, + sliderSize, + totalSize, + getPadding, + isOverflow + }; + } + var MULTIPLIER = 2; + function Clones(Splide2, Components2, options) { + var event = EventInterface(Splide2); + var on = event.on; + var Elements2 = Components2.Elements, Slides2 = Components2.Slides; + var resolve = Components2.Direction.resolve; + var clones = []; + var cloneCount; + function mount() { + on(EVENT_REFRESH, remount); + on([EVENT_UPDATED, EVENT_RESIZE2], observe); + if (cloneCount = computeCloneCount()) { + generate(cloneCount); + Components2.Layout.resize(true); + } + } + function remount() { + destroy(); + mount(); + } + function destroy() { + remove(clones); + empty(clones); + event.destroy(); + } + function observe() { + var count = computeCloneCount(); + if (cloneCount !== count) { + if (cloneCount < count || !count) { + event.emit(EVENT_REFRESH); + } + } + } + function generate(count) { + var slides = Slides2.get().slice(); + var length = slides.length; + if (length) { + while (slides.length < count) { + push(slides, slides); + } + push(slides.slice(-count), slides.slice(0, count)).forEach(function(Slide2, index) { + var isHead = index < count; + var clone = cloneDeep(Slide2.slide, index); + isHead ? before(clone, slides[0].slide) : append(Elements2.list, clone); + push(clones, clone); + Slides2.register(clone, index - count + (isHead ? 0 : length), Slide2.index); + }); + } + } + function cloneDeep(elm, index) { + var clone = elm.cloneNode(true); + addClass(clone, options.classes.clone); + clone.id = Splide2.root.id + "-clone" + pad(index + 1); + return clone; + } + function computeCloneCount() { + var clones2 = options.clones; + if (!Splide2.is(LOOP)) { + clones2 = 0; + } else if (isUndefined(clones2)) { + var fixedSize = options[resolve("fixedWidth")] && Components2.Layout.slideSize(0); + var fixedCount = fixedSize && ceil(rect(Elements2.track)[resolve("width")] / fixedSize); + clones2 = fixedCount || options[resolve("autoWidth")] && Splide2.length || options.perPage * MULTIPLIER; + } + return clones2; + } + return { + mount, + destroy + }; + } + function Move(Splide2, Components2, options) { + var _EventInterface4 = EventInterface(Splide2), on = _EventInterface4.on, emit = _EventInterface4.emit; + var set = Splide2.state.set; + var _Components2$Layout = Components2.Layout, slideSize = _Components2$Layout.slideSize, getPadding = _Components2$Layout.getPadding, totalSize = _Components2$Layout.totalSize, listSize = _Components2$Layout.listSize, sliderSize = _Components2$Layout.sliderSize; + var _Components2$Directio = Components2.Direction, resolve = _Components2$Directio.resolve, orient = _Components2$Directio.orient; + var _Components2$Elements3 = Components2.Elements, list = _Components2$Elements3.list, track = _Components2$Elements3.track; + var Transition; + function mount() { + Transition = Components2.Transition; + on([EVENT_MOUNTED, EVENT_RESIZED, EVENT_UPDATED, EVENT_REFRESH], reposition); + } + function reposition() { + if (!Components2.Controller.isBusy()) { + Components2.Scroll.cancel(); + jump(Splide2.index); + Components2.Slides.update(); + } + } + function move(dest, index, prev, callback) { + if (dest !== index && canShift(dest > prev)) { + cancel(); + translate(shift(getPosition(), dest > prev), true); + } + set(MOVING); + emit(EVENT_MOVE, index, prev, dest); + Transition.start(index, function() { + set(IDLE); + emit(EVENT_MOVED, index, prev, dest); + callback && callback(); + }); + } + function jump(index) { + translate(toPosition(index, true)); + } + function translate(position, preventLoop) { + if (!Splide2.is(FADE)) { + var destination = preventLoop ? position : loop(position); + style(list, "transform", "translate" + resolve("X") + "(" + destination + "px)"); + position !== destination && emit(EVENT_SHIFTED); + } + } + function loop(position) { + if (Splide2.is(LOOP)) { + var index = toIndex(position); + var exceededMax = index > Components2.Controller.getEnd(); + var exceededMin = index < 0; + if (exceededMin || exceededMax) { + position = shift(position, exceededMax); + } + } + return position; + } + function shift(position, backwards) { + var excess = position - getLimit(backwards); + var size = sliderSize(); + position -= orient(size * (ceil(abs(excess) / size) || 1)) * (backwards ? 1 : -1); + return position; + } + function cancel() { + translate(getPosition(), true); + Transition.cancel(); + } + function toIndex(position) { + var Slides2 = Components2.Slides.get(); + var index = 0; + var minDistance = Infinity; + for (var i = 0; i < Slides2.length; i++) { + var slideIndex = Slides2[i].index; + var distance = abs(toPosition(slideIndex, true) - position); + if (distance <= minDistance) { + minDistance = distance; + index = slideIndex; + } else { + break; + } + } + return index; + } + function toPosition(index, trimming) { + var position = orient(totalSize(index - 1) - offset2(index)); + return trimming ? trim(position) : position; + } + function getPosition() { + var left2 = resolve("left"); + return rect(list)[left2] - rect(track)[left2] + orient(getPadding(false)); + } + function trim(position) { + if (options.trimSpace && Splide2.is(SLIDE)) { + position = clamp(position, 0, orient(sliderSize(true) - listSize())); + } + return position; + } + function offset2(index) { + var focus2 = options.focus; + return focus2 === "center" ? (listSize() - slideSize(index, true)) / 2 : +focus2 * slideSize(index) || 0; + } + function getLimit(max3) { + return toPosition(max3 ? Components2.Controller.getEnd() : 0, !!options.trimSpace); + } + function canShift(backwards) { + var shifted = orient(shift(getPosition(), backwards)); + return backwards ? shifted >= 0 : shifted <= list[resolve("scrollWidth")] - rect(track)[resolve("width")]; + } + function exceededLimit(max3, position) { + position = isUndefined(position) ? getPosition() : position; + var exceededMin = max3 !== true && orient(position) < orient(getLimit(false)); + var exceededMax = max3 !== false && orient(position) > orient(getLimit(true)); + return exceededMin || exceededMax; + } + return { + mount, + move, + jump, + translate, + shift, + cancel, + toIndex, + toPosition, + getPosition, + getLimit, + exceededLimit, + reposition + }; + } + function Controller(Splide2, Components2, options) { + var _EventInterface5 = EventInterface(Splide2), on = _EventInterface5.on, emit = _EventInterface5.emit; + var Move2 = Components2.Move; + var getPosition = Move2.getPosition, getLimit = Move2.getLimit, toPosition = Move2.toPosition; + var _Components2$Slides = Components2.Slides, isEnough = _Components2$Slides.isEnough, getLength = _Components2$Slides.getLength; + var omitEnd = options.omitEnd; + var isLoop = Splide2.is(LOOP); + var isSlide = Splide2.is(SLIDE); + var getNext = apply(getAdjacent, false); + var getPrev = apply(getAdjacent, true); + var currIndex = options.start || 0; + var endIndex; + var prevIndex = currIndex; + var slideCount; + var perMove; + var perPage; + function mount() { + init(); + on([EVENT_UPDATED, EVENT_REFRESH, EVENT_END_INDEX_CHANGED], init); + on(EVENT_RESIZED, onResized); + } + function init() { + slideCount = getLength(true); + perMove = options.perMove; + perPage = options.perPage; + endIndex = getEnd(); + var index = clamp(currIndex, 0, omitEnd ? endIndex : slideCount - 1); + if (index !== currIndex) { + currIndex = index; + Move2.reposition(); + } + } + function onResized() { + if (endIndex !== getEnd()) { + emit(EVENT_END_INDEX_CHANGED); + } + } + function go(control, allowSameIndex, callback) { + if (!isBusy()) { + var dest = parse(control); + var index = loop(dest); + if (index > -1 && (allowSameIndex || index !== currIndex)) { + setIndex(index); + Move2.move(dest, index, prevIndex, callback); + } + } + } + function scroll(destination, duration, snap, callback) { + Components2.Scroll.scroll(destination, duration, snap, function() { + var index = loop(Move2.toIndex(getPosition())); + setIndex(omitEnd ? min2(index, endIndex) : index); + callback && callback(); + }); + } + function parse(control) { + var index = currIndex; + if (isString(control)) { + var _ref = control.match(/([+\-<>])(\d+)?/) || [], indicator = _ref[1], number = _ref[2]; + if (indicator === "+" || indicator === "-") { + index = computeDestIndex(currIndex + +("" + indicator + (+number || 1)), currIndex); + } else if (indicator === ">") { + index = number ? toIndex(+number) : getNext(true); + } else if (indicator === "<") { + index = getPrev(true); + } + } else { + index = isLoop ? control : clamp(control, 0, endIndex); + } + return index; + } + function getAdjacent(prev, destination) { + var number = perMove || (hasFocus() ? 1 : perPage); + var dest = computeDestIndex(currIndex + number * (prev ? -1 : 1), currIndex, !(perMove || hasFocus())); + if (dest === -1 && isSlide) { + if (!approximatelyEqual(getPosition(), getLimit(!prev), 1)) { + return prev ? 0 : endIndex; + } + } + return destination ? dest : loop(dest); + } + function computeDestIndex(dest, from, snapPage) { + if (isEnough() || hasFocus()) { + var index = computeMovableDestIndex(dest); + if (index !== dest) { + from = dest; + dest = index; + snapPage = false; + } + if (dest < 0 || dest > endIndex) { + if (!perMove && (between(0, dest, from, true) || between(endIndex, from, dest, true))) { + dest = toIndex(toPage(dest)); + } else { + if (isLoop) { + dest = snapPage ? dest < 0 ? -(slideCount % perPage || perPage) : slideCount : dest; + } else if (options.rewind) { + dest = dest < 0 ? endIndex : 0; + } else { + dest = -1; + } + } + } else { + if (snapPage && dest !== from) { + dest = toIndex(toPage(from) + (dest < from ? -1 : 1)); + } + } + } else { + dest = -1; + } + return dest; + } + function computeMovableDestIndex(dest) { + if (isSlide && options.trimSpace === "move" && dest !== currIndex) { + var position = getPosition(); + while (position === toPosition(dest, true) && between(dest, 0, Splide2.length - 1, !options.rewind)) { + dest < currIndex ? --dest : ++dest; + } + } + return dest; + } + function loop(index) { + return isLoop ? (index + slideCount) % slideCount || 0 : index; + } + function getEnd() { + var end2 = slideCount - (hasFocus() || isLoop && perMove ? 1 : perPage); + while (omitEnd && end2-- > 0) { + if (toPosition(slideCount - 1, true) !== toPosition(end2, true)) { + end2++; + break; + } + } + return clamp(end2, 0, slideCount - 1); + } + function toIndex(page) { + return clamp(hasFocus() ? page : perPage * page, 0, endIndex); + } + function toPage(index) { + return hasFocus() ? min2(index, endIndex) : floor((index >= endIndex ? slideCount - 1 : index) / perPage); + } + function toDest(destination) { + var closest2 = Move2.toIndex(destination); + return isSlide ? clamp(closest2, 0, endIndex) : closest2; + } + function setIndex(index) { + if (index !== currIndex) { + prevIndex = currIndex; + currIndex = index; + } + } + function getIndex(prev) { + return prev ? prevIndex : currIndex; + } + function hasFocus() { + return !isUndefined(options.focus) || options.isNavigation; + } + function isBusy() { + return Splide2.state.is([MOVING, SCROLLING]) && !!options.waitForTransition; + } + return { + mount, + go, + scroll, + getNext, + getPrev, + getAdjacent, + getEnd, + setIndex, + getIndex, + toIndex, + toPage, + toDest, + hasFocus, + isBusy + }; + } + var XML_NAME_SPACE = "http://www.w3.org/2000/svg"; + var PATH = "m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z"; + var SIZE = 40; + function Arrows(Splide2, Components2, options) { + var event = EventInterface(Splide2); + var on = event.on, bind = event.bind, emit = event.emit; + var classes = options.classes, i18n = options.i18n; + var Elements2 = Components2.Elements, Controller2 = Components2.Controller; + var placeholder = Elements2.arrows, track = Elements2.track; + var wrapper = placeholder; + var prev = Elements2.prev; + var next = Elements2.next; + var created; + var wrapperClasses; + var arrows = {}; + function mount() { + init(); + on(EVENT_UPDATED, remount); + } + function remount() { + destroy(); + mount(); + } + function init() { + var enabled = options.arrows; + if (enabled && !(prev && next)) { + createArrows(); + } + if (prev && next) { + assign(arrows, { + prev, + next + }); + display(wrapper, enabled ? "" : "none"); + addClass(wrapper, wrapperClasses = CLASS_ARROWS + "--" + options.direction); + if (enabled) { + listen(); + update(); + setAttribute([prev, next], ARIA_CONTROLS, track.id); + emit(EVENT_ARROWS_MOUNTED, prev, next); + } + } + } + function destroy() { + event.destroy(); + removeClass(wrapper, wrapperClasses); + if (created) { + remove(placeholder ? [prev, next] : wrapper); + prev = next = null; + } else { + removeAttribute([prev, next], ALL_ATTRIBUTES); + } + } + function listen() { + on([EVENT_MOUNTED, EVENT_MOVED, EVENT_REFRESH, EVENT_SCROLLED, EVENT_END_INDEX_CHANGED], update); + bind(next, "click", apply(go, ">")); + bind(prev, "click", apply(go, "<")); + } + function go(control) { + Controller2.go(control, true); + } + function createArrows() { + wrapper = placeholder || create("div", classes.arrows); + prev = createArrow(true); + next = createArrow(false); + created = true; + append(wrapper, [prev, next]); + !placeholder && before(wrapper, track); + } + function createArrow(prev2) { + var arrow2 = '\";\n };\n\n _proto3.html = function html() {\n var _this$config = this.config,\n rootClass = _this$config.rootClass,\n listTag = _this$config.listTag,\n arrows = _this$config.arrows,\n beforeTrack = _this$config.beforeTrack,\n afterTrack = _this$config.afterTrack,\n slider = _this$config.slider,\n beforeSlider = _this$config.beforeSlider,\n afterSlider = _this$config.afterSlider;\n var html = \"\";\n html += \"
    \";\n html += \"\";\n\n if (slider) {\n html += beforeSlider || \"\";\n html += \"
    \";\n }\n\n html += beforeTrack || \"\";\n\n if (arrows) {\n html += this.renderArrows();\n }\n\n html += \"
    \";\n html += \"<\" + listTag + \" class=\\\"splide__list\\\">\";\n html += this.renderSlides();\n html += \"\";\n html += \"
    \";\n html += afterTrack || \"\";\n\n if (slider) {\n html += \"
    \";\n html += afterSlider || \"\";\n }\n\n html += \"
    \";\n return html;\n };\n\n return SplideRenderer;\n}();\n\nexport { CLASSES, CLASS_ACTIVE, CLASS_ARROW, CLASS_ARROWS, CLASS_ARROW_NEXT, CLASS_ARROW_PREV, CLASS_CLONE, CLASS_CONTAINER, CLASS_FOCUS_IN, CLASS_INITIALIZED, CLASS_LIST, CLASS_LOADING, CLASS_NEXT, CLASS_OVERFLOW, CLASS_PAGINATION, CLASS_PAGINATION_PAGE, CLASS_PREV, CLASS_PROGRESS, CLASS_PROGRESS_BAR, CLASS_ROOT, CLASS_SLIDE, CLASS_SPINNER, CLASS_SR, CLASS_TOGGLE, CLASS_TOGGLE_PAUSE, CLASS_TOGGLE_PLAY, CLASS_TRACK, CLASS_VISIBLE, DEFAULTS, EVENT_ACTIVE, EVENT_ARROWS_MOUNTED, EVENT_ARROWS_UPDATED, EVENT_AUTOPLAY_PAUSE, EVENT_AUTOPLAY_PLAY, EVENT_AUTOPLAY_PLAYING, EVENT_CLICK, EVENT_DESTROY, EVENT_DRAG, EVENT_DRAGGED, EVENT_DRAGGING, EVENT_END_INDEX_CHANGED, EVENT_HIDDEN, EVENT_INACTIVE, EVENT_LAZYLOAD_LOADED, EVENT_MOUNTED, EVENT_MOVE, EVENT_MOVED, EVENT_NAVIGATION_MOUNTED, EVENT_OVERFLOW, EVENT_PAGINATION_MOUNTED, EVENT_PAGINATION_UPDATED, EVENT_READY, EVENT_REFRESH, EVENT_RESIZE, EVENT_RESIZED, EVENT_SCROLL, EVENT_SCROLLED, EVENT_SHIFTED, EVENT_SLIDE_KEYDOWN, EVENT_UPDATED, EVENT_VISIBLE, EventBinder, EventInterface, FADE, LOOP, LTR, RTL, RequestInterval, SLIDE, STATUS_CLASSES, Splide, SplideRenderer, State, TTB, Throttle, Splide as default };\n", "// import 'bootstrap'; // ohne Pfadangabe (Modul auslesen aus node_modules) funktioniert nur mit JS-Bundler (esbuild, rollup & co.)\n\nimport ProductManager from './modules/ProductManager'; // Dateiendung kann weggelassen werden, wenn ein Bundler eingesetzt wird (esbuild, webpack, rollup, etc.)\nimport Splide from '@splidejs/splide';\n\n(() => {\n // === DOM & VARS =======\n const DOM = {};\n\n // === INIT =============\n const init = () => {\n console.log('init');\n router();\n };\n\n // === EVENTHANDLER =====\n\n // === XHR/FETCH ========\n\n // === FUNCTIONS ========\n const router = () => {\n const path = window.location.pathname;\n\n console.log(path);\n\n switch (path) {\n case '/':\n case '/index.html':\n console.log('HOME');\n const splider = new Splide('.splide', {\n type: 'loop',\n fixedHeight: '100%',\n height: '100%',\n autoHeight: true,\n }).mount();\n\n // nur Skripte, die f\u00FCr Home relevant ausf\u00FChren\n break;\n case '/projects/product-manager.html':\n console.log('PRODUCT_MANAGER');\n const pm = ProductManager();\n break;\n default:\n console.warn('Page not found');\n }\n };\n\n init();\n})();\n"], + "mappings": "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", + "names": ["Toastify", "offset", "createPopper", "style", "name", "child", "getComputedStyle", "getComputedStyle", "window", "min", "max", "toPaddingObject", "popperOffsets", "min", "max", "offset", "effect", "popper", "getComputedStyle", "effect", "window", "hash", "getComputedStyle", "getComputedStyle", "rect", "rect", "clippingParents", "getComputedStyle", "reference", "popperOffsets", "offset", "placements", "placement", "placements", "placement", "_loop", "_i", "checks", "rect", "offset", "popperOffsets", "offset", "min", "max", "rect", "fn", "merged", "defaultModifiers", "createPopper", "reference", "popper", "options", "fn", "state", "effect", "noopFn", "createPopper", "defaultModifiers", "createPopper", "elementMap", "Map", "set", "element", "key", "instance", "has", "instanceMap", "get", "size", "console", "error", "Array", "from", "keys", "remove", "delete", "MAX_UID", "MILLISECONDS_MULTIPLIER", "TRANSITION_END", "parseSelector", "selector", "window", "CSS", "escape", "replace", "match", "id", "toType", "object", "undefined", "Object", "prototype", "toString", "call", "toLowerCase", "getUID", "prefix", "Math", "floor", "random", "document", "getElementById", "getTransitionDurationFromElement", "transitionDuration", "transitionDelay", "getComputedStyle", "floatTransitionDuration", "Number", "parseFloat", "floatTransitionDelay", "split", "triggerTransitionEnd", "dispatchEvent", "Event", "isElement", "jquery", "nodeType", "getElement", "length", "querySelector", "isVisible", "getClientRects", "elementIsVisible", "getPropertyValue", "closedDetails", "closest", "summary", "parentNode", "isDisabled", "Node", "ELEMENT_NODE", "classList", "contains", "disabled", "hasAttribute", "getAttribute", "findShadowRoot", "documentElement", "attachShadow", "getRootNode", "root", "ShadowRoot", "noop", "reflow", "offsetHeight", "getjQuery", "jQuery", "body", "DOMContentLoadedCallbacks", "onDOMContentLoaded", "callback", "readyState", "addEventListener", "push", "isRTL", "dir", "defineJQueryPlugin", "plugin", "$", "name", "NAME", "JQUERY_NO_CONFLICT", "fn", "jQueryInterface", "Constructor", "noConflict", "execute", "possibleCallback", "args", "defaultValue", "executeAfterTransition", "transitionElement", "waitForTransition", "durationPadding", "emulatedDuration", "called", "handler", "target", "removeEventListener", "setTimeout", "getNextActiveElement", "list", "activeElement", "shouldGetNext", "isCycleAllowed", "listLength", "index", "indexOf", "max", "min", "namespaceRegex", "stripNameRegex", "stripUidRegex", "eventRegistry", "uidEvent", "customEvents", "mouseenter", "mouseleave", "nativeEvents", "Set", "makeEventUid", "uid", "getElementEvents", "bootstrapHandler", "event", "hydrateObj", "delegateTarget", "oneOff", "EventHandler", "off", "type", "apply", "bootstrapDelegationHandler", "domElements", "querySelectorAll", "domElement", "findHandler", "events", "callable", "delegationSelector", "values", "find", "normalizeParameters", "originalTypeEvent", "delegationFunction", "isDelegated", "typeEvent", "getTypeEvent", "addHandler", "wrapFunction", "relatedTarget", "handlers", "previousFunction", "removeHandler", "Boolean", "removeNamespacedHandlers", "namespace", "storeElementEvent", "handlerKey", "entries", "includes", "on", "one", "inNamespace", "isNamespace", "startsWith", "elementEvent", "slice", "keyHandlers", "trigger", "jQueryEvent", "bubbles", "nativeDispatch", "defaultPrevented", "isPropagationStopped", "isImmediatePropagationStopped", "isDefaultPrevented", "evt", "cancelable", "preventDefault", "obj", "meta", "value", "_unused", "defineProperty", "configurable", "normalizeData", "JSON", "parse", "decodeURIComponent", "normalizeDataKey", "chr", "Manipulator", "setDataAttribute", "setAttribute", "removeDataAttribute", "removeAttribute", "getDataAttributes", "attributes", "bsKeys", "dataset", "filter", "pureKey", "charAt", "getDataAttribute", "Config", "Default", "DefaultType", "Error", "_getConfig", "config", "_mergeConfigObj", "_configAfterMerge", "_typeCheckConfig", "jsonConfig", "constructor", "configTypes", "property", "expectedTypes", "valueType", "RegExp", "test", "TypeError", "toUpperCase", "VERSION", "BaseComponent", "_element", "_config", "Data", "DATA_KEY", "dispose", "EVENT_KEY", "propertyName", "getOwnPropertyNames", "_queueCallback", "isAnimated", "getInstance", "getOrCreateInstance", "eventName", "getSelector", "hrefAttribute", "trim", "map", "sel", "join", "SelectorEngine", "concat", "Element", "findOne", "children", "child", "matches", "parents", "ancestor", "prev", "previous", "previousElementSibling", "next", "nextElementSibling", "focusableChildren", "focusables", "el", "getSelectorFromElement", "getElementFromSelector", "getMultipleElementsFromSelector", "enableDismissTrigger", "component", "method", "clickEvent", "tagName", "EVENT_CLOSE", "EVENT_CLOSED", "CLASS_NAME_FADE", "CLASS_NAME_SHOW", "Alert", "close", "closeEvent", "_destroyElement", "each", "data", "DATA_API_KEY", "CLASS_NAME_ACTIVE", "SELECTOR_DATA_TOGGLE", "EVENT_CLICK_DATA_API", "Button", "toggle", "button", "EVENT_TOUCHSTART", "EVENT_TOUCHMOVE", "EVENT_TOUCHEND", "EVENT_POINTERDOWN", "EVENT_POINTERUP", "POINTER_TYPE_TOUCH", "POINTER_TYPE_PEN", "CLASS_NAME_POINTER_EVENT", "SWIPE_THRESHOLD", "endCallback", "leftCallback", "rightCallback", "Swipe", "isSupported", "_deltaX", "_supportPointerEvents", "PointerEvent", "_initEvents", "_start", "touches", "clientX", "_eventIsPointerPenTouch", "_end", "_handleSwipe", "_move", "absDeltaX", "abs", "direction", "add", "pointerType", "navigator", "maxTouchPoints", "ARROW_LEFT_KEY", "ARROW_RIGHT_KEY", "TOUCHEVENT_COMPAT_WAIT", "ORDER_NEXT", "ORDER_PREV", "DIRECTION_LEFT", "DIRECTION_RIGHT", "EVENT_SLIDE", "EVENT_SLID", "EVENT_KEYDOWN", "EVENT_MOUSEENTER", "EVENT_MOUSELEAVE", "EVENT_DRAG_START", "EVENT_LOAD_DATA_API", "CLASS_NAME_CAROUSEL", "CLASS_NAME_SLIDE", "CLASS_NAME_END", "CLASS_NAME_START", "CLASS_NAME_NEXT", "CLASS_NAME_PREV", "SELECTOR_ACTIVE", "SELECTOR_ITEM", "SELECTOR_ACTIVE_ITEM", "SELECTOR_ITEM_IMG", "SELECTOR_INDICATORS", "SELECTOR_DATA_SLIDE", "SELECTOR_DATA_RIDE", "KEY_TO_DIRECTION", "interval", "keyboard", "pause", "ride", "touch", "wrap", "Carousel", "_interval", "_activeElement", "_isSliding", "touchTimeout", "_swipeHelper", "_indicatorsElement", "_addEventListeners", "cycle", "_slide", "nextWhenVisible", "hidden", "_clearInterval", "_updateInterval", "setInterval", "_maybeEnableCycle", "to", "items", "_getItems", "activeIndex", "_getItemIndex", "_getActive", "order", "defaultInterval", "_keydown", "_addTouchEventListeners", "img", "endCallBack", "clearTimeout", "swipeConfig", "_directionToOrder", "_setActiveIndicatorElement", "activeIndicator", "newActiveIndicator", "elementInterval", "parseInt", "isNext", "nextElement", "nextElementIndex", "triggerEvent", "_orderToDirection", "slideEvent", "isCycling", "directionalClassName", "orderClassName", "completeCallBack", "_isAnimated", "clearInterval", "carousel", "slideIndex", "carousels", "EVENT_SHOW", "EVENT_SHOWN", "EVENT_HIDE", "EVENT_HIDDEN", "CLASS_NAME_COLLAPSE", "CLASS_NAME_COLLAPSING", "CLASS_NAME_COLLAPSED", "CLASS_NAME_DEEPER_CHILDREN", "CLASS_NAME_HORIZONTAL", "WIDTH", "HEIGHT", "SELECTOR_ACTIVES", "parent", "Collapse", "_isTransitioning", "_triggerArray", "toggleList", "elem", "filterElement", "foundElement", "_initializeChildren", "_addAriaAndCollapsedClass", "_isShown", "hide", "show", "activeChildren", "_getFirstLevelChildren", "startEvent", "activeInstance", "dimension", "_getDimension", "style", "complete", "capitalizedDimension", "scrollSize", "getBoundingClientRect", "selected", "triggerArray", "isOpen", "ESCAPE_KEY", "TAB_KEY", "ARROW_UP_KEY", "ARROW_DOWN_KEY", "RIGHT_MOUSE_BUTTON", "EVENT_KEYDOWN_DATA_API", "EVENT_KEYUP_DATA_API", "CLASS_NAME_DROPUP", "CLASS_NAME_DROPEND", "CLASS_NAME_DROPSTART", "CLASS_NAME_DROPUP_CENTER", "CLASS_NAME_DROPDOWN_CENTER", "SELECTOR_DATA_TOGGLE_SHOWN", "SELECTOR_MENU", "SELECTOR_NAVBAR", "SELECTOR_NAVBAR_NAV", "SELECTOR_VISIBLE_ITEMS", "PLACEMENT_TOP", "PLACEMENT_TOPEND", "PLACEMENT_BOTTOM", "PLACEMENT_BOTTOMEND", "PLACEMENT_RIGHT", "PLACEMENT_LEFT", "PLACEMENT_TOPCENTER", "PLACEMENT_BOTTOMCENTER", "autoClose", "boundary", "display", "offset", "popperConfig", "reference", "Dropdown", "_popper", "_parent", "_menu", "_inNavbar", "_detectNavbar", "showEvent", "_createPopper", "focus", "_completeHide", "destroy", "update", "hideEvent", "Popper", "referenceElement", "_getPopperConfig", "createPopper", "_getPlacement", "parentDropdown", "isEnd", "_getOffset", "popperData", "defaultBsPopperConfig", "placement", "modifiers", "options", "enabled", "_selectMenuItem", "clearMenus", "openToggles", "context", "composedPath", "isMenuTarget", "dataApiKeydownHandler", "isInput", "isEscapeEvent", "isUpOrDownEvent", "getToggleButton", "stopPropagation", "EVENT_MOUSEDOWN", "className", "clickCallback", "rootElement", "Backdrop", "_isAppended", "_append", "_getElement", "_emulateAnimation", "backdrop", "createElement", "append", "EVENT_FOCUSIN", "EVENT_KEYDOWN_TAB", "TAB_NAV_FORWARD", "TAB_NAV_BACKWARD", "autofocus", "trapElement", "FocusTrap", "_isActive", "_lastTabNavDirection", "activate", "_handleFocusin", "_handleKeydown", "deactivate", "elements", "shiftKey", "SELECTOR_FIXED_CONTENT", "SELECTOR_STICKY_CONTENT", "PROPERTY_PADDING", "PROPERTY_MARGIN", "ScrollBarHelper", "getWidth", "documentWidth", "clientWidth", "innerWidth", "width", "_disableOverFlow", "_setElementAttributes", "calculatedValue", "reset", "_resetElementAttributes", "isOverflowing", "_saveInitialAttribute", "overflow", "styleProperty", "scrollbarWidth", "manipulationCallBack", "setProperty", "_applyManipulationCallback", "actualValue", "removeProperty", "callBack", "EVENT_HIDE_PREVENTED", "EVENT_RESIZE", "EVENT_CLICK_DISMISS", "EVENT_MOUSEDOWN_DISMISS", "EVENT_KEYDOWN_DISMISS", "CLASS_NAME_OPEN", "CLASS_NAME_STATIC", "OPEN_SELECTOR", "SELECTOR_DIALOG", "SELECTOR_MODAL_BODY", "Modal", "_dialog", "_backdrop", "_initializeBackDrop", "_focustrap", "_initializeFocusTrap", "_scrollBar", "_adjustDialog", "_showElement", "_hideModal", "handleUpdate", "scrollTop", "modalBody", "transitionComplete", "_triggerBackdropTransition", "event2", "_resetAdjustments", "isModalOverflowing", "scrollHeight", "clientHeight", "initialOverflowY", "overflowY", "isBodyOverflowing", "paddingLeft", "paddingRight", "alreadyOpen", "CLASS_NAME_SHOWING", "CLASS_NAME_HIDING", "CLASS_NAME_BACKDROP", "scroll", "Offcanvas", "blur", "completeCallback", "position", "ARIA_ATTRIBUTE_PATTERN", "DefaultAllowlist", "a", "area", "b", "br", "col", "code", "dd", "div", "dl", "dt", "em", "hr", "h1", "h2", "h3", "h4", "h5", "h6", "i", "li", "ol", "p", "pre", "s", "small", "span", "sub", "sup", "strong", "u", "ul", "uriAttributes", "SAFE_URL_PATTERN", "allowedAttribute", "attribute", "allowedAttributeList", "attributeName", "nodeName", "nodeValue", "attributeRegex", "some", "regex", "sanitizeHtml", "unsafeHtml", "allowList", "sanitizeFunction", "domParser", "DOMParser", "createdDocument", "parseFromString", "elementName", "attributeList", "allowedAttributes", "innerHTML", "content", "extraClass", "html", "sanitize", "sanitizeFn", "template", "DefaultContentType", "entry", "TemplateFactory", "getContent", "_resolvePossibleFunction", "hasContent", "changeContent", "_checkContent", "toHtml", "templateWrapper", "_maybeSanitize", "text", "_setContent", "arg", "templateElement", "_putElementInTemplate", "textContent", "DISALLOWED_ATTRIBUTES", "CLASS_NAME_MODAL", "SELECTOR_TOOLTIP_INNER", "SELECTOR_MODAL", "EVENT_MODAL_HIDE", "TRIGGER_HOVER", "TRIGGER_FOCUS", "TRIGGER_CLICK", "TRIGGER_MANUAL", "EVENT_INSERTED", "EVENT_CLICK", "EVENT_FOCUSOUT", "AttachmentMap", "AUTO", "TOP", "RIGHT", "BOTTOM", "LEFT", "animation", "container", "customClass", "delay", "fallbackPlacements", "title", "Tooltip", "_isEnabled", "_timeout", "_isHovered", "_activeTrigger", "_templateFactory", "_newContent", "tip", "_setListeners", "_fixTitle", "enable", "disable", "toggleEnabled", "_leave", "_enter", "_hideModalHandler", "_disposePopper", "_isWithContent", "shadowRoot", "isInTheDom", "ownerDocument", "_getTipElement", "_isWithActiveTrigger", "_getTitle", "_createTipElement", "_getContentForTemplate", "_getTemplateFactory", "tipId", "setContent", "_initializeOnDelegatedTarget", "_getDelegateConfig", "attachment", "phase", "state", "triggers", "eventIn", "eventOut", "_setTimeout", "timeout", "dataAttributes", "dataAttribute", "SELECTOR_TITLE", "SELECTOR_CONTENT", "Popover", "_getContent", "EVENT_ACTIVATE", "CLASS_NAME_DROPDOWN_ITEM", "SELECTOR_DATA_SPY", "SELECTOR_TARGET_LINKS", "SELECTOR_NAV_LIST_GROUP", "SELECTOR_NAV_LINKS", "SELECTOR_NAV_ITEMS", "SELECTOR_LIST_ITEMS", "SELECTOR_LINK_ITEMS", "SELECTOR_DROPDOWN", "SELECTOR_DROPDOWN_TOGGLE", "rootMargin", "smoothScroll", "threshold", "ScrollSpy", "_targetLinks", "_observableSections", "_rootElement", "_activeTarget", "_observer", "_previousScrollData", "visibleEntryTop", "parentScrollTop", "refresh", "_initializeTargetsAndObservables", "_maybeEnableSmoothScroll", "disconnect", "_getNewObserver", "section", "observe", "observableSection", "hash", "height", "offsetTop", "scrollTo", "top", "behavior", "IntersectionObserver", "_observerCallback", "targetElement", "_process", "userScrollsDown", "isIntersecting", "_clearActiveClass", "entryIsLowerThanPrevious", "targetLinks", "anchor", "decodeURI", "_activateParents", "listGroup", "item", "activeNodes", "node", "spy", "HOME_KEY", "END_KEY", "CLASS_DROPDOWN", "SELECTOR_DROPDOWN_MENU", "NOT_SELECTOR_DROPDOWN_TOGGLE", "SELECTOR_TAB_PANEL", "SELECTOR_OUTER", "SELECTOR_INNER", "SELECTOR_INNER_ELEM", "SELECTOR_DATA_TOGGLE_ACTIVE", "Tab", "_setInitialAttributes", "_getChildren", "innerElem", "_elemIsActive", "active", "_getActiveElem", "_deactivate", "_activate", "relatedElem", "_toggleDropDown", "nextActiveElement", "preventScroll", "_setAttributeIfNotExists", "_setInitialAttributesOnChild", "_getInnerElement", "isActive", "outerElem", "_getOuterElement", "_setInitialAttributesOnTargetPanel", "open", "EVENT_MOUSEOVER", "EVENT_MOUSEOUT", "CLASS_NAME_HIDE", "autohide", "Toast", "_hasMouseInteraction", "_hasKeyboardInteraction", "_clearTimeout", "_maybeScheduleHide", "isShown", "_onInteraction", "isInteracting", "Toast", "variant", "Toastify", "el", "parents", "start", "end", "noop", "isHTMLElement", "children", "child", "right", "min", "max", "EVENT_CLICK", "EVENT_HIDDEN", "EVENT_RESIZE", "min", "start", "query", "offset", "EVENT_CLICK", "isVisible", "EVENT_HIDDEN", "left", "right", "min", "Controller", "max", "isHTMLElement", "EVENT_RESIZE", "style", "Slides", "Slide", "Elements", "focus", "Move", "end", "closest", "arrow", "Scroll", "noop", "start", "_Splide", "remove"] +} diff --git a/webseite-ts/frontend/data/products.json b/webseite-ts/frontend/data/products.json new file mode 100644 index 0000000..67e8369 --- /dev/null +++ b/webseite-ts/frontend/data/products.json @@ -0,0 +1,5 @@ +[ + { "name": "3Doodler 3D Printing Pen", "price": 29.99 }, + { "name": "Powerstation 5- E. Maximus Chargus", "price": 44.95 }, + { "name": "8-Bit Legendary Hero Heat-Change Mug", "price": 6.99 } +] diff --git a/webseite-ts/frontend/dev/scripts/main.js b/webseite-ts/frontend/dev/scripts/main.js new file mode 100644 index 0000000..a1993cb --- /dev/null +++ b/webseite-ts/frontend/dev/scripts/main.js @@ -0,0 +1,49 @@ +// import 'bootstrap'; // ohne Pfadangabe (Modul auslesen aus node_modules) funktioniert nur mit JS-Bundler (esbuild, rollup & co.) + +import ProductManager from './modules/ProductManager'; // Dateiendung kann weggelassen werden, wenn ein Bundler eingesetzt wird (esbuild, webpack, rollup, etc.) +import Splide from '@splidejs/splide'; + +(() => { + // === DOM & VARS ======= + const DOM = {}; + + // === INIT ============= + const init = () => { + console.log('init'); + router(); + }; + + // === EVENTHANDLER ===== + + // === XHR/FETCH ======== + + // === FUNCTIONS ======== + const router = () => { + const path = window.location.pathname; + + console.log(path); + + switch (path) { + case '/': + case '/index.html': + console.log('HOME'); + const splider = new Splide('.splide', { + type: 'loop', + fixedHeight: '100%', + height: '100%', + autoHeight: true, + }).mount(); + + // nur Skripte, die für Home relevant ausführen + break; + case '/projects/product-manager.html': + console.log('PRODUCT_MANAGER'); + const pm = ProductManager(); + break; + default: + console.warn('Page not found'); + } + }; + + init(); +})(); diff --git a/webseite-ts/frontend/dev/scripts/modules/ProductManager.js b/webseite-ts/frontend/dev/scripts/modules/ProductManager.js new file mode 100644 index 0000000..07515e2 --- /dev/null +++ b/webseite-ts/frontend/dev/scripts/modules/ProductManager.js @@ -0,0 +1,574 @@ +import { Modal } from 'bootstrap'; // ohne Pfadangabe (Modul auslesen aus node_modules) funktioniert nur mit JS-Bundler (esbuild, rollup & co.) +import Toast from './Toast'; + +// import * as bootstrap from 'bootstrap'; +// import 'bootstrap'; + +// import 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js'; // würde auch ohne Bundler funktionieren +// import '../../../node_modules/bootstrap/dist/js/bootstrap.esm.js'; // würde auch ohne Bundler funktionieren + +// Factory Function +const ProductManager = (el = null) => { + // === DOM & VARS ======= + + const BASE_URL = 'http://127.0.0.1:8000'; + + const module = el || document.querySelector('.product-manager') || console.error('Product Manager not found'); + + if (!module) return; + + const DOM = { + module, + table: module.querySelector('.table-products'), + tBody: module.querySelector('tbody'), + inputName: module.querySelector('.input-product-name'), + inputPrice: module.querySelector('.input-product-price'), + btnAdd: module.querySelector('.button-product-add'), + templateRow: module.querySelector('.template-row'), + + // Nav Actions + btnSave: module.querySelector('.button-products-save'), + btnReset: module.querySelector('.button-products-reset'), + + // Modal Edit + modalEdit: module.querySelector('.modal-edit'), + formEdit: module.querySelector('.form-product-edit'), + inputEditName: module.querySelector('.input-edit-name'), + inputEditPrice: module.querySelector('.input-edit-price'), + inputEditId: module.querySelector('.input-edit-id'), + inputEditPosition: module.querySelector('.input-edit-position'), + btnUpdate: module.querySelector('.button-product-update'), + + // Modal Delete + modalDelete: module.querySelector('.modal-delete'), + productName: module.querySelector('strong.product-name'), + btnConfirmDelete: module.querySelector('.button-confirm-delete'), + }; + + console.log(DOM); + const bsModalEdit = new Modal(DOM.modalEdit, { + backdrop: 'static', // true + keyboard: true, + }); + + const bsModalDelete = new Modal(DOM.modalDelete, { + backdrop: 'static', // true + keyboard: true, + }); + + // === INIT ============= + const init = () => { + console.log('init'); + // Funktionaufrufe zu beginn der Anwendung + initProducts(); + + // Event-Lauscher zu beginn der Anwendung + DOM.btnReset.addEventListener('click', onClickReset); + DOM.btnSave.addEventListener('click', onClickSave); + + DOM.btnAdd.addEventListener('click', onClickAdd); + DOM.btnAdd.disabled = true; + DOM.btnConfirmDelete.addEventListener('click', onClickConfirmDelete); + DOM.formEdit.addEventListener('submit', onSubmitEdit); + window.addEventListener('keyup', onKeyUp); + }; + + // === EVENTHANDLER ===== + const onKeyUp = (e) => { + // if (DOM.inputName.value === '' && DOM.inputPrice.value === '') { + // DOM.btnAdd.disabled = true; + // } else { + // DOM.btnAdd.disabled = false; + // } + DOM.btnAdd.disabled = (DOM.inputName.value === '' || DOM.inputPrice.value === ''); // prettier-ignore + }; + + const onClickReset = (e) => { + const btnEl = e.currentTarget; + + // async process + resetProducts().then((data) => { + if (data.success) { + Toast(data.msg, 'success').show(); + loadProducts(); + } + }); + }; + + const onClickSave = (e) => { + const btnEl = e.currentTarget; + const icon = btnEl.querySelector('i'); + + icon.classList.add('fa-jello'); + + // async process + saveProducts().then((data) => { + if (data.success) { + setTimeout(() => { + icon.classList.remove('fa-jello'); + }, 500); + Toast(data.msg, 'success').show(); + } + }); + }; + + const onSubmitEdit = (e) => { + e.preventDefault(); // Standardverhalten unterbinden (Formular nicht an action versenden) + + // console.log(Object.entries(new FormData(DOM.formEdit))); + + const product = { + name: DOM.inputEditName.value, + price: Number(DOM.inputEditPrice.value), + _id: DOM.inputEditId.value, + position: DOM.inputEditPosition.value, + }; + + // update async process + DOM.btnUpdate.querySelector('i').classList.add('fa-spin'); + updateProduct(product).then((data) => { + console.log(data); + if (data.success) { + Toast(data.msg, 'success').show(); + DOM.btnUpdate.querySelector('i').classList.remove('fa-spin'); + loadProducts(); // All Produkte auslesen + resetFields(); + bsModalEdit.hide(); + } else { + Toast(data.msg, 'error').show(); + } + }); + }; + + const onClickAdd = (e) => { + console.log('click'); + + const product = { + name: DOM.inputName.value, + price: Number(DOM.inputPrice.value), + }; + + createProduct(product).then((data) => { + console.log(data); + if (data.success) { + console.log('add'); + Toast(data.msg, 'success').show(); + loadProducts(); + resetFields(); + } + }); + + // addProduct(product); + + disableNonFunctionalButtons(); + }; + + const onClickEdit = (e) => { + const btnEl = e.currentTarget; + const currentRow = parents(btnEl, 'tr')[0]; + const id = currentRow.dataset.id; + + // async fetch + getProduct(id).then((data) => { + // console.log(data); + showModalEdit(data); + }); + }; + + const onClickRemove = (e) => { + const btnEl = e.currentTarget; + const currentRow = parents(btnEl, 'tr')[0]; + const id = currentRow.dataset.id; + + const productName = currentRow.querySelector('.td-name').textContent.trim(); + + DOM.btnConfirmDelete.dataset.id = id; + DOM.productName.textContent = productName; + + // async fetch + // deleteProduct(id).then((data) => { + // if (data.success) { + // Toast(data.msg, 'success').show(); + // console.log('delete: success', data); + // loadProducts(); + // } else { + // Toast(data.msg, 'error').show(); + // console.error(data); + // } + // }); + }; + + const onClickConfirmDelete = (e) => { + const btnEl = e.currentTarget; + const id = btnEl.dataset.id; + + // async fetch + deleteProduct(id).then((data) => { + if (data.success) { + Toast(data.msg, 'success').show(); + bsModalDelete.hide(); + loadProducts(); + } else { + Toast(data.msg, 'error').show(); + console.error(data); + } + }); + }; + + const onClickMoveUp = (e) => { + const btnEl = e.currentTarget; + // const currentRowEl = btnEl.parentNode.parentNode; // aktuelle Zeile (tr) mit dem Button + const currentRowEl = parents(btnEl, 'tr')[0]; + + // ParentNode.insertBefore(referenceElement, targetElement) + // DOM.tBody.insertBefore(currentRowEl, currentRowEl.previousElementSibling); + + // targetElement.before(referenceElement) + currentRowEl.previousElementSibling.before(currentRowEl); + + console.log('move up'); + disableNonFunctionalButtons(); + }; + + const onClickMoveDown = (e) => { + const btnEl = e.currentTarget; + // const currentRowEl = btnEl.parentNode.parentNode; // aktuelle Zeile (tr) mit dem Button + const currentRowEl = parents(btnEl, 'tr')[0]; + + // ParentNode.insertBefore(referenceElement, targetElement) + // DOM.tBody.insertBefore(currentRowEl, currentRowEl.nextElementSibling.nextElementSibling); + + // targetElement.after(referenceElement) + currentRowEl.nextElementSibling.after(currentRowEl); + + console.log('move down'); + disableNonFunctionalButtons(); + }; + + // Drag 'n Drop EventHandler + const onMouseDownDrag = (e) => { + const btnEl = e.currentTarget; + const currentRowEl = parents(btnEl, 'tr')[0]; + currentRowEl.draggable = true; + }; + + const onMouseUpDrag = (e) => { + const btnEl = e.currentTarget; + const currentRowEl = parents(btnEl, 'tr')[0]; + currentRowEl.draggable = false; + }; + + const onDragStart = (e) => { + console.log('DragEvent: ', e); + const currentRowEl = e.currentTarget; // tr <- aktuelle Zeie, die bewegt wird + const idx = [...currentRowEl.parentNode.children].indexOf(currentRowEl); + + e.dataTransfer.setData('text/plain', idx); + // e.dataTransfer.setData('application/json', JSON.stringify({idx, name: sourceElement})); + console.log('tr index:', idx); + }; + + const onDragOver = (e) => { + e.preventDefault(); // WICHTIG! Sonst funktioniert drop EventHandler nicht. + }; + + const onDrop = (e) => { + const currentRowEl = e.currentTarget; // tr <- Zielzeile, auf die gedroppt wird. + const targetIdx = [...currentRowEl.parentNode.children].indexOf(currentRowEl); + const sourceIdx = parseInt(e.dataTransfer.getData('text/plain')); + // const { sourceIdx } = JSON.parse(e.dataTransfer.getData('application/json')); + + console.log({ targetIdx, sourceIdx }); + + // Guard wenn Element auf sich selbst losgelassen wurde, abbruch + if (sourceIdx === targetIdx) { + return; + } + + const draggedEl = DOM.tBody.querySelector(`tr:nth-child(${sourceIdx + 1})`); + // const draggedEl = DOM.tBody.children[sourceIdx] + + // Verschiebe das Element im DOM + if (sourceIdx > targetIdx) { + currentRowEl.before(draggedEl); + } else { + currentRowEl.after(draggedEl); + } + + disableNonFunctionalButtons(); + }; + + // === XHR/FETCH ======== + + // HTTP - Methode - PATCH + // reset products + const resetProducts = async () => { + try { + const response = await fetch(`${BASE_URL}/api/products/reset`, { + method: 'PATCH', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ reset: true }), + }); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + const data = await response.json(); // HTTP-Response + + return data; + } catch (error) { + Toast(error, 'error').show(); + + console.error(error); + return error; + } + }; + + // HTTP - Methode - PATCH + // save products + const saveProducts = async () => { + try { + const response = await fetch(`${BASE_URL}/api/products/save`, { + method: 'PATCH', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ save: true }), + }); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + const data = await response.json(); // HTTP-Response + + return data; + } catch (error) { + Toast(error, 'error').show(); + + console.error(error); + return error; + } + }; + + // HTTP - Methode - POST + // (C)RUD - create + // BRE(A)D - add - neues Produkt hinzufügen + const createProduct = async (product) => { + try { + const response = await fetch(`${BASE_URL}/api/products`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(product), + }); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + const data = await response.json(); // HTTP-Response + + return data; + } catch (error) { + Toast(error, 'error').show(); + + console.error(error); + return error; + } + }; + + // HTTP - Methode - GET + // C(R)UD - Read + // (B)READ - Browse - auslesen aller Produkte + const getProducts = async () => { + try { + const response = await fetch(`${BASE_URL}/api/products`); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + const data = await response.json(); // HTTP-Response + + return data; + } catch (error) { + console.error(error); + return error; + } + }; + + // HTTP - Methode - GET + // C(R)UD - Read + // B(R)EAD - Read - auslesen eines Produkts + const getProduct = async (id) => { + try { + const response = await fetch(`${BASE_URL}/api/products/${id}`); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + const data = await response.json(); // HTTP-Response + + return data; + } catch (error) { + console.error(error); + return error; + } + }; + + // HTTP - Methode - PUT + // CR(U)D - update + // BR(E)AD - edit - Produkt aktualisieren + const updateProduct = async (product) => { + try { + const response = await fetch(`${BASE_URL}/api/products`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(product), + }); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + const data = await response.json(); // HTTP-Response + + return data; + } catch (error) { + console.error(error); + return error; + } + }; + + // HTTP - Methode - DELETE + // CRU(D) - delete + // BREA(D) - delete - Produkt löschen + const deleteProduct = async (id) => { + try { + const response = await fetch(`${BASE_URL}/api/products/${id}`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + }); // HTTP Request URL + if (!response.ok) { + throw new Error('Fetch went wrong.'); + } + + const data = await response.json(); + return data; + } catch (error) { + console.error(error); + return error; + } + }; + + // === FUNCTIONS ======== + + const initProducts = () => { + getProducts().then((products) => { + products.forEach((product) => { + addProduct(product); + }); + Toast('Init products').show(); + disableNonFunctionalButtons(); + }); + + // PRODUCTS.forEach((product) => { + // addProduct(product); + // }); + //disableNonFunctionalButtons(); + // PRODUCTS.forEach(addProduct); + }; + + const loadProducts = () => { + DOM.tBody.innerHTML = ''; + getProducts().then((data) => { + data.forEach((product) => { + addProduct(product); + }); + disableNonFunctionalButtons(); + }); + }; + + const addProduct = (product) => { + const { name, price, _id: id, position } = product; + + // https://developer.mozilla.org/de/docs/Web/API/HTMLTemplateElement/content + const trEl = DOM.templateRow.content.firstElementChild.cloneNode(true); + + const tdNameEl = trEl.querySelector('.td-name'); + const tdPriceEl = trEl.querySelector('.td-price'); + const btnRemoveEl = trEl.querySelector('.button-product-remove'); + const btnMoveUpEl = trEl.querySelector('.button-product-move-up'); + const btnMoveDownEl = trEl.querySelector('.button-product-move-down'); + + const btnDragEl = trEl.querySelector('.button-drag'); + const btnEditEl = trEl.querySelector('.button-product-edit'); + + tdNameEl.textContent = name; + tdPriceEl.textContent = price; + + btnEditEl.addEventListener('click', onClickEdit); + btnRemoveEl.addEventListener('click', onClickRemove); + btnMoveUpEl.addEventListener('click', onClickMoveUp); + btnMoveDownEl.addEventListener('click', onClickMoveDown); + + // Drag 'n Drop Events + btnDragEl.addEventListener('mousedown', onMouseDownDrag); + btnDragEl.addEventListener('mouseup', onMouseUpDrag); + + trEl.addEventListener('dragstart', onDragStart); + trEl.addEventListener('dragover', onDragOver); + trEl.addEventListener('drop', onDrop); + + trEl.dataset.id = id; // ... + trEl.dataset.position = position; // ... + + DOM.tBody.appendChild(trEl); // Im DOM hinzufügen + }; + + const showModalEdit = (product) => { + const { name = '', price = 0, _id: id, position } = product; + + DOM.inputEditName.value = name; + DOM.inputEditPrice.value = price; + + DOM.inputEditId.value = id; + DOM.inputEditPosition.value = position; + }; + + const resetFields = () => { + DOM.btnAdd.disabled = true; + DOM.inputPrice.value = ''; + DOM.inputName.value = ''; + + DOM.formEdit.reset(); + }; + + const disableNonFunctionalButtons = () => { + Array.from(DOM.tBody.querySelectorAll('tr')).forEach((tr) => { + const btnMoveUp = tr.querySelector('.button-product-move-up'); + const btnMoveDown = tr.querySelector('.button-product-move-down'); + + btnMoveUp.disabled = !tr.previousElementSibling; + btnMoveDown.disabled = !tr.nextElementSibling; + }); + }; + + // Helferfunktion aus jQuery (youmightnotjquery) + const parents = (el, selector) => { + const parents = []; + while ((el = el.parentNode) && el !== document) { + if (!selector || el.matches(selector)) parents.push(el); + } + return parents; + }; + + init(); + + return { + init, + initProducts, + resetFields, + }; +}; + +// Freigabe für import +export default ProductManager; diff --git a/webseite-ts/frontend/dev/scripts/modules/Toast.js b/webseite-ts/frontend/dev/scripts/modules/Toast.js new file mode 100644 index 0000000..d3cda9c --- /dev/null +++ b/webseite-ts/frontend/dev/scripts/modules/Toast.js @@ -0,0 +1,59 @@ +import Toastify from 'toastify-js'; // das Modul wird von node_modules ausgelesen und gebundlet. Funktioniert nur mit JS-Bundler + +const Toast = (text = '', variant = 'primary') => { + const getColorByName = (variant = '') => { + let color; + switch (variant.trim().toLowerCase()) { + case 'primary': + color = '#0d6efd'; + break; + case 'secondary': + color = '#6c757d'; + break; + case 'warning': + color = '#ffc720'; + break; + case 'success': + color = '#13653f'; + break; + case 'info': + color = '#25cff2'; + break; + case 'error': + case 'danger': + color = '#a52834'; + break; + case 'light': + color = '#babbbc'; + break; + case 'dark': + color = '#373b3e'; + break; + + default: + console.warn('variant not found'); + color: 'white'; + } + return color; + }; + + const show = () => { + Toastify({ + text: text, + duration: 2000, + className: variant, + gravity: 'top', // `top` or `bottom` + position: 'center', // `left`, `center` or `right` + stopOnFocus: true, // Prevents dismissing of toast on hover + style: { + background: getColorByName(variant), + }, + }).showToast(); + }; + + return { + show, + }; +}; + +export default Toast; diff --git a/webseite-ts/frontend/dev/scss/01_frameworks/_index.scss b/webseite-ts/frontend/dev/scss/01_frameworks/_index.scss new file mode 100644 index 0000000..dcefbc9 --- /dev/null +++ b/webseite-ts/frontend/dev/scss/01_frameworks/_index.scss @@ -0,0 +1,3 @@ +// @import 'bootstrap-5.3.8/bootstrap-grid'; +@import 'bootstrap-5.3.8/bootstrap'; +// @import 'bulma-1.04/index' diff --git a/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_accordion.scss b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_accordion.scss new file mode 100644 index 0000000..e9f267f --- /dev/null +++ b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_accordion.scss @@ -0,0 +1,153 @@ +// +// Base styles +// + +.accordion { + // scss-docs-start accordion-css-vars + --#{$prefix}accordion-color: #{$accordion-color}; + --#{$prefix}accordion-bg: #{$accordion-bg}; + --#{$prefix}accordion-transition: #{$accordion-transition}; + --#{$prefix}accordion-border-color: #{$accordion-border-color}; + --#{$prefix}accordion-border-width: #{$accordion-border-width}; + --#{$prefix}accordion-border-radius: #{$accordion-border-radius}; + --#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius}; + --#{$prefix}accordion-btn-padding-x: #{$accordion-button-padding-x}; + --#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y}; + --#{$prefix}accordion-btn-color: #{$accordion-button-color}; + --#{$prefix}accordion-btn-bg: #{$accordion-button-bg}; + --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon)}; + --#{$prefix}accordion-btn-icon-width: #{$accordion-icon-width}; + --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform}; + --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition}; + --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)}; + --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow}; + --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x}; + --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y}; + --#{$prefix}accordion-active-color: #{$accordion-button-active-color}; + --#{$prefix}accordion-active-bg: #{$accordion-button-active-bg}; + // scss-docs-end accordion-css-vars +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-btn-padding-x); + @include font-size($font-size-base); + color: var(--#{$prefix}accordion-btn-color); + text-align: left; // Reset button style + background-color: var(--#{$prefix}accordion-btn-bg); + border: 0; + @include border-radius(0); + overflow-anchor: none; + @include transition(var(--#{$prefix}accordion-transition)); + + &:not(.collapsed) { + color: var(--#{$prefix}accordion-active-color); + background-color: var(--#{$prefix}accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--#{$prefix}accordion-border-width)) 0 var(--#{$prefix}accordion-border-color); // stylelint-disable-line function-disallowed-list + + &::after { + background-image: var(--#{$prefix}accordion-btn-active-icon); + transform: var(--#{$prefix}accordion-btn-icon-transform); + } + } + + // Accordion icon + &::after { + flex-shrink: 0; + width: var(--#{$prefix}accordion-btn-icon-width); + height: var(--#{$prefix}accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--#{$prefix}accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--#{$prefix}accordion-btn-icon-width); + @include transition(var(--#{$prefix}accordion-btn-icon-transition)); + } + + &:hover { + z-index: 2; + } + + &:focus { + z-index: 3; + outline: 0; + box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow); + } +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--#{$prefix}accordion-color); + background-color: var(--#{$prefix}accordion-bg); + border: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color); + + &:first-of-type { + @include border-top-radius(var(--#{$prefix}accordion-border-radius)); + + > .accordion-header .accordion-button { + @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius)); + } + } + + &:not(:first-of-type) { + border-top: 0; + } + + // Only set a border-radius on the last item if the accordion is collapsed + &:last-of-type { + @include border-bottom-radius(var(--#{$prefix}accordion-border-radius)); + + > .accordion-header .accordion-button { + &.collapsed { + @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius)); + } + } + + > .accordion-collapse { + @include border-bottom-radius(var(--#{$prefix}accordion-border-radius)); + } + } +} + +.accordion-body { + padding: var(--#{$prefix}accordion-body-padding-y) var(--#{$prefix}accordion-body-padding-x); +} + + +// Flush accordion items +// +// Remove borders and border-radius to keep accordion items edge-to-edge. + +.accordion-flush { + > .accordion-item { + border-right: 0; + border-left: 0; + @include border-radius(0); + + &:first-child { border-top: 0; } + &:last-child { border-bottom: 0; } + + // stylelint-disable selector-max-class + > .accordion-collapse, + > .accordion-header .accordion-button, + > .accordion-header .accordion-button.collapsed { + @include border-radius(0); + } + // stylelint-enable selector-max-class + } +} + +@if $enable-dark-mode { + @include color-mode(dark) { + .accordion-button::after { + --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon-dark)}; + --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon-dark)}; + } + } +} diff --git a/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_alert.scss b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_alert.scss new file mode 100644 index 0000000..b8cff9b --- /dev/null +++ b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_alert.scss @@ -0,0 +1,68 @@ +// +// Base styles +// + +.alert { + // scss-docs-start alert-css-vars + --#{$prefix}alert-bg: transparent; + --#{$prefix}alert-padding-x: #{$alert-padding-x}; + --#{$prefix}alert-padding-y: #{$alert-padding-y}; + --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom}; + --#{$prefix}alert-color: inherit; + --#{$prefix}alert-border-color: transparent; + --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}alert-border-color); + --#{$prefix}alert-border-radius: #{$alert-border-radius}; + --#{$prefix}alert-link-color: inherit; + // scss-docs-end alert-css-vars + + position: relative; + padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x); + margin-bottom: var(--#{$prefix}alert-margin-bottom); + color: var(--#{$prefix}alert-color); + background-color: var(--#{$prefix}alert-bg); + border: var(--#{$prefix}alert-border); + @include border-radius(var(--#{$prefix}alert-border-radius)); +} + +// Headings for larger alerts +.alert-heading { + // Specified to prevent conflicts of changing $headings-color + color: inherit; +} + +// Provide class for links that match alerts +.alert-link { + font-weight: $alert-link-font-weight; + color: var(--#{$prefix}alert-link-color); +} + + +// Dismissible alerts +// +// Expand the right padding and account for the close button's positioning. + +.alert-dismissible { + padding-right: $alert-dismissible-padding-r; + + // Adjust close link position + .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: $stretched-link-z-index + 1; + padding: $alert-padding-y * 1.25 $alert-padding-x; + } +} + + +// scss-docs-start alert-modifiers +// Generate contextual modifier classes for colorizing the alert +@each $state in map-keys($theme-colors) { + .alert-#{$state} { + --#{$prefix}alert-color: var(--#{$prefix}#{$state}-text-emphasis); + --#{$prefix}alert-bg: var(--#{$prefix}#{$state}-bg-subtle); + --#{$prefix}alert-border-color: var(--#{$prefix}#{$state}-border-subtle); + --#{$prefix}alert-link-color: var(--#{$prefix}#{$state}-text-emphasis); + } +} +// scss-docs-end alert-modifiers diff --git a/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_badge.scss b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_badge.scss new file mode 100644 index 0000000..cc3d269 --- /dev/null +++ b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_badge.scss @@ -0,0 +1,38 @@ +// Base class +// +// Requires one of the contextual, color modifier classes for `color` and +// `background-color`. + +.badge { + // scss-docs-start badge-css-vars + --#{$prefix}badge-padding-x: #{$badge-padding-x}; + --#{$prefix}badge-padding-y: #{$badge-padding-y}; + @include rfs($badge-font-size, --#{$prefix}badge-font-size); + --#{$prefix}badge-font-weight: #{$badge-font-weight}; + --#{$prefix}badge-color: #{$badge-color}; + --#{$prefix}badge-border-radius: #{$badge-border-radius}; + // scss-docs-end badge-css-vars + + display: inline-block; + padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x); + @include font-size(var(--#{$prefix}badge-font-size)); + font-weight: var(--#{$prefix}badge-font-weight); + line-height: 1; + color: var(--#{$prefix}badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + @include border-radius(var(--#{$prefix}badge-border-radius)); + @include gradient-bg(); + + // Empty badges collapse automatically + &:empty { + display: none; + } +} + +// Quick fix for badges in buttons +.btn .badge { + position: relative; + top: -1px; +} diff --git a/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_breadcrumb.scss b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_breadcrumb.scss new file mode 100644 index 0000000..b8252ff --- /dev/null +++ b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_breadcrumb.scss @@ -0,0 +1,40 @@ +.breadcrumb { + // scss-docs-start breadcrumb-css-vars + --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x}; + --#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y}; + --#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom}; + @include rfs($breadcrumb-font-size, --#{$prefix}breadcrumb-font-size); + --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg}; + --#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius}; + --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color}; + --#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x}; + --#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color}; + // scss-docs-end breadcrumb-css-vars + + display: flex; + flex-wrap: wrap; + padding: var(--#{$prefix}breadcrumb-padding-y) var(--#{$prefix}breadcrumb-padding-x); + margin-bottom: var(--#{$prefix}breadcrumb-margin-bottom); + @include font-size(var(--#{$prefix}breadcrumb-font-size)); + list-style: none; + background-color: var(--#{$prefix}breadcrumb-bg); + @include border-radius(var(--#{$prefix}breadcrumb-border-radius)); +} + +.breadcrumb-item { + // The separator between breadcrumbs (by default, a forward-slash: "/") + + .breadcrumb-item { + padding-left: var(--#{$prefix}breadcrumb-item-padding-x); + + &::before { + float: left; // Suppress inline spacings and underlining of the separator + padding-right: var(--#{$prefix}breadcrumb-item-padding-x); + color: var(--#{$prefix}breadcrumb-divider-color); + content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"}; + } + } + + &.active { + color: var(--#{$prefix}breadcrumb-item-active-color); + } +} diff --git a/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_button-group.scss b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_button-group.scss new file mode 100644 index 0000000..78e1252 --- /dev/null +++ b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_button-group.scss @@ -0,0 +1,147 @@ +// Make the div behave like a button +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; // match .btn alignment given font-size hack above + + > .btn { + position: relative; + flex: 1 1 auto; + } + + // Bring the hover, focused, and "active" buttons to the front to overlay + // the borders properly + > .btn-check:checked + .btn, + > .btn-check:focus + .btn, + > .btn:hover, + > .btn:focus, + > .btn:active, + > .btn.active { + z-index: 1; + } +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + + .input-group { + width: auto; + } +} + +.btn-group { + @include border-radius($btn-border-radius); + + // Prevent double borders when buttons are next to each other + > :not(.btn-check:first-child) + .btn, + > .btn-group:not(:first-child) { + margin-left: calc(-1 * #{$btn-border-width}); // stylelint-disable-line function-disallowed-list + } + + // Reset rounded corners + > .btn:not(:last-child):not(.dropdown-toggle), + > .btn.dropdown-toggle-split:first-child, + > .btn-group:not(:last-child) > .btn { + @include border-end-radius(0); + } + + // The left radius should be 0 if the button is: + // - the "third or more" child + // - the second child and the previous element isn't `.btn-check` (making it the first child visually) + // - part of a btn-group which isn't the first child + > .btn:nth-child(n + 3), + > :not(.btn-check) + .btn, + > .btn-group:not(:first-child) > .btn { + @include border-start-radius(0); + } +} + +// Sizing +// +// Remix the default button sizing classes into new ones for easier manipulation. + +.btn-group-sm > .btn { @extend .btn-sm; } +.btn-group-lg > .btn { @extend .btn-lg; } + + +// +// Split button dropdowns +// + +.dropdown-toggle-split { + padding-right: $btn-padding-x * .75; + padding-left: $btn-padding-x * .75; + + &::after, + .dropup &::after, + .dropend &::after { + margin-left: 0; + } + + .dropstart &::before { + margin-right: 0; + } +} + +.btn-sm + .dropdown-toggle-split { + padding-right: $btn-padding-x-sm * .75; + padding-left: $btn-padding-x-sm * .75; +} + +.btn-lg + .dropdown-toggle-split { + padding-right: $btn-padding-x-lg * .75; + padding-left: $btn-padding-x-lg * .75; +} + + +// The clickable button for toggling the menu +// Set the same inset shadow as the :active state +.btn-group.show .dropdown-toggle { + @include box-shadow($btn-active-box-shadow); + + // Show no shadow for `.btn-link` since it has no other button styles. + &.btn-link { + @include box-shadow(none); + } +} + + +// +// Vertical button groups +// + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; + + > .btn, + > .btn-group { + width: 100%; + } + + > .btn:not(:first-child), + > .btn-group:not(:first-child) { + margin-top: calc(-1 * #{$btn-border-width}); // stylelint-disable-line function-disallowed-list + } + + // Reset rounded corners + > .btn:not(:last-child):not(.dropdown-toggle), + > .btn-group:not(:last-child) > .btn { + @include border-bottom-radius(0); + } + + // The top radius should be 0 if the button is: + // - the "third or more" child + // - the second child and the previous element isn't `.btn-check` (making it the first child visually) + // - part of a btn-group which isn't the first child + > .btn:nth-child(n + 3), + > :not(.btn-check) + .btn, + > .btn-group:not(:first-child) > .btn { + @include border-top-radius(0); + } +} diff --git a/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_buttons.scss b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_buttons.scss new file mode 100644 index 0000000..caa4518 --- /dev/null +++ b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_buttons.scss @@ -0,0 +1,216 @@ +// +// Base styles +// + +.btn { + // scss-docs-start btn-css-vars + --#{$prefix}btn-padding-x: #{$btn-padding-x}; + --#{$prefix}btn-padding-y: #{$btn-padding-y}; + --#{$prefix}btn-font-family: #{$btn-font-family}; + @include rfs($btn-font-size, --#{$prefix}btn-font-size); + --#{$prefix}btn-font-weight: #{$btn-font-weight}; + --#{$prefix}btn-line-height: #{$btn-line-height}; + --#{$prefix}btn-color: #{$btn-color}; + --#{$prefix}btn-bg: transparent; + --#{$prefix}btn-border-width: #{$btn-border-width}; + --#{$prefix}btn-border-color: transparent; + --#{$prefix}btn-border-radius: #{$btn-border-radius}; + --#{$prefix}btn-hover-border-color: transparent; + --#{$prefix}btn-box-shadow: #{$btn-box-shadow}; + --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity}; + --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5); + // scss-docs-end btn-css-vars + + display: inline-block; + padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x); + font-family: var(--#{$prefix}btn-font-family); + @include font-size(var(--#{$prefix}btn-font-size)); + font-weight: var(--#{$prefix}btn-font-weight); + line-height: var(--#{$prefix}btn-line-height); + color: var(--#{$prefix}btn-color); + text-align: center; + text-decoration: if($link-decoration == none, null, none); + white-space: $btn-white-space; + vertical-align: middle; + cursor: if($enable-button-pointers, pointer, null); + user-select: none; + border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color); + @include border-radius(var(--#{$prefix}btn-border-radius)); + @include gradient-bg(var(--#{$prefix}btn-bg)); + @include box-shadow(var(--#{$prefix}btn-box-shadow)); + @include transition($btn-transition); + + &:hover { + color: var(--#{$prefix}btn-hover-color); + text-decoration: if($link-hover-decoration == underline, none, null); + background-color: var(--#{$prefix}btn-hover-bg); + border-color: var(--#{$prefix}btn-hover-border-color); + } + + .btn-check + &:hover { + // override for the checkbox/radio buttons + color: var(--#{$prefix}btn-color); + background-color: var(--#{$prefix}btn-bg); + border-color: var(--#{$prefix}btn-border-color); + } + + &:focus-visible { + color: var(--#{$prefix}btn-hover-color); + @include gradient-bg(var(--#{$prefix}btn-hover-bg)); + border-color: var(--#{$prefix}btn-hover-border-color); + outline: 0; + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows { + box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow); + } @else { + box-shadow: var(--#{$prefix}btn-focus-box-shadow); + } + } + + .btn-check:focus-visible + & { + border-color: var(--#{$prefix}btn-hover-border-color); + outline: 0; + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows { + box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow); + } @else { + box-shadow: var(--#{$prefix}btn-focus-box-shadow); + } + } + + .btn-check:checked + &, + :not(.btn-check) + &:active, + &:first-child:active, + &.active, + &.show { + color: var(--#{$prefix}btn-active-color); + background-color: var(--#{$prefix}btn-active-bg); + // Remove CSS gradients if they're enabled + background-image: if($enable-gradients, none, null); + border-color: var(--#{$prefix}btn-active-border-color); + @include box-shadow(var(--#{$prefix}btn-active-shadow)); + + &:focus-visible { + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows { + box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow); + } @else { + box-shadow: var(--#{$prefix}btn-focus-box-shadow); + } + } + } + + .btn-check:checked:focus-visible + & { + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows { + box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow); + } @else { + box-shadow: var(--#{$prefix}btn-focus-box-shadow); + } + } + + &:disabled, + &.disabled, + fieldset:disabled & { + color: var(--#{$prefix}btn-disabled-color); + pointer-events: none; + background-color: var(--#{$prefix}btn-disabled-bg); + background-image: if($enable-gradients, none, null); + border-color: var(--#{$prefix}btn-disabled-border-color); + opacity: var(--#{$prefix}btn-disabled-opacity); + @include box-shadow(none); + } +} + + +// +// Alternate buttons +// + +// scss-docs-start btn-variant-loops +@each $color, $value in $theme-colors { + .btn-#{$color} { + @if $color == "light" { + @include button-variant( + $value, + $value, + $hover-background: shade-color($value, $btn-hover-bg-shade-amount), + $hover-border: shade-color($value, $btn-hover-border-shade-amount), + $active-background: shade-color($value, $btn-active-bg-shade-amount), + $active-border: shade-color($value, $btn-active-border-shade-amount) + ); + } @else if $color == "dark" { + @include button-variant( + $value, + $value, + $hover-background: tint-color($value, $btn-hover-bg-tint-amount), + $hover-border: tint-color($value, $btn-hover-border-tint-amount), + $active-background: tint-color($value, $btn-active-bg-tint-amount), + $active-border: tint-color($value, $btn-active-border-tint-amount) + ); + } @else { + @include button-variant($value, $value); + } + } +} + +@each $color, $value in $theme-colors { + .btn-outline-#{$color} { + @include button-outline-variant($value); + } +} +// scss-docs-end btn-variant-loops + + +// +// Link buttons +// + +// Make a button look and behave like a link +.btn-link { + --#{$prefix}btn-font-weight: #{$font-weight-normal}; + --#{$prefix}btn-color: #{$btn-link-color}; + --#{$prefix}btn-bg: transparent; + --#{$prefix}btn-border-color: transparent; + --#{$prefix}btn-hover-color: #{$btn-link-hover-color}; + --#{$prefix}btn-hover-border-color: transparent; + --#{$prefix}btn-active-color: #{$btn-link-hover-color}; + --#{$prefix}btn-active-border-color: transparent; + --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color}; + --#{$prefix}btn-disabled-border-color: transparent; + --#{$prefix}btn-box-shadow: 0 0 0 #000; // Can't use `none` as keyword negates all values when used with multiple shadows + --#{$prefix}btn-focus-shadow-rgb: #{$btn-link-focus-shadow-rgb}; + + text-decoration: $link-decoration; + @if $enable-gradients { + background-image: none; + } + + &:hover, + &:focus-visible { + text-decoration: $link-hover-decoration; + } + + &:focus-visible { + color: var(--#{$prefix}btn-color); + } + + &:hover { + color: var(--#{$prefix}btn-hover-color); + } + + // No need for an active state here +} + + +// +// Button Sizes +// + +.btn-lg { + @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg); +} + +.btn-sm { + @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm); +} diff --git a/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_card.scss b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_card.scss new file mode 100644 index 0000000..dcebe6a --- /dev/null +++ b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_card.scss @@ -0,0 +1,238 @@ +// +// Base styles +// + +.card { + // scss-docs-start card-css-vars + --#{$prefix}card-spacer-y: #{$card-spacer-y}; + --#{$prefix}card-spacer-x: #{$card-spacer-x}; + --#{$prefix}card-title-spacer-y: #{$card-title-spacer-y}; + --#{$prefix}card-title-color: #{$card-title-color}; + --#{$prefix}card-subtitle-color: #{$card-subtitle-color}; + --#{$prefix}card-border-width: #{$card-border-width}; + --#{$prefix}card-border-color: #{$card-border-color}; + --#{$prefix}card-border-radius: #{$card-border-radius}; + --#{$prefix}card-box-shadow: #{$card-box-shadow}; + --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius}; + --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y}; + --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x}; + --#{$prefix}card-cap-bg: #{$card-cap-bg}; + --#{$prefix}card-cap-color: #{$card-cap-color}; + --#{$prefix}card-height: #{$card-height}; + --#{$prefix}card-color: #{$card-color}; + --#{$prefix}card-bg: #{$card-bg}; + --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding}; + --#{$prefix}card-group-margin: #{$card-group-margin}; + // scss-docs-end card-css-vars + + position: relative; + display: flex; + flex-direction: column; + min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106 + height: var(--#{$prefix}card-height); + color: var(--#{$prefix}body-color); + word-wrap: break-word; + background-color: var(--#{$prefix}card-bg); + background-clip: border-box; + border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color); + @include border-radius(var(--#{$prefix}card-border-radius)); + @include box-shadow(var(--#{$prefix}card-box-shadow)); + + > hr { + margin-right: 0; + margin-left: 0; + } + + > .list-group { + border-top: inherit; + border-bottom: inherit; + + &:first-child { + border-top-width: 0; + @include border-top-radius(var(--#{$prefix}card-inner-border-radius)); + } + + &:last-child { + border-bottom-width: 0; + @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius)); + } + } + + // Due to specificity of the above selector (`.card > .list-group`), we must + // use a child selector here to prevent double borders. + > .card-header + .list-group, + > .list-group + .card-footer { + border-top: 0; + } +} + +.card-body { + // Enable `flex-grow: 1` for decks and groups so that card blocks take up + // as much space as possible, ensuring footers are aligned to the bottom. + flex: 1 1 auto; + padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x); + color: var(--#{$prefix}card-color); +} + +.card-title { + margin-bottom: var(--#{$prefix}card-title-spacer-y); + color: var(--#{$prefix}card-title-color); +} + +.card-subtitle { + margin-top: calc(-.5 * var(--#{$prefix}card-title-spacer-y)); // stylelint-disable-line function-disallowed-list + margin-bottom: 0; + color: var(--#{$prefix}card-subtitle-color); +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link { + &:hover { + text-decoration: if($link-hover-decoration == underline, none, null); + } + + + .card-link { + margin-left: var(--#{$prefix}card-spacer-x); + } +} + +// +// Optional textual caps +// + +.card-header { + padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x); + margin-bottom: 0; // Removes the default margin-bottom of + color: var(--#{$prefix}card-cap-color); + background-color: var(--#{$prefix}card-cap-bg); + border-bottom: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color); + + &:first-child { + @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0); + } +} + +.card-footer { + padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x); + color: var(--#{$prefix}card-cap-color); + background-color: var(--#{$prefix}card-cap-bg); + border-top: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color); + + &:last-child { + @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius)); + } +} + + +// +// Header navs +// + +.card-header-tabs { + margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list + margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y)); // stylelint-disable-line function-disallowed-list + margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list + border-bottom: 0; + + .nav-link.active { + background-color: var(--#{$prefix}card-bg); + border-bottom-color: var(--#{$prefix}card-bg); + } +} + +.card-header-pills { + margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list + margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list +} + +// Card image +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--#{$prefix}card-img-overlay-padding); + @include border-radius(var(--#{$prefix}card-inner-border-radius)); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch +} + +.card-img, +.card-img-top { + @include border-top-radius(var(--#{$prefix}card-inner-border-radius)); +} + +.card-img, +.card-img-bottom { + @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius)); +} + + +// +// Card groups +// + +.card-group { + // The child selector allows nested `.card` within `.card-group` + // to display properly. + > .card { + margin-bottom: var(--#{$prefix}card-group-margin); + } + + @include media-breakpoint-up(sm) { + display: flex; + flex-flow: row wrap; + // The child selector allows nested `.card` within `.card-group` + // to display properly. + > .card { + flex: 1 0 0; + margin-bottom: 0; + + + .card { + margin-left: 0; + border-left: 0; + } + + // Handle rounded corners + @if $enable-rounded { + &:not(:last-child) { + @include border-end-radius(0); + + > .card-img-top, + > .card-header { + // stylelint-disable-next-line property-disallowed-list + border-top-right-radius: 0; + } + > .card-img-bottom, + > .card-footer { + // stylelint-disable-next-line property-disallowed-list + border-bottom-right-radius: 0; + } + } + + &:not(:first-child) { + @include border-start-radius(0); + + > .card-img-top, + > .card-header { + // stylelint-disable-next-line property-disallowed-list + border-top-left-radius: 0; + } + > .card-img-bottom, + > .card-footer { + // stylelint-disable-next-line property-disallowed-list + border-bottom-left-radius: 0; + } + } + } + } + } +} diff --git a/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_carousel.scss b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_carousel.scss new file mode 100644 index 0000000..5ebf6b1 --- /dev/null +++ b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_carousel.scss @@ -0,0 +1,226 @@ +// Notes on the classes: +// +// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically) +// even when their scroll action started on a carousel, but for compatibility (with Firefox) +// we're preventing all actions instead +// 2. The .carousel-item-start and .carousel-item-end is used to indicate where +// the active slide is heading. +// 3. .active.carousel-item is the current slide. +// 4. .active.carousel-item-start and .active.carousel-item-end is the current +// slide in its in-transition state. Only one of these occurs at a time. +// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end +// is the upcoming slide in transition. + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; + @include clearfix(); +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + @include transition($carousel-transition); +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + + +// +// Alternate transitions +// + +.carousel-fade { + .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; + } + + .carousel-item.active, + .carousel-item-next.carousel-item-start, + .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; + } + + .active.carousel-item-start, + .active.carousel-item-end { + z-index: 0; + opacity: 0; + @include transition(opacity 0s $carousel-transition-duration); + } +} + + +// +// Left/right controls for nav +// + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + // Use flex for alignment (1-3) + display: flex; // 1. allow flex styles + align-items: center; // 2. vertically center contents + justify-content: center; // 3. horizontally center contents + width: $carousel-control-width; + padding: 0; + color: $carousel-control-color; + text-align: center; + background: none; + filter: var(--#{$prefix}carousel-control-icon-filter); + border: 0; + opacity: $carousel-control-opacity; + @include transition($carousel-control-transition); + + // Hover/focus state + &:hover, + &:focus { + color: $carousel-control-color; + text-decoration: none; + outline: 0; + opacity: $carousel-control-hover-opacity; + } +} +.carousel-control-prev { + left: 0; + background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null); +} +.carousel-control-next { + right: 0; + background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null); +} + +// Icons for within +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: $carousel-control-icon-width; + height: $carousel-control-icon-width; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +.carousel-control-prev-icon { + background-image: escape-svg($carousel-control-prev-icon-bg) #{"/*rtl:" + escape-svg($carousel-control-next-icon-bg) + "*/"}; +} +.carousel-control-next-icon { + background-image: escape-svg($carousel-control-next-icon-bg) #{"/*rtl:" + escape-svg($carousel-control-prev-icon-bg) + "*/"}; +} + +// Optional indicator pips/controls +// +// Add a container (such as a list) with the following class and add an item (ideally a focusable control, +// like a button) with data-bs-target for each slide your carousel holds. + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + // Use the .carousel-control's width as margin so we don't overlay those + margin-right: $carousel-control-width; + margin-bottom: 1rem; + margin-left: $carousel-control-width; + + [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: $carousel-indicator-width; + height: $carousel-indicator-height; + padding: 0; + margin-right: $carousel-indicator-spacer; + margin-left: $carousel-indicator-spacer; + text-indent: -999px; + cursor: pointer; + background-color: var(--#{$prefix}carousel-indicator-active-bg); + background-clip: padding-box; + border: 0; + // Use transparent borders to increase the hit area by 10px on top and bottom. + border-top: $carousel-indicator-hit-area-height solid transparent; + border-bottom: $carousel-indicator-hit-area-height solid transparent; + opacity: $carousel-indicator-opacity; + @include transition($carousel-indicator-transition); + } + + .active { + opacity: $carousel-indicator-active-opacity; + } +} + + +// Optional captions +// +// + +.carousel-caption { + position: absolute; + right: (100% - $carousel-caption-width) * .5; + bottom: $carousel-caption-spacer; + left: (100% - $carousel-caption-width) * .5; + padding-top: $carousel-caption-padding-y; + padding-bottom: $carousel-caption-padding-y; + color: var(--#{$prefix}carousel-caption-color); + text-align: center; +} + +// Dark mode carousel + +@mixin carousel-dark() { + --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg-dark}; + --#{$prefix}carousel-caption-color: #{$carousel-caption-color-dark}; + --#{$prefix}carousel-control-icon-filter: #{$carousel-control-icon-filter-dark}; +} + +.carousel-dark { + @include carousel-dark(); +} + +:root, +[data-bs-theme="light"] { + --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg}; + --#{$prefix}carousel-caption-color: #{$carousel-caption-color}; + --#{$prefix}carousel-control-icon-filter: #{$carousel-control-icon-filter}; +} + +@if $enable-dark-mode { + @include color-mode(dark, true) { + @include carousel-dark(); + } +} diff --git a/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_close.scss b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_close.scss new file mode 100644 index 0000000..d53c96f --- /dev/null +++ b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_close.scss @@ -0,0 +1,66 @@ +// Transparent background and border properties included for button version. +// iOS requires the button element instead of an anchor tag. +// If you want the anchor version, it requires `href="#"`. +// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile + +.btn-close { + // scss-docs-start close-css-vars + --#{$prefix}btn-close-color: #{$btn-close-color}; + --#{$prefix}btn-close-bg: #{ escape-svg($btn-close-bg) }; + --#{$prefix}btn-close-opacity: #{$btn-close-opacity}; + --#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity}; + --#{$prefix}btn-close-focus-shadow: #{$btn-close-focus-shadow}; + --#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity}; + --#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity}; + // scss-docs-end close-css-vars + + box-sizing: content-box; + width: $btn-close-width; + height: $btn-close-height; + padding: $btn-close-padding-y $btn-close-padding-x; + color: var(--#{$prefix}btn-close-color); + background: transparent var(--#{$prefix}btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements + filter: var(--#{$prefix}btn-close-filter); + border: 0; // for button elements + @include border-radius(); + opacity: var(--#{$prefix}btn-close-opacity); + + // Override
    's hover style + &:hover { + color: var(--#{$prefix}btn-close-color); + text-decoration: none; + opacity: var(--#{$prefix}btn-close-hover-opacity); + } + + &:focus { + outline: 0; + box-shadow: var(--#{$prefix}btn-close-focus-shadow); + opacity: var(--#{$prefix}btn-close-focus-opacity); + } + + &:disabled, + &.disabled { + pointer-events: none; + user-select: none; + opacity: var(--#{$prefix}btn-close-disabled-opacity); + } +} + +@mixin btn-close-white() { + --#{$prefix}btn-close-filter: #{$btn-close-filter-dark}; +} + +.btn-close-white { + @include btn-close-white(); +} + +:root, +[data-bs-theme="light"] { + --#{$prefix}btn-close-filter: #{$btn-close-filter}; +} + +@if $enable-dark-mode { + @include color-mode(dark, true) { + @include btn-close-white(); + } +} diff --git a/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_containers.scss b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_containers.scss new file mode 100644 index 0000000..83b3138 --- /dev/null +++ b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_containers.scss @@ -0,0 +1,41 @@ +// Container widths +// +// Set the container width, and override it for fixed navbars in media queries. + +@if $enable-container-classes { + // Single container class with breakpoint max-widths + .container, + // 100% wide container at all breakpoints + .container-fluid { + @include make-container(); + } + + // Responsive containers that are 100% wide until a breakpoint + @each $breakpoint, $container-max-width in $container-max-widths { + .container-#{$breakpoint} { + @extend .container-fluid; + } + + @include media-breakpoint-up($breakpoint, $grid-breakpoints) { + %responsive-container-#{$breakpoint} { + max-width: $container-max-width; + } + + // Extend each breakpoint which is smaller or equal to the current breakpoint + $extend-breakpoint: true; + + @each $name, $width in $grid-breakpoints { + @if ($extend-breakpoint) { + .container#{breakpoint-infix($name, $grid-breakpoints)} { + @extend %responsive-container-#{$breakpoint}; + } + + // Once the current breakpoint is reached, stop extending + @if ($breakpoint == $name) { + $extend-breakpoint: false; + } + } + } + } + } +} diff --git a/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_dropdown.scss b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_dropdown.scss new file mode 100644 index 0000000..587ebb4 --- /dev/null +++ b/webseite-ts/frontend/dev/scss/01_frameworks/bootstrap-5.3.8/_dropdown.scss @@ -0,0 +1,250 @@ +// The dropdown wrapper (`
    `) +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; + + // Generate the caret automatically + @include caret(); +} + +// The dropdown menu +.dropdown-menu { + // scss-docs-start dropdown-css-vars + --#{$prefix}dropdown-zindex: #{$zindex-dropdown}; + --#{$prefix}dropdown-min-width: #{$dropdown-min-width}; + --#{$prefix}dropdown-padding-x: #{$dropdown-padding-x}; + --#{$prefix}dropdown-padding-y: #{$dropdown-padding-y}; + --#{$prefix}dropdown-spacer: #{$dropdown-spacer}; + @include rfs($dropdown-font-size, --#{$prefix}dropdown-font-size); + --#{$prefix}dropdown-color: #{$dropdown-color}; + --#{$prefix}dropdown-bg: #{$dropdown-bg}; + --#{$prefix}dropdown-border-color: #{$dropdown-border-color}; + --#{$prefix}dropdown-border-radius: #{$dropdown-border-radius}; + --#{$prefix}dropdown-border-width: #{$dropdown-border-width}; + --#{$prefix}dropdown-inner-border-radius: #{$dropdown-inner-border-radius}; + --#{$prefix}dropdown-divider-bg: #{$dropdown-divider-bg}; + --#{$prefix}dropdown-divider-margin-y: #{$dropdown-divider-margin-y}; + --#{$prefix}dropdown-box-shadow: #{$dropdown-box-shadow}; + --#{$prefix}dropdown-link-color: #{$dropdown-link-color}; + --#{$prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color}; + --#{$prefix}dropdown-link-hover-bg: #{$dropdown-link-hover-bg}; + --#{$prefix}dropdown-link-active-color: #{$dropdown-link-active-color}; + --#{$prefix}dropdown-link-active-bg: #{$dropdown-link-active-bg}; + --#{$prefix}dropdown-link-disabled-color: #{$dropdown-link-disabled-color}; + --#{$prefix}dropdown-item-padding-x: #{$dropdown-item-padding-x}; + --#{$prefix}dropdown-item-padding-y: #{$dropdown-item-padding-y}; + --#{$prefix}dropdown-header-color: #{$dropdown-header-color}; + --#{$prefix}dropdown-header-padding-x: #{$dropdown-header-padding-x}; + --#{$prefix}dropdown-header-padding-y: #{$dropdown-header-padding-y}; + // scss-docs-end dropdown-css-vars + + position: absolute; + z-index: var(--#{$prefix}dropdown-zindex); + display: none; // none by default, but block on "open" of the menu + min-width: var(--#{$prefix}dropdown-min-width); + padding: var(--#{$prefix}dropdown-padding-y) var(--#{$prefix}dropdown-padding-x); + margin: 0; // Override default margin of ul + @include font-size(var(--#{$prefix}dropdown-font-size)); + color: var(--#{$prefix}dropdown-color); + text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) + list-style: none; + background-color: var(--#{$prefix}dropdown-bg); + background-clip: padding-box; + border: var(--#{$prefix}dropdown-border-width) solid var(--#{$prefix}dropdown-border-color); + @include border-radius(var(--#{$prefix}dropdown-border-radius)); + @include box-shadow(var(--#{$prefix}dropdown-box-shadow)); + + &[data-bs-popper] { + top: 100%; + left: 0; + margin-top: var(--#{$prefix}dropdown-spacer); + } + + @if $dropdown-padding-y == 0 { + > .dropdown-item:first-child, + > li:first-child .dropdown-item { + @include border-top-radius(var(--#{$prefix}dropdown-inner-border-radius)); + } + > .dropdown-item:last-child, + > li:last-child .dropdown-item { + @include border-bottom-radius(var(--#{$prefix}dropdown-inner-border-radius)); + } + + } +} + +// scss-docs-start responsive-breakpoints +// We deliberately hardcode the `bs-` prefix because we check +// this custom property in JS to determine Popper's positioning + +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + .dropdown-menu#{$infix}-start { + --bs-position: start; + + &[data-bs-popper] { + right: auto; + left: 0; + } + } + + .dropdown-menu#{$infix}-end { + --bs-position: end; + + &[data-bs-popper] { + right: 0; + left: auto; + } + } + } +} +// scss-docs-end responsive-breakpoints + +// Allow for dropdowns to go bottom up (aka, dropup-menu) +// Just add .dropup after the standard .dropdown class and you're set. +.dropup { + .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--#{$prefix}dropdown-spacer); + } + + .dropdown-toggle { + @include caret(up); + } +} + +.dropend { + .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--#{$prefix}dropdown-spacer); + } + + .dropdown-toggle { + @include caret(end); + &::after { + vertical-align: 0; + } + } +} + +.dropstart { + .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--#{$prefix}dropdown-spacer); + } + + .dropdown-toggle { + @include caret(start); + &::before { + vertical-align: 0; + } + } +} + + +// Dividers (basically an `
    `) within the dropdown +.dropdown-divider { + height: 0; + margin: var(--#{$prefix}dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--#{$prefix}dropdown-divider-bg); + opacity: 1; // Revisit in v6 to de-dupe styles that conflict with
    element +} + +// Links, buttons, and more within the dropdown menu +// +// `
    + +
  • + +
  • + + + + + + + + + + + + + + + + + + + +
    #NamePrice in €Actions
    +
    +
    + +
    + +
    +
    + + +
    +
    + +
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + diff --git a/webseite/backend/package-lock.json b/webseite/backend/package-lock.json deleted file mode 100644 index 710a509..0000000 --- a/webseite/backend/package-lock.json +++ /dev/null @@ -1,929 +0,0 @@ -{ - "name": "website-backend", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "website-backend", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "chalk": "^5.6.2", - "cors": "^2.8.6", - "dotenv": "^17.4.2", - "express": "^5.2.1", - "uuid": "^14.0.1" - } - }, - "node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "license": "MIT", - "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/body-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", - "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==", - "license": "MIT", - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^2.0.0", - "debug": "^4.4.3", - "http-errors": "^2.0.1", - "iconv-lite": "^0.7.2", - "on-finished": "^2.4.1", - "qs": "^6.15.2", - "raw-body": "^3.0.2", - "type-is": "^2.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/body-parser/node_modules/content-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", - "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/content-disposition": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", - "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - "license": "MIT", - "engines": { - "node": ">=6.6.0" - } - }, - "node_modules/cors": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", - "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", - "license": "MIT", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dotenv": { - "version": "17.4.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz", - "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", - "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", - "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", - "license": "MIT", - "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.1", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "depd": "^2.0.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/finalhandler": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", - "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", - "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/iconv-lite": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz", - "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", - "license": "MIT" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-to-regexp": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", - "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/qs": { - "version": "6.15.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", - "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", - "license": "BSD-3-Clause", - "dependencies": { - "es-define-property": "^1.0.1", - "side-channel": "^1.1.1" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/range-parser": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz", - "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/raw-body": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", - "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.7.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", - "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.3", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.1", - "mime-types": "^3.0.2", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/serve-static": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", - "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", - "license": "MIT", - "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/side-channel": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", - "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.4", - "side-channel-list": "^1.0.1", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", - "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/type-is": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", - "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", - "license": "MIT", - "dependencies": { - "content-type": "^2.0.0", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/type-is/node_modules/content-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", - "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/uuid": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.1.tgz", - "integrity": "sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist-node/bin/uuid" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - } - } -} diff --git a/webseite/frontend/package-lock.json b/webseite/frontend/package-lock.json deleted file mode 100644 index 3f873d3..0000000 --- a/webseite/frontend/package-lock.json +++ /dev/null @@ -1,4769 +0,0 @@ -{ - "name": "webseite-sass", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "webseite-sass", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@splidejs/splide": "^4.1.4", - "bootstrap": "^5.3.8", - "toastify-js": "^1.12.0" - }, - "devDependencies": { - "browser-sync": "^3.0.4", - "esbuild": "^0.28.1", - "npm-run-all": "^4.1.5", - "sass": "^1.101.3" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", - "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", - "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", - "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", - "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", - "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", - "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", - "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", - "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", - "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", - "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", - "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", - "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", - "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", - "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", - "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", - "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", - "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", - "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", - "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", - "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", - "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", - "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", - "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", - "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", - "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", - "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@parcel/watcher": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.6.0.tgz", - "integrity": "sha512-7FNeNl8NCE7aINx7WXiKQrPYZWC/hvrTsmk6zmxbI7LTXE7hVek/n8AfVgpe2y82zl3w0HvCHN0bVKMBoJcC0w==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "detect-libc": "^2.0.3", - "is-glob": "^4.0.3", - "node-addon-api": "^7.0.0", - "picomatch": "^4.0.4" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.6.0", - "@parcel/watcher-darwin-arm64": "2.6.0", - "@parcel/watcher-darwin-x64": "2.6.0", - "@parcel/watcher-freebsd-x64": "2.6.0", - "@parcel/watcher-linux-arm-glibc": "2.6.0", - "@parcel/watcher-linux-arm-musl": "2.6.0", - "@parcel/watcher-linux-arm64-glibc": "2.6.0", - "@parcel/watcher-linux-arm64-musl": "2.6.0", - "@parcel/watcher-linux-x64-glibc": "2.6.0", - "@parcel/watcher-linux-x64-musl": "2.6.0", - "@parcel/watcher-win32-arm64": "2.6.0", - "@parcel/watcher-win32-x64": "2.6.0" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.6.0.tgz", - "integrity": "sha512-trgpLSCKRC/huFjXX/Smh+0sWe4+YtKfktIToiMl59ghz7z+qkH6kMvNnUbLyRs9N11t8l4svSCs1+5B3rOAhA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.6.0.tgz", - "integrity": "sha512-Y3QV0gl7Q1zbfueunkWIERICbEojQFCgpyG7YqOGNFLsckXyI1xu9mAIUpKY9QBYzBtSkN8dBPwd3yiAO9ovMw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.6.0.tgz", - "integrity": "sha512-Ohv6OpzhUfKYD7Beb8kDvG0jbIxORCYY1JRdZnaBtnjjkJxgD7ZVL0nw2sCYd0yTMKTvz3nnTnOF3cDifK+kvw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.6.0.tgz", - "integrity": "sha512-5HmXvDgs8VK+74jF9y9/2FE3/OnlcKmc56tjmSrEuZjpSZOGL+fvAu+HKJBdPs9uwoP2hE6TlSUpXZ/C5jUFmQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.6.0.tgz", - "integrity": "sha512-Ps/hui3A+vMbjdqlqAowK2ZL8+BO8dBjxeWXj6npTBs3jx4wWmbPpaLuqwrQrSqIVMCnpWo238bJ1U37GhQOYg==", - "cpu": [ - "arm" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.6.0.tgz", - "integrity": "sha512-9c6AUHgHoG+IY88MRIHupztQiQnrbqHYQjkM2btA+Bf/wQnQMuiD0Wfk1EVv3TlNT3x41uU71rn6E4xh/+zvkw==", - "cpu": [ - "arm" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.6.0.tgz", - "integrity": "sha512-yHRqS2owEXe6Hic9z6Mh1ECsCd+ODVOGvZDyciqRd21+v+o+DnXMOrw50DSpIG2sb8GPEaPPmfeCAWKPJdq46g==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.6.0.tgz", - "integrity": "sha512-WhB2e/V7rqdHHWZusBSPuy5Ei8S6lSz6FE5TKKQz5h3a0O+C+mhY7vxU9b/stqvMb8beLnPY82ZrFTLKs+SrKA==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.6.0.tgz", - "integrity": "sha512-ulGE6x6Oz6iAwg75T8YQSoguBWasniIbX+QWpaYPcCnDOpdWX3k+4xbEYPZVLxOuoJI+svJJPD3sEj8G7lrQ3A==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.6.0.tgz", - "integrity": "sha512-tkBYKt7YQrjIJWYDnto2YgO8MRkjlMTSNoRHzsXinBqbLdeOM3L32wPZJvIZxqaLMfSlS/4sUjH/6STVP/XDLw==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.6.0.tgz", - "integrity": "sha512-gIZAP23jaHjGWasY/TY6yL7NHFClf0Ga7FN+iINvk+KN94rhm94lYZhFsbYFNcA04/onvGD9kKmiJLJB2HbNwQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.6.0.tgz", - "integrity": "sha512-cA+/pXV2YkfxlIcXOQ5fSWqAzzPyD78/x5qbK/I0vUkrlYHA8TIz+MXjAbGouguKVSI4bOmkTSJ1/poVSsgt+A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher/node_modules/picomatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", - "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "license": "MIT", - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", - "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@splidejs/splide": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@splidejs/splide/-/splide-4.1.4.tgz", - "integrity": "sha512-5I30evTJcAJQXt6vJ26g2xEkG+l1nXcpEw4xpKh0/FWQ8ozmAeTbtniVtVmz2sH1Es3vgfC4SS8B2X4o5JMptA==", - "license": "MIT" - }, - "node_modules/@types/cors": { - "version": "2.8.19", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", - "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/node": { - "version": "26.1.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.1.tgz", - "integrity": "sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~8.3.0" - } - }, - "node_modules/@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/async-each-series": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bootstrap": { - "version": "5.3.8", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.8.tgz", - "integrity": "sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/twbs" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/bootstrap" - } - ], - "license": "MIT", - "peerDependencies": { - "@popperjs/core": "^2.11.8" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.16", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz", - "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-sync": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-3.0.4.tgz", - "integrity": "sha512-mcYOIy4BW6sWSEnTSBjQwWsnbx2btZX78ajTTjdNfyC/EqQVcIe0nQR6894RNAMtvlfAnLaH9L2ka97zpvgenA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "browser-sync-client": "^3.0.4", - "browser-sync-ui": "^3.0.4", - "bs-recipes": "1.3.4", - "chalk": "4.1.2", - "chokidar": "^3.5.1", - "connect": "3.6.6", - "connect-history-api-fallback": "^1", - "dev-ip": "^1.0.1", - "easy-extender": "^2.3.4", - "eazy-logger": "^4.1.0", - "etag": "^1.8.1", - "fresh": "^0.5.2", - "fs-extra": "3.0.1", - "http-proxy": "^1.18.1", - "immutable": "^3", - "micromatch": "^4.0.8", - "opn": "5.3.0", - "portscanner": "2.2.0", - "raw-body": "^2.3.2", - "resp-modifier": "6.0.2", - "rx": "4.1.0", - "send": "^0.19.0", - "serve-index": "^1.9.1", - "serve-static": "^1.16.2", - "server-destroy": "1.0.1", - "socket.io": "^4.4.1", - "ua-parser-js": "^1.0.33", - "yargs": "^17.3.1" - }, - "bin": { - "browser-sync": "dist/bin.js" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/browser-sync-client": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-3.0.4.tgz", - "integrity": "sha512-+ew5ubXzGRKVjquBL3u6najS40TG7GxCdyBll0qSRc/n+JRV9gb/yDdRL1IAgRHqjnJTdqeBKKIQabjvjRSYRQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "etag": "1.8.1", - "fresh": "0.5.2", - "mitt": "^1.1.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/browser-sync-ui": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-3.0.4.tgz", - "integrity": "sha512-5Po3YARCZ/8yQHFzvrSjn8+hBUF7ZWac39SHsy8Tls+7tE62iq6pYWxpVU6aOOMAGD21RwFQhQeqmJPf70kHEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "async-each-series": "0.1.1", - "chalk": "4.1.2", - "connect-history-api-fallback": "^1", - "immutable": "^3", - "server-destroy": "1.0.1", - "socket.io-client": "^4.4.1", - "stream-throttle": "^0.1.3" - } - }, - "node_modules/bs-recipes": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", - "integrity": "sha512-BXvDkqhDNxXEjeGM8LFkSbR+jzmP/CYpCiVKYn+soB1dDldeU15EBNDkwVXndKuX35wnNUaPd0qSoQEAkmQtMw==", - "dev": true, - "license": "ISC" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", - "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "get-intrinsic": "^1.3.0", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha512-OO7axMmPpu/2XuX1+2Yrg0ddju31B6xLZMWkJ5rYBu4YRmRVlOjvlY6kw2FJKiAzyxGwnrDUAG4s1Pf0sbBMCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cors": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", - "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/cross-spawn": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", - "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "license": "Apache-2.0", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dev-ip": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", - "integrity": "sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A==", - "dev": true, - "bin": { - "dev-ip": "lib/dev-ip.js" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/easy-extender": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", - "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", - "dev": true, - "dependencies": { - "lodash": "^4.17.10" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/eazy-logger": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-4.1.0.tgz", - "integrity": "sha512-+mn7lRm+Zf1UT/YaH8WXtpU6PIV2iOjzP6jgKoiaq/VNrjYKp+OHZGe2znaLgDeFkw8cL9ffuaUm+nNnzcYyGw==", - "dev": true, - "dependencies": { - "chalk": "4.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true, - "license": "MIT" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/engine.io": { - "version": "6.6.9", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.9.tgz", - "integrity": "sha512-clKkw4C7nJ22mGgoVcCg6V/W/TxdNyIOTr89k2ONZu81qqkddPFDF0LXcbAwhzPD8DjkiRCjzuiO6Y+fkpD4vg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "@types/ws": "^8.5.12", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.7.2", - "cors": "~2.8.5", - "debug": "~4.4.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.21.0" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/engine.io-client": { - "version": "6.6.6", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.6.tgz", - "integrity": "sha512-iY6QdftLQ9pyiPoX082bpf/u1UewnOaJrtJIF9T0++QB34lZrj0uP+Q/bj8AlUsAxqhnkTV2BS8SBZSxOmoV5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.4.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.21.0", - "xmlhttprequest-ssl": "~2.1.1" - } - }, - "node_modules/engine.io-client/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/engine.io-client/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/engine.io-parser": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", - "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/engine.io/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/error-ex": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.24.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", - "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-abstract-get": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-abstract-get/-/es-abstract-get-1.0.0.tgz", - "integrity": "sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.2", - "is-callable": "^1.2.7", - "object-inspect": "^1.13.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", - "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.4.tgz", - "integrity": "sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-abstract-get": "^1.0.0", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "is-callable": "^1.2.7", - "is-date-object": "^1.1.0", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", - "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.28.1", - "@esbuild/android-arm": "0.28.1", - "@esbuild/android-arm64": "0.28.1", - "@esbuild/android-x64": "0.28.1", - "@esbuild/darwin-arm64": "0.28.1", - "@esbuild/darwin-x64": "0.28.1", - "@esbuild/freebsd-arm64": "0.28.1", - "@esbuild/freebsd-x64": "0.28.1", - "@esbuild/linux-arm": "0.28.1", - "@esbuild/linux-arm64": "0.28.1", - "@esbuild/linux-ia32": "0.28.1", - "@esbuild/linux-loong64": "0.28.1", - "@esbuild/linux-mips64el": "0.28.1", - "@esbuild/linux-ppc64": "0.28.1", - "@esbuild/linux-riscv64": "0.28.1", - "@esbuild/linux-s390x": "0.28.1", - "@esbuild/linux-x64": "0.28.1", - "@esbuild/netbsd-arm64": "0.28.1", - "@esbuild/netbsd-x64": "0.28.1", - "@esbuild/openbsd-arm64": "0.28.1", - "@esbuild/openbsd-x64": "0.28.1", - "@esbuild/openharmony-arm64": "0.28.1", - "@esbuild/sunos-x64": "0.28.1", - "@esbuild/win32-arm64": "0.28.1", - "@esbuild/win32-ia32": "0.28.1", - "@esbuild/win32-x64": "0.28.1" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha512-ejnvM9ZXYzp6PUPUyQBMBf0Co5VX2gr5H2VQe2Ui2jWXNlxv+PYZo8wpAymJNJdLsG1R4p+M4aynF8KuoUEwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/follow-redirects": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", - "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha512-V3Z3WZWVUYd8hoCL5xfXJCaHWYzmtwW5XWYSlLgERi8PWd8bx1kUHUk8L1BT57e49oKnDDD180mjfrHc1yA9rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.2.0.tgz", - "integrity": "sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.9", - "call-bound": "^1.0.4", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2", - "hasown": "^2.0.4", - "is-callable": "^1.2.7", - "is-document.all": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/generator-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", - "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", - "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true, - "license": "ISC" - }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/immutable": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.3.tgz", - "integrity": "sha512-AUY/VyX0E5XlibOmWt10uabJzam1zlYjwiEgQSDc5+UIkFNaF9WM0JxXKaNMGf+F/ffUF+7kRKXM9A7C0xXqMg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", - "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-document.all": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-document.all/-/is-document.all-1.0.0.tgz", - "integrity": "sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", - "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.4", - "generator-function": "^2.0.0", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-like": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", - "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", - "dev": true, - "license": "ISC", - "dependencies": { - "lodash.isfinite": "^3.3.2" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha512-oBko6ZHlubVB5mRFkur5vgYR1UyqX+S6Y/oCfLhqNdcc2fYFlDpIoNc7AfKS1KOGcnNAkvsr0grLck9ANM815w==", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/limiter": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", - "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==", - "dev": true - }, - "node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/lodash": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", - "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isfinite": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", - "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", - "dev": true, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mitt": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", - "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==", - "dev": true, - "license": "MIT" - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-all": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", - "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "memorystream": "^0.3.1", - "minimatch": "^3.0.4", - "pidtree": "^0.3.0", - "read-pkg": "^3.0.0", - "shell-quote": "^1.6.1", - "string.prototype.padend": "^3.0.0" - }, - "bin": { - "npm-run-all": "bin/npm-run-all/index.js", - "run-p": "bin/run-p/index.js", - "run-s": "bin/run-s/index.js" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/npm-run-all/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/npm-run-all/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" - }, - "node_modules/npm-run-all/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/opn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/own-keys": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.2.tgz", - "integrity": "sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.4", - "get-intrinsic": "^1.3.0", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pidtree": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", - "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", - "dev": true, - "license": "MIT", - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/portscanner": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", - "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "async": "^2.6.0", - "is-number-like": "^1.0.3" - }, - "engines": { - "node": ">=0.4", - "npm": ">=1.0.0" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.12", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", - "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resp-modifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", - "integrity": "sha512-U1+0kWC/+4ncRFYqQWTx/3qkfE6a4B/h3XXgmXypfa0SPZ3t7cbbaFk297PjQS/yov24R18h6OZe6iZwj3NSLw==", - "dev": true, - "dependencies": { - "debug": "^2.2.0", - "minimatch": "^3.0.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/safe-array-concat": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", - "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.9", - "call-bound": "^1.0.4", - "get-intrinsic": "^1.3.0", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/sass": { - "version": "1.101.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.101.6.tgz", - "integrity": "sha512-j8qYug9WuX19eU5sxJWQlbR8RYhKgXiOYgGjkJRkcW35c3neWtxPdcUW0saN6Od2L0aqEp0AmH9R/QeAxrffMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": "^5.0.0", - "immutable": "^5.1.5", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=20.19.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/sass/node_modules/chokidar": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", - "dev": true, - "license": "MIT", - "dependencies": { - "readdirp": "^5.0.0" - }, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/sass/node_modules/immutable": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.9.tgz", - "integrity": "sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==", - "dev": true, - "license": "MIT" - }, - "node_modules/sass/node_modules/readdirp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/send": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", - "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.4.1", - "range-parser": "~1.2.1", - "statuses": "~2.0.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/send/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/serve-index": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", - "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.8.0", - "mime-types": "~2.1.35", - "parseurl": "~1.3.3" - }, - "engines": { - "node": ">= 0.8.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", - "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "~0.19.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-static/node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/server-destroy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", - "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true, - "license": "ISC" - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shell-quote": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.10.0.tgz", - "integrity": "sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", - "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.4", - "side-channel-list": "^1.0.1", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", - "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/socket.io": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.3.tgz", - "integrity": "sha512-2Dd78bqzzjE6KPkD5fHZmDAKRNe3J15q+YHDrIsy9WEkqttc7GY+kT9OBLSMaPbQaEd0x1BjcmtMtXkfpc+T5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.4.1", - "engine.io": "~6.6.0", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.8.tgz", - "integrity": "sha512-6Oy52pbg+kvdCVvjcN+FnY7BvxZ7cIHNScbvztT/It5d0vbwoJoVZmF2gjJmnV0/4WlXRfG15zc45ySk9Ah8bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "~4.4.1", - "ws": "~8.21.0" - } - }, - "node_modules/socket.io-adapter/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-adapter/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/socket.io-client": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.3.tgz", - "integrity": "sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.4.1", - "engine.io-client": "~6.6.1", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-client/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-client/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/socket.io-parser": { - "version": "4.2.7", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.7.tgz", - "integrity": "sha512-IH/iSeO9T6gz1KkFleGDWkG9N3dl4jXVYUtMhIqH10Md0ttMer8nUNWiP1DKuNrybD2xBrixLJdCC9J6ECoYkg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.4.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-parser/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/socket.io/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true, - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.23", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", - "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/stream-throttle": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", - "integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "commander": "^2.2.0", - "limiter": "^1.0.5" - }, - "bin": { - "throttleproxy": "bin/throttleproxy.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.padend": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz", - "integrity": "sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.11.tgz", - "integrity": "sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.9", - "call-bound": "^1.0.4", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.2", - "es-object-atoms": "^1.1.2", - "has-property-descriptors": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.10.tgz", - "integrity": "sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.9", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toastify-js": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/toastify-js/-/toastify-js-1.12.0.tgz", - "integrity": "sha512-HeMHCO9yLPvP9k0apGSdPUWrUbLnxUKNFzgUoZp1PHCLploIX/4DSQ7V8H25ef+h4iO9n0he7ImfcndnN6nDrQ==", - "license": "MIT" - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.8.tgz", - "integrity": "sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.9", - "for-each": "^0.3.5", - "gopd": "^1.2.0", - "is-typed-array": "^1.1.15", - "possible-typed-array-names": "^1.1.0", - "reflect.getprototypeof": "^1.0.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.41", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.41.tgz", - "integrity": "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "license": "MIT", - "bin": { - "ua-parser-js": "script/cli.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz", - "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.22", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz", - "integrity": "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.9", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/ws": { - "version": "8.21.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.1.tgz", - "integrity": "sha512-+0NTnW77fFN/DjQi6k/Sq/Yvk4Sgajw7urW8V+asjXnRgDs9gyGkdb7EzgfhA4goXsRIZKE28fzIXBHEzhuiWw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xmlhttprequest-ssl": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz", - "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs": { - "version": "17.7.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz", - "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - } - } -}