diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index f01945c..8cf505a 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -10,27 +10,28 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 🚚 Get latest code
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
- name: 📦 Setup Node.js
- uses: actions/setup-node@v4
+ uses: actions/setup-node@v5
with:
node-version: 'lts/*'
- - name: 🛠️ Run Build Process
+ - name: 🛠️ Install Dependencies and Build
run: |
+ composer install
npm install
- npx tailwindcss -o "./htdocs/assets/style.css" --minify
+ npm run build
- name: 📦 Update Database
run: |
- mysql -h ${{ secrets.DB_HOST }} --port 3306 -u${{ secrets.DB_USERNAME }} -p${{ secrets.DB_PASSWORD }} -D${{ secrets.DB_NAME }} -e "source drop_script.sql"
- mysql -h ${{ secrets.DB_HOST }} --port 3306 -u${{ secrets.DB_USERNAME }} -p${{ secrets.DB_PASSWORD }} -D${{ secrets.DB_NAME }} -e "source neosubhamoy.sql"
+ mysql -h ${{ secrets.DB_HOST }} --port 3306 -u${{ secrets.DB_USERNAME }} -p${{ secrets.DB_PASSWORD }} -D${{ secrets.DB_NAME }} -e "source schema/cleanup.sql"
+ mysql -h ${{ secrets.DB_HOST }} --port 3306 -u${{ secrets.DB_USERNAME }} -p${{ secrets.DB_PASSWORD }} -D${{ secrets.DB_NAME }} -e "source schema/neosubhamoy.sql"
- name: 📂 Sync files
- uses: SamKirkland/FTP-Deploy-Action@v4.3.4
+ uses: SamKirkland/FTP-Deploy-Action@v4.3.6
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
- local-dir: ./htdocs/
\ No newline at end of file
+ local-dir: ./src/
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index b47bfb1..3589057 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
node_modules/
.vscode/
-.env
\ No newline at end of file
+.env
+src/assets/style.css
+src/vendor/
\ No newline at end of file
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..b31be40
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,20 @@
+{
+ "name": "neosubhamoy/portfolio",
+ "description": "Official Portfolio Website of Subhamoy Biswas (@neo_subhamoy)",
+ "type": "project",
+ "license": "MIT",
+ "config": {
+ "vendor-dir": "src/vendor"
+ },
+ "authors": [
+ {
+ "name": "neosubhamoy",
+ "email": "hey@neosubhamoy.com"
+ }
+ ],
+ "minimum-stability": "stable",
+ "require": {
+ "vlucas/phpdotenv": "^5.6",
+ "phpmailer/phpmailer": "^6.10"
+ }
+}
diff --git a/htdocs/core/composer.lock b/composer.lock
similarity index 83%
rename from htdocs/core/composer.lock
rename to composer.lock
index dadd9b8..b861f5a 100644
--- a/htdocs/core/composer.lock
+++ b/composer.lock
@@ -4,28 +4,28 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "bf5f67d0069e0a7af678f67029f41cc5",
+ "content-hash": "ef7bbdbb8d4bd8fd561dc5a9800954e8",
"packages": [
{
"name": "graham-campbell/result-type",
- "version": "v1.1.2",
+ "version": "v1.1.3",
"source": {
"type": "git",
"url": "https://github.com/GrahamCampbell/Result-Type.git",
- "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862"
+ "reference": "3ba905c11371512af9d9bdd27d99b782216b6945"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862",
- "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862",
+ "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945",
+ "reference": "3ba905c11371512af9d9bdd27d99b782216b6945",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0",
- "phpoption/phpoption": "^1.9.2"
+ "phpoption/phpoption": "^1.9.3"
},
"require-dev": {
- "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2"
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
},
"type": "library",
"autoload": {
@@ -54,7 +54,7 @@
],
"support": {
"issues": "https://github.com/GrahamCampbell/Result-Type/issues",
- "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2"
+ "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3"
},
"funding": [
{
@@ -66,20 +66,20 @@
"type": "tidelift"
}
],
- "time": "2023-11-12T22:16:48+00:00"
+ "time": "2024-07-20T21:45:45+00:00"
},
{
"name": "phpmailer/phpmailer",
- "version": "v6.9.1",
+ "version": "v6.10.0",
"source": {
"type": "git",
"url": "https://github.com/PHPMailer/PHPMailer.git",
- "reference": "039de174cd9c17a8389754d3b877a2ed22743e18"
+ "reference": "bf74d75a1fde6beaa34a0ddae2ec5fce0f72a144"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/039de174cd9c17a8389754d3b877a2ed22743e18",
- "reference": "039de174cd9c17a8389754d3b877a2ed22743e18",
+ "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/bf74d75a1fde6beaa34a0ddae2ec5fce0f72a144",
+ "reference": "bf74d75a1fde6beaa34a0ddae2ec5fce0f72a144",
"shasum": ""
},
"require": {
@@ -139,7 +139,7 @@
"description": "PHPMailer is a full-featured email creation and transfer class for PHP",
"support": {
"issues": "https://github.com/PHPMailer/PHPMailer/issues",
- "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.1"
+ "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.10.0"
},
"funding": [
{
@@ -147,20 +147,20 @@
"type": "github"
}
],
- "time": "2023-11-25T22:23:28+00:00"
+ "time": "2025-04-24T15:19:31+00:00"
},
{
"name": "phpoption/phpoption",
- "version": "1.9.2",
+ "version": "1.9.4",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/php-option.git",
- "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820"
+ "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820",
- "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820",
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d",
+ "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d",
"shasum": ""
},
"require": {
@@ -168,13 +168,13 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2"
+ "phpunit/phpunit": "^8.5.44 || ^9.6.25 || ^10.5.53 || ^11.5.34"
},
"type": "library",
"extra": {
"bamarni-bin": {
"bin-links": true,
- "forward-command": true
+ "forward-command": false
},
"branch-alias": {
"dev-master": "1.9-dev"
@@ -210,7 +210,7 @@
],
"support": {
"issues": "https://github.com/schmittjoh/php-option/issues",
- "source": "https://github.com/schmittjoh/php-option/tree/1.9.2"
+ "source": "https://github.com/schmittjoh/php-option/tree/1.9.4"
},
"funding": [
{
@@ -222,24 +222,24 @@
"type": "tidelift"
}
],
- "time": "2023-11-12T21:59:55+00:00"
+ "time": "2025-08-21T11:53:16+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.28.0",
+ "version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
+ "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
- "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
+ "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"provide": {
"ext-ctype": "*"
@@ -249,12 +249,9 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -288,7 +285,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0"
},
"funding": [
{
@@ -299,29 +296,34 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.28.0",
+ "version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "42292d99c55abe617799667f454222c54c60e229"
+ "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
- "reference": "42292d99c55abe617799667f454222c54c60e229",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
+ "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "ext-iconv": "*",
+ "php": ">=7.2"
},
"provide": {
"ext-mbstring": "*"
@@ -331,12 +333,9 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -371,7 +370,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0"
},
"funding": [
{
@@ -382,38 +381,39 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2023-07-28T09:04:16+00:00"
+ "time": "2024-12-23T08:48:59+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.28.0",
+ "version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
+ "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
- "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
+ "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -454,7 +454,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0"
},
"funding": [
{
@@ -465,32 +465,36 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2025-01-02T08:10:11+00:00"
},
{
"name": "vlucas/phpdotenv",
- "version": "v5.6.0",
+ "version": "v5.6.2",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
- "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4"
+ "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4",
- "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4",
+ "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af",
+ "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af",
"shasum": ""
},
"require": {
"ext-pcre": "*",
- "graham-campbell/result-type": "^1.1.2",
+ "graham-campbell/result-type": "^1.1.3",
"php": "^7.2.5 || ^8.0",
- "phpoption/phpoption": "^1.9.2",
+ "phpoption/phpoption": "^1.9.3",
"symfony/polyfill-ctype": "^1.24",
"symfony/polyfill-mbstring": "^1.24",
"symfony/polyfill-php80": "^1.24"
@@ -507,7 +511,7 @@
"extra": {
"bamarni-bin": {
"bin-links": true,
- "forward-command": true
+ "forward-command": false
},
"branch-alias": {
"dev-master": "5.6-dev"
@@ -542,7 +546,7 @@
],
"support": {
"issues": "https://github.com/vlucas/phpdotenv/issues",
- "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0"
+ "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2"
},
"funding": [
{
@@ -554,16 +558,16 @@
"type": "tidelift"
}
],
- "time": "2023-11-12T22:43:29+00:00"
+ "time": "2025-04-30T23:37:27+00:00"
}
],
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
- "stability-flags": [],
+ "stability-flags": {},
"prefer-stable": false,
"prefer-lowest": false,
- "platform": [],
- "platform-dev": [],
- "plugin-api-version": "2.3.0"
+ "platform": {},
+ "platform-dev": {},
+ "plugin-api-version": "2.6.0"
}
diff --git a/htdocs/assets/style.css b/htdocs/assets/style.css
deleted file mode 100644
index 45f0416..0000000
--- a/htdocs/assets/style.css
+++ /dev/null
@@ -1,2709 +0,0 @@
-*, ::before, ::after {
- --tw-border-spacing-x: 0;
- --tw-border-spacing-y: 0;
- --tw-translate-x: 0;
- --tw-translate-y: 0;
- --tw-rotate: 0;
- --tw-skew-x: 0;
- --tw-skew-y: 0;
- --tw-scale-x: 1;
- --tw-scale-y: 1;
- --tw-pan-x: ;
- --tw-pan-y: ;
- --tw-pinch-zoom: ;
- --tw-scroll-snap-strictness: proximity;
- --tw-gradient-from-position: ;
- --tw-gradient-via-position: ;
- --tw-gradient-to-position: ;
- --tw-ordinal: ;
- --tw-slashed-zero: ;
- --tw-numeric-figure: ;
- --tw-numeric-spacing: ;
- --tw-numeric-fraction: ;
- --tw-ring-inset: ;
- --tw-ring-offset-width: 0px;
- --tw-ring-offset-color: #fff;
- --tw-ring-color: rgb(59 130 246 / 0.5);
- --tw-ring-offset-shadow: 0 0 #0000;
- --tw-ring-shadow: 0 0 #0000;
- --tw-shadow: 0 0 #0000;
- --tw-shadow-colored: 0 0 #0000;
- --tw-blur: ;
- --tw-brightness: ;
- --tw-contrast: ;
- --tw-grayscale: ;
- --tw-hue-rotate: ;
- --tw-invert: ;
- --tw-saturate: ;
- --tw-sepia: ;
- --tw-drop-shadow: ;
- --tw-backdrop-blur: ;
- --tw-backdrop-brightness: ;
- --tw-backdrop-contrast: ;
- --tw-backdrop-grayscale: ;
- --tw-backdrop-hue-rotate: ;
- --tw-backdrop-invert: ;
- --tw-backdrop-opacity: ;
- --tw-backdrop-saturate: ;
- --tw-backdrop-sepia: ;
- --tw-contain-size: ;
- --tw-contain-layout: ;
- --tw-contain-paint: ;
- --tw-contain-style: ;
-}
-
-::backdrop {
- --tw-border-spacing-x: 0;
- --tw-border-spacing-y: 0;
- --tw-translate-x: 0;
- --tw-translate-y: 0;
- --tw-rotate: 0;
- --tw-skew-x: 0;
- --tw-skew-y: 0;
- --tw-scale-x: 1;
- --tw-scale-y: 1;
- --tw-pan-x: ;
- --tw-pan-y: ;
- --tw-pinch-zoom: ;
- --tw-scroll-snap-strictness: proximity;
- --tw-gradient-from-position: ;
- --tw-gradient-via-position: ;
- --tw-gradient-to-position: ;
- --tw-ordinal: ;
- --tw-slashed-zero: ;
- --tw-numeric-figure: ;
- --tw-numeric-spacing: ;
- --tw-numeric-fraction: ;
- --tw-ring-inset: ;
- --tw-ring-offset-width: 0px;
- --tw-ring-offset-color: #fff;
- --tw-ring-color: rgb(59 130 246 / 0.5);
- --tw-ring-offset-shadow: 0 0 #0000;
- --tw-ring-shadow: 0 0 #0000;
- --tw-shadow: 0 0 #0000;
- --tw-shadow-colored: 0 0 #0000;
- --tw-blur: ;
- --tw-brightness: ;
- --tw-contrast: ;
- --tw-grayscale: ;
- --tw-hue-rotate: ;
- --tw-invert: ;
- --tw-saturate: ;
- --tw-sepia: ;
- --tw-drop-shadow: ;
- --tw-backdrop-blur: ;
- --tw-backdrop-brightness: ;
- --tw-backdrop-contrast: ;
- --tw-backdrop-grayscale: ;
- --tw-backdrop-hue-rotate: ;
- --tw-backdrop-invert: ;
- --tw-backdrop-opacity: ;
- --tw-backdrop-saturate: ;
- --tw-backdrop-sepia: ;
- --tw-contain-size: ;
- --tw-contain-layout: ;
- --tw-contain-paint: ;
- --tw-contain-style: ;
-}
-
-/*
-! tailwindcss v3.4.15 | MIT License | https://tailwindcss.com
-*/
-
-/*
-1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
-2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
-*/
-
-*,
-::before,
-::after {
- box-sizing: border-box;
- /* 1 */
- border-width: 0;
- /* 2 */
- border-style: solid;
- /* 2 */
- border-color: currentColor;
- /* 2 */
-}
-
-::before,
-::after {
- --tw-content: '';
-}
-
-/*
-1. Use a consistent sensible line-height in all browsers.
-2. Prevent adjustments of font size after orientation changes in iOS.
-3. Use a more readable tab size.
-4. Use the user's configured `sans` font-family by default.
-5. Use the user's configured `sans` font-feature-settings by default.
-6. Use the user's configured `sans` font-variation-settings by default.
-7. Disable tap highlights on iOS
-*/
-
-html,
-:host {
- line-height: 1.5;
- /* 1 */
- -webkit-text-size-adjust: 100%;
- /* 2 */
- -moz-tab-size: 4;
- /* 3 */
- -o-tab-size: 4;
- tab-size: 4;
- /* 3 */
- font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
- /* 4 */
- font-feature-settings: normal;
- /* 5 */
- font-variation-settings: normal;
- /* 6 */
- -webkit-tap-highlight-color: transparent;
- /* 7 */
-}
-
-/*
-1. Remove the margin in all browsers.
-2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
-*/
-
-body {
- margin: 0;
- /* 1 */
- line-height: inherit;
- /* 2 */
-}
-
-/*
-1. Add the correct height in Firefox.
-2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
-3. Ensure horizontal rules are visible by default.
-*/
-
-hr {
- height: 0;
- /* 1 */
- color: inherit;
- /* 2 */
- border-top-width: 1px;
- /* 3 */
-}
-
-/*
-Add the correct text decoration in Chrome, Edge, and Safari.
-*/
-
-abbr:where([title]) {
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/*
-Remove the default font size and weight for headings.
-*/
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
- font-size: inherit;
- font-weight: inherit;
-}
-
-/*
-Reset links to optimize for opt-in styling instead of opt-out.
-*/
-
-a {
- color: inherit;
- text-decoration: inherit;
-}
-
-/*
-Add the correct font weight in Edge and Safari.
-*/
-
-b,
-strong {
- font-weight: bolder;
-}
-
-/*
-1. Use the user's configured `mono` font-family by default.
-2. Use the user's configured `mono` font-feature-settings by default.
-3. Use the user's configured `mono` font-variation-settings by default.
-4. Correct the odd `em` font sizing in all browsers.
-*/
-
-code,
-kbd,
-samp,
-pre {
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
- /* 1 */
- font-feature-settings: normal;
- /* 2 */
- font-variation-settings: normal;
- /* 3 */
- font-size: 1em;
- /* 4 */
-}
-
-/*
-Add the correct font size in all browsers.
-*/
-
-small {
- font-size: 80%;
-}
-
-/*
-Prevent `sub` and `sup` elements from affecting the line height in all browsers.
-*/
-
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-sup {
- top: -0.5em;
-}
-
-/*
-1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
-2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
-3. Remove gaps between table borders by default.
-*/
-
-table {
- text-indent: 0;
- /* 1 */
- border-color: inherit;
- /* 2 */
- border-collapse: collapse;
- /* 3 */
-}
-
-/*
-1. Change the font styles in all browsers.
-2. Remove the margin in Firefox and Safari.
-3. Remove default padding in all browsers.
-*/
-
-button,
-input,
-optgroup,
-select,
-textarea {
- font-family: inherit;
- /* 1 */
- font-feature-settings: inherit;
- /* 1 */
- font-variation-settings: inherit;
- /* 1 */
- font-size: 100%;
- /* 1 */
- font-weight: inherit;
- /* 1 */
- line-height: inherit;
- /* 1 */
- letter-spacing: inherit;
- /* 1 */
- color: inherit;
- /* 1 */
- margin: 0;
- /* 2 */
- padding: 0;
- /* 3 */
-}
-
-/*
-Remove the inheritance of text transform in Edge and Firefox.
-*/
-
-button,
-select {
- text-transform: none;
-}
-
-/*
-1. Correct the inability to style clickable types in iOS and Safari.
-2. Remove default button styles.
-*/
-
-button,
-input:where([type='button']),
-input:where([type='reset']),
-input:where([type='submit']) {
- -webkit-appearance: button;
- /* 1 */
- background-color: transparent;
- /* 2 */
- background-image: none;
- /* 2 */
-}
-
-/*
-Use the modern Firefox focus style for all focusable elements.
-*/
-
-:-moz-focusring {
- outline: auto;
-}
-
-/*
-Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
-*/
-
-:-moz-ui-invalid {
- box-shadow: none;
-}
-
-/*
-Add the correct vertical alignment in Chrome and Firefox.
-*/
-
-progress {
- vertical-align: baseline;
-}
-
-/*
-Correct the cursor style of increment and decrement buttons in Safari.
-*/
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- height: auto;
-}
-
-/*
-1. Correct the odd appearance in Chrome and Safari.
-2. Correct the outline style in Safari.
-*/
-
-[type='search'] {
- -webkit-appearance: textfield;
- /* 1 */
- outline-offset: -2px;
- /* 2 */
-}
-
-/*
-Remove the inner padding in Chrome and Safari on macOS.
-*/
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/*
-1. Correct the inability to style clickable types in iOS and Safari.
-2. Change font properties to `inherit` in Safari.
-*/
-
-::-webkit-file-upload-button {
- -webkit-appearance: button;
- /* 1 */
- font: inherit;
- /* 2 */
-}
-
-/*
-Add the correct display in Chrome and Safari.
-*/
-
-summary {
- display: list-item;
-}
-
-/*
-Removes the default spacing and border for appropriate elements.
-*/
-
-blockquote,
-dl,
-dd,
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-hr,
-figure,
-p,
-pre {
- margin: 0;
-}
-
-fieldset {
- margin: 0;
- padding: 0;
-}
-
-legend {
- padding: 0;
-}
-
-ol,
-ul,
-menu {
- list-style: none;
- margin: 0;
- padding: 0;
-}
-
-/*
-Reset default styling for dialogs.
-*/
-
-dialog {
- padding: 0;
-}
-
-/*
-Prevent resizing textareas horizontally by default.
-*/
-
-textarea {
- resize: vertical;
-}
-
-/*
-1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
-2. Set the default placeholder color to the user's configured gray 400 color.
-*/
-
-input::-moz-placeholder, textarea::-moz-placeholder {
- opacity: 1;
- /* 1 */
- color: #9ca3af;
- /* 2 */
-}
-
-input::placeholder,
-textarea::placeholder {
- opacity: 1;
- /* 1 */
- color: #9ca3af;
- /* 2 */
-}
-
-/*
-Set the default cursor for buttons.
-*/
-
-button,
-[role="button"] {
- cursor: pointer;
-}
-
-/*
-Make sure disabled buttons don't get the pointer cursor.
-*/
-
-:disabled {
- cursor: default;
-}
-
-/*
-1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
-2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
- This can trigger a poorly considered lint error in some tools but is included by design.
-*/
-
-img,
-svg,
-video,
-canvas,
-audio,
-iframe,
-embed,
-object {
- display: block;
- /* 1 */
- vertical-align: middle;
- /* 2 */
-}
-
-/*
-Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
-*/
-
-img,
-video {
- max-width: 100%;
- height: auto;
-}
-
-/* Make elements with the HTML hidden attribute stay hidden by default */
-
-[hidden]:where(:not([hidden="until-found"])) {
- display: none;
-}
-
-.container {
- width: 100%;
-}
-
-@media (min-width: 640px) {
- .container {
- max-width: 640px;
- }
-}
-
-@media (min-width: 768px) {
- .container {
- max-width: 768px;
- }
-}
-
-@media (min-width: 1024px) {
- .container {
- max-width: 1024px;
- }
-}
-
-@media (min-width: 1280px) {
- .container {
- max-width: 1280px;
- }
-}
-
-@media (min-width: 1536px) {
- .container {
- max-width: 1536px;
- }
-}
-
-.visible {
- visibility: visible;
-}
-
-.static {
- position: static;
-}
-
-.fixed {
- position: fixed;
-}
-
-.absolute {
- position: absolute;
-}
-
-.relative {
- position: relative;
-}
-
-.inset-x-0 {
- left: 0px;
- right: 0px;
-}
-
-.inset-x-auto {
- left: auto;
- right: auto;
-}
-
-.-bottom-3 {
- bottom: -0.75rem;
-}
-
-.-bottom-\[10vh\] {
- bottom: -10vh;
-}
-
-.-top-1\/2 {
- top: -50%;
-}
-
-.-top-\[0\.60rem\] {
- top: -0.60rem;
-}
-
-.-top-\[23px\] {
- top: -23px;
-}
-
-.bottom-0 {
- bottom: 0px;
-}
-
-.bottom-2 {
- bottom: 0.5rem;
-}
-
-.bottom-\[-10rem\] {
- bottom: -10rem;
-}
-
-.bottom-\[20vh\] {
- bottom: 20vh;
-}
-
-.bottom-\[3vh\] {
- bottom: 3vh;
-}
-
-.bottom-\[5\.5rem\] {
- bottom: 5.5rem;
-}
-
-.bottom-\[7vh\] {
- bottom: 7vh;
-}
-
-.left-0 {
- left: 0px;
-}
-
-.left-2 {
- left: 0.5rem;
-}
-
-.left-4 {
- left: 1rem;
-}
-
-.left-\[2\.5rem\] {
- left: 2.5rem;
-}
-
-.left-\[3\.2rem\] {
- left: 3.2rem;
-}
-
-.right-0 {
- right: 0px;
-}
-
-.right-3 {
- right: 0.75rem;
-}
-
-.right-\[1rem\] {
- right: 1rem;
-}
-
-.right-\[3\.3rem\] {
- right: 3.3rem;
-}
-
-.right-\[3rem\] {
- right: 3rem;
-}
-
-.top-0 {
- top: 0px;
-}
-
-.top-2 {
- top: 0.5rem;
-}
-
-.top-3 {
- top: 0.75rem;
-}
-
-.top-\[-2\.5rem\] {
- top: -2.5rem;
-}
-
-.top-\[10rem\] {
- top: 10rem;
-}
-
-.top-\[20\.5rem\] {
- top: 20.5rem;
-}
-
-.top-\[30vh\] {
- top: 30vh;
-}
-
-.top-\[4\.7rem\] {
- top: 4.7rem;
-}
-
-.z-10 {
- z-index: 10;
-}
-
-.z-20 {
- z-index: 20;
-}
-
-.z-40 {
- z-index: 40;
-}
-
-.z-50 {
- z-index: 50;
-}
-
-.z-\[100\] {
- z-index: 100;
-}
-
-.z-\[70\] {
- z-index: 70;
-}
-
-.z-\[75\] {
- z-index: 75;
-}
-
-.z-\[80\] {
- z-index: 80;
-}
-
-.z-\[90\] {
- z-index: 90;
-}
-
-.z-\[999\] {
- z-index: 999;
-}
-
-.m-2 {
- margin: 0.5rem;
-}
-
-.mx-1 {
- margin-left: 0.25rem;
- margin-right: 0.25rem;
-}
-
-.mx-2 {
- margin-left: 0.5rem;
- margin-right: 0.5rem;
-}
-
-.mx-3 {
- margin-left: 0.75rem;
- margin-right: 0.75rem;
-}
-
-.mx-5 {
- margin-left: 1.25rem;
- margin-right: 1.25rem;
-}
-
-.mx-6 {
- margin-left: 1.5rem;
- margin-right: 1.5rem;
-}
-
-.mx-auto {
- margin-left: auto;
- margin-right: auto;
-}
-
-.my-1 {
- margin-top: 0.25rem;
- margin-bottom: 0.25rem;
-}
-
-.my-2 {
- margin-top: 0.5rem;
- margin-bottom: 0.5rem;
-}
-
-.my-3 {
- margin-top: 0.75rem;
- margin-bottom: 0.75rem;
-}
-
-.my-4 {
- margin-top: 1rem;
- margin-bottom: 1rem;
-}
-
-.my-7 {
- margin-top: 1.75rem;
- margin-bottom: 1.75rem;
-}
-
-.my-\[0\.30rem\] {
- margin-top: 0.30rem;
- margin-bottom: 0.30rem;
-}
-
-.mb-1 {
- margin-bottom: 0.25rem;
-}
-
-.mb-10 {
- margin-bottom: 2.5rem;
-}
-
-.mb-12 {
- margin-bottom: 3rem;
-}
-
-.mb-14 {
- margin-bottom: 3.5rem;
-}
-
-.mb-2 {
- margin-bottom: 0.5rem;
-}
-
-.mb-20 {
- margin-bottom: 5rem;
-}
-
-.mb-28 {
- margin-bottom: 7rem;
-}
-
-.mb-3 {
- margin-bottom: 0.75rem;
-}
-
-.mb-4 {
- margin-bottom: 1rem;
-}
-
-.mb-5 {
- margin-bottom: 1.25rem;
-}
-
-.mb-6 {
- margin-bottom: 1.5rem;
-}
-
-.mb-60 {
- margin-bottom: 15rem;
-}
-
-.mb-7 {
- margin-bottom: 1.75rem;
-}
-
-.mb-72 {
- margin-bottom: 18rem;
-}
-
-.mb-8 {
- margin-bottom: 2rem;
-}
-
-.mb-\[12rem\] {
- margin-bottom: 12rem;
-}
-
-.mb-\[2rem\] {
- margin-bottom: 2rem;
-}
-
-.mb-\[60vh\] {
- margin-bottom: 60vh;
-}
-
-.ml-1 {
- margin-left: 0.25rem;
-}
-
-.ml-10 {
- margin-left: 2.5rem;
-}
-
-.ml-2 {
- margin-left: 0.5rem;
-}
-
-.ml-3 {
- margin-left: 0.75rem;
-}
-
-.ml-5 {
- margin-left: 1.25rem;
-}
-
-.ml-6 {
- margin-left: 1.5rem;
-}
-
-.ml-7 {
- margin-left: 1.75rem;
-}
-
-.ml-8 {
- margin-left: 2rem;
-}
-
-.ml-\[0\.30rem\] {
- margin-left: 0.30rem;
-}
-
-.ml-\[0\.59rem\] {
- margin-left: 0.59rem;
-}
-
-.mr-0 {
- margin-right: 0px;
-}
-
-.mr-1 {
- margin-right: 0.25rem;
-}
-
-.mr-2 {
- margin-right: 0.5rem;
-}
-
-.mr-3 {
- margin-right: 0.75rem;
-}
-
-.mr-4 {
- margin-right: 1rem;
-}
-
-.mr-5 {
- margin-right: 1.25rem;
-}
-
-.mt-1 {
- margin-top: 0.25rem;
-}
-
-.mt-10 {
- margin-top: 2.5rem;
-}
-
-.mt-12 {
- margin-top: 3rem;
-}
-
-.mt-14 {
- margin-top: 3.5rem;
-}
-
-.mt-16 {
- margin-top: 4rem;
-}
-
-.mt-2 {
- margin-top: 0.5rem;
-}
-
-.mt-28 {
- margin-top: 7rem;
-}
-
-.mt-3 {
- margin-top: 0.75rem;
-}
-
-.mt-32 {
- margin-top: 8rem;
-}
-
-.mt-4 {
- margin-top: 1rem;
-}
-
-.mt-5 {
- margin-top: 1.25rem;
-}
-
-.mt-7 {
- margin-top: 1.75rem;
-}
-
-.mt-\[10rem\] {
- margin-top: 10rem;
-}
-
-.mt-\[2\.2rem\] {
- margin-top: 2.2rem;
-}
-
-.mt-\[30vh\] {
- margin-top: 30vh;
-}
-
-.block {
- display: block;
-}
-
-.inline {
- display: inline;
-}
-
-.flex {
- display: flex;
-}
-
-.table {
- display: table;
-}
-
-.grid {
- display: grid;
-}
-
-.contents {
- display: contents;
-}
-
-.hidden {
- display: none;
-}
-
-.aspect-square {
- aspect-ratio: 1 / 1;
-}
-
-.h-10 {
- height: 2.5rem;
-}
-
-.h-2 {
- height: 0.5rem;
-}
-
-.h-20 {
- height: 5rem;
-}
-
-.h-4 {
- height: 1rem;
-}
-
-.h-\[10px\] {
- height: 10px;
-}
-
-.h-\[200px\] {
- height: 200px;
-}
-
-.h-\[25px\] {
- height: 25px;
-}
-
-.h-\[27px\] {
- height: 27px;
-}
-
-.h-\[2px\] {
- height: 2px;
-}
-
-.h-\[30px\] {
- height: 30px;
-}
-
-.h-\[35px\] {
- height: 35px;
-}
-
-.h-\[3px\] {
- height: 3px;
-}
-
-.h-\[40px\] {
- height: 40px;
-}
-
-.h-\[50px\] {
- height: 50px;
-}
-
-.h-\[50vh\] {
- height: 50vh;
-}
-
-.h-\[70px\] {
- height: 70px;
-}
-
-.h-fit {
- height: -moz-fit-content;
- height: fit-content;
-}
-
-.h-full {
- height: 100%;
-}
-
-.h-screen {
- height: 100vh;
-}
-
-.max-h-\[45vh\] {
- max-height: 45vh;
-}
-
-.min-h-\[15vh\] {
- min-height: 15vh;
-}
-
-.min-h-\[20px\] {
- min-height: 20px;
-}
-
-.w-0 {
- width: 0px;
-}
-
-.w-10 {
- width: 2.5rem;
-}
-
-.w-2 {
- width: 0.5rem;
-}
-
-.w-4 {
- width: 1rem;
-}
-
-.w-\[120px\] {
- width: 120px;
-}
-
-.w-\[200px\] {
- width: 200px;
-}
-
-.w-\[20px\] {
- width: 20px;
-}
-
-.w-\[250px\] {
- width: 250px;
-}
-
-.w-\[27px\] {
- width: 27px;
-}
-
-.w-\[300px\] {
- width: 300px;
-}
-
-.w-\[30px\] {
- width: 30px;
-}
-
-.w-\[35px\] {
- width: 35px;
-}
-
-.w-\[40\%\] {
- width: 40%;
-}
-
-.w-\[40px\] {
- width: 40px;
-}
-
-.w-\[50\%\] {
- width: 50%;
-}
-
-.w-\[50px\] {
- width: 50px;
-}
-
-.w-\[70\%\] {
- width: 70%;
-}
-
-.w-\[70px\] {
- width: 70px;
-}
-
-.w-\[85\%\] {
- width: 85%;
-}
-
-.w-\[90px\] {
- width: 90px;
-}
-
-.w-\[90vw\] {
- width: 90vw;
-}
-
-.w-fit {
- width: -moz-fit-content;
- width: fit-content;
-}
-
-.w-full {
- width: 100%;
-}
-
-.w-screen {
- width: 100vw;
-}
-
-.max-w-\[45vw\] {
- max-width: 45vw;
-}
-
-.origin-left {
- transform-origin: left;
-}
-
-.-translate-y-\[1px\] {
- --tw-translate-y: -1px;
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
-}
-
-.-rotate-45 {
- --tw-rotate: -45deg;
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
-}
-
-.rotate-45 {
- --tw-rotate: 45deg;
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
-}
-
-.rotate-\[15deg\] {
- --tw-rotate: 15deg;
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
-}
-
-.scale-\[0\.70\] {
- --tw-scale-x: 0.70;
- --tw-scale-y: 0.70;
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
-}
-
-.transform {
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
-}
-
-@keyframes spin {
- to {
- transform: rotate(360deg);
- }
-}
-
-.animate-spin {
- animation: spin 1s linear infinite;
-}
-
-.cursor-pointer {
- cursor: pointer;
-}
-
-.list-disc {
- list-style-type: disc;
-}
-
-.grid-cols-5 {
- grid-template-columns: repeat(5, minmax(0, 1fr));
-}
-
-.flex-col {
- flex-direction: column;
-}
-
-.flex-col-reverse {
- flex-direction: column-reverse;
-}
-
-.flex-wrap {
- flex-wrap: wrap;
-}
-
-.items-start {
- align-items: flex-start;
-}
-
-.items-end {
- align-items: flex-end;
-}
-
-.items-center {
- align-items: center;
-}
-
-.justify-start {
- justify-content: flex-start;
-}
-
-.justify-center {
- justify-content: center;
-}
-
-.justify-between {
- justify-content: space-between;
-}
-
-.justify-around {
- justify-content: space-around;
-}
-
-.justify-items-center {
- justify-items: center;
-}
-
-.gap-x-3 {
- -moz-column-gap: 0.75rem;
- column-gap: 0.75rem;
-}
-
-.gap-y-3 {
- row-gap: 0.75rem;
-}
-
-.self-start {
- align-self: flex-start;
-}
-
-.overflow-hidden {
- overflow: hidden;
-}
-
-.overflow-y-scroll {
- overflow-y: scroll;
-}
-
-.scroll-smooth {
- scroll-behavior: smooth;
-}
-
-.text-ellipsis {
- text-overflow: ellipsis;
-}
-
-.whitespace-nowrap {
- white-space: nowrap;
-}
-
-.whitespace-pre-wrap {
- white-space: pre-wrap;
-}
-
-.rounded {
- border-radius: 0.25rem;
-}
-
-.rounded-2xl {
- border-radius: 1rem;
-}
-
-.rounded-\[50\%\] {
- border-radius: 50%;
-}
-
-.rounded-full {
- border-radius: 9999px;
-}
-
-.rounded-lg {
- border-radius: 0.5rem;
-}
-
-.rounded-md {
- border-radius: 0.375rem;
-}
-
-.rounded-xl {
- border-radius: 0.75rem;
-}
-
-.rounded-bl-xl {
- border-bottom-left-radius: 0.75rem;
-}
-
-.rounded-br-xl {
- border-bottom-right-radius: 0.75rem;
-}
-
-.rounded-tl-2xl {
- border-top-left-radius: 1rem;
-}
-
-.rounded-tl-full {
- border-top-left-radius: 9999px;
-}
-
-.rounded-tl-xl {
- border-top-left-radius: 0.75rem;
-}
-
-.rounded-tr-2xl {
- border-top-right-radius: 1rem;
-}
-
-.rounded-tr-full {
- border-top-right-radius: 9999px;
-}
-
-.rounded-tr-xl {
- border-top-right-radius: 0.75rem;
-}
-
-.border-\[1px\] {
- border-width: 1px;
-}
-
-.border-\[2px\] {
- border-width: 2px;
-}
-
-.border-\[3px\] {
- border-width: 3px;
-}
-
-.border-\[4px\] {
- border-width: 4px;
-}
-
-.border-\[5px\] {
- border-width: 5px;
-}
-
-.border-\[8px\] {
- border-width: 8px;
-}
-
-.border-b-\[1px\] {
- border-bottom-width: 1px;
-}
-
-.border-b-\[2px\] {
- border-bottom-width: 2px;
-}
-
-.border-l-\[1px\] {
- border-left-width: 1px;
-}
-
-.border-l-\[7px\] {
- border-left-width: 7px;
-}
-
-.border-t-\[1px\] {
- border-top-width: 1px;
-}
-
-.border-t-\[3px\] {
- border-top-width: 3px;
-}
-
-.border-t-\[4px\] {
- border-top-width: 4px;
-}
-
-.border-t-\[5px\] {
- border-top-width: 5px;
-}
-
-.border-\[rgb\(22\2c _163\2c _74\)\] {
- --tw-border-opacity: 1;
- border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
-}
-
-.border-\[rgb\(249\2c _115\2c _22\)\] {
- --tw-border-opacity: 1;
- border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
-}
-
-.border-\[rgb\(255\2c _29\2c _72\)\] {
- --tw-border-opacity: 1;
- border-color: rgb(255 29 72 / var(--tw-border-opacity, 1));
-}
-
-.border-\[rgba\(255\2c _255\2c _255\2c _0\.15\)\] {
- border-color: rgba(255, 255, 255, 0.15);
-}
-
-.border-\[transparent\] {
- border-color: transparent;
-}
-
-.border-accent_primary {
- --tw-border-opacity: 1;
- border-color: rgb(56 189 248 / var(--tw-border-opacity, 1));
-}
-
-.border-accent_primary_transparent {
- border-color: rgba(56, 189, 248, 0.30);
-}
-
-.border-accent_secondary {
- --tw-border-opacity: 1;
- border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
-}
-
-.border-accent_secondary_transparent {
- border-color: rgba(255, 255, 255, 0.30);
-}
-
-.border-accent_three {
- --tw-border-opacity: 1;
- border-color: rgb(217 217 217 / var(--tw-border-opacity, 1));
-}
-
-.border-b-accent_secondary_transparent {
- border-bottom-color: rgba(255, 255, 255, 0.30);
-}
-
-.border-l-accent_primary {
- --tw-border-opacity: 1;
- border-left-color: rgb(56 189 248 / var(--tw-border-opacity, 1));
-}
-
-.border-l-bg_primary {
- --tw-border-opacity: 1;
- border-left-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
-}
-
-.border-t-accent_primary {
- --tw-border-opacity: 1;
- border-top-color: rgb(56 189 248 / var(--tw-border-opacity, 1));
-}
-
-.bg-\[rgba\(0\2c _0\2c _0\2c _0\.4\)\] {
- background-color: rgba(0, 0, 0, 0.4);
-}
-
-.bg-\[rgba\(22\2c _163\2c _74\2c _0\.2\)\] {
- background-color: rgba(22, 163, 74, 0.2);
-}
-
-.bg-\[rgba\(249\2c _115\2c _22\2c _0\.2\)\] {
- background-color: rgba(249, 115, 22, 0.2);
-}
-
-.bg-\[rgba\(255\2c 255\2c 255\2c 0\.15\)\] {
- background-color: rgba(255,255,255,0.15);
-}
-
-.bg-\[rgba\(255\2c _255\2c _255\2c _0\.25\)\] {
- background-color: rgba(255, 255, 255, 0.25);
-}
-
-.bg-\[rgba\(255\2c _29\2c _72\2c _0\.2\)\] {
- background-color: rgba(255, 29, 72, 0.2);
-}
-
-.bg-accent_four {
- --tw-bg-opacity: 1;
- background-color: rgb(172 203 222 / var(--tw-bg-opacity, 1));
-}
-
-.bg-accent_primary {
- --tw-bg-opacity: 1;
- background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));
-}
-
-.bg-accent_primary_extratransparent {
- background-color: rgba(56, 189, 248, 0.15);
-}
-
-.bg-accent_primary_transparent {
- background-color: rgba(56, 189, 248, 0.30);
-}
-
-.bg-bg_primary {
- --tw-bg-opacity: 1;
- background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
-}
-
-.bg-bg_secondary {
- --tw-bg-opacity: 1;
- background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
-}
-
-.bg-bg_third {
- --tw-bg-opacity: 1;
- background-color: rgb(38 51 74 / var(--tw-bg-opacity, 1));
-}
-
-.bg-gradient-to-r {
- background-image: linear-gradient(to right, var(--tw-gradient-stops));
-}
-
-.bg-radiul-gradient-secondary-transparent {
- background-image: radial-gradient(at top left, transparent 65%, #1E293B 35%);
-}
-
-.bg-radiul-gradient-transparent-secondary {
- background-image: radial-gradient(at top right, transparent 65%, #1E293B 35%);
-}
-
-.from-bg_third {
- --tw-gradient-from: #26334A var(--tw-gradient-from-position);
- --tw-gradient-to: rgb(38 51 74 / 0) var(--tw-gradient-to-position);
- --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
-}
-
-.bg-clip-padding {
- background-clip: padding-box;
-}
-
-.p-1 {
- padding: 0.25rem;
-}
-
-.p-10 {
- padding: 2.5rem;
-}
-
-.p-2 {
- padding: 0.5rem;
-}
-
-.p-3 {
- padding: 0.75rem;
-}
-
-.p-4 {
- padding: 1rem;
-}
-
-.p-5 {
- padding: 1.25rem;
-}
-
-.p-\[0\.30rem\] {
- padding: 0.30rem;
-}
-
-.p-\[1\.15rem\] {
- padding: 1.15rem;
-}
-
-.px-1 {
- padding-left: 0.25rem;
- padding-right: 0.25rem;
-}
-
-.px-2 {
- padding-left: 0.5rem;
- padding-right: 0.5rem;
-}
-
-.px-3 {
- padding-left: 0.75rem;
- padding-right: 0.75rem;
-}
-
-.px-4 {
- padding-left: 1rem;
- padding-right: 1rem;
-}
-
-.px-5 {
- padding-left: 1.25rem;
- padding-right: 1.25rem;
-}
-
-.px-6 {
- padding-left: 1.5rem;
- padding-right: 1.5rem;
-}
-
-.px-7 {
- padding-left: 1.75rem;
- padding-right: 1.75rem;
-}
-
-.px-\[0\.80rem\] {
- padding-left: 0.80rem;
- padding-right: 0.80rem;
-}
-
-.px-\[0\.85rem\] {
- padding-left: 0.85rem;
- padding-right: 0.85rem;
-}
-
-.px-\[1\.30rem\] {
- padding-left: 1.30rem;
- padding-right: 1.30rem;
-}
-
-.px-\[1\.35rem\] {
- padding-left: 1.35rem;
- padding-right: 1.35rem;
-}
-
-.px-\[1rem\] {
- padding-left: 1rem;
- padding-right: 1rem;
-}
-
-.py-1 {
- padding-top: 0.25rem;
- padding-bottom: 0.25rem;
-}
-
-.py-2 {
- padding-top: 0.5rem;
- padding-bottom: 0.5rem;
-}
-
-.py-3 {
- padding-top: 0.75rem;
- padding-bottom: 0.75rem;
-}
-
-.py-4 {
- padding-top: 1rem;
- padding-bottom: 1rem;
-}
-
-.py-5 {
- padding-top: 1.25rem;
- padding-bottom: 1.25rem;
-}
-
-.py-6 {
- padding-top: 1.5rem;
- padding-bottom: 1.5rem;
-}
-
-.py-7 {
- padding-top: 1.75rem;
- padding-bottom: 1.75rem;
-}
-
-.py-\[0\.05rem\] {
- padding-top: 0.05rem;
- padding-bottom: 0.05rem;
-}
-
-.py-\[0\.10rem\] {
- padding-top: 0.10rem;
- padding-bottom: 0.10rem;
-}
-
-.py-\[0\.15rem\] {
- padding-top: 0.15rem;
- padding-bottom: 0.15rem;
-}
-
-.py-\[0\.30rem\] {
- padding-top: 0.30rem;
- padding-bottom: 0.30rem;
-}
-
-.pb-1 {
- padding-bottom: 0.25rem;
-}
-
-.pb-5 {
- padding-bottom: 1.25rem;
-}
-
-.text-center {
- text-align: center;
-}
-
-.font-cormorant {
- font-family: "Cormorant Upright", serif;
-}
-
-.font-lexend {
- font-family: "Lexend Deca", sans-serif;
-}
-
-.text-2xl {
- font-size: 1.5rem;
- line-height: 2rem;
-}
-
-.text-3xl {
- font-size: 1.875rem;
- line-height: 2.25rem;
-}
-
-.text-4xl {
- font-size: 2.25rem;
- line-height: 2.5rem;
-}
-
-.text-9xl {
- font-size: 8rem;
- line-height: 1;
-}
-
-.text-\[0\.50rem\] {
- font-size: 0.50rem;
-}
-
-.text-base {
- font-size: 1rem;
- line-height: 1.5rem;
-}
-
-.text-lg {
- font-size: 1.125rem;
- line-height: 1.75rem;
-}
-
-.text-sm {
- font-size: 0.875rem;
- line-height: 1.25rem;
-}
-
-.text-xl {
- font-size: 1.25rem;
- line-height: 1.75rem;
-}
-
-.text-xs {
- font-size: 0.75rem;
- line-height: 1rem;
-}
-
-.font-\[300\] {
- font-weight: 300;
-}
-
-.font-bold {
- font-weight: 700;
-}
-
-.font-light {
- font-weight: 300;
-}
-
-.uppercase {
- text-transform: uppercase;
-}
-
-.lowercase {
- text-transform: lowercase;
-}
-
-.text-\[rgb\(22\2c _163\2c _74\)\] {
- --tw-text-opacity: 1;
- color: rgb(22 163 74 / var(--tw-text-opacity, 1));
-}
-
-.text-\[rgb\(249\2c _115\2c _22\)\] {
- --tw-text-opacity: 1;
- color: rgb(249 115 22 / var(--tw-text-opacity, 1));
-}
-
-.text-\[rgb\(255\2c _29\2c _72\)\] {
- --tw-text-opacity: 1;
- color: rgb(255 29 72 / var(--tw-text-opacity, 1));
-}
-
-.text-\[transparent\] {
- color: transparent;
-}
-
-.text-accent_four {
- --tw-text-opacity: 1;
- color: rgb(172 203 222 / var(--tw-text-opacity, 1));
-}
-
-.text-accent_primary {
- --tw-text-opacity: 1;
- color: rgb(56 189 248 / var(--tw-text-opacity, 1));
-}
-
-.text-accent_secondary {
- --tw-text-opacity: 1;
- color: rgb(255 255 255 / var(--tw-text-opacity, 1));
-}
-
-.text-accent_three {
- --tw-text-opacity: 1;
- color: rgb(217 217 217 / var(--tw-text-opacity, 1));
-}
-
-.text-bg_primary {
- --tw-text-opacity: 1;
- color: rgb(15 23 42 / var(--tw-text-opacity, 1));
-}
-
-.text-bg_secondary {
- --tw-text-opacity: 1;
- color: rgb(30 41 59 / var(--tw-text-opacity, 1));
-}
-
-.caret-accent_primary {
- caret-color: #38BDF8;
-}
-
-.opacity-0 {
- opacity: 0;
-}
-
-.opacity-20 {
- opacity: 0.2;
-}
-
-.opacity-50 {
- opacity: 0.5;
-}
-
-.opacity-\[0\.70\] {
- opacity: 0.70;
-}
-
-.opacity-\[0\.75\] {
- opacity: 0.75;
-}
-
-.shadow-\[0px_0px_100px_10px\] {
- --tw-shadow: 0px 0px 100px 10px;
- --tw-shadow-colored: 0px 0px 100px 10px var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.shadow-\[0px_0px_120px_10px\] {
- --tw-shadow: 0px 0px 120px 10px;
- --tw-shadow-colored: 0px 0px 120px 10px var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.shadow-\[0px_0px_120px_20px\] {
- --tw-shadow: 0px 0px 120px 20px;
- --tw-shadow-colored: 0px 0px 120px 20px var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.shadow-\[0px_0px_150px_20px\] {
- --tw-shadow: 0px 0px 150px 20px;
- --tw-shadow-colored: 0px 0px 150px 20px var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.shadow-\[0px_0px_15px\] {
- --tw-shadow: 0px 0px 15px;
- --tw-shadow-colored: 0px 0px 15px var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.shadow-\[0px_0px_200px_30px\] {
- --tw-shadow: 0px 0px 200px 30px;
- --tw-shadow-colored: 0px 0px 200px 30px var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.shadow-\[0px_0px_300px_15px\] {
- --tw-shadow: 0px 0px 300px 15px;
- --tw-shadow-colored: 0px 0px 300px 15px var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.shadow-\[0px_0px_30px\] {
- --tw-shadow: 0px 0px 30px;
- --tw-shadow-colored: 0px 0px 30px var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.shadow-accent_primary {
- --tw-shadow-color: #38BDF8;
- --tw-shadow: var(--tw-shadow-colored);
-}
-
-.shadow-accent_primary_transparent {
- --tw-shadow-color: rgba(56, 189, 248, 0.30);
- --tw-shadow: var(--tw-shadow-colored);
-}
-
-.shadow-bg_primary {
- --tw-shadow-color: #0F172A;
- --tw-shadow: var(--tw-shadow-colored);
-}
-
-.outline-none {
- outline: 2px solid transparent;
- outline-offset: 2px;
-}
-
-.blur-2xl {
- --tw-blur: blur(40px);
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
-}
-
-.blur-3xl {
- --tw-blur: blur(64px);
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
-}
-
-.filter {
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
-}
-
-.transition {
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-duration: 150ms;
-}
-
-.transition-\[border-width\] {
- transition-property: border-width;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-duration: 150ms;
-}
-
-.transition-all {
- transition-property: all;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-duration: 150ms;
-}
-
-.duration-100 {
- transition-duration: 100ms;
-}
-
-.duration-200 {
- transition-duration: 200ms;
-}
-
-.duration-300 {
- transition-duration: 300ms;
-}
-
-.duration-500 {
- transition-duration: 500ms;
-}
-
-.no-scrollbar::-webkit-scrollbar {
- display: none;
-}
-
-.no-scrollbar {
- -ms-overflow-style: none;
- scrollbar-width: none;
-}
-
-.\[hostname\:port\] {
- hostname: port;
-}
-
-.before\:absolute::before {
- content: var(--tw-content);
- position: absolute;
-}
-
-.before\:-left-6::before {
- content: var(--tw-content);
- left: -1.5rem;
-}
-
-.before\:top-1\/2::before {
- content: var(--tw-content);
- top: 50%;
-}
-
-.before\:h-\[40px\]::before {
- content: var(--tw-content);
- height: 40px;
-}
-
-.before\:w-\[20px\]::before {
- content: var(--tw-content);
- width: 20px;
-}
-
-.before\:rounded-tr-full::before {
- content: var(--tw-content);
- border-top-right-radius: 9999px;
-}
-
-.before\:bg-bg_secondary::before {
- content: var(--tw-content);
- --tw-bg-opacity: 1;
- background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
-}
-
-.before\:shadow-\[0px_-10px_0_0_transparent\]::before {
- content: var(--tw-content);
- --tw-shadow: 0px -10px 0 0 transparent;
- --tw-shadow-colored: 0px -10px 0 0 var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.before\:content-\[\'\'\]::before {
- --tw-content: '';
- content: var(--tw-content);
-}
-
-.after\:absolute::after {
- content: var(--tw-content);
- position: absolute;
-}
-
-.after\:-right-6::after {
- content: var(--tw-content);
- right: -1.5rem;
-}
-
-.after\:top-1\/2::after {
- content: var(--tw-content);
- top: 50%;
-}
-
-.after\:h-\[40px\]::after {
- content: var(--tw-content);
- height: 40px;
-}
-
-.after\:w-\[20px\]::after {
- content: var(--tw-content);
- width: 20px;
-}
-
-.after\:rounded-tl-full::after {
- content: var(--tw-content);
- border-top-left-radius: 9999px;
-}
-
-.after\:bg-bg_secondary::after {
- content: var(--tw-content);
- --tw-bg-opacity: 1;
- background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
-}
-
-.after\:shadow-\[0px_-10px_0_0_transparent\]::after {
- content: var(--tw-content);
- --tw-shadow: 0px -10px 0 0 transparent;
- --tw-shadow-colored: 0px -10px 0 0 var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.after\:content-\[\'\'\]::after {
- --tw-content: '';
- content: var(--tw-content);
-}
-
-.last\:mb-3:last-child {
- margin-bottom: 0.75rem;
-}
-
-.invalid\:border-\[\#ff1c49\]:invalid {
- --tw-border-opacity: 1;
- border-color: rgb(255 28 73 / var(--tw-border-opacity, 1));
-}
-
-.hover\:scale-125:hover {
- --tw-scale-x: 1.25;
- --tw-scale-y: 1.25;
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
-}
-
-.hover\:rounded:hover {
- border-radius: 0.25rem;
-}
-
-.hover\:rounded-lg:hover {
- border-radius: 0.5rem;
-}
-
-.hover\:border-\[3px\]:hover {
- border-width: 3px;
-}
-
-.hover\:border-accent_primary:hover {
- --tw-border-opacity: 1;
- border-color: rgb(56 189 248 / var(--tw-border-opacity, 1));
-}
-
-.hover\:bg-accent_secondary:hover {
- --tw-bg-opacity: 1;
- background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
-}
-
-.hover\:bg-bg_third:hover {
- --tw-bg-opacity: 1;
- background-color: rgb(38 51 74 / var(--tw-bg-opacity, 1));
-}
-
-.hover\:text-accent_secondary:hover {
- --tw-text-opacity: 1;
- color: rgb(255 255 255 / var(--tw-text-opacity, 1));
-}
-
-.hover\:text-bg_primary:hover {
- --tw-text-opacity: 1;
- color: rgb(15 23 42 / var(--tw-text-opacity, 1));
-}
-
-.hover\:shadow-\[0px_0px_30px\]:hover {
- --tw-shadow: 0px 0px 30px;
- --tw-shadow-colored: 0px 0px 30px var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.hover\:shadow-lg:hover {
- --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
- --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
-}
-
-.hover\:shadow-accent_primary_extratransparent:hover {
- --tw-shadow-color: rgba(56, 189, 248, 0.15);
- --tw-shadow: var(--tw-shadow-colored);
-}
-
-.hover\:shadow-accent_primary_transparent:hover {
- --tw-shadow-color: rgba(56, 189, 248, 0.30);
- --tw-shadow: var(--tw-shadow-colored);
-}
-
-.hover\:shadow-accent_secondary_transparent:hover {
- --tw-shadow-color: rgba(255, 255, 255, 0.30);
- --tw-shadow: var(--tw-shadow-colored);
-}
-
-.focus\:border-accent_primary:focus {
- --tw-border-opacity: 1;
- border-color: rgb(56 189 248 / var(--tw-border-opacity, 1));
-}
-
-.group:hover .group-hover\:block {
- display: block;
-}
-
-.group:hover .group-hover\:flex {
- display: flex;
-}
-
-.group:hover .group-hover\:hidden {
- display: none;
-}
-
-.group:hover .group-hover\:w-full {
- width: 100%;
-}
-
-.peer:invalid ~ .peer-invalid\:text-\[\#ff1c49\] {
- --tw-text-opacity: 1;
- color: rgb(255 28 73 / var(--tw-text-opacity, 1));
-}
-
-.peer:focus ~ .peer-focus\:text-accent_primary {
- --tw-text-opacity: 1;
- color: rgb(56 189 248 / var(--tw-text-opacity, 1));
-}
-
-@media (min-width: 768px) {
- .md\:block {
- display: block;
- }
-
- .md\:max-h-\[60vh\] {
- max-height: 60vh;
- }
-
- .md\:w-\[150px\] {
- width: 150px;
- }
-
- .md\:w-\[40\%\] {
- width: 40%;
- }
-
- .md\:w-\[44vw\] {
- width: 44vw;
- }
-
- .md\:w-\[50vw\] {
- width: 50vw;
- }
-
- .md\:max-w-\[30vw\] {
- max-width: 30vw;
- }
-
- .md\:flex-row {
- flex-direction: row;
- }
-
- .md\:border-l-\[1px\] {
- border-left-width: 1px;
- }
-
- .md\:border-t-\[0px\] {
- border-top-width: 0px;
- }
-
- .md\:p-5 {
- padding: 1.25rem;
- }
-}
-
-@media (min-width: 1024px) {
- .lg\:bottom-\[-6rem\] {
- bottom: -6rem;
- }
-
- .lg\:bottom-\[9\.5rem\] {
- bottom: 9.5rem;
- }
-
- .lg\:left-8 {
- left: 2rem;
- }
-
- .lg\:left-\[4\.7rem\] {
- left: 4.7rem;
- }
-
- .lg\:left-auto {
- left: auto;
- }
-
- .lg\:right-\[-7rem\] {
- right: -7rem;
- }
-
- .lg\:right-\[27rem\] {
- right: 27rem;
- }
-
- .lg\:right-\[3\.5rem\] {
- right: 3.5rem;
- }
-
- .lg\:right-\[5\.5rem\] {
- right: 5.5rem;
- }
-
- .lg\:top-\[-3\.7rem\] {
- top: -3.7rem;
- }
-
- .lg\:top-\[13rem\] {
- top: 13rem;
- }
-
- .lg\:top-\[27rem\] {
- top: 27rem;
- }
-
- .lg\:top-\[8\.2rem\] {
- top: 8.2rem;
- }
-
- .lg\:z-10 {
- z-index: 10;
- }
-
- .lg\:my-2 {
- margin-top: 0.5rem;
- margin-bottom: 0.5rem;
- }
-
- .lg\:my-6 {
- margin-top: 1.5rem;
- margin-bottom: 1.5rem;
- }
-
- .lg\:mb-0 {
- margin-bottom: 0px;
- }
-
- .lg\:mb-1 {
- margin-bottom: 0.25rem;
- }
-
- .lg\:mb-10 {
- margin-bottom: 2.5rem;
- }
-
- .lg\:mb-16 {
- margin-bottom: 4rem;
- }
-
- .lg\:mb-2 {
- margin-bottom: 0.5rem;
- }
-
- .lg\:mb-3 {
- margin-bottom: 0.75rem;
- }
-
- .lg\:mb-32 {
- margin-bottom: 8rem;
- }
-
- .lg\:ml-4 {
- margin-left: 1rem;
- }
-
- .lg\:ml-5 {
- margin-left: 1.25rem;
- }
-
- .lg\:mr-10 {
- margin-right: 2.5rem;
- }
-
- .lg\:mr-5 {
- margin-right: 1.25rem;
- }
-
- .lg\:mr-\[12\.5rem\] {
- margin-right: 12.5rem;
- }
-
- .lg\:mr-\[6\.5rem\] {
- margin-right: 6.5rem;
- }
-
- .lg\:mt-0 {
- margin-top: 0px;
- }
-
- .lg\:mt-1 {
- margin-top: 0.25rem;
- }
-
- .lg\:mt-16 {
- margin-top: 4rem;
- }
-
- .lg\:mt-2 {
- margin-top: 0.5rem;
- }
-
- .lg\:mt-20 {
- margin-top: 5rem;
- }
-
- .lg\:mt-5 {
- margin-top: 1.25rem;
- }
-
- .lg\:mt-\[2\.5rem\] {
- margin-top: 2.5rem;
- }
-
- .lg\:mt-\[3\.5rem\] {
- margin-top: 3.5rem;
- }
-
- .lg\:mt-\[6\.5rem\] {
- margin-top: 6.5rem;
- }
-
- .lg\:mt-\[7rem\] {
- margin-top: 7rem;
- }
-
- .lg\:block {
- display: block;
- }
-
- .lg\:flex {
- display: flex;
- }
-
- .lg\:hidden {
- display: none;
- }
-
- .lg\:h-\[230px\] {
- height: 230px;
- }
-
- .lg\:w-\[100px\] {
- width: 100px;
- }
-
- .lg\:w-\[120px\] {
- width: 120px;
- }
-
- .lg\:w-\[230px\] {
- width: 230px;
- }
-
- .lg\:w-\[25\%\] {
- width: 25%;
- }
-
- .lg\:w-\[330px\] {
- width: 330px;
- }
-
- .lg\:w-\[350px\] {
- width: 350px;
- }
-
- .lg\:w-\[40\%\] {
- width: 40%;
- }
-
- .lg\:w-\[50\%\] {
- width: 50%;
- }
-
- .lg\:w-auto {
- width: auto;
- }
-
- .lg\:max-w-\[40\%\] {
- max-width: 40%;
- }
-
- .lg\:rotate-0 {
- --tw-rotate: 0deg;
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
- }
-
- .lg\:grid-cols-4 {
- grid-template-columns: repeat(4, minmax(0, 1fr));
- }
-
- .lg\:flex-row {
- flex-direction: row;
- }
-
- .lg\:flex-nowrap {
- flex-wrap: nowrap;
- }
-
- .lg\:justify-end {
- justify-content: flex-end;
- }
-
- .lg\:justify-between {
- justify-content: space-between;
- }
-
- .lg\:whitespace-nowrap {
- white-space: nowrap;
- }
-
- .lg\:px-0 {
- padding-left: 0px;
- padding-right: 0px;
- }
-
- .lg\:px-\[3\.5rem\] {
- padding-left: 3.5rem;
- padding-right: 3.5rem;
- }
-
- .lg\:px-\[4\.5rem\] {
- padding-left: 4.5rem;
- padding-right: 4.5rem;
- }
-
- .lg\:py-9 {
- padding-top: 2.25rem;
- padding-bottom: 2.25rem;
- }
-
- .lg\:text-start {
- text-align: start;
- }
-
- .lg\:text-2xl {
- font-size: 1.5rem;
- line-height: 2rem;
- }
-
- .lg\:text-3xl {
- font-size: 1.875rem;
- line-height: 2.25rem;
- }
-
- .lg\:text-4xl {
- font-size: 2.25rem;
- line-height: 2.5rem;
- }
-
- .lg\:text-6xl {
- font-size: 3.75rem;
- line-height: 1;
- }
-
- .lg\:text-xl {
- font-size: 1.25rem;
- line-height: 1.75rem;
- }
-
- .lg\:blur-lg {
- --tw-blur: blur(16px);
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
- }
-}
-
-@media (min-width: 1280px) {
- .xl\:grid-cols-6 {
- grid-template-columns: repeat(6, minmax(0, 1fr));
- }
-}
-
-@media (min-width: 1536px) {
- .\32xl\:bottom-\[9rem\] {
- bottom: 9rem;
- }
-
- .\32xl\:left-\[5\.3rem\] {
- left: 5.3rem;
- }
-
- .\32xl\:right-\[-13rem\] {
- right: -13rem;
- }
-
- .\32xl\:right-\[27rem\] {
- right: 27rem;
- }
-
- .\32xl\:right-\[4rem\] {
- right: 4rem;
- }
-
- .\32xl\:right-\[5\.5rem\] {
- right: 5.5rem;
- }
-
- .\32xl\:top-\[15rem\] {
- top: 15rem;
- }
-
- .\32xl\:top-\[28\.5rem\] {
- top: 28.5rem;
- }
-
- .\32xl\:top-\[7rem\] {
- top: 7rem;
- }
-
- .\32xl\:mb-10 {
- margin-bottom: 2.5rem;
- }
-
- .\32xl\:mb-32 {
- margin-bottom: 8rem;
- }
-
- .\32xl\:mt-16 {
- margin-top: 4rem;
- }
-
- .\32xl\:mt-24 {
- margin-top: 6rem;
- }
-}
\ No newline at end of file
diff --git a/htdocs/core/composer.json b/htdocs/core/composer.json
deleted file mode 100644
index d011e33..0000000
--- a/htdocs/core/composer.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "require": {
- "vlucas/phpdotenv": "^5.6",
- "phpmailer/phpmailer": "^6.9"
- }
-}
diff --git a/htdocs/core/router.php b/htdocs/core/router.php
deleted file mode 100644
index bb3baf1..0000000
--- a/htdocs/core/router.php
+++ /dev/null
@@ -1,51 +0,0 @@
- 'home.php',
- '/projects' => 'projects.php',
- '/blog' => 'blog.php',
- '/contact' => 'contact.php',
- '/privacy-policy' => 'policy.php',
- '/terms-of-use' => 'terms.php',
- '/dmca' => 'dmca.php',
-];
-
-$devRoutes = [
- '/neosubhamoy/htdocs/' => 'home.php',
- '/neosubhamoy/htdocs/projects' => 'projects.php',
- '/neosubhamoy/htdocs/blog' => 'blog.php',
- '/neosubhamoy/htdocs/contact' => 'contact.php',
- '/neosubhamoy/htdocs/privacy-policy' => 'policy.php',
- '/neosubhamoy/htdocs/terms-of-use' => 'terms.php',
- '/neosubhamoy/htdocs/dmca' => 'dmca.php',
-];
-
-if ($host == "localhost" || $host == $_ENV['LOCAL_IP']) {
- $routes = $devRoutes;
-}
-else {
- $routes = $serverRoutes;
-}
-
-function routeTraffictToPages($uri, $routes) {
- if(array_key_exists($uri, $routes)) {
- require $routes[$uri];
- }
- else {
- error_page(404);
- }
-}
-
-function error_page($status_code) {
- http_response_code($status_code);
- require "error/{$status_code}.php";
- die();
-}
-
-routeTraffictToPages($uri, $routes);
-
-?>
\ No newline at end of file
diff --git a/htdocs/core/vendor/autoload.php b/htdocs/core/vendor/autoload.php
deleted file mode 100644
index 2f3028b..0000000
--- a/htdocs/core/vendor/autoload.php
+++ /dev/null
@@ -1,25 +0,0 @@
-
- * Jordi Boggiano
- */
- public function map(callable $f)
- {
- return self::create($this->value);
- }
-
- /**
- * Flat map over the success value.
- *
- * @template S
- * @template F
- *
- * @param callable(T):\GrahamCampbell\ResultType\Result $f
- *
- * @return \GrahamCampbell\ResultType\Result
- */
- public function flatMap(callable $f)
- {
- /** @var \GrahamCampbell\ResultType\Result */
- return self::create($this->value);
- }
-
- /**
- * Get the error option value.
- *
- * @return \PhpOption\Option
- */
- abstract public function map(callable $f);
-
- /**
- * Flat map over the success value.
- *
- * @template S
- * @template F
- *
- * @param callable(T):\GrahamCampbell\ResultType\Result $f
- *
- * @return \GrahamCampbell\ResultType\Result
- */
- abstract public function flatMap(callable $f);
-
- /**
- * Get the error option value.
- *
- * @return \PhpOption\Option
- */
- public static function create($value)
- {
- return new self($value);
- }
-
- /**
- * Get the success option value.
- *
- * @return \PhpOption\Option
- */
- public function map(callable $f)
- {
- return self::create($f($this->value));
- }
-
- /**
- * Flat map over the success value.
- *
- * @template S
- * @template F
- *
- * @param callable(T):\GrahamCampbell\ResultType\Result $f
- *
- * @return \GrahamCampbell\ResultType\Result
- */
- public function flatMap(callable $f)
- {
- return $f($this->value);
- }
-
- /**
- * Get the error option value.
- *
- * @return \PhpOption\Option
-
-Donations are very welcome, whether in beer 🍺, T-shirts 👕, or cold, hard cash 💰. Sponsorship through GitHub is a simple and convenient way to say "thank you" to PHPMailer's maintainers and contributors – just click the "Sponsor" button [on the project page](https://github.com/PHPMailer/PHPMailer). If your company uses PHPMailer, consider taking part in Tidelift's enterprise support programme.
-
-## PHPMailer For Enterprise
-
-Available as part of the Tidelift Subscription.
-
-The maintainers of PHPMailer and thousands of other packages are working with Tidelift to deliver commercial
-support and maintenance for the open-source packages you use to build your applications. Save time, reduce risk, and
-improve code health, while paying the maintainers of the exact packages you
-use. [Learn more.](https://tidelift.com/subscription/pkg/packagist-phpmailer-phpmailer?utm_source=packagist-phpmailer-phpmailer&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
-
-## Changelog
-See [changelog](changelog.md).
-
-## History
-- PHPMailer was originally written in 2001 by Brent R. Matzelle as a [SourceForge project](http://sourceforge.net/projects/phpmailer/).
-- [Marcus Bointon](https://github.com/Synchro) (`coolbru` on SF) and Andy Prevost (`codeworxtech`) took over the project in 2004.
-- Became an Apache incubator project on Google Code in 2010, managed by Jim Jagielski.
-- Marcus created [his fork on GitHub](https://github.com/Synchro/PHPMailer) in 2008.
-- Jim and Marcus decide to join forces and use GitHub as the canonical and official repo for PHPMailer in 2013.
-- PHPMailer moves to [the PHPMailer organisation](https://github.com/PHPMailer) on GitHub in 2013.
-
-### What's changed since moving from SourceForge?
-- Official successor to the SourceForge and Google Code projects.
-- Test suite.
-- Continuous integration with GitHub Actions.
-- Composer support.
-- Public development.
-- Additional languages and language strings.
-- CRAM-MD5 authentication support.
-- Preserves full repo history of authors, commits, and branches from the original SourceForge project.
diff --git a/htdocs/core/vendor/phpmailer/phpmailer/SECURITY.md b/htdocs/core/vendor/phpmailer/phpmailer/SECURITY.md
deleted file mode 100644
index 035a87f..0000000
--- a/htdocs/core/vendor/phpmailer/phpmailer/SECURITY.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# Security notices relating to PHPMailer
-
-Please disclose any security issues or vulnerabilities found through [Tidelift's coordinated disclosure system](https://tidelift.com/security) or to the maintainers privately.
-
-PHPMailer 6.4.1 and earlier contain a vulnerability that can result in untrusted code being called (if such code is injected into the host project's scope by other means). If the `$patternselect` parameter to `validateAddress()` is set to `'php'` (the default, defined by `PHPMailer::$validator`), and the global namespace contains a function called `php`, it will be called in preference to the built-in validator of the same name. Mitigated in PHPMailer 6.5.0 by denying the use of simple strings as validator function names. Recorded as [CVE-2021-3603](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-3603). Reported by [Vikrant Singh Chauhan](mailto:vi@hackberry.xyz) via [huntr.dev](https://www.huntr.dev/).
-
-PHPMailer versions 6.4.1 and earlier contain a possible remote code execution vulnerability through the `$lang_path` parameter of the `setLanguage()` method. If the `$lang_path` parameter is passed unfiltered from user input, it can be set to [a UNC path](https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats#unc-paths), and if an attacker is also able to persuade the server to load a file from that UNC path, a script file under their control may be executed. This vulnerability only applies to systems that resolve UNC paths, typically only Microsoft Windows.
-PHPMailer 6.5.0 mitigates this by no longer treating translation files as PHP code, but by parsing their text content directly. This approach avoids the possibility of executing unknown code while retaining backward compatibility. This isn't ideal, so the current translation format is deprecated and will be replaced in the next major release. Recorded as [CVE-2021-34551](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-34551). Reported by [Jilin Diting Information Technology Co., Ltd](https://listensec.com) via Tidelift.
-
-PHPMailer versions between 6.1.8 and 6.4.0 contain a regression of the earlier CVE-2018-19296 object injection vulnerability as a result of [a fix for Windows UNC paths in 6.1.8](https://github.com/PHPMailer/PHPMailer/commit/e2e07a355ee8ff36aba21d0242c5950c56e4c6f9). Recorded as [CVE-2020-36326](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-36326). Reported by Fariskhi Vidyan via Tidelift. 6.4.1 fixes this issue, and also enforces stricter checks for URL schemes in local path contexts.
-
-PHPMailer versions 6.1.5 and earlier contain an output escaping bug that occurs in `Content-Type` and `Content-Disposition` when filenames passed into `addAttachment` and other methods that accept attachment names contain double quote characters, in contravention of RFC822 3.4.1. No specific vulnerability has been found relating to this, but it could allow file attachments to bypass attachment filters that are based on matching filename extensions. Recorded as [CVE-2020-13625](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-13625). Reported by Elar Lang of Clarified Security.
-
-PHPMailer versions prior to 6.0.6 and 5.2.27 are vulnerable to an object injection attack by passing `phar://` paths into `addAttachment()` and other functions that may receive unfiltered local paths, possibly leading to RCE. Recorded as [CVE-2018-19296](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-19296). See [this article](https://knasmueller.net/5-answers-about-php-phar-exploitation) for more info on this type of vulnerability. Mitigated by blocking the use of paths containing URL-protocol style prefixes such as `phar://`. Reported by Sehun Oh of cyberone.kr.
-
-PHPMailer versions prior to 5.2.24 (released July 26th 2017) have an XSS vulnerability in one of the code examples, [CVE-2017-11503](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-11503). The `code_generator.phps` example did not filter user input prior to output. This file is distributed with a `.phps` extension, so it it not normally executable unless it is explicitly renamed, and the file is not included when PHPMailer is loaded through composer, so it is safe by default. There was also an undisclosed potential XSS vulnerability in the default exception handler (unused by default). Patches for both issues kindly provided by Patrick Monnerat of the Fedora Project.
-
-PHPMailer versions prior to 5.2.22 (released January 9th 2017) have a local file disclosure vulnerability, [CVE-2017-5223](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-5223). If content passed into `msgHTML()` is sourced from unfiltered user input, relative paths can map to absolute local file paths and added as attachments. Also note that `addAttachment` (just like `file_get_contents`, `passthru`, `unlink`, etc) should not be passed user-sourced params either! Reported by Yongxiang Li of Asiasecurity.
-
-PHPMailer versions prior to 5.2.20 (released December 28th 2016) are vulnerable to [CVE-2016-10045](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10045) a remote code execution vulnerability, responsibly reported by [Dawid Golunski](https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10045-Vuln-Patch-Bypass.html), and patched by Paul Buonopane (@Zenexer).
-
-PHPMailer versions prior to 5.2.18 (released December 2016) are vulnerable to [CVE-2016-10033](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10033) a remote code execution vulnerability, responsibly reported by [Dawid Golunski](http://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10033-Vuln.html).
-
-PHPMailer versions prior to 5.2.14 (released November 2015) are vulnerable to [CVE-2015-8476](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-8476) an SMTP CRLF injection bug permitting arbitrary message sending.
-
-PHPMailer versions prior to 5.2.10 (released May 2015) are vulnerable to [CVE-2008-5619](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-5619), a remote code execution vulnerability in the bundled html2text library. This file was removed in 5.2.10, so if you are using a version prior to that and make use of the html2text function, it's vitally important that you upgrade and remove this file.
-
-PHPMailer versions prior to 2.0.7 and 2.2.1 are vulnerable to [CVE-2012-0796](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-0796), an email header injection attack.
-
-Joomla 1.6.0 uses PHPMailer in an unsafe way, allowing it to reveal local file paths, reported in [CVE-2011-3747](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-3747).
-
-PHPMailer didn't sanitise the `$lang_path` parameter in `SetLanguage`. This wasn't a problem in itself, but some apps (PHPClassifieds, ATutor) also failed to sanitise user-provided parameters passed to it, permitting semi-arbitrary local file inclusion, reported in [CVE-2010-4914](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-4914), [CVE-2007-2021](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-2021) and [CVE-2006-5734](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2006-5734).
-
-PHPMailer 1.7.2 and earlier contained a possible DDoS vulnerability reported in [CVE-2005-1807](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2005-1807).
-
-PHPMailer 1.7 and earlier (June 2003) have a possible vulnerability in the `SendmailSend` method where shell commands may not be sanitised. Reported in [CVE-2007-3215](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-3215).
-
diff --git a/htdocs/core/vendor/phpmailer/phpmailer/UPGRADING.md b/htdocs/core/vendor/phpmailer/phpmailer/UPGRADING.md
deleted file mode 100644
index 31bca7a..0000000
--- a/htdocs/core/vendor/phpmailer/phpmailer/UPGRADING.md
+++ /dev/null
@@ -1,125 +0,0 @@
-# Upgrading from PHPMailer 5.2 to 6.0
-
-PHPMailer 6.0 is a major update, breaking backward compatibility.
-
-If you're in doubt about how you should be using PHPMailer 6, take a look at the examples as they have all been updated to work in a PHPMailer 6.0 style.
-
-## PHP Version
-
-PHPMailer 6.0 requires PHP 5.5 or later, and is fully compatible with PHP 7.0. PHPMailer 5.2 supported PHP 5.0 and upwards, so if you need to run on a legacy PHP version, see the [PHPMailer 5.2-stable branch on Github](https://github.com/PHPMailer/PHPMailer/tree/5.2-stable).
-
-## Loading PHPMailer
-
-The single biggest change will be in the way that you load PHPMailer. In earlier versions you may have done this:
-
-```php
-require 'PHPMailerAutoload.php';
-```
-
-or
-
-```php
-require 'class.phpmailer.php';
-require 'class.smtp.php';
-```
-
-We recommend that you load PHPMailer via composer, using its standard autoloader, which you probably won't need to load if you're using it already, but in case you're not, you will need to do this instead:
-
-```php
-require 'vendor/autoload.php';
-```
-
-If you're not using composer, you can still load the classes manually, depending on what you're using:
-
-```php
-require 'src/PHPMailer.php';
-require 'src/SMTP.php';
-require 'src/Exception.php';
-```
-
-## Namespace
-PHPMailer 6 uses a [namespace](http://php.net/manual/en/language.namespaces.rationale.php) of `PHPMailer\PHPMailer`, because it's the PHPMailer project within the PHPMailer organisation. You **must** import (with a `use` statement) classes you're using explicitly into your own namespace, or reference them absolutely in the global namespace - all the examples do this. This means the fully-qualified name of the main PHPMailer class is `PHPMailer\PHPMailer\PHPMailer`, which is a bit of a mouthful, but there's no harm in it! If you are using other PHPMailer classes explicitly (such as `SMTP` or `Exception`), you will need to import them into your namespace too.
-
-For example you might create an instance like this:
-
-```php
-errorMessage();
-} catch (Exception $e) {
- echo $e->getMessage();
-}
-```
-
-Convert it to:
-
-```php
-use PHPMailer\PHPMailer\Exception;
-...
-try {
-...
-} catch (Exception $e) {
- echo $e->errorMessage();
-} catch (\Exception $e) {
- echo $e->getMessage();
-}
-```
-
-## OAuth2 Support
-The OAuth2 implementation has been completely redesigned using the [OAuth2 packages](http://oauth2-client.thephpleague.com) from the [League of extraordinary packages](http://thephpleague.com), providing support for many more OAuth services, and you'll need to update your code if you were using OAuth in 5.2. See [the examples](https://github.com/PHPMailer/PHPMailer/tree/master/examples) and documentation in the [PHPMailer wiki](https://github.com/PHPMailer/PHPMailer/wiki).
-
-## Extras
-Additional classes previously bundled in the `Extras` folder (such as htmlfilter and EasyPeasyICS) have been removed - use equivalent packages from [packagist.org](https://packagist.org) instead.
-
-## Other upgrade changes
-See the changelog for full details.
-* File structure simplified, classes live in the `src/` folder
-* Most statically called functions now use the `static` keyword instead of `self`, so it's possible to override static internal functions in subclasses, for example `validateAddress()`
-* Complete RFC standardisation on CRLF (`\r\n`) line breaks by default:
- * `PHPMailer::$LE` still exists, but all uses of it are changed to `static::$LE` for easier overriding. It may be changed to `\n` automatically when sending via `mail()` on UNIX-like OSs
- * `PHPMailer::CRLF` line ending constant removed
- * The length of the line break is no longer used in line length calculations
- * Similar changes to line break handling in SMTP and POP3 classes
-* All elements previously marked as deprecated have been removed:
- * `PHPMailer->Version`
- * `PHPMailer->ReturnPath`
- * `PHPMailer->PluginDir`
- * `PHPMailer->encodeQPphp()`
- * `SMTP->CRLF`
- * `SMTP->Version`
- * `SMTP->SMTP_PORT`
- * `POP3->CRLF`
- * `POP3->Version`
-* NTLM authentication has been removed - it never worked anyway!
- * `PHPMailer->Workstation`
- * `PHPMailer->Realm`
-* `SMTP::authenticate` method signature changed
-* `parseAddresses()` is now static
-* `validateAddress()` is now called statically from `parseAddresses()`
-* `idnSupported()` is now static and is called statically from `punyencodeAddress()`
-* `PHPMailer->SingleToArray` is now protected
diff --git a/htdocs/core/vendor/phpmailer/phpmailer/VERSION b/htdocs/core/vendor/phpmailer/phpmailer/VERSION
deleted file mode 100644
index dc3829f..0000000
--- a/htdocs/core/vendor/phpmailer/phpmailer/VERSION
+++ /dev/null
@@ -1 +0,0 @@
-6.9.1
diff --git a/htdocs/core/vendor/phpmailer/phpmailer/changelog.md b/htdocs/core/vendor/phpmailer/phpmailer/changelog.md
deleted file mode 100644
index e7adab1..0000000
--- a/htdocs/core/vendor/phpmailer/phpmailer/changelog.md
+++ /dev/null
@@ -1,1061 +0,0 @@
-# PHPMailer Change Log
-
-## Version 6.9.1 (November 25th, 2023)
-* Finalise SendOauth2 example
-
-## Version 6.9.0 (November 23rd, 2023)
-* Add support for official release of PHP 8.3, add experimental support for PHP 8.4
-* Add `clearCustomHeader` and `replaceCustomHeader` methods
-* Add support for the XCLIENT SMTP extension with `setSMTPXclientAttribute` and `getSMTPXclientAttributes` methods
-* Don't attempt opportunistic TLS when connecting to localhost
-* Add package link and example showing how to use @decomplexity's SendOauth2 wrapper
-* Update example to show a better way of using an SMTP subclass
-* Avoid some more deprecation warnings
-* Update Danish and Polish translations
-* Add Bengali and Assamese translations
-
-## Version 6.8.1 (August 29th, 2023)
-* Don't reflect malformed DSNs in error messages to avert any risk of XSS
-* Improve Simplified Chinese, Sinhalese, and Norwegian translations
-* Don't use `setAccessible` in PHP >= 8.1 in tests
-* Avoid a deprecation notice in PHP 8.3
-* Fix link in readme
-
-## Version 6.8.0 (March 6th, 2023)
-* Add DSN parsing class, thanks to @voronkovich
-* Fix some name edge cases, expand tests
-* Add pattern for ZonMTA message IDs
-* Improve Hindi translation
-
-## Version 6.7.1 (December 8th, 2022)
-* Add official support for PHP 8.2
-* Add PHP 8.3 to test suite with "experimental" status
-* Add ext-openssl to composer suggest list
-* Bump development dependencies
-
-## Version 6.7 (December 5th, 2022)
-* Break out boundary definitions into a method (note that boundary format has also changed slightly)
-* Remove MIME preamble to match popular client behaviour, may help with DKIM too
-* Fix handling of trailing whitespace in simple DKIM canonicalisation
-* Fix some possible POP3 auth issues, including a TCP hang (thanks to @czirkoszoltan)
-* Add Azure XOAUTH2 example and docs (thanks to @greew)
-* Preserve errors during disconnect
-* Avoid some PHP 8.1 type issues
-* Update CI to run on Ubuntu 22.04
-
-## Version 6.6.5 (October 7th, 2022)
-
-* Don't try to issue RSET if there has been a connection error
-* Reject attempts to add folders as attachments
-* Don't suppress earlier error messages on close()
-* Handle Host === null better
-* Update Danish and Polish translations
-* Change recommendation for Microsoft OAuth package to thenetworg/oauth2-azure
-* Bump some GitHub action versions
-
-## Version 6.6.4 (August 22nd, 2022)
-* Update Greek translation
-* Add text/csv MIME type
-* Fix DKIM when sending to anonymous group via mail()
-* Improve docs around auth following gmail & MS deprecations
-* Update GitHub action deps
-* Add OpenSSF Scorecard security health metrics
-
-## Version 6.6.3 (June 20th, 2022)
-* Add an HTML form to the OAuth setup script
-* Minor CS improvements
-* Add Mongolian translation
-* Remove bogus "ch" translation
-
-## Version 6.6.2 (June 14th, 2022)
-* Fix docs deployment GitHub action
-* Updates to parallel-lint and console highlighter, thanks to @jrfnl
-
-## Version 6.6.1 (June 14th, 2022) (unreleased)
-* Don't clear errors on RSET, so they can still be obtained when using keepalive
-* Bump some GitHub action versions
-* Fix some tests
-* 🇺🇦 Slava Ukraini!
-
-## Version 6.6 (February 28th, 2022)
-* Introduce interface for OAuth providers, making it easier to use OAuth libraries other than the League one, thanks to @pdscopes.
-* Add more contextual information to TLS connection failure error messages, and throw exceptions on TLS connection errors, thanks to @miken32
-
-## Version 6.5.4 (February 17th, 2022)
-* If we can't use escaping functions, refuse to do unsafe things
-* Avoid PHP 8.1 trim issue
-* Add tests for XMailer
-* Fix bug in use of CharSet property
-* Fix bug in file upload example
-* Update dev dependencies
-
-## Version 6.5.3 (November 25th, 2021)
-* Wrong commit tagged for the 6.5.2 release!
-* Version file updated
-
-## Version 6.5.2 (November 25th, 2021)
-* Enable official support for PHP 8.1
-* Enable experimental support for PHP 8.2
-* Fix for PHP 5.6
-* Fix for incorrect options for punyencoding IDNs
-
-## Version 6.5.1 (August 18th, 2021)
-* Provisional support for PHP 8.1
-* Major overhaul of test suite
-* Add codecov.io coverage reporting
-* Prefer implicit TLS on port 465 as default encryption scheme in examples, as per RFC8314
-* Fix potential noisy output from IMAP address parser
-* Stricter checking of custom MessageID validity
-* Replace invalid default From address
-* Support fallback for languages, so a request for `pt_xx` will fall back to `pt` rather than the default `en`.
-* Support multi-line RFC2047 addresses in parseAddresses
-* Improved Japanese translation
-
-Many thanks to @jrfnl for all her work.
-
-## Version 6.5.0 (June 16th, 2021)
-* **SECURITY** Fixes CVE-2021-34551, a complex RCE affecting Windows hosts. See [SECURITY.md](SECURITY.md) for details.
-* The fix for this issue changes the way that language files are loaded. While they remain in the same PHP-like format, they are processed as plain text, and any code in them will not be run, including operations such as concatenation using the `.` operator.
-* *Deprecation* The current translation file format using PHP arrays is now deprecated; the next major version will introduce a new format.
-* **SECURITY** Fixes CVE-2021-3603 that may permit untrusted code to be run from an address validator. See [SECURITY.md](SECURITY.md) for details.
-* The fix for this issue includes a minor BC break: callables injected into `validateAddress`, or indirectly through the `$validator` class property, may no longer be simple strings. If you want to inject your own validator, provide a closure instead of a function name.
-* Haraka message ID strings are now recognised
-
-## Version 6.4.1 (April 29th, 2021)
-* **SECURITY** Fixes CVE-2020-36326, a regression of CVE-2018-19296 object injection introduced in 6.1.8, see SECURITY.md for details
-* Reject more file paths that look like URLs, matching RFC3986 spec, blocking URLS using schemes such as `ssh2`
-* Ensure method signature consistency in `doCallback` calls
-* Ukrainian language update
-* Add composer scripts for checking coding standards and running tests
-
-## Version 6.4.0 (March 31st, 2021)
-* Revert change that made the `mail()` and sendmail transports set the envelope sender if one isn't explicitly provided, as it causes problems described in
- *
- * @internal
- */
-final class Mbstring
-{
- public const MB_CASE_FOLD = \PHP_INT_MAX;
-
- private const SIMPLE_CASE_FOLD = [
- ['µ', 'ſ', "\xCD\x85", 'ς', "\xCF\x90", "\xCF\x91", "\xCF\x95", "\xCF\x96", "\xCF\xB0", "\xCF\xB1", "\xCF\xB5", "\xE1\xBA\x9B", "\xE1\xBE\xBE"],
- ['μ', 's', 'ι', 'σ', 'β', 'θ', 'φ', 'π', 'κ', 'ρ', 'ε', "\xE1\xB9\xA1", 'ι'],
- ];
-
- private static $encodingList = ['ASCII', 'UTF-8'];
- private static $language = 'neutral';
- private static $internalEncoding = 'UTF-8';
-
- public static function mb_convert_encoding($s, $toEncoding, $fromEncoding = null)
- {
- if (\is_array($fromEncoding) || (null !== $fromEncoding && false !== strpos($fromEncoding, ','))) {
- $fromEncoding = self::mb_detect_encoding($s, $fromEncoding);
- } else {
- $fromEncoding = self::getEncoding($fromEncoding);
- }
-
- $toEncoding = self::getEncoding($toEncoding);
-
- if ('BASE64' === $fromEncoding) {
- $s = base64_decode($s);
- $fromEncoding = $toEncoding;
- }
-
- if ('BASE64' === $toEncoding) {
- return base64_encode($s);
- }
-
- if ('HTML-ENTITIES' === $toEncoding || 'HTML' === $toEncoding) {
- if ('HTML-ENTITIES' === $fromEncoding || 'HTML' === $fromEncoding) {
- $fromEncoding = 'Windows-1252';
- }
- if ('UTF-8' !== $fromEncoding) {
- $s = iconv($fromEncoding, 'UTF-8//IGNORE', $s);
- }
-
- return preg_replace_callback('/[\x80-\xFF]+/', [__CLASS__, 'html_encoding_callback'], $s);
- }
-
- if ('HTML-ENTITIES' === $fromEncoding) {
- $s = html_entity_decode($s, \ENT_COMPAT, 'UTF-8');
- $fromEncoding = 'UTF-8';
- }
-
- return iconv($fromEncoding, $toEncoding.'//IGNORE', $s);
- }
-
- public static function mb_convert_variables($toEncoding, $fromEncoding, &...$vars)
- {
- $ok = true;
- array_walk_recursive($vars, function (&$v) use (&$ok, $toEncoding, $fromEncoding) {
- if (false === $v = self::mb_convert_encoding($v, $toEncoding, $fromEncoding)) {
- $ok = false;
- }
- });
-
- return $ok ? $fromEncoding : false;
- }
-
- public static function mb_decode_mimeheader($s)
- {
- return iconv_mime_decode($s, 2, self::$internalEncoding);
- }
-
- public static function mb_encode_mimeheader($s, $charset = null, $transferEncoding = null, $linefeed = null, $indent = null)
- {
- trigger_error('mb_encode_mimeheader() is bugged. Please use iconv_mime_encode() instead', \E_USER_WARNING);
- }
-
- public static function mb_decode_numericentity($s, $convmap, $encoding = null)
- {
- if (null !== $s && !\is_scalar($s) && !(\is_object($s) && method_exists($s, '__toString'))) {
- trigger_error('mb_decode_numericentity() expects parameter 1 to be string, '.\gettype($s).' given', \E_USER_WARNING);
-
- return null;
- }
-
- if (!\is_array($convmap) || (80000 > \PHP_VERSION_ID && !$convmap)) {
- return false;
- }
-
- if (null !== $encoding && !\is_scalar($encoding)) {
- trigger_error('mb_decode_numericentity() expects parameter 3 to be string, '.\gettype($s).' given', \E_USER_WARNING);
-
- return ''; // Instead of null (cf. mb_encode_numericentity).
- }
-
- $s = (string) $s;
- if ('' === $s) {
- return '';
- }
-
- $encoding = self::getEncoding($encoding);
-
- if ('UTF-8' === $encoding) {
- $encoding = null;
- if (!preg_match('//u', $s)) {
- $s = @iconv('UTF-8', 'UTF-8//IGNORE', $s);
- }
- } else {
- $s = iconv($encoding, 'UTF-8//IGNORE', $s);
- }
-
- $cnt = floor(\count($convmap) / 4) * 4;
-
- for ($i = 0; $i < $cnt; $i += 4) {
- // collector_decode_htmlnumericentity ignores $convmap[$i + 3]
- $convmap[$i] += $convmap[$i + 2];
- $convmap[$i + 1] += $convmap[$i + 2];
- }
-
- $s = preg_replace_callback('/(?:0*([0-9]+)|x0*([0-9a-fA-F]+))(?!&);?/', function (array $m) use ($cnt, $convmap) {
- $c = isset($m[2]) ? (int) hexdec($m[2]) : $m[1];
- for ($i = 0; $i < $cnt; $i += 4) {
- if ($c >= $convmap[$i] && $c <= $convmap[$i + 1]) {
- return self::mb_chr($c - $convmap[$i + 2]);
- }
- }
-
- return $m[0];
- }, $s);
-
- if (null === $encoding) {
- return $s;
- }
-
- return iconv('UTF-8', $encoding.'//IGNORE', $s);
- }
-
- public static function mb_encode_numericentity($s, $convmap, $encoding = null, $is_hex = false)
- {
- if (null !== $s && !\is_scalar($s) && !(\is_object($s) && method_exists($s, '__toString'))) {
- trigger_error('mb_encode_numericentity() expects parameter 1 to be string, '.\gettype($s).' given', \E_USER_WARNING);
-
- return null;
- }
-
- if (!\is_array($convmap) || (80000 > \PHP_VERSION_ID && !$convmap)) {
- return false;
- }
-
- if (null !== $encoding && !\is_scalar($encoding)) {
- trigger_error('mb_encode_numericentity() expects parameter 3 to be string, '.\gettype($s).' given', \E_USER_WARNING);
-
- return null; // Instead of '' (cf. mb_decode_numericentity).
- }
-
- if (null !== $is_hex && !\is_scalar($is_hex)) {
- trigger_error('mb_encode_numericentity() expects parameter 4 to be boolean, '.\gettype($s).' given', \E_USER_WARNING);
-
- return null;
- }
-
- $s = (string) $s;
- if ('' === $s) {
- return '';
- }
-
- $encoding = self::getEncoding($encoding);
-
- if ('UTF-8' === $encoding) {
- $encoding = null;
- if (!preg_match('//u', $s)) {
- $s = @iconv('UTF-8', 'UTF-8//IGNORE', $s);
- }
- } else {
- $s = iconv($encoding, 'UTF-8//IGNORE', $s);
- }
-
- static $ulenMask = ["\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4];
-
- $cnt = floor(\count($convmap) / 4) * 4;
- $i = 0;
- $len = \strlen($s);
- $result = '';
-
- while ($i < $len) {
- $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xF0"];
- $uchr = substr($s, $i, $ulen);
- $i += $ulen;
- $c = self::mb_ord($uchr);
-
- for ($j = 0; $j < $cnt; $j += 4) {
- if ($c >= $convmap[$j] && $c <= $convmap[$j + 1]) {
- $cOffset = ($c + $convmap[$j + 2]) & $convmap[$j + 3];
- $result .= $is_hex ? sprintf('%X;', $cOffset) : ''.$cOffset.';';
- continue 2;
- }
- }
- $result .= $uchr;
- }
-
- if (null === $encoding) {
- return $result;
- }
-
- return iconv('UTF-8', $encoding.'//IGNORE', $result);
- }
-
- public static function mb_convert_case($s, $mode, $encoding = null)
- {
- $s = (string) $s;
- if ('' === $s) {
- return '';
- }
-
- $encoding = self::getEncoding($encoding);
-
- if ('UTF-8' === $encoding) {
- $encoding = null;
- if (!preg_match('//u', $s)) {
- $s = @iconv('UTF-8', 'UTF-8//IGNORE', $s);
- }
- } else {
- $s = iconv($encoding, 'UTF-8//IGNORE', $s);
- }
-
- if (\MB_CASE_TITLE == $mode) {
- static $titleRegexp = null;
- if (null === $titleRegexp) {
- $titleRegexp = self::getData('titleCaseRegexp');
- }
- $s = preg_replace_callback($titleRegexp, [__CLASS__, 'title_case'], $s);
- } else {
- if (\MB_CASE_UPPER == $mode) {
- static $upper = null;
- if (null === $upper) {
- $upper = self::getData('upperCase');
- }
- $map = $upper;
- } else {
- if (self::MB_CASE_FOLD === $mode) {
- static $caseFolding = null;
- if (null === $caseFolding) {
- $caseFolding = self::getData('caseFolding');
- }
- $s = strtr($s, $caseFolding);
- }
-
- static $lower = null;
- if (null === $lower) {
- $lower = self::getData('lowerCase');
- }
- $map = $lower;
- }
-
- static $ulenMask = ["\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4];
-
- $i = 0;
- $len = \strlen($s);
-
- while ($i < $len) {
- $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xF0"];
- $uchr = substr($s, $i, $ulen);
- $i += $ulen;
-
- if (isset($map[$uchr])) {
- $uchr = $map[$uchr];
- $nlen = \strlen($uchr);
-
- if ($nlen == $ulen) {
- $nlen = $i;
- do {
- $s[--$nlen] = $uchr[--$ulen];
- } while ($ulen);
- } else {
- $s = substr_replace($s, $uchr, $i - $ulen, $ulen);
- $len += $nlen - $ulen;
- $i += $nlen - $ulen;
- }
- }
- }
- }
-
- if (null === $encoding) {
- return $s;
- }
-
- return iconv('UTF-8', $encoding.'//IGNORE', $s);
- }
-
- public static function mb_internal_encoding($encoding = null)
- {
- if (null === $encoding) {
- return self::$internalEncoding;
- }
-
- $normalizedEncoding = self::getEncoding($encoding);
-
- if ('UTF-8' === $normalizedEncoding || false !== @iconv($normalizedEncoding, $normalizedEncoding, ' ')) {
- self::$internalEncoding = $normalizedEncoding;
-
- return true;
- }
-
- if (80000 > \PHP_VERSION_ID) {
- return false;
- }
-
- throw new \ValueError(sprintf('Argument #1 ($encoding) must be a valid encoding, "%s" given', $encoding));
- }
-
- public static function mb_language($lang = null)
- {
- if (null === $lang) {
- return self::$language;
- }
-
- switch ($normalizedLang = strtolower($lang)) {
- case 'uni':
- case 'neutral':
- self::$language = $normalizedLang;
-
- return true;
- }
-
- if (80000 > \PHP_VERSION_ID) {
- return false;
- }
-
- throw new \ValueError(sprintf('Argument #1 ($language) must be a valid language, "%s" given', $lang));
- }
-
- public static function mb_list_encodings()
- {
- return ['UTF-8'];
- }
-
- public static function mb_encoding_aliases($encoding)
- {
- switch (strtoupper($encoding)) {
- case 'UTF8':
- case 'UTF-8':
- return ['utf8'];
- }
-
- return false;
- }
-
- public static function mb_check_encoding($var = null, $encoding = null)
- {
- if (PHP_VERSION_ID < 70200 && \is_array($var)) {
- trigger_error('mb_check_encoding() expects parameter 1 to be string, array given', \E_USER_WARNING);
-
- return null;
- }
-
- if (null === $encoding) {
- if (null === $var) {
- return false;
- }
- $encoding = self::$internalEncoding;
- }
-
- if (!\is_array($var)) {
- return self::mb_detect_encoding($var, [$encoding]) || false !== @iconv($encoding, $encoding, $var);
- }
-
- foreach ($var as $key => $value) {
- if (!self::mb_check_encoding($key, $encoding)) {
- return false;
- }
- if (!self::mb_check_encoding($value, $encoding)) {
- return false;
- }
- }
-
- return true;
-
- }
-
- public static function mb_detect_encoding($str, $encodingList = null, $strict = false)
- {
- if (null === $encodingList) {
- $encodingList = self::$encodingList;
- } else {
- if (!\is_array($encodingList)) {
- $encodingList = array_map('trim', explode(',', $encodingList));
- }
- $encodingList = array_map('strtoupper', $encodingList);
- }
-
- foreach ($encodingList as $enc) {
- switch ($enc) {
- case 'ASCII':
- if (!preg_match('/[\x80-\xFF]/', $str)) {
- return $enc;
- }
- break;
-
- case 'UTF8':
- case 'UTF-8':
- if (preg_match('//u', $str)) {
- return 'UTF-8';
- }
- break;
-
- default:
- if (0 === strncmp($enc, 'ISO-8859-', 9)) {
- return $enc;
- }
- }
- }
-
- return false;
- }
-
- public static function mb_detect_order($encodingList = null)
- {
- if (null === $encodingList) {
- return self::$encodingList;
- }
-
- if (!\is_array($encodingList)) {
- $encodingList = array_map('trim', explode(',', $encodingList));
- }
- $encodingList = array_map('strtoupper', $encodingList);
-
- foreach ($encodingList as $enc) {
- switch ($enc) {
- default:
- if (strncmp($enc, 'ISO-8859-', 9)) {
- return false;
- }
- // no break
- case 'ASCII':
- case 'UTF8':
- case 'UTF-8':
- }
- }
-
- self::$encodingList = $encodingList;
-
- return true;
- }
-
- public static function mb_strlen($s, $encoding = null)
- {
- $encoding = self::getEncoding($encoding);
- if ('CP850' === $encoding || 'ASCII' === $encoding) {
- return \strlen($s);
- }
-
- return @iconv_strlen($s, $encoding);
- }
-
- public static function mb_strpos($haystack, $needle, $offset = 0, $encoding = null)
- {
- $encoding = self::getEncoding($encoding);
- if ('CP850' === $encoding || 'ASCII' === $encoding) {
- return strpos($haystack, $needle, $offset);
- }
-
- $needle = (string) $needle;
- if ('' === $needle) {
- if (80000 > \PHP_VERSION_ID) {
- trigger_error(__METHOD__.': Empty delimiter', \E_USER_WARNING);
-
- return false;
- }
-
- return 0;
- }
-
- return iconv_strpos($haystack, $needle, $offset, $encoding);
- }
-
- public static function mb_strrpos($haystack, $needle, $offset = 0, $encoding = null)
- {
- $encoding = self::getEncoding($encoding);
- if ('CP850' === $encoding || 'ASCII' === $encoding) {
- return strrpos($haystack, $needle, $offset);
- }
-
- if ($offset != (int) $offset) {
- $offset = 0;
- } elseif ($offset = (int) $offset) {
- if ($offset < 0) {
- if (0 > $offset += self::mb_strlen($needle)) {
- $haystack = self::mb_substr($haystack, 0, $offset, $encoding);
- }
- $offset = 0;
- } else {
- $haystack = self::mb_substr($haystack, $offset, 2147483647, $encoding);
- }
- }
-
- $pos = '' !== $needle || 80000 > \PHP_VERSION_ID
- ? iconv_strrpos($haystack, $needle, $encoding)
- : self::mb_strlen($haystack, $encoding);
-
- return false !== $pos ? $offset + $pos : false;
- }
-
- public static function mb_str_split($string, $split_length = 1, $encoding = null)
- {
- if (null !== $string && !\is_scalar($string) && !(\is_object($string) && method_exists($string, '__toString'))) {
- trigger_error('mb_str_split() expects parameter 1 to be string, '.\gettype($string).' given', \E_USER_WARNING);
-
- return null;
- }
-
- if (1 > $split_length = (int) $split_length) {
- if (80000 > \PHP_VERSION_ID) {
- trigger_error('The length of each segment must be greater than zero', \E_USER_WARNING);
-
- return false;
- }
-
- throw new \ValueError('Argument #2 ($length) must be greater than 0');
- }
-
- if (null === $encoding) {
- $encoding = mb_internal_encoding();
- }
-
- if ('UTF-8' === $encoding = self::getEncoding($encoding)) {
- $rx = '/(';
- while (65535 < $split_length) {
- $rx .= '.{65535}';
- $split_length -= 65535;
- }
- $rx .= '.{'.$split_length.'})/us';
-
- return preg_split($rx, $string, -1, \PREG_SPLIT_DELIM_CAPTURE | \PREG_SPLIT_NO_EMPTY);
- }
-
- $result = [];
- $length = mb_strlen($string, $encoding);
-
- for ($i = 0; $i < $length; $i += $split_length) {
- $result[] = mb_substr($string, $i, $split_length, $encoding);
- }
-
- return $result;
- }
-
- public static function mb_strtolower($s, $encoding = null)
- {
- return self::mb_convert_case($s, \MB_CASE_LOWER, $encoding);
- }
-
- public static function mb_strtoupper($s, $encoding = null)
- {
- return self::mb_convert_case($s, \MB_CASE_UPPER, $encoding);
- }
-
- public static function mb_substitute_character($c = null)
- {
- if (null === $c) {
- return 'none';
- }
- if (0 === strcasecmp($c, 'none')) {
- return true;
- }
- if (80000 > \PHP_VERSION_ID) {
- return false;
- }
- if (\is_int($c) || 'long' === $c || 'entity' === $c) {
- return false;
- }
-
- throw new \ValueError('Argument #1 ($substitute_character) must be "none", "long", "entity" or a valid codepoint');
- }
-
- public static function mb_substr($s, $start, $length = null, $encoding = null)
- {
- $encoding = self::getEncoding($encoding);
- if ('CP850' === $encoding || 'ASCII' === $encoding) {
- return (string) substr($s, $start, null === $length ? 2147483647 : $length);
- }
-
- if ($start < 0) {
- $start = iconv_strlen($s, $encoding) + $start;
- if ($start < 0) {
- $start = 0;
- }
- }
-
- if (null === $length) {
- $length = 2147483647;
- } elseif ($length < 0) {
- $length = iconv_strlen($s, $encoding) + $length - $start;
- if ($length < 0) {
- return '';
- }
- }
-
- return (string) iconv_substr($s, $start, $length, $encoding);
- }
-
- public static function mb_stripos($haystack, $needle, $offset = 0, $encoding = null)
- {
- [$haystack, $needle] = str_replace(self::SIMPLE_CASE_FOLD[0], self::SIMPLE_CASE_FOLD[1], [
- self::mb_convert_case($haystack, \MB_CASE_LOWER, $encoding),
- self::mb_convert_case($needle, \MB_CASE_LOWER, $encoding),
- ]);
-
- return self::mb_strpos($haystack, $needle, $offset, $encoding);
- }
-
- public static function mb_stristr($haystack, $needle, $part = false, $encoding = null)
- {
- $pos = self::mb_stripos($haystack, $needle, 0, $encoding);
-
- return self::getSubpart($pos, $part, $haystack, $encoding);
- }
-
- public static function mb_strrchr($haystack, $needle, $part = false, $encoding = null)
- {
- $encoding = self::getEncoding($encoding);
- if ('CP850' === $encoding || 'ASCII' === $encoding) {
- $pos = strrpos($haystack, $needle);
- } else {
- $needle = self::mb_substr($needle, 0, 1, $encoding);
- $pos = iconv_strrpos($haystack, $needle, $encoding);
- }
-
- return self::getSubpart($pos, $part, $haystack, $encoding);
- }
-
- public static function mb_strrichr($haystack, $needle, $part = false, $encoding = null)
- {
- $needle = self::mb_substr($needle, 0, 1, $encoding);
- $pos = self::mb_strripos($haystack, $needle, $encoding);
-
- return self::getSubpart($pos, $part, $haystack, $encoding);
- }
-
- public static function mb_strripos($haystack, $needle, $offset = 0, $encoding = null)
- {
- $haystack = self::mb_convert_case($haystack, \MB_CASE_LOWER, $encoding);
- $needle = self::mb_convert_case($needle, \MB_CASE_LOWER, $encoding);
-
- $haystack = str_replace(self::SIMPLE_CASE_FOLD[0], self::SIMPLE_CASE_FOLD[1], $haystack);
- $needle = str_replace(self::SIMPLE_CASE_FOLD[0], self::SIMPLE_CASE_FOLD[1], $needle);
-
- return self::mb_strrpos($haystack, $needle, $offset, $encoding);
- }
-
- public static function mb_strstr($haystack, $needle, $part = false, $encoding = null)
- {
- $pos = strpos($haystack, $needle);
- if (false === $pos) {
- return false;
- }
- if ($part) {
- return substr($haystack, 0, $pos);
- }
-
- return substr($haystack, $pos);
- }
-
- public static function mb_get_info($type = 'all')
- {
- $info = [
- 'internal_encoding' => self::$internalEncoding,
- 'http_output' => 'pass',
- 'http_output_conv_mimetypes' => '^(text/|application/xhtml\+xml)',
- 'func_overload' => 0,
- 'func_overload_list' => 'no overload',
- 'mail_charset' => 'UTF-8',
- 'mail_header_encoding' => 'BASE64',
- 'mail_body_encoding' => 'BASE64',
- 'illegal_chars' => 0,
- 'encoding_translation' => 'Off',
- 'language' => self::$language,
- 'detect_order' => self::$encodingList,
- 'substitute_character' => 'none',
- 'strict_detection' => 'Off',
- ];
-
- if ('all' === $type) {
- return $info;
- }
- if (isset($info[$type])) {
- return $info[$type];
- }
-
- return false;
- }
-
- public static function mb_http_input($type = '')
- {
- return false;
- }
-
- public static function mb_http_output($encoding = null)
- {
- return null !== $encoding ? 'pass' === $encoding : 'pass';
- }
-
- public static function mb_strwidth($s, $encoding = null)
- {
- $encoding = self::getEncoding($encoding);
-
- if ('UTF-8' !== $encoding) {
- $s = iconv($encoding, 'UTF-8//IGNORE', $s);
- }
-
- $s = preg_replace('/[\x{1100}-\x{115F}\x{2329}\x{232A}\x{2E80}-\x{303E}\x{3040}-\x{A4CF}\x{AC00}-\x{D7A3}\x{F900}-\x{FAFF}\x{FE10}-\x{FE19}\x{FE30}-\x{FE6F}\x{FF00}-\x{FF60}\x{FFE0}-\x{FFE6}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}]/u', '', $s, -1, $wide);
-
- return ($wide << 1) + iconv_strlen($s, 'UTF-8');
- }
-
- public static function mb_substr_count($haystack, $needle, $encoding = null)
- {
- return substr_count($haystack, $needle);
- }
-
- public static function mb_output_handler($contents, $status)
- {
- return $contents;
- }
-
- public static function mb_chr($code, $encoding = null)
- {
- if (0x80 > $code %= 0x200000) {
- $s = \chr($code);
- } elseif (0x800 > $code) {
- $s = \chr(0xC0 | $code >> 6).\chr(0x80 | $code & 0x3F);
- } elseif (0x10000 > $code) {
- $s = \chr(0xE0 | $code >> 12).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F);
- } else {
- $s = \chr(0xF0 | $code >> 18).\chr(0x80 | $code >> 12 & 0x3F).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F);
- }
-
- if ('UTF-8' !== $encoding = self::getEncoding($encoding)) {
- $s = mb_convert_encoding($s, $encoding, 'UTF-8');
- }
-
- return $s;
- }
-
- public static function mb_ord($s, $encoding = null)
- {
- if ('UTF-8' !== $encoding = self::getEncoding($encoding)) {
- $s = mb_convert_encoding($s, 'UTF-8', $encoding);
- }
-
- if (1 === \strlen($s)) {
- return \ord($s);
- }
-
- $code = ($s = unpack('C*', substr($s, 0, 4))) ? $s[1] : 0;
- if (0xF0 <= $code) {
- return (($code - 0xF0) << 18) + (($s[2] - 0x80) << 12) + (($s[3] - 0x80) << 6) + $s[4] - 0x80;
- }
- if (0xE0 <= $code) {
- return (($code - 0xE0) << 12) + (($s[2] - 0x80) << 6) + $s[3] - 0x80;
- }
- if (0xC0 <= $code) {
- return (($code - 0xC0) << 6) + $s[2] - 0x80;
- }
-
- return $code;
- }
-
- public static function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = \STR_PAD_RIGHT, string $encoding = null): string
- {
- if (!\in_array($pad_type, [\STR_PAD_RIGHT, \STR_PAD_LEFT, \STR_PAD_BOTH], true)) {
- throw new \ValueError('mb_str_pad(): Argument #4 ($pad_type) must be STR_PAD_LEFT, STR_PAD_RIGHT, or STR_PAD_BOTH');
- }
-
- if (null === $encoding) {
- $encoding = self::mb_internal_encoding();
- }
-
- try {
- $validEncoding = @self::mb_check_encoding('', $encoding);
- } catch (\ValueError $e) {
- throw new \ValueError(sprintf('mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given', $encoding));
- }
-
- // BC for PHP 7.3 and lower
- if (!$validEncoding) {
- throw new \ValueError(sprintf('mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given', $encoding));
- }
-
- if (self::mb_strlen($pad_string, $encoding) <= 0) {
- throw new \ValueError('mb_str_pad(): Argument #3 ($pad_string) must be a non-empty string');
- }
-
- $paddingRequired = $length - self::mb_strlen($string, $encoding);
-
- if ($paddingRequired < 1) {
- return $string;
- }
-
- switch ($pad_type) {
- case \STR_PAD_LEFT:
- return self::mb_substr(str_repeat($pad_string, $paddingRequired), 0, $paddingRequired, $encoding).$string;
- case \STR_PAD_RIGHT:
- return $string.self::mb_substr(str_repeat($pad_string, $paddingRequired), 0, $paddingRequired, $encoding);
- default:
- $leftPaddingLength = floor($paddingRequired / 2);
- $rightPaddingLength = $paddingRequired - $leftPaddingLength;
-
- return self::mb_substr(str_repeat($pad_string, $leftPaddingLength), 0, $leftPaddingLength, $encoding).$string.self::mb_substr(str_repeat($pad_string, $rightPaddingLength), 0, $rightPaddingLength, $encoding);
- }
- }
-
- private static function getSubpart($pos, $part, $haystack, $encoding)
- {
- if (false === $pos) {
- return false;
- }
- if ($part) {
- return self::mb_substr($haystack, 0, $pos, $encoding);
- }
-
- return self::mb_substr($haystack, $pos, null, $encoding);
- }
-
- private static function html_encoding_callback(array $m)
- {
- $i = 1;
- $entities = '';
- $m = unpack('C*', htmlentities($m[0], \ENT_COMPAT, 'UTF-8'));
-
- while (isset($m[$i])) {
- if (0x80 > $m[$i]) {
- $entities .= \chr($m[$i++]);
- continue;
- }
- if (0xF0 <= $m[$i]) {
- $c = (($m[$i++] - 0xF0) << 18) + (($m[$i++] - 0x80) << 12) + (($m[$i++] - 0x80) << 6) + $m[$i++] - 0x80;
- } elseif (0xE0 <= $m[$i]) {
- $c = (($m[$i++] - 0xE0) << 12) + (($m[$i++] - 0x80) << 6) + $m[$i++] - 0x80;
- } else {
- $c = (($m[$i++] - 0xC0) << 6) + $m[$i++] - 0x80;
- }
-
- $entities .= ''.$c.';';
- }
-
- return $entities;
- }
-
- private static function title_case(array $s)
- {
- return self::mb_convert_case($s[1], \MB_CASE_UPPER, 'UTF-8').self::mb_convert_case($s[2], \MB_CASE_LOWER, 'UTF-8');
- }
-
- private static function getData($file)
- {
- if (file_exists($file = __DIR__.'/Resources/unidata/'.$file.'.php')) {
- return require $file;
- }
-
- return false;
- }
-
- private static function getEncoding($encoding)
- {
- if (null === $encoding) {
- return self::$internalEncoding;
- }
-
- if ('UTF-8' === $encoding) {
- return 'UTF-8';
- }
-
- $encoding = strtoupper($encoding);
-
- if ('8BIT' === $encoding || 'BINARY' === $encoding) {
- return 'CP850';
- }
-
- if ('UTF8' === $encoding) {
- return 'UTF-8';
- }
-
- return $encoding;
- }
-}
diff --git a/htdocs/core/vendor/symfony/polyfill-mbstring/README.md b/htdocs/core/vendor/symfony/polyfill-mbstring/README.md
deleted file mode 100644
index 478b40d..0000000
--- a/htdocs/core/vendor/symfony/polyfill-mbstring/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-Symfony Polyfill / Mbstring
-===========================
-
-This component provides a partial, native PHP implementation for the
-[Mbstring](https://php.net/mbstring) extension.
-
-More information can be found in the
-[main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md).
-
-License
-=======
-
-This library is released under the [MIT license](LICENSE).
diff --git a/htdocs/core/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php b/htdocs/core/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php
deleted file mode 100644
index 512bba0..0000000
--- a/htdocs/core/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php
+++ /dev/null
@@ -1,119 +0,0 @@
- 'i̇',
- 'µ' => 'μ',
- 'ſ' => 's',
- 'ͅ' => 'ι',
- 'ς' => 'σ',
- 'ϐ' => 'β',
- 'ϑ' => 'θ',
- 'ϕ' => 'φ',
- 'ϖ' => 'π',
- 'ϰ' => 'κ',
- 'ϱ' => 'ρ',
- 'ϵ' => 'ε',
- 'ẛ' => 'ṡ',
- 'ι' => 'ι',
- 'ß' => 'ss',
- 'ʼn' => 'ʼn',
- 'ǰ' => 'ǰ',
- 'ΐ' => 'ΐ',
- 'ΰ' => 'ΰ',
- 'և' => 'եւ',
- 'ẖ' => 'ẖ',
- 'ẗ' => 'ẗ',
- 'ẘ' => 'ẘ',
- 'ẙ' => 'ẙ',
- 'ẚ' => 'aʾ',
- 'ẞ' => 'ss',
- 'ὐ' => 'ὐ',
- 'ὒ' => 'ὒ',
- 'ὔ' => 'ὔ',
- 'ὖ' => 'ὖ',
- 'ᾀ' => 'ἀι',
- 'ᾁ' => 'ἁι',
- 'ᾂ' => 'ἂι',
- 'ᾃ' => 'ἃι',
- 'ᾄ' => 'ἄι',
- 'ᾅ' => 'ἅι',
- 'ᾆ' => 'ἆι',
- 'ᾇ' => 'ἇι',
- 'ᾈ' => 'ἀι',
- 'ᾉ' => 'ἁι',
- 'ᾊ' => 'ἂι',
- 'ᾋ' => 'ἃι',
- 'ᾌ' => 'ἄι',
- 'ᾍ' => 'ἅι',
- 'ᾎ' => 'ἆι',
- 'ᾏ' => 'ἇι',
- 'ᾐ' => 'ἠι',
- 'ᾑ' => 'ἡι',
- 'ᾒ' => 'ἢι',
- 'ᾓ' => 'ἣι',
- 'ᾔ' => 'ἤι',
- 'ᾕ' => 'ἥι',
- 'ᾖ' => 'ἦι',
- 'ᾗ' => 'ἧι',
- 'ᾘ' => 'ἠι',
- 'ᾙ' => 'ἡι',
- 'ᾚ' => 'ἢι',
- 'ᾛ' => 'ἣι',
- 'ᾜ' => 'ἤι',
- 'ᾝ' => 'ἥι',
- 'ᾞ' => 'ἦι',
- 'ᾟ' => 'ἧι',
- 'ᾠ' => 'ὠι',
- 'ᾡ' => 'ὡι',
- 'ᾢ' => 'ὢι',
- 'ᾣ' => 'ὣι',
- 'ᾤ' => 'ὤι',
- 'ᾥ' => 'ὥι',
- 'ᾦ' => 'ὦι',
- 'ᾧ' => 'ὧι',
- 'ᾨ' => 'ὠι',
- 'ᾩ' => 'ὡι',
- 'ᾪ' => 'ὢι',
- 'ᾫ' => 'ὣι',
- 'ᾬ' => 'ὤι',
- 'ᾭ' => 'ὥι',
- 'ᾮ' => 'ὦι',
- 'ᾯ' => 'ὧι',
- 'ᾲ' => 'ὰι',
- 'ᾳ' => 'αι',
- 'ᾴ' => 'άι',
- 'ᾶ' => 'ᾶ',
- 'ᾷ' => 'ᾶι',
- 'ᾼ' => 'αι',
- 'ῂ' => 'ὴι',
- 'ῃ' => 'ηι',
- 'ῄ' => 'ήι',
- 'ῆ' => 'ῆ',
- 'ῇ' => 'ῆι',
- 'ῌ' => 'ηι',
- 'ῒ' => 'ῒ',
- 'ῖ' => 'ῖ',
- 'ῗ' => 'ῗ',
- 'ῢ' => 'ῢ',
- 'ῤ' => 'ῤ',
- 'ῦ' => 'ῦ',
- 'ῧ' => 'ῧ',
- 'ῲ' => 'ὼι',
- 'ῳ' => 'ωι',
- 'ῴ' => 'ώι',
- 'ῶ' => 'ῶ',
- 'ῷ' => 'ῶι',
- 'ῼ' => 'ωι',
- 'ff' => 'ff',
- 'fi' => 'fi',
- 'fl' => 'fl',
- 'ffi' => 'ffi',
- 'ffl' => 'ffl',
- 'ſt' => 'st',
- 'st' => 'st',
- 'ﬓ' => 'մն',
- 'ﬔ' => 'մե',
- 'ﬕ' => 'մի',
- 'ﬖ' => 'վն',
- 'ﬗ' => 'մխ',
-];
diff --git a/htdocs/core/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php b/htdocs/core/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php
deleted file mode 100644
index fac60b0..0000000
--- a/htdocs/core/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php
+++ /dev/null
@@ -1,1397 +0,0 @@
- 'a',
- 'B' => 'b',
- 'C' => 'c',
- 'D' => 'd',
- 'E' => 'e',
- 'F' => 'f',
- 'G' => 'g',
- 'H' => 'h',
- 'I' => 'i',
- 'J' => 'j',
- 'K' => 'k',
- 'L' => 'l',
- 'M' => 'm',
- 'N' => 'n',
- 'O' => 'o',
- 'P' => 'p',
- 'Q' => 'q',
- 'R' => 'r',
- 'S' => 's',
- 'T' => 't',
- 'U' => 'u',
- 'V' => 'v',
- 'W' => 'w',
- 'X' => 'x',
- 'Y' => 'y',
- 'Z' => 'z',
- 'À' => 'à',
- 'Á' => 'á',
- 'Â' => 'â',
- 'Ã' => 'ã',
- 'Ä' => 'ä',
- 'Å' => 'å',
- 'Æ' => 'æ',
- 'Ç' => 'ç',
- 'È' => 'è',
- 'É' => 'é',
- 'Ê' => 'ê',
- 'Ë' => 'ë',
- 'Ì' => 'ì',
- 'Í' => 'í',
- 'Î' => 'î',
- 'Ï' => 'ï',
- 'Ð' => 'ð',
- 'Ñ' => 'ñ',
- 'Ò' => 'ò',
- 'Ó' => 'ó',
- 'Ô' => 'ô',
- 'Õ' => 'õ',
- 'Ö' => 'ö',
- 'Ø' => 'ø',
- 'Ù' => 'ù',
- 'Ú' => 'ú',
- 'Û' => 'û',
- 'Ü' => 'ü',
- 'Ý' => 'ý',
- 'Þ' => 'þ',
- 'Ā' => 'ā',
- 'Ă' => 'ă',
- 'Ą' => 'ą',
- 'Ć' => 'ć',
- 'Ĉ' => 'ĉ',
- 'Ċ' => 'ċ',
- 'Č' => 'č',
- 'Ď' => 'ď',
- 'Đ' => 'đ',
- 'Ē' => 'ē',
- 'Ĕ' => 'ĕ',
- 'Ė' => 'ė',
- 'Ę' => 'ę',
- 'Ě' => 'ě',
- 'Ĝ' => 'ĝ',
- 'Ğ' => 'ğ',
- 'Ġ' => 'ġ',
- 'Ģ' => 'ģ',
- 'Ĥ' => 'ĥ',
- 'Ħ' => 'ħ',
- 'Ĩ' => 'ĩ',
- 'Ī' => 'ī',
- 'Ĭ' => 'ĭ',
- 'Į' => 'į',
- 'İ' => 'i̇',
- 'IJ' => 'ij',
- 'Ĵ' => 'ĵ',
- 'Ķ' => 'ķ',
- 'Ĺ' => 'ĺ',
- 'Ļ' => 'ļ',
- 'Ľ' => 'ľ',
- 'Ŀ' => 'ŀ',
- 'Ł' => 'ł',
- 'Ń' => 'ń',
- 'Ņ' => 'ņ',
- 'Ň' => 'ň',
- 'Ŋ' => 'ŋ',
- 'Ō' => 'ō',
- 'Ŏ' => 'ŏ',
- 'Ő' => 'ő',
- 'Œ' => 'œ',
- 'Ŕ' => 'ŕ',
- 'Ŗ' => 'ŗ',
- 'Ř' => 'ř',
- 'Ś' => 'ś',
- 'Ŝ' => 'ŝ',
- 'Ş' => 'ş',
- 'Š' => 'š',
- 'Ţ' => 'ţ',
- 'Ť' => 'ť',
- 'Ŧ' => 'ŧ',
- 'Ũ' => 'ũ',
- 'Ū' => 'ū',
- 'Ŭ' => 'ŭ',
- 'Ů' => 'ů',
- 'Ű' => 'ű',
- 'Ų' => 'ų',
- 'Ŵ' => 'ŵ',
- 'Ŷ' => 'ŷ',
- 'Ÿ' => 'ÿ',
- 'Ź' => 'ź',
- 'Ż' => 'ż',
- 'Ž' => 'ž',
- 'Ɓ' => 'ɓ',
- 'Ƃ' => 'ƃ',
- 'Ƅ' => 'ƅ',
- 'Ɔ' => 'ɔ',
- 'Ƈ' => 'ƈ',
- 'Ɖ' => 'ɖ',
- 'Ɗ' => 'ɗ',
- 'Ƌ' => 'ƌ',
- 'Ǝ' => 'ǝ',
- 'Ə' => 'ə',
- 'Ɛ' => 'ɛ',
- 'Ƒ' => 'ƒ',
- 'Ɠ' => 'ɠ',
- 'Ɣ' => 'ɣ',
- 'Ɩ' => 'ɩ',
- 'Ɨ' => 'ɨ',
- 'Ƙ' => 'ƙ',
- 'Ɯ' => 'ɯ',
- 'Ɲ' => 'ɲ',
- 'Ɵ' => 'ɵ',
- 'Ơ' => 'ơ',
- 'Ƣ' => 'ƣ',
- 'Ƥ' => 'ƥ',
- 'Ʀ' => 'ʀ',
- 'Ƨ' => 'ƨ',
- 'Ʃ' => 'ʃ',
- 'Ƭ' => 'ƭ',
- 'Ʈ' => 'ʈ',
- 'Ư' => 'ư',
- 'Ʊ' => 'ʊ',
- 'Ʋ' => 'ʋ',
- 'Ƴ' => 'ƴ',
- 'Ƶ' => 'ƶ',
- 'Ʒ' => 'ʒ',
- 'Ƹ' => 'ƹ',
- 'Ƽ' => 'ƽ',
- 'DŽ' => 'dž',
- 'Dž' => 'dž',
- 'LJ' => 'lj',
- 'Lj' => 'lj',
- 'NJ' => 'nj',
- 'Nj' => 'nj',
- 'Ǎ' => 'ǎ',
- 'Ǐ' => 'ǐ',
- 'Ǒ' => 'ǒ',
- 'Ǔ' => 'ǔ',
- 'Ǖ' => 'ǖ',
- 'Ǘ' => 'ǘ',
- 'Ǚ' => 'ǚ',
- 'Ǜ' => 'ǜ',
- 'Ǟ' => 'ǟ',
- 'Ǡ' => 'ǡ',
- 'Ǣ' => 'ǣ',
- 'Ǥ' => 'ǥ',
- 'Ǧ' => 'ǧ',
- 'Ǩ' => 'ǩ',
- 'Ǫ' => 'ǫ',
- 'Ǭ' => 'ǭ',
- 'Ǯ' => 'ǯ',
- 'DZ' => 'dz',
- 'Dz' => 'dz',
- 'Ǵ' => 'ǵ',
- 'Ƕ' => 'ƕ',
- 'Ƿ' => 'ƿ',
- 'Ǹ' => 'ǹ',
- 'Ǻ' => 'ǻ',
- 'Ǽ' => 'ǽ',
- 'Ǿ' => 'ǿ',
- 'Ȁ' => 'ȁ',
- 'Ȃ' => 'ȃ',
- 'Ȅ' => 'ȅ',
- 'Ȇ' => 'ȇ',
- 'Ȉ' => 'ȉ',
- 'Ȋ' => 'ȋ',
- 'Ȍ' => 'ȍ',
- 'Ȏ' => 'ȏ',
- 'Ȑ' => 'ȑ',
- 'Ȓ' => 'ȓ',
- 'Ȕ' => 'ȕ',
- 'Ȗ' => 'ȗ',
- 'Ș' => 'ș',
- 'Ț' => 'ț',
- 'Ȝ' => 'ȝ',
- 'Ȟ' => 'ȟ',
- 'Ƞ' => 'ƞ',
- 'Ȣ' => 'ȣ',
- 'Ȥ' => 'ȥ',
- 'Ȧ' => 'ȧ',
- 'Ȩ' => 'ȩ',
- 'Ȫ' => 'ȫ',
- 'Ȭ' => 'ȭ',
- 'Ȯ' => 'ȯ',
- 'Ȱ' => 'ȱ',
- 'Ȳ' => 'ȳ',
- 'Ⱥ' => 'ⱥ',
- 'Ȼ' => 'ȼ',
- 'Ƚ' => 'ƚ',
- 'Ⱦ' => 'ⱦ',
- 'Ɂ' => 'ɂ',
- 'Ƀ' => 'ƀ',
- 'Ʉ' => 'ʉ',
- 'Ʌ' => 'ʌ',
- 'Ɇ' => 'ɇ',
- 'Ɉ' => 'ɉ',
- 'Ɋ' => 'ɋ',
- 'Ɍ' => 'ɍ',
- 'Ɏ' => 'ɏ',
- 'Ͱ' => 'ͱ',
- 'Ͳ' => 'ͳ',
- 'Ͷ' => 'ͷ',
- 'Ϳ' => 'ϳ',
- 'Ά' => 'ά',
- 'Έ' => 'έ',
- 'Ή' => 'ή',
- 'Ί' => 'ί',
- 'Ό' => 'ό',
- 'Ύ' => 'ύ',
- 'Ώ' => 'ώ',
- 'Α' => 'α',
- 'Β' => 'β',
- 'Γ' => 'γ',
- 'Δ' => 'δ',
- 'Ε' => 'ε',
- 'Ζ' => 'ζ',
- 'Η' => 'η',
- 'Θ' => 'θ',
- 'Ι' => 'ι',
- 'Κ' => 'κ',
- 'Λ' => 'λ',
- 'Μ' => 'μ',
- 'Ν' => 'ν',
- 'Ξ' => 'ξ',
- 'Ο' => 'ο',
- 'Π' => 'π',
- 'Ρ' => 'ρ',
- 'Σ' => 'σ',
- 'Τ' => 'τ',
- 'Υ' => 'υ',
- 'Φ' => 'φ',
- 'Χ' => 'χ',
- 'Ψ' => 'ψ',
- 'Ω' => 'ω',
- 'Ϊ' => 'ϊ',
- 'Ϋ' => 'ϋ',
- 'Ϗ' => 'ϗ',
- 'Ϙ' => 'ϙ',
- 'Ϛ' => 'ϛ',
- 'Ϝ' => 'ϝ',
- 'Ϟ' => 'ϟ',
- 'Ϡ' => 'ϡ',
- 'Ϣ' => 'ϣ',
- 'Ϥ' => 'ϥ',
- 'Ϧ' => 'ϧ',
- 'Ϩ' => 'ϩ',
- 'Ϫ' => 'ϫ',
- 'Ϭ' => 'ϭ',
- 'Ϯ' => 'ϯ',
- 'ϴ' => 'θ',
- 'Ϸ' => 'ϸ',
- 'Ϲ' => 'ϲ',
- 'Ϻ' => 'ϻ',
- 'Ͻ' => 'ͻ',
- 'Ͼ' => 'ͼ',
- 'Ͽ' => 'ͽ',
- 'Ѐ' => 'ѐ',
- 'Ё' => 'ё',
- 'Ђ' => 'ђ',
- 'Ѓ' => 'ѓ',
- 'Є' => 'є',
- 'Ѕ' => 'ѕ',
- 'І' => 'і',
- 'Ї' => 'ї',
- 'Ј' => 'ј',
- 'Љ' => 'љ',
- 'Њ' => 'њ',
- 'Ћ' => 'ћ',
- 'Ќ' => 'ќ',
- 'Ѝ' => 'ѝ',
- 'Ў' => 'ў',
- 'Џ' => 'џ',
- 'А' => 'а',
- 'Б' => 'б',
- 'В' => 'в',
- 'Г' => 'г',
- 'Д' => 'д',
- 'Е' => 'е',
- 'Ж' => 'ж',
- 'З' => 'з',
- 'И' => 'и',
- 'Й' => 'й',
- 'К' => 'к',
- 'Л' => 'л',
- 'М' => 'м',
- 'Н' => 'н',
- 'О' => 'о',
- 'П' => 'п',
- 'Р' => 'р',
- 'С' => 'с',
- 'Т' => 'т',
- 'У' => 'у',
- 'Ф' => 'ф',
- 'Х' => 'х',
- 'Ц' => 'ц',
- 'Ч' => 'ч',
- 'Ш' => 'ш',
- 'Щ' => 'щ',
- 'Ъ' => 'ъ',
- 'Ы' => 'ы',
- 'Ь' => 'ь',
- 'Э' => 'э',
- 'Ю' => 'ю',
- 'Я' => 'я',
- 'Ѡ' => 'ѡ',
- 'Ѣ' => 'ѣ',
- 'Ѥ' => 'ѥ',
- 'Ѧ' => 'ѧ',
- 'Ѩ' => 'ѩ',
- 'Ѫ' => 'ѫ',
- 'Ѭ' => 'ѭ',
- 'Ѯ' => 'ѯ',
- 'Ѱ' => 'ѱ',
- 'Ѳ' => 'ѳ',
- 'Ѵ' => 'ѵ',
- 'Ѷ' => 'ѷ',
- 'Ѹ' => 'ѹ',
- 'Ѻ' => 'ѻ',
- 'Ѽ' => 'ѽ',
- 'Ѿ' => 'ѿ',
- 'Ҁ' => 'ҁ',
- 'Ҋ' => 'ҋ',
- 'Ҍ' => 'ҍ',
- 'Ҏ' => 'ҏ',
- 'Ґ' => 'ґ',
- 'Ғ' => 'ғ',
- 'Ҕ' => 'ҕ',
- 'Җ' => 'җ',
- 'Ҙ' => 'ҙ',
- 'Қ' => 'қ',
- 'Ҝ' => 'ҝ',
- 'Ҟ' => 'ҟ',
- 'Ҡ' => 'ҡ',
- 'Ң' => 'ң',
- 'Ҥ' => 'ҥ',
- 'Ҧ' => 'ҧ',
- 'Ҩ' => 'ҩ',
- 'Ҫ' => 'ҫ',
- 'Ҭ' => 'ҭ',
- 'Ү' => 'ү',
- 'Ұ' => 'ұ',
- 'Ҳ' => 'ҳ',
- 'Ҵ' => 'ҵ',
- 'Ҷ' => 'ҷ',
- 'Ҹ' => 'ҹ',
- 'Һ' => 'һ',
- 'Ҽ' => 'ҽ',
- 'Ҿ' => 'ҿ',
- 'Ӏ' => 'ӏ',
- 'Ӂ' => 'ӂ',
- 'Ӄ' => 'ӄ',
- 'Ӆ' => 'ӆ',
- 'Ӈ' => 'ӈ',
- 'Ӊ' => 'ӊ',
- 'Ӌ' => 'ӌ',
- 'Ӎ' => 'ӎ',
- 'Ӑ' => 'ӑ',
- 'Ӓ' => 'ӓ',
- 'Ӕ' => 'ӕ',
- 'Ӗ' => 'ӗ',
- 'Ә' => 'ә',
- 'Ӛ' => 'ӛ',
- 'Ӝ' => 'ӝ',
- 'Ӟ' => 'ӟ',
- 'Ӡ' => 'ӡ',
- 'Ӣ' => 'ӣ',
- 'Ӥ' => 'ӥ',
- 'Ӧ' => 'ӧ',
- 'Ө' => 'ө',
- 'Ӫ' => 'ӫ',
- 'Ӭ' => 'ӭ',
- 'Ӯ' => 'ӯ',
- 'Ӱ' => 'ӱ',
- 'Ӳ' => 'ӳ',
- 'Ӵ' => 'ӵ',
- 'Ӷ' => 'ӷ',
- 'Ӹ' => 'ӹ',
- 'Ӻ' => 'ӻ',
- 'Ӽ' => 'ӽ',
- 'Ӿ' => 'ӿ',
- 'Ԁ' => 'ԁ',
- 'Ԃ' => 'ԃ',
- 'Ԅ' => 'ԅ',
- 'Ԇ' => 'ԇ',
- 'Ԉ' => 'ԉ',
- 'Ԋ' => 'ԋ',
- 'Ԍ' => 'ԍ',
- 'Ԏ' => 'ԏ',
- 'Ԑ' => 'ԑ',
- 'Ԓ' => 'ԓ',
- 'Ԕ' => 'ԕ',
- 'Ԗ' => 'ԗ',
- 'Ԙ' => 'ԙ',
- 'Ԛ' => 'ԛ',
- 'Ԝ' => 'ԝ',
- 'Ԟ' => 'ԟ',
- 'Ԡ' => 'ԡ',
- 'Ԣ' => 'ԣ',
- 'Ԥ' => 'ԥ',
- 'Ԧ' => 'ԧ',
- 'Ԩ' => 'ԩ',
- 'Ԫ' => 'ԫ',
- 'Ԭ' => 'ԭ',
- 'Ԯ' => 'ԯ',
- 'Ա' => 'ա',
- 'Բ' => 'բ',
- 'Գ' => 'գ',
- 'Դ' => 'դ',
- 'Ե' => 'ե',
- 'Զ' => 'զ',
- 'Է' => 'է',
- 'Ը' => 'ը',
- 'Թ' => 'թ',
- 'Ժ' => 'ժ',
- 'Ի' => 'ի',
- 'Լ' => 'լ',
- 'Խ' => 'խ',
- 'Ծ' => 'ծ',
- 'Կ' => 'կ',
- 'Հ' => 'հ',
- 'Ձ' => 'ձ',
- 'Ղ' => 'ղ',
- 'Ճ' => 'ճ',
- 'Մ' => 'մ',
- 'Յ' => 'յ',
- 'Ն' => 'ն',
- 'Շ' => 'շ',
- 'Ո' => 'ո',
- 'Չ' => 'չ',
- 'Պ' => 'պ',
- 'Ջ' => 'ջ',
- 'Ռ' => 'ռ',
- 'Ս' => 'ս',
- 'Վ' => 'վ',
- 'Տ' => 'տ',
- 'Ր' => 'ր',
- 'Ց' => 'ց',
- 'Ւ' => 'ւ',
- 'Փ' => 'փ',
- 'Ք' => 'ք',
- 'Օ' => 'օ',
- 'Ֆ' => 'ֆ',
- 'Ⴀ' => 'ⴀ',
- 'Ⴁ' => 'ⴁ',
- 'Ⴂ' => 'ⴂ',
- 'Ⴃ' => 'ⴃ',
- 'Ⴄ' => 'ⴄ',
- 'Ⴅ' => 'ⴅ',
- 'Ⴆ' => 'ⴆ',
- 'Ⴇ' => 'ⴇ',
- 'Ⴈ' => 'ⴈ',
- 'Ⴉ' => 'ⴉ',
- 'Ⴊ' => 'ⴊ',
- 'Ⴋ' => 'ⴋ',
- 'Ⴌ' => 'ⴌ',
- 'Ⴍ' => 'ⴍ',
- 'Ⴎ' => 'ⴎ',
- 'Ⴏ' => 'ⴏ',
- 'Ⴐ' => 'ⴐ',
- 'Ⴑ' => 'ⴑ',
- 'Ⴒ' => 'ⴒ',
- 'Ⴓ' => 'ⴓ',
- 'Ⴔ' => 'ⴔ',
- 'Ⴕ' => 'ⴕ',
- 'Ⴖ' => 'ⴖ',
- 'Ⴗ' => 'ⴗ',
- 'Ⴘ' => 'ⴘ',
- 'Ⴙ' => 'ⴙ',
- 'Ⴚ' => 'ⴚ',
- 'Ⴛ' => 'ⴛ',
- 'Ⴜ' => 'ⴜ',
- 'Ⴝ' => 'ⴝ',
- 'Ⴞ' => 'ⴞ',
- 'Ⴟ' => 'ⴟ',
- 'Ⴠ' => 'ⴠ',
- 'Ⴡ' => 'ⴡ',
- 'Ⴢ' => 'ⴢ',
- 'Ⴣ' => 'ⴣ',
- 'Ⴤ' => 'ⴤ',
- 'Ⴥ' => 'ⴥ',
- 'Ⴧ' => 'ⴧ',
- 'Ⴭ' => 'ⴭ',
- 'Ꭰ' => 'ꭰ',
- 'Ꭱ' => 'ꭱ',
- 'Ꭲ' => 'ꭲ',
- 'Ꭳ' => 'ꭳ',
- 'Ꭴ' => 'ꭴ',
- 'Ꭵ' => 'ꭵ',
- 'Ꭶ' => 'ꭶ',
- 'Ꭷ' => 'ꭷ',
- 'Ꭸ' => 'ꭸ',
- 'Ꭹ' => 'ꭹ',
- 'Ꭺ' => 'ꭺ',
- 'Ꭻ' => 'ꭻ',
- 'Ꭼ' => 'ꭼ',
- 'Ꭽ' => 'ꭽ',
- 'Ꭾ' => 'ꭾ',
- 'Ꭿ' => 'ꭿ',
- 'Ꮀ' => 'ꮀ',
- 'Ꮁ' => 'ꮁ',
- 'Ꮂ' => 'ꮂ',
- 'Ꮃ' => 'ꮃ',
- 'Ꮄ' => 'ꮄ',
- 'Ꮅ' => 'ꮅ',
- 'Ꮆ' => 'ꮆ',
- 'Ꮇ' => 'ꮇ',
- 'Ꮈ' => 'ꮈ',
- 'Ꮉ' => 'ꮉ',
- 'Ꮊ' => 'ꮊ',
- 'Ꮋ' => 'ꮋ',
- 'Ꮌ' => 'ꮌ',
- 'Ꮍ' => 'ꮍ',
- 'Ꮎ' => 'ꮎ',
- 'Ꮏ' => 'ꮏ',
- 'Ꮐ' => 'ꮐ',
- 'Ꮑ' => 'ꮑ',
- 'Ꮒ' => 'ꮒ',
- 'Ꮓ' => 'ꮓ',
- 'Ꮔ' => 'ꮔ',
- 'Ꮕ' => 'ꮕ',
- 'Ꮖ' => 'ꮖ',
- 'Ꮗ' => 'ꮗ',
- 'Ꮘ' => 'ꮘ',
- 'Ꮙ' => 'ꮙ',
- 'Ꮚ' => 'ꮚ',
- 'Ꮛ' => 'ꮛ',
- 'Ꮜ' => 'ꮜ',
- 'Ꮝ' => 'ꮝ',
- 'Ꮞ' => 'ꮞ',
- 'Ꮟ' => 'ꮟ',
- 'Ꮠ' => 'ꮠ',
- 'Ꮡ' => 'ꮡ',
- 'Ꮢ' => 'ꮢ',
- 'Ꮣ' => 'ꮣ',
- 'Ꮤ' => 'ꮤ',
- 'Ꮥ' => 'ꮥ',
- 'Ꮦ' => 'ꮦ',
- 'Ꮧ' => 'ꮧ',
- 'Ꮨ' => 'ꮨ',
- 'Ꮩ' => 'ꮩ',
- 'Ꮪ' => 'ꮪ',
- 'Ꮫ' => 'ꮫ',
- 'Ꮬ' => 'ꮬ',
- 'Ꮭ' => 'ꮭ',
- 'Ꮮ' => 'ꮮ',
- 'Ꮯ' => 'ꮯ',
- 'Ꮰ' => 'ꮰ',
- 'Ꮱ' => 'ꮱ',
- 'Ꮲ' => 'ꮲ',
- 'Ꮳ' => 'ꮳ',
- 'Ꮴ' => 'ꮴ',
- 'Ꮵ' => 'ꮵ',
- 'Ꮶ' => 'ꮶ',
- 'Ꮷ' => 'ꮷ',
- 'Ꮸ' => 'ꮸ',
- 'Ꮹ' => 'ꮹ',
- 'Ꮺ' => 'ꮺ',
- 'Ꮻ' => 'ꮻ',
- 'Ꮼ' => 'ꮼ',
- 'Ꮽ' => 'ꮽ',
- 'Ꮾ' => 'ꮾ',
- 'Ꮿ' => 'ꮿ',
- 'Ᏸ' => 'ᏸ',
- 'Ᏹ' => 'ᏹ',
- 'Ᏺ' => 'ᏺ',
- 'Ᏻ' => 'ᏻ',
- 'Ᏼ' => 'ᏼ',
- 'Ᏽ' => 'ᏽ',
- 'Ა' => 'ა',
- 'Ბ' => 'ბ',
- 'Გ' => 'გ',
- 'Დ' => 'დ',
- 'Ე' => 'ე',
- 'Ვ' => 'ვ',
- 'Ზ' => 'ზ',
- 'Თ' => 'თ',
- 'Ი' => 'ი',
- 'Კ' => 'კ',
- 'Ლ' => 'ლ',
- 'Მ' => 'მ',
- 'Ნ' => 'ნ',
- 'Ო' => 'ო',
- 'Პ' => 'პ',
- 'Ჟ' => 'ჟ',
- 'Რ' => 'რ',
- 'Ს' => 'ს',
- 'Ტ' => 'ტ',
- 'Უ' => 'უ',
- 'Ფ' => 'ფ',
- 'Ქ' => 'ქ',
- 'Ღ' => 'ღ',
- 'Ყ' => 'ყ',
- 'Შ' => 'შ',
- 'Ჩ' => 'ჩ',
- 'Ც' => 'ც',
- 'Ძ' => 'ძ',
- 'Წ' => 'წ',
- 'Ჭ' => 'ჭ',
- 'Ხ' => 'ხ',
- 'Ჯ' => 'ჯ',
- 'Ჰ' => 'ჰ',
- 'Ჱ' => 'ჱ',
- 'Ჲ' => 'ჲ',
- 'Ჳ' => 'ჳ',
- 'Ჴ' => 'ჴ',
- 'Ჵ' => 'ჵ',
- 'Ჶ' => 'ჶ',
- 'Ჷ' => 'ჷ',
- 'Ჸ' => 'ჸ',
- 'Ჹ' => 'ჹ',
- 'Ჺ' => 'ჺ',
- 'Ჽ' => 'ჽ',
- 'Ჾ' => 'ჾ',
- 'Ჿ' => 'ჿ',
- 'Ḁ' => 'ḁ',
- 'Ḃ' => 'ḃ',
- 'Ḅ' => 'ḅ',
- 'Ḇ' => 'ḇ',
- 'Ḉ' => 'ḉ',
- 'Ḋ' => 'ḋ',
- 'Ḍ' => 'ḍ',
- 'Ḏ' => 'ḏ',
- 'Ḑ' => 'ḑ',
- 'Ḓ' => 'ḓ',
- 'Ḕ' => 'ḕ',
- 'Ḗ' => 'ḗ',
- 'Ḙ' => 'ḙ',
- 'Ḛ' => 'ḛ',
- 'Ḝ' => 'ḝ',
- 'Ḟ' => 'ḟ',
- 'Ḡ' => 'ḡ',
- 'Ḣ' => 'ḣ',
- 'Ḥ' => 'ḥ',
- 'Ḧ' => 'ḧ',
- 'Ḩ' => 'ḩ',
- 'Ḫ' => 'ḫ',
- 'Ḭ' => 'ḭ',
- 'Ḯ' => 'ḯ',
- 'Ḱ' => 'ḱ',
- 'Ḳ' => 'ḳ',
- 'Ḵ' => 'ḵ',
- 'Ḷ' => 'ḷ',
- 'Ḹ' => 'ḹ',
- 'Ḻ' => 'ḻ',
- 'Ḽ' => 'ḽ',
- 'Ḿ' => 'ḿ',
- 'Ṁ' => 'ṁ',
- 'Ṃ' => 'ṃ',
- 'Ṅ' => 'ṅ',
- 'Ṇ' => 'ṇ',
- 'Ṉ' => 'ṉ',
- 'Ṋ' => 'ṋ',
- 'Ṍ' => 'ṍ',
- 'Ṏ' => 'ṏ',
- 'Ṑ' => 'ṑ',
- 'Ṓ' => 'ṓ',
- 'Ṕ' => 'ṕ',
- 'Ṗ' => 'ṗ',
- 'Ṙ' => 'ṙ',
- 'Ṛ' => 'ṛ',
- 'Ṝ' => 'ṝ',
- 'Ṟ' => 'ṟ',
- 'Ṡ' => 'ṡ',
- 'Ṣ' => 'ṣ',
- 'Ṥ' => 'ṥ',
- 'Ṧ' => 'ṧ',
- 'Ṩ' => 'ṩ',
- 'Ṫ' => 'ṫ',
- 'Ṭ' => 'ṭ',
- 'Ṯ' => 'ṯ',
- 'Ṱ' => 'ṱ',
- 'Ṳ' => 'ṳ',
- 'Ṵ' => 'ṵ',
- 'Ṷ' => 'ṷ',
- 'Ṹ' => 'ṹ',
- 'Ṻ' => 'ṻ',
- 'Ṽ' => 'ṽ',
- 'Ṿ' => 'ṿ',
- 'Ẁ' => 'ẁ',
- 'Ẃ' => 'ẃ',
- 'Ẅ' => 'ẅ',
- 'Ẇ' => 'ẇ',
- 'Ẉ' => 'ẉ',
- 'Ẋ' => 'ẋ',
- 'Ẍ' => 'ẍ',
- 'Ẏ' => 'ẏ',
- 'Ẑ' => 'ẑ',
- 'Ẓ' => 'ẓ',
- 'Ẕ' => 'ẕ',
- 'ẞ' => 'ß',
- 'Ạ' => 'ạ',
- 'Ả' => 'ả',
- 'Ấ' => 'ấ',
- 'Ầ' => 'ầ',
- 'Ẩ' => 'ẩ',
- 'Ẫ' => 'ẫ',
- 'Ậ' => 'ậ',
- 'Ắ' => 'ắ',
- 'Ằ' => 'ằ',
- 'Ẳ' => 'ẳ',
- 'Ẵ' => 'ẵ',
- 'Ặ' => 'ặ',
- 'Ẹ' => 'ẹ',
- 'Ẻ' => 'ẻ',
- 'Ẽ' => 'ẽ',
- 'Ế' => 'ế',
- 'Ề' => 'ề',
- 'Ể' => 'ể',
- 'Ễ' => 'ễ',
- 'Ệ' => 'ệ',
- 'Ỉ' => 'ỉ',
- 'Ị' => 'ị',
- 'Ọ' => 'ọ',
- 'Ỏ' => 'ỏ',
- 'Ố' => 'ố',
- 'Ồ' => 'ồ',
- 'Ổ' => 'ổ',
- 'Ỗ' => 'ỗ',
- 'Ộ' => 'ộ',
- 'Ớ' => 'ớ',
- 'Ờ' => 'ờ',
- 'Ở' => 'ở',
- 'Ỡ' => 'ỡ',
- 'Ợ' => 'ợ',
- 'Ụ' => 'ụ',
- 'Ủ' => 'ủ',
- 'Ứ' => 'ứ',
- 'Ừ' => 'ừ',
- 'Ử' => 'ử',
- 'Ữ' => 'ữ',
- 'Ự' => 'ự',
- 'Ỳ' => 'ỳ',
- 'Ỵ' => 'ỵ',
- 'Ỷ' => 'ỷ',
- 'Ỹ' => 'ỹ',
- 'Ỻ' => 'ỻ',
- 'Ỽ' => 'ỽ',
- 'Ỿ' => 'ỿ',
- 'Ἀ' => 'ἀ',
- 'Ἁ' => 'ἁ',
- 'Ἂ' => 'ἂ',
- 'Ἃ' => 'ἃ',
- 'Ἄ' => 'ἄ',
- 'Ἅ' => 'ἅ',
- 'Ἆ' => 'ἆ',
- 'Ἇ' => 'ἇ',
- 'Ἐ' => 'ἐ',
- 'Ἑ' => 'ἑ',
- 'Ἒ' => 'ἒ',
- 'Ἓ' => 'ἓ',
- 'Ἔ' => 'ἔ',
- 'Ἕ' => 'ἕ',
- 'Ἠ' => 'ἠ',
- 'Ἡ' => 'ἡ',
- 'Ἢ' => 'ἢ',
- 'Ἣ' => 'ἣ',
- 'Ἤ' => 'ἤ',
- 'Ἥ' => 'ἥ',
- 'Ἦ' => 'ἦ',
- 'Ἧ' => 'ἧ',
- 'Ἰ' => 'ἰ',
- 'Ἱ' => 'ἱ',
- 'Ἲ' => 'ἲ',
- 'Ἳ' => 'ἳ',
- 'Ἴ' => 'ἴ',
- 'Ἵ' => 'ἵ',
- 'Ἶ' => 'ἶ',
- 'Ἷ' => 'ἷ',
- 'Ὀ' => 'ὀ',
- 'Ὁ' => 'ὁ',
- 'Ὂ' => 'ὂ',
- 'Ὃ' => 'ὃ',
- 'Ὄ' => 'ὄ',
- 'Ὅ' => 'ὅ',
- 'Ὑ' => 'ὑ',
- 'Ὓ' => 'ὓ',
- 'Ὕ' => 'ὕ',
- 'Ὗ' => 'ὗ',
- 'Ὠ' => 'ὠ',
- 'Ὡ' => 'ὡ',
- 'Ὢ' => 'ὢ',
- 'Ὣ' => 'ὣ',
- 'Ὤ' => 'ὤ',
- 'Ὥ' => 'ὥ',
- 'Ὦ' => 'ὦ',
- 'Ὧ' => 'ὧ',
- 'ᾈ' => 'ᾀ',
- 'ᾉ' => 'ᾁ',
- 'ᾊ' => 'ᾂ',
- 'ᾋ' => 'ᾃ',
- 'ᾌ' => 'ᾄ',
- 'ᾍ' => 'ᾅ',
- 'ᾎ' => 'ᾆ',
- 'ᾏ' => 'ᾇ',
- 'ᾘ' => 'ᾐ',
- 'ᾙ' => 'ᾑ',
- 'ᾚ' => 'ᾒ',
- 'ᾛ' => 'ᾓ',
- 'ᾜ' => 'ᾔ',
- 'ᾝ' => 'ᾕ',
- 'ᾞ' => 'ᾖ',
- 'ᾟ' => 'ᾗ',
- 'ᾨ' => 'ᾠ',
- 'ᾩ' => 'ᾡ',
- 'ᾪ' => 'ᾢ',
- 'ᾫ' => 'ᾣ',
- 'ᾬ' => 'ᾤ',
- 'ᾭ' => 'ᾥ',
- 'ᾮ' => 'ᾦ',
- 'ᾯ' => 'ᾧ',
- 'Ᾰ' => 'ᾰ',
- 'Ᾱ' => 'ᾱ',
- 'Ὰ' => 'ὰ',
- 'Ά' => 'ά',
- 'ᾼ' => 'ᾳ',
- 'Ὲ' => 'ὲ',
- 'Έ' => 'έ',
- 'Ὴ' => 'ὴ',
- 'Ή' => 'ή',
- 'ῌ' => 'ῃ',
- 'Ῐ' => 'ῐ',
- 'Ῑ' => 'ῑ',
- 'Ὶ' => 'ὶ',
- 'Ί' => 'ί',
- 'Ῠ' => 'ῠ',
- 'Ῡ' => 'ῡ',
- 'Ὺ' => 'ὺ',
- 'Ύ' => 'ύ',
- 'Ῥ' => 'ῥ',
- 'Ὸ' => 'ὸ',
- 'Ό' => 'ό',
- 'Ὼ' => 'ὼ',
- 'Ώ' => 'ώ',
- 'ῼ' => 'ῳ',
- 'Ω' => 'ω',
- 'K' => 'k',
- 'Å' => 'å',
- 'Ⅎ' => 'ⅎ',
- 'Ⅰ' => 'ⅰ',
- 'Ⅱ' => 'ⅱ',
- 'Ⅲ' => 'ⅲ',
- 'Ⅳ' => 'ⅳ',
- 'Ⅴ' => 'ⅴ',
- 'Ⅵ' => 'ⅵ',
- 'Ⅶ' => 'ⅶ',
- 'Ⅷ' => 'ⅷ',
- 'Ⅸ' => 'ⅸ',
- 'Ⅹ' => 'ⅹ',
- 'Ⅺ' => 'ⅺ',
- 'Ⅻ' => 'ⅻ',
- 'Ⅼ' => 'ⅼ',
- 'Ⅽ' => 'ⅽ',
- 'Ⅾ' => 'ⅾ',
- 'Ⅿ' => 'ⅿ',
- 'Ↄ' => 'ↄ',
- 'Ⓐ' => 'ⓐ',
- 'Ⓑ' => 'ⓑ',
- 'Ⓒ' => 'ⓒ',
- 'Ⓓ' => 'ⓓ',
- 'Ⓔ' => 'ⓔ',
- 'Ⓕ' => 'ⓕ',
- 'Ⓖ' => 'ⓖ',
- 'Ⓗ' => 'ⓗ',
- 'Ⓘ' => 'ⓘ',
- 'Ⓙ' => 'ⓙ',
- 'Ⓚ' => 'ⓚ',
- 'Ⓛ' => 'ⓛ',
- 'Ⓜ' => 'ⓜ',
- 'Ⓝ' => 'ⓝ',
- 'Ⓞ' => 'ⓞ',
- 'Ⓟ' => 'ⓟ',
- 'Ⓠ' => 'ⓠ',
- 'Ⓡ' => 'ⓡ',
- 'Ⓢ' => 'ⓢ',
- 'Ⓣ' => 'ⓣ',
- 'Ⓤ' => 'ⓤ',
- 'Ⓥ' => 'ⓥ',
- 'Ⓦ' => 'ⓦ',
- 'Ⓧ' => 'ⓧ',
- 'Ⓨ' => 'ⓨ',
- 'Ⓩ' => 'ⓩ',
- 'Ⰰ' => 'ⰰ',
- 'Ⰱ' => 'ⰱ',
- 'Ⰲ' => 'ⰲ',
- 'Ⰳ' => 'ⰳ',
- 'Ⰴ' => 'ⰴ',
- 'Ⰵ' => 'ⰵ',
- 'Ⰶ' => 'ⰶ',
- 'Ⰷ' => 'ⰷ',
- 'Ⰸ' => 'ⰸ',
- 'Ⰹ' => 'ⰹ',
- 'Ⰺ' => 'ⰺ',
- 'Ⰻ' => 'ⰻ',
- 'Ⰼ' => 'ⰼ',
- 'Ⰽ' => 'ⰽ',
- 'Ⰾ' => 'ⰾ',
- 'Ⰿ' => 'ⰿ',
- 'Ⱀ' => 'ⱀ',
- 'Ⱁ' => 'ⱁ',
- 'Ⱂ' => 'ⱂ',
- 'Ⱃ' => 'ⱃ',
- 'Ⱄ' => 'ⱄ',
- 'Ⱅ' => 'ⱅ',
- 'Ⱆ' => 'ⱆ',
- 'Ⱇ' => 'ⱇ',
- 'Ⱈ' => 'ⱈ',
- 'Ⱉ' => 'ⱉ',
- 'Ⱊ' => 'ⱊ',
- 'Ⱋ' => 'ⱋ',
- 'Ⱌ' => 'ⱌ',
- 'Ⱍ' => 'ⱍ',
- 'Ⱎ' => 'ⱎ',
- 'Ⱏ' => 'ⱏ',
- 'Ⱐ' => 'ⱐ',
- 'Ⱑ' => 'ⱑ',
- 'Ⱒ' => 'ⱒ',
- 'Ⱓ' => 'ⱓ',
- 'Ⱔ' => 'ⱔ',
- 'Ⱕ' => 'ⱕ',
- 'Ⱖ' => 'ⱖ',
- 'Ⱗ' => 'ⱗ',
- 'Ⱘ' => 'ⱘ',
- 'Ⱙ' => 'ⱙ',
- 'Ⱚ' => 'ⱚ',
- 'Ⱛ' => 'ⱛ',
- 'Ⱜ' => 'ⱜ',
- 'Ⱝ' => 'ⱝ',
- 'Ⱞ' => 'ⱞ',
- 'Ⱡ' => 'ⱡ',
- 'Ɫ' => 'ɫ',
- 'Ᵽ' => 'ᵽ',
- 'Ɽ' => 'ɽ',
- 'Ⱨ' => 'ⱨ',
- 'Ⱪ' => 'ⱪ',
- 'Ⱬ' => 'ⱬ',
- 'Ɑ' => 'ɑ',
- 'Ɱ' => 'ɱ',
- 'Ɐ' => 'ɐ',
- 'Ɒ' => 'ɒ',
- 'Ⱳ' => 'ⱳ',
- 'Ⱶ' => 'ⱶ',
- 'Ȿ' => 'ȿ',
- 'Ɀ' => 'ɀ',
- 'Ⲁ' => 'ⲁ',
- 'Ⲃ' => 'ⲃ',
- 'Ⲅ' => 'ⲅ',
- 'Ⲇ' => 'ⲇ',
- 'Ⲉ' => 'ⲉ',
- 'Ⲋ' => 'ⲋ',
- 'Ⲍ' => 'ⲍ',
- 'Ⲏ' => 'ⲏ',
- 'Ⲑ' => 'ⲑ',
- 'Ⲓ' => 'ⲓ',
- 'Ⲕ' => 'ⲕ',
- 'Ⲗ' => 'ⲗ',
- 'Ⲙ' => 'ⲙ',
- 'Ⲛ' => 'ⲛ',
- 'Ⲝ' => 'ⲝ',
- 'Ⲟ' => 'ⲟ',
- 'Ⲡ' => 'ⲡ',
- 'Ⲣ' => 'ⲣ',
- 'Ⲥ' => 'ⲥ',
- 'Ⲧ' => 'ⲧ',
- 'Ⲩ' => 'ⲩ',
- 'Ⲫ' => 'ⲫ',
- 'Ⲭ' => 'ⲭ',
- 'Ⲯ' => 'ⲯ',
- 'Ⲱ' => 'ⲱ',
- 'Ⲳ' => 'ⲳ',
- 'Ⲵ' => 'ⲵ',
- 'Ⲷ' => 'ⲷ',
- 'Ⲹ' => 'ⲹ',
- 'Ⲻ' => 'ⲻ',
- 'Ⲽ' => 'ⲽ',
- 'Ⲿ' => 'ⲿ',
- 'Ⳁ' => 'ⳁ',
- 'Ⳃ' => 'ⳃ',
- 'Ⳅ' => 'ⳅ',
- 'Ⳇ' => 'ⳇ',
- 'Ⳉ' => 'ⳉ',
- 'Ⳋ' => 'ⳋ',
- 'Ⳍ' => 'ⳍ',
- 'Ⳏ' => 'ⳏ',
- 'Ⳑ' => 'ⳑ',
- 'Ⳓ' => 'ⳓ',
- 'Ⳕ' => 'ⳕ',
- 'Ⳗ' => 'ⳗ',
- 'Ⳙ' => 'ⳙ',
- 'Ⳛ' => 'ⳛ',
- 'Ⳝ' => 'ⳝ',
- 'Ⳟ' => 'ⳟ',
- 'Ⳡ' => 'ⳡ',
- 'Ⳣ' => 'ⳣ',
- 'Ⳬ' => 'ⳬ',
- 'Ⳮ' => 'ⳮ',
- 'Ⳳ' => 'ⳳ',
- 'Ꙁ' => 'ꙁ',
- 'Ꙃ' => 'ꙃ',
- 'Ꙅ' => 'ꙅ',
- 'Ꙇ' => 'ꙇ',
- 'Ꙉ' => 'ꙉ',
- 'Ꙋ' => 'ꙋ',
- 'Ꙍ' => 'ꙍ',
- 'Ꙏ' => 'ꙏ',
- 'Ꙑ' => 'ꙑ',
- 'Ꙓ' => 'ꙓ',
- 'Ꙕ' => 'ꙕ',
- 'Ꙗ' => 'ꙗ',
- 'Ꙙ' => 'ꙙ',
- 'Ꙛ' => 'ꙛ',
- 'Ꙝ' => 'ꙝ',
- 'Ꙟ' => 'ꙟ',
- 'Ꙡ' => 'ꙡ',
- 'Ꙣ' => 'ꙣ',
- 'Ꙥ' => 'ꙥ',
- 'Ꙧ' => 'ꙧ',
- 'Ꙩ' => 'ꙩ',
- 'Ꙫ' => 'ꙫ',
- 'Ꙭ' => 'ꙭ',
- 'Ꚁ' => 'ꚁ',
- 'Ꚃ' => 'ꚃ',
- 'Ꚅ' => 'ꚅ',
- 'Ꚇ' => 'ꚇ',
- 'Ꚉ' => 'ꚉ',
- 'Ꚋ' => 'ꚋ',
- 'Ꚍ' => 'ꚍ',
- 'Ꚏ' => 'ꚏ',
- 'Ꚑ' => 'ꚑ',
- 'Ꚓ' => 'ꚓ',
- 'Ꚕ' => 'ꚕ',
- 'Ꚗ' => 'ꚗ',
- 'Ꚙ' => 'ꚙ',
- 'Ꚛ' => 'ꚛ',
- 'Ꜣ' => 'ꜣ',
- 'Ꜥ' => 'ꜥ',
- 'Ꜧ' => 'ꜧ',
- 'Ꜩ' => 'ꜩ',
- 'Ꜫ' => 'ꜫ',
- 'Ꜭ' => 'ꜭ',
- 'Ꜯ' => 'ꜯ',
- 'Ꜳ' => 'ꜳ',
- 'Ꜵ' => 'ꜵ',
- 'Ꜷ' => 'ꜷ',
- 'Ꜹ' => 'ꜹ',
- 'Ꜻ' => 'ꜻ',
- 'Ꜽ' => 'ꜽ',
- 'Ꜿ' => 'ꜿ',
- 'Ꝁ' => 'ꝁ',
- 'Ꝃ' => 'ꝃ',
- 'Ꝅ' => 'ꝅ',
- 'Ꝇ' => 'ꝇ',
- 'Ꝉ' => 'ꝉ',
- 'Ꝋ' => 'ꝋ',
- 'Ꝍ' => 'ꝍ',
- 'Ꝏ' => 'ꝏ',
- 'Ꝑ' => 'ꝑ',
- 'Ꝓ' => 'ꝓ',
- 'Ꝕ' => 'ꝕ',
- 'Ꝗ' => 'ꝗ',
- 'Ꝙ' => 'ꝙ',
- 'Ꝛ' => 'ꝛ',
- 'Ꝝ' => 'ꝝ',
- 'Ꝟ' => 'ꝟ',
- 'Ꝡ' => 'ꝡ',
- 'Ꝣ' => 'ꝣ',
- 'Ꝥ' => 'ꝥ',
- 'Ꝧ' => 'ꝧ',
- 'Ꝩ' => 'ꝩ',
- 'Ꝫ' => 'ꝫ',
- 'Ꝭ' => 'ꝭ',
- 'Ꝯ' => 'ꝯ',
- 'Ꝺ' => 'ꝺ',
- 'Ꝼ' => 'ꝼ',
- 'Ᵹ' => 'ᵹ',
- 'Ꝿ' => 'ꝿ',
- 'Ꞁ' => 'ꞁ',
- 'Ꞃ' => 'ꞃ',
- 'Ꞅ' => 'ꞅ',
- 'Ꞇ' => 'ꞇ',
- 'Ꞌ' => 'ꞌ',
- 'Ɥ' => 'ɥ',
- 'Ꞑ' => 'ꞑ',
- 'Ꞓ' => 'ꞓ',
- 'Ꞗ' => 'ꞗ',
- 'Ꞙ' => 'ꞙ',
- 'Ꞛ' => 'ꞛ',
- 'Ꞝ' => 'ꞝ',
- 'Ꞟ' => 'ꞟ',
- 'Ꞡ' => 'ꞡ',
- 'Ꞣ' => 'ꞣ',
- 'Ꞥ' => 'ꞥ',
- 'Ꞧ' => 'ꞧ',
- 'Ꞩ' => 'ꞩ',
- 'Ɦ' => 'ɦ',
- 'Ɜ' => 'ɜ',
- 'Ɡ' => 'ɡ',
- 'Ɬ' => 'ɬ',
- 'Ɪ' => 'ɪ',
- 'Ʞ' => 'ʞ',
- 'Ʇ' => 'ʇ',
- 'Ʝ' => 'ʝ',
- 'Ꭓ' => 'ꭓ',
- 'Ꞵ' => 'ꞵ',
- 'Ꞷ' => 'ꞷ',
- 'Ꞹ' => 'ꞹ',
- 'Ꞻ' => 'ꞻ',
- 'Ꞽ' => 'ꞽ',
- 'Ꞿ' => 'ꞿ',
- 'Ꟃ' => 'ꟃ',
- 'Ꞔ' => 'ꞔ',
- 'Ʂ' => 'ʂ',
- 'Ᶎ' => 'ᶎ',
- 'Ꟈ' => 'ꟈ',
- 'Ꟊ' => 'ꟊ',
- 'Ꟶ' => 'ꟶ',
- 'A' => 'a',
- 'B' => 'b',
- 'C' => 'c',
- 'D' => 'd',
- 'E' => 'e',
- 'F' => 'f',
- 'G' => 'g',
- 'H' => 'h',
- 'I' => 'i',
- 'J' => 'j',
- 'K' => 'k',
- 'L' => 'l',
- 'M' => 'm',
- 'N' => 'n',
- 'O' => 'o',
- 'P' => 'p',
- 'Q' => 'q',
- 'R' => 'r',
- 'S' => 's',
- 'T' => 't',
- 'U' => 'u',
- 'V' => 'v',
- 'W' => 'w',
- 'X' => 'x',
- 'Y' => 'y',
- 'Z' => 'z',
- '𐐀' => '𐐨',
- '𐐁' => '𐐩',
- '𐐂' => '𐐪',
- '𐐃' => '𐐫',
- '𐐄' => '𐐬',
- '𐐅' => '𐐭',
- '𐐆' => '𐐮',
- '𐐇' => '𐐯',
- '𐐈' => '𐐰',
- '𐐉' => '𐐱',
- '𐐊' => '𐐲',
- '𐐋' => '𐐳',
- '𐐌' => '𐐴',
- '𐐍' => '𐐵',
- '𐐎' => '𐐶',
- '𐐏' => '𐐷',
- '𐐐' => '𐐸',
- '𐐑' => '𐐹',
- '𐐒' => '𐐺',
- '𐐓' => '𐐻',
- '𐐔' => '𐐼',
- '𐐕' => '𐐽',
- '𐐖' => '𐐾',
- '𐐗' => '𐐿',
- '𐐘' => '𐑀',
- '𐐙' => '𐑁',
- '𐐚' => '𐑂',
- '𐐛' => '𐑃',
- '𐐜' => '𐑄',
- '𐐝' => '𐑅',
- '𐐞' => '𐑆',
- '𐐟' => '𐑇',
- '𐐠' => '𐑈',
- '𐐡' => '𐑉',
- '𐐢' => '𐑊',
- '𐐣' => '𐑋',
- '𐐤' => '𐑌',
- '𐐥' => '𐑍',
- '𐐦' => '𐑎',
- '𐐧' => '𐑏',
- '𐒰' => '𐓘',
- '𐒱' => '𐓙',
- '𐒲' => '𐓚',
- '𐒳' => '𐓛',
- '𐒴' => '𐓜',
- '𐒵' => '𐓝',
- '𐒶' => '𐓞',
- '𐒷' => '𐓟',
- '𐒸' => '𐓠',
- '𐒹' => '𐓡',
- '𐒺' => '𐓢',
- '𐒻' => '𐓣',
- '𐒼' => '𐓤',
- '𐒽' => '𐓥',
- '𐒾' => '𐓦',
- '𐒿' => '𐓧',
- '𐓀' => '𐓨',
- '𐓁' => '𐓩',
- '𐓂' => '𐓪',
- '𐓃' => '𐓫',
- '𐓄' => '𐓬',
- '𐓅' => '𐓭',
- '𐓆' => '𐓮',
- '𐓇' => '𐓯',
- '𐓈' => '𐓰',
- '𐓉' => '𐓱',
- '𐓊' => '𐓲',
- '𐓋' => '𐓳',
- '𐓌' => '𐓴',
- '𐓍' => '𐓵',
- '𐓎' => '𐓶',
- '𐓏' => '𐓷',
- '𐓐' => '𐓸',
- '𐓑' => '𐓹',
- '𐓒' => '𐓺',
- '𐓓' => '𐓻',
- '𐲀' => '𐳀',
- '𐲁' => '𐳁',
- '𐲂' => '𐳂',
- '𐲃' => '𐳃',
- '𐲄' => '𐳄',
- '𐲅' => '𐳅',
- '𐲆' => '𐳆',
- '𐲇' => '𐳇',
- '𐲈' => '𐳈',
- '𐲉' => '𐳉',
- '𐲊' => '𐳊',
- '𐲋' => '𐳋',
- '𐲌' => '𐳌',
- '𐲍' => '𐳍',
- '𐲎' => '𐳎',
- '𐲏' => '𐳏',
- '𐲐' => '𐳐',
- '𐲑' => '𐳑',
- '𐲒' => '𐳒',
- '𐲓' => '𐳓',
- '𐲔' => '𐳔',
- '𐲕' => '𐳕',
- '𐲖' => '𐳖',
- '𐲗' => '𐳗',
- '𐲘' => '𐳘',
- '𐲙' => '𐳙',
- '𐲚' => '𐳚',
- '𐲛' => '𐳛',
- '𐲜' => '𐳜',
- '𐲝' => '𐳝',
- '𐲞' => '𐳞',
- '𐲟' => '𐳟',
- '𐲠' => '𐳠',
- '𐲡' => '𐳡',
- '𐲢' => '𐳢',
- '𐲣' => '𐳣',
- '𐲤' => '𐳤',
- '𐲥' => '𐳥',
- '𐲦' => '𐳦',
- '𐲧' => '𐳧',
- '𐲨' => '𐳨',
- '𐲩' => '𐳩',
- '𐲪' => '𐳪',
- '𐲫' => '𐳫',
- '𐲬' => '𐳬',
- '𐲭' => '𐳭',
- '𐲮' => '𐳮',
- '𐲯' => '𐳯',
- '𐲰' => '𐳰',
- '𐲱' => '𐳱',
- '𐲲' => '𐳲',
- '𑢠' => '𑣀',
- '𑢡' => '𑣁',
- '𑢢' => '𑣂',
- '𑢣' => '𑣃',
- '𑢤' => '𑣄',
- '𑢥' => '𑣅',
- '𑢦' => '𑣆',
- '𑢧' => '𑣇',
- '𑢨' => '𑣈',
- '𑢩' => '𑣉',
- '𑢪' => '𑣊',
- '𑢫' => '𑣋',
- '𑢬' => '𑣌',
- '𑢭' => '𑣍',
- '𑢮' => '𑣎',
- '𑢯' => '𑣏',
- '𑢰' => '𑣐',
- '𑢱' => '𑣑',
- '𑢲' => '𑣒',
- '𑢳' => '𑣓',
- '𑢴' => '𑣔',
- '𑢵' => '𑣕',
- '𑢶' => '𑣖',
- '𑢷' => '𑣗',
- '𑢸' => '𑣘',
- '𑢹' => '𑣙',
- '𑢺' => '𑣚',
- '𑢻' => '𑣛',
- '𑢼' => '𑣜',
- '𑢽' => '𑣝',
- '𑢾' => '𑣞',
- '𑢿' => '𑣟',
- '𖹀' => '𖹠',
- '𖹁' => '𖹡',
- '𖹂' => '𖹢',
- '𖹃' => '𖹣',
- '𖹄' => '𖹤',
- '𖹅' => '𖹥',
- '𖹆' => '𖹦',
- '𖹇' => '𖹧',
- '𖹈' => '𖹨',
- '𖹉' => '𖹩',
- '𖹊' => '𖹪',
- '𖹋' => '𖹫',
- '𖹌' => '𖹬',
- '𖹍' => '𖹭',
- '𖹎' => '𖹮',
- '𖹏' => '𖹯',
- '𖹐' => '𖹰',
- '𖹑' => '𖹱',
- '𖹒' => '𖹲',
- '𖹓' => '𖹳',
- '𖹔' => '𖹴',
- '𖹕' => '𖹵',
- '𖹖' => '𖹶',
- '𖹗' => '𖹷',
- '𖹘' => '𖹸',
- '𖹙' => '𖹹',
- '𖹚' => '𖹺',
- '𖹛' => '𖹻',
- '𖹜' => '𖹼',
- '𖹝' => '𖹽',
- '𖹞' => '𖹾',
- '𖹟' => '𖹿',
- '𞤀' => '𞤢',
- '𞤁' => '𞤣',
- '𞤂' => '𞤤',
- '𞤃' => '𞤥',
- '𞤄' => '𞤦',
- '𞤅' => '𞤧',
- '𞤆' => '𞤨',
- '𞤇' => '𞤩',
- '𞤈' => '𞤪',
- '𞤉' => '𞤫',
- '𞤊' => '𞤬',
- '𞤋' => '𞤭',
- '𞤌' => '𞤮',
- '𞤍' => '𞤯',
- '𞤎' => '𞤰',
- '𞤏' => '𞤱',
- '𞤐' => '𞤲',
- '𞤑' => '𞤳',
- '𞤒' => '𞤴',
- '𞤓' => '𞤵',
- '𞤔' => '𞤶',
- '𞤕' => '𞤷',
- '𞤖' => '𞤸',
- '𞤗' => '𞤹',
- '𞤘' => '𞤺',
- '𞤙' => '𞤻',
- '𞤚' => '𞤼',
- '𞤛' => '𞤽',
- '𞤜' => '𞤾',
- '𞤝' => '𞤿',
- '𞤞' => '𞥀',
- '𞤟' => '𞥁',
- '𞤠' => '𞥂',
- '𞤡' => '𞥃',
-);
diff --git a/htdocs/core/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php b/htdocs/core/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php
deleted file mode 100644
index 2a8f6e7..0000000
--- a/htdocs/core/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php
+++ /dev/null
@@ -1,5 +0,0 @@
- 'A',
- 'b' => 'B',
- 'c' => 'C',
- 'd' => 'D',
- 'e' => 'E',
- 'f' => 'F',
- 'g' => 'G',
- 'h' => 'H',
- 'i' => 'I',
- 'j' => 'J',
- 'k' => 'K',
- 'l' => 'L',
- 'm' => 'M',
- 'n' => 'N',
- 'o' => 'O',
- 'p' => 'P',
- 'q' => 'Q',
- 'r' => 'R',
- 's' => 'S',
- 't' => 'T',
- 'u' => 'U',
- 'v' => 'V',
- 'w' => 'W',
- 'x' => 'X',
- 'y' => 'Y',
- 'z' => 'Z',
- 'µ' => 'Μ',
- 'à' => 'À',
- 'á' => 'Á',
- 'â' => 'Â',
- 'ã' => 'Ã',
- 'ä' => 'Ä',
- 'å' => 'Å',
- 'æ' => 'Æ',
- 'ç' => 'Ç',
- 'è' => 'È',
- 'é' => 'É',
- 'ê' => 'Ê',
- 'ë' => 'Ë',
- 'ì' => 'Ì',
- 'í' => 'Í',
- 'î' => 'Î',
- 'ï' => 'Ï',
- 'ð' => 'Ð',
- 'ñ' => 'Ñ',
- 'ò' => 'Ò',
- 'ó' => 'Ó',
- 'ô' => 'Ô',
- 'õ' => 'Õ',
- 'ö' => 'Ö',
- 'ø' => 'Ø',
- 'ù' => 'Ù',
- 'ú' => 'Ú',
- 'û' => 'Û',
- 'ü' => 'Ü',
- 'ý' => 'Ý',
- 'þ' => 'Þ',
- 'ÿ' => 'Ÿ',
- 'ā' => 'Ā',
- 'ă' => 'Ă',
- 'ą' => 'Ą',
- 'ć' => 'Ć',
- 'ĉ' => 'Ĉ',
- 'ċ' => 'Ċ',
- 'č' => 'Č',
- 'ď' => 'Ď',
- 'đ' => 'Đ',
- 'ē' => 'Ē',
- 'ĕ' => 'Ĕ',
- 'ė' => 'Ė',
- 'ę' => 'Ę',
- 'ě' => 'Ě',
- 'ĝ' => 'Ĝ',
- 'ğ' => 'Ğ',
- 'ġ' => 'Ġ',
- 'ģ' => 'Ģ',
- 'ĥ' => 'Ĥ',
- 'ħ' => 'Ħ',
- 'ĩ' => 'Ĩ',
- 'ī' => 'Ī',
- 'ĭ' => 'Ĭ',
- 'į' => 'Į',
- 'ı' => 'I',
- 'ij' => 'IJ',
- 'ĵ' => 'Ĵ',
- 'ķ' => 'Ķ',
- 'ĺ' => 'Ĺ',
- 'ļ' => 'Ļ',
- 'ľ' => 'Ľ',
- 'ŀ' => 'Ŀ',
- 'ł' => 'Ł',
- 'ń' => 'Ń',
- 'ņ' => 'Ņ',
- 'ň' => 'Ň',
- 'ŋ' => 'Ŋ',
- 'ō' => 'Ō',
- 'ŏ' => 'Ŏ',
- 'ő' => 'Ő',
- 'œ' => 'Œ',
- 'ŕ' => 'Ŕ',
- 'ŗ' => 'Ŗ',
- 'ř' => 'Ř',
- 'ś' => 'Ś',
- 'ŝ' => 'Ŝ',
- 'ş' => 'Ş',
- 'š' => 'Š',
- 'ţ' => 'Ţ',
- 'ť' => 'Ť',
- 'ŧ' => 'Ŧ',
- 'ũ' => 'Ũ',
- 'ū' => 'Ū',
- 'ŭ' => 'Ŭ',
- 'ů' => 'Ů',
- 'ű' => 'Ű',
- 'ų' => 'Ų',
- 'ŵ' => 'Ŵ',
- 'ŷ' => 'Ŷ',
- 'ź' => 'Ź',
- 'ż' => 'Ż',
- 'ž' => 'Ž',
- 'ſ' => 'S',
- 'ƀ' => 'Ƀ',
- 'ƃ' => 'Ƃ',
- 'ƅ' => 'Ƅ',
- 'ƈ' => 'Ƈ',
- 'ƌ' => 'Ƌ',
- 'ƒ' => 'Ƒ',
- 'ƕ' => 'Ƕ',
- 'ƙ' => 'Ƙ',
- 'ƚ' => 'Ƚ',
- 'ƞ' => 'Ƞ',
- 'ơ' => 'Ơ',
- 'ƣ' => 'Ƣ',
- 'ƥ' => 'Ƥ',
- 'ƨ' => 'Ƨ',
- 'ƭ' => 'Ƭ',
- 'ư' => 'Ư',
- 'ƴ' => 'Ƴ',
- 'ƶ' => 'Ƶ',
- 'ƹ' => 'Ƹ',
- 'ƽ' => 'Ƽ',
- 'ƿ' => 'Ƿ',
- 'Dž' => 'DŽ',
- 'dž' => 'DŽ',
- 'Lj' => 'LJ',
- 'lj' => 'LJ',
- 'Nj' => 'NJ',
- 'nj' => 'NJ',
- 'ǎ' => 'Ǎ',
- 'ǐ' => 'Ǐ',
- 'ǒ' => 'Ǒ',
- 'ǔ' => 'Ǔ',
- 'ǖ' => 'Ǖ',
- 'ǘ' => 'Ǘ',
- 'ǚ' => 'Ǚ',
- 'ǜ' => 'Ǜ',
- 'ǝ' => 'Ǝ',
- 'ǟ' => 'Ǟ',
- 'ǡ' => 'Ǡ',
- 'ǣ' => 'Ǣ',
- 'ǥ' => 'Ǥ',
- 'ǧ' => 'Ǧ',
- 'ǩ' => 'Ǩ',
- 'ǫ' => 'Ǫ',
- 'ǭ' => 'Ǭ',
- 'ǯ' => 'Ǯ',
- 'Dz' => 'DZ',
- 'dz' => 'DZ',
- 'ǵ' => 'Ǵ',
- 'ǹ' => 'Ǹ',
- 'ǻ' => 'Ǻ',
- 'ǽ' => 'Ǽ',
- 'ǿ' => 'Ǿ',
- 'ȁ' => 'Ȁ',
- 'ȃ' => 'Ȃ',
- 'ȅ' => 'Ȅ',
- 'ȇ' => 'Ȇ',
- 'ȉ' => 'Ȉ',
- 'ȋ' => 'Ȋ',
- 'ȍ' => 'Ȍ',
- 'ȏ' => 'Ȏ',
- 'ȑ' => 'Ȑ',
- 'ȓ' => 'Ȓ',
- 'ȕ' => 'Ȕ',
- 'ȗ' => 'Ȗ',
- 'ș' => 'Ș',
- 'ț' => 'Ț',
- 'ȝ' => 'Ȝ',
- 'ȟ' => 'Ȟ',
- 'ȣ' => 'Ȣ',
- 'ȥ' => 'Ȥ',
- 'ȧ' => 'Ȧ',
- 'ȩ' => 'Ȩ',
- 'ȫ' => 'Ȫ',
- 'ȭ' => 'Ȭ',
- 'ȯ' => 'Ȯ',
- 'ȱ' => 'Ȱ',
- 'ȳ' => 'Ȳ',
- 'ȼ' => 'Ȼ',
- 'ȿ' => 'Ȿ',
- 'ɀ' => 'Ɀ',
- 'ɂ' => 'Ɂ',
- 'ɇ' => 'Ɇ',
- 'ɉ' => 'Ɉ',
- 'ɋ' => 'Ɋ',
- 'ɍ' => 'Ɍ',
- 'ɏ' => 'Ɏ',
- 'ɐ' => 'Ɐ',
- 'ɑ' => 'Ɑ',
- 'ɒ' => 'Ɒ',
- 'ɓ' => 'Ɓ',
- 'ɔ' => 'Ɔ',
- 'ɖ' => 'Ɖ',
- 'ɗ' => 'Ɗ',
- 'ə' => 'Ə',
- 'ɛ' => 'Ɛ',
- 'ɜ' => 'Ɜ',
- 'ɠ' => 'Ɠ',
- 'ɡ' => 'Ɡ',
- 'ɣ' => 'Ɣ',
- 'ɥ' => 'Ɥ',
- 'ɦ' => 'Ɦ',
- 'ɨ' => 'Ɨ',
- 'ɩ' => 'Ɩ',
- 'ɪ' => 'Ɪ',
- 'ɫ' => 'Ɫ',
- 'ɬ' => 'Ɬ',
- 'ɯ' => 'Ɯ',
- 'ɱ' => 'Ɱ',
- 'ɲ' => 'Ɲ',
- 'ɵ' => 'Ɵ',
- 'ɽ' => 'Ɽ',
- 'ʀ' => 'Ʀ',
- 'ʂ' => 'Ʂ',
- 'ʃ' => 'Ʃ',
- 'ʇ' => 'Ʇ',
- 'ʈ' => 'Ʈ',
- 'ʉ' => 'Ʉ',
- 'ʊ' => 'Ʊ',
- 'ʋ' => 'Ʋ',
- 'ʌ' => 'Ʌ',
- 'ʒ' => 'Ʒ',
- 'ʝ' => 'Ʝ',
- 'ʞ' => 'Ʞ',
- 'ͅ' => 'Ι',
- 'ͱ' => 'Ͱ',
- 'ͳ' => 'Ͳ',
- 'ͷ' => 'Ͷ',
- 'ͻ' => 'Ͻ',
- 'ͼ' => 'Ͼ',
- 'ͽ' => 'Ͽ',
- 'ά' => 'Ά',
- 'έ' => 'Έ',
- 'ή' => 'Ή',
- 'ί' => 'Ί',
- 'α' => 'Α',
- 'β' => 'Β',
- 'γ' => 'Γ',
- 'δ' => 'Δ',
- 'ε' => 'Ε',
- 'ζ' => 'Ζ',
- 'η' => 'Η',
- 'θ' => 'Θ',
- 'ι' => 'Ι',
- 'κ' => 'Κ',
- 'λ' => 'Λ',
- 'μ' => 'Μ',
- 'ν' => 'Ν',
- 'ξ' => 'Ξ',
- 'ο' => 'Ο',
- 'π' => 'Π',
- 'ρ' => 'Ρ',
- 'ς' => 'Σ',
- 'σ' => 'Σ',
- 'τ' => 'Τ',
- 'υ' => 'Υ',
- 'φ' => 'Φ',
- 'χ' => 'Χ',
- 'ψ' => 'Ψ',
- 'ω' => 'Ω',
- 'ϊ' => 'Ϊ',
- 'ϋ' => 'Ϋ',
- 'ό' => 'Ό',
- 'ύ' => 'Ύ',
- 'ώ' => 'Ώ',
- 'ϐ' => 'Β',
- 'ϑ' => 'Θ',
- 'ϕ' => 'Φ',
- 'ϖ' => 'Π',
- 'ϗ' => 'Ϗ',
- 'ϙ' => 'Ϙ',
- 'ϛ' => 'Ϛ',
- 'ϝ' => 'Ϝ',
- 'ϟ' => 'Ϟ',
- 'ϡ' => 'Ϡ',
- 'ϣ' => 'Ϣ',
- 'ϥ' => 'Ϥ',
- 'ϧ' => 'Ϧ',
- 'ϩ' => 'Ϩ',
- 'ϫ' => 'Ϫ',
- 'ϭ' => 'Ϭ',
- 'ϯ' => 'Ϯ',
- 'ϰ' => 'Κ',
- 'ϱ' => 'Ρ',
- 'ϲ' => 'Ϲ',
- 'ϳ' => 'Ϳ',
- 'ϵ' => 'Ε',
- 'ϸ' => 'Ϸ',
- 'ϻ' => 'Ϻ',
- 'а' => 'А',
- 'б' => 'Б',
- 'в' => 'В',
- 'г' => 'Г',
- 'д' => 'Д',
- 'е' => 'Е',
- 'ж' => 'Ж',
- 'з' => 'З',
- 'и' => 'И',
- 'й' => 'Й',
- 'к' => 'К',
- 'л' => 'Л',
- 'м' => 'М',
- 'н' => 'Н',
- 'о' => 'О',
- 'п' => 'П',
- 'р' => 'Р',
- 'с' => 'С',
- 'т' => 'Т',
- 'у' => 'У',
- 'ф' => 'Ф',
- 'х' => 'Х',
- 'ц' => 'Ц',
- 'ч' => 'Ч',
- 'ш' => 'Ш',
- 'щ' => 'Щ',
- 'ъ' => 'Ъ',
- 'ы' => 'Ы',
- 'ь' => 'Ь',
- 'э' => 'Э',
- 'ю' => 'Ю',
- 'я' => 'Я',
- 'ѐ' => 'Ѐ',
- 'ё' => 'Ё',
- 'ђ' => 'Ђ',
- 'ѓ' => 'Ѓ',
- 'є' => 'Є',
- 'ѕ' => 'Ѕ',
- 'і' => 'І',
- 'ї' => 'Ї',
- 'ј' => 'Ј',
- 'љ' => 'Љ',
- 'њ' => 'Њ',
- 'ћ' => 'Ћ',
- 'ќ' => 'Ќ',
- 'ѝ' => 'Ѝ',
- 'ў' => 'Ў',
- 'џ' => 'Џ',
- 'ѡ' => 'Ѡ',
- 'ѣ' => 'Ѣ',
- 'ѥ' => 'Ѥ',
- 'ѧ' => 'Ѧ',
- 'ѩ' => 'Ѩ',
- 'ѫ' => 'Ѫ',
- 'ѭ' => 'Ѭ',
- 'ѯ' => 'Ѯ',
- 'ѱ' => 'Ѱ',
- 'ѳ' => 'Ѳ',
- 'ѵ' => 'Ѵ',
- 'ѷ' => 'Ѷ',
- 'ѹ' => 'Ѹ',
- 'ѻ' => 'Ѻ',
- 'ѽ' => 'Ѽ',
- 'ѿ' => 'Ѿ',
- 'ҁ' => 'Ҁ',
- 'ҋ' => 'Ҋ',
- 'ҍ' => 'Ҍ',
- 'ҏ' => 'Ҏ',
- 'ґ' => 'Ґ',
- 'ғ' => 'Ғ',
- 'ҕ' => 'Ҕ',
- 'җ' => 'Җ',
- 'ҙ' => 'Ҙ',
- 'қ' => 'Қ',
- 'ҝ' => 'Ҝ',
- 'ҟ' => 'Ҟ',
- 'ҡ' => 'Ҡ',
- 'ң' => 'Ң',
- 'ҥ' => 'Ҥ',
- 'ҧ' => 'Ҧ',
- 'ҩ' => 'Ҩ',
- 'ҫ' => 'Ҫ',
- 'ҭ' => 'Ҭ',
- 'ү' => 'Ү',
- 'ұ' => 'Ұ',
- 'ҳ' => 'Ҳ',
- 'ҵ' => 'Ҵ',
- 'ҷ' => 'Ҷ',
- 'ҹ' => 'Ҹ',
- 'һ' => 'Һ',
- 'ҽ' => 'Ҽ',
- 'ҿ' => 'Ҿ',
- 'ӂ' => 'Ӂ',
- 'ӄ' => 'Ӄ',
- 'ӆ' => 'Ӆ',
- 'ӈ' => 'Ӈ',
- 'ӊ' => 'Ӊ',
- 'ӌ' => 'Ӌ',
- 'ӎ' => 'Ӎ',
- 'ӏ' => 'Ӏ',
- 'ӑ' => 'Ӑ',
- 'ӓ' => 'Ӓ',
- 'ӕ' => 'Ӕ',
- 'ӗ' => 'Ӗ',
- 'ә' => 'Ә',
- 'ӛ' => 'Ӛ',
- 'ӝ' => 'Ӝ',
- 'ӟ' => 'Ӟ',
- 'ӡ' => 'Ӡ',
- 'ӣ' => 'Ӣ',
- 'ӥ' => 'Ӥ',
- 'ӧ' => 'Ӧ',
- 'ө' => 'Ө',
- 'ӫ' => 'Ӫ',
- 'ӭ' => 'Ӭ',
- 'ӯ' => 'Ӯ',
- 'ӱ' => 'Ӱ',
- 'ӳ' => 'Ӳ',
- 'ӵ' => 'Ӵ',
- 'ӷ' => 'Ӷ',
- 'ӹ' => 'Ӹ',
- 'ӻ' => 'Ӻ',
- 'ӽ' => 'Ӽ',
- 'ӿ' => 'Ӿ',
- 'ԁ' => 'Ԁ',
- 'ԃ' => 'Ԃ',
- 'ԅ' => 'Ԅ',
- 'ԇ' => 'Ԇ',
- 'ԉ' => 'Ԉ',
- 'ԋ' => 'Ԋ',
- 'ԍ' => 'Ԍ',
- 'ԏ' => 'Ԏ',
- 'ԑ' => 'Ԑ',
- 'ԓ' => 'Ԓ',
- 'ԕ' => 'Ԕ',
- 'ԗ' => 'Ԗ',
- 'ԙ' => 'Ԙ',
- 'ԛ' => 'Ԛ',
- 'ԝ' => 'Ԝ',
- 'ԟ' => 'Ԟ',
- 'ԡ' => 'Ԡ',
- 'ԣ' => 'Ԣ',
- 'ԥ' => 'Ԥ',
- 'ԧ' => 'Ԧ',
- 'ԩ' => 'Ԩ',
- 'ԫ' => 'Ԫ',
- 'ԭ' => 'Ԭ',
- 'ԯ' => 'Ԯ',
- 'ա' => 'Ա',
- 'բ' => 'Բ',
- 'գ' => 'Գ',
- 'դ' => 'Դ',
- 'ե' => 'Ե',
- 'զ' => 'Զ',
- 'է' => 'Է',
- 'ը' => 'Ը',
- 'թ' => 'Թ',
- 'ժ' => 'Ժ',
- 'ի' => 'Ի',
- 'լ' => 'Լ',
- 'խ' => 'Խ',
- 'ծ' => 'Ծ',
- 'կ' => 'Կ',
- 'հ' => 'Հ',
- 'ձ' => 'Ձ',
- 'ղ' => 'Ղ',
- 'ճ' => 'Ճ',
- 'մ' => 'Մ',
- 'յ' => 'Յ',
- 'ն' => 'Ն',
- 'շ' => 'Շ',
- 'ո' => 'Ո',
- 'չ' => 'Չ',
- 'պ' => 'Պ',
- 'ջ' => 'Ջ',
- 'ռ' => 'Ռ',
- 'ս' => 'Ս',
- 'վ' => 'Վ',
- 'տ' => 'Տ',
- 'ր' => 'Ր',
- 'ց' => 'Ց',
- 'ւ' => 'Ւ',
- 'փ' => 'Փ',
- 'ք' => 'Ք',
- 'օ' => 'Օ',
- 'ֆ' => 'Ֆ',
- 'ა' => 'Ა',
- 'ბ' => 'Ბ',
- 'გ' => 'Გ',
- 'დ' => 'Დ',
- 'ე' => 'Ე',
- 'ვ' => 'Ვ',
- 'ზ' => 'Ზ',
- 'თ' => 'Თ',
- 'ი' => 'Ი',
- 'კ' => 'Კ',
- 'ლ' => 'Ლ',
- 'მ' => 'Მ',
- 'ნ' => 'Ნ',
- 'ო' => 'Ო',
- 'პ' => 'Პ',
- 'ჟ' => 'Ჟ',
- 'რ' => 'Რ',
- 'ს' => 'Ს',
- 'ტ' => 'Ტ',
- 'უ' => 'Უ',
- 'ფ' => 'Ფ',
- 'ქ' => 'Ქ',
- 'ღ' => 'Ღ',
- 'ყ' => 'Ყ',
- 'შ' => 'Შ',
- 'ჩ' => 'Ჩ',
- 'ც' => 'Ც',
- 'ძ' => 'Ძ',
- 'წ' => 'Წ',
- 'ჭ' => 'Ჭ',
- 'ხ' => 'Ხ',
- 'ჯ' => 'Ჯ',
- 'ჰ' => 'Ჰ',
- 'ჱ' => 'Ჱ',
- 'ჲ' => 'Ჲ',
- 'ჳ' => 'Ჳ',
- 'ჴ' => 'Ჴ',
- 'ჵ' => 'Ჵ',
- 'ჶ' => 'Ჶ',
- 'ჷ' => 'Ჷ',
- 'ჸ' => 'Ჸ',
- 'ჹ' => 'Ჹ',
- 'ჺ' => 'Ჺ',
- 'ჽ' => 'Ჽ',
- 'ჾ' => 'Ჾ',
- 'ჿ' => 'Ჿ',
- 'ᏸ' => 'Ᏸ',
- 'ᏹ' => 'Ᏹ',
- 'ᏺ' => 'Ᏺ',
- 'ᏻ' => 'Ᏻ',
- 'ᏼ' => 'Ᏼ',
- 'ᏽ' => 'Ᏽ',
- 'ᲀ' => 'В',
- 'ᲁ' => 'Д',
- 'ᲂ' => 'О',
- 'ᲃ' => 'С',
- 'ᲄ' => 'Т',
- 'ᲅ' => 'Т',
- 'ᲆ' => 'Ъ',
- 'ᲇ' => 'Ѣ',
- 'ᲈ' => 'Ꙋ',
- 'ᵹ' => 'Ᵹ',
- 'ᵽ' => 'Ᵽ',
- 'ᶎ' => 'Ᶎ',
- 'ḁ' => 'Ḁ',
- 'ḃ' => 'Ḃ',
- 'ḅ' => 'Ḅ',
- 'ḇ' => 'Ḇ',
- 'ḉ' => 'Ḉ',
- 'ḋ' => 'Ḋ',
- 'ḍ' => 'Ḍ',
- 'ḏ' => 'Ḏ',
- 'ḑ' => 'Ḑ',
- 'ḓ' => 'Ḓ',
- 'ḕ' => 'Ḕ',
- 'ḗ' => 'Ḗ',
- 'ḙ' => 'Ḙ',
- 'ḛ' => 'Ḛ',
- 'ḝ' => 'Ḝ',
- 'ḟ' => 'Ḟ',
- 'ḡ' => 'Ḡ',
- 'ḣ' => 'Ḣ',
- 'ḥ' => 'Ḥ',
- 'ḧ' => 'Ḧ',
- 'ḩ' => 'Ḩ',
- 'ḫ' => 'Ḫ',
- 'ḭ' => 'Ḭ',
- 'ḯ' => 'Ḯ',
- 'ḱ' => 'Ḱ',
- 'ḳ' => 'Ḳ',
- 'ḵ' => 'Ḵ',
- 'ḷ' => 'Ḷ',
- 'ḹ' => 'Ḹ',
- 'ḻ' => 'Ḻ',
- 'ḽ' => 'Ḽ',
- 'ḿ' => 'Ḿ',
- 'ṁ' => 'Ṁ',
- 'ṃ' => 'Ṃ',
- 'ṅ' => 'Ṅ',
- 'ṇ' => 'Ṇ',
- 'ṉ' => 'Ṉ',
- 'ṋ' => 'Ṋ',
- 'ṍ' => 'Ṍ',
- 'ṏ' => 'Ṏ',
- 'ṑ' => 'Ṑ',
- 'ṓ' => 'Ṓ',
- 'ṕ' => 'Ṕ',
- 'ṗ' => 'Ṗ',
- 'ṙ' => 'Ṙ',
- 'ṛ' => 'Ṛ',
- 'ṝ' => 'Ṝ',
- 'ṟ' => 'Ṟ',
- 'ṡ' => 'Ṡ',
- 'ṣ' => 'Ṣ',
- 'ṥ' => 'Ṥ',
- 'ṧ' => 'Ṧ',
- 'ṩ' => 'Ṩ',
- 'ṫ' => 'Ṫ',
- 'ṭ' => 'Ṭ',
- 'ṯ' => 'Ṯ',
- 'ṱ' => 'Ṱ',
- 'ṳ' => 'Ṳ',
- 'ṵ' => 'Ṵ',
- 'ṷ' => 'Ṷ',
- 'ṹ' => 'Ṹ',
- 'ṻ' => 'Ṻ',
- 'ṽ' => 'Ṽ',
- 'ṿ' => 'Ṿ',
- 'ẁ' => 'Ẁ',
- 'ẃ' => 'Ẃ',
- 'ẅ' => 'Ẅ',
- 'ẇ' => 'Ẇ',
- 'ẉ' => 'Ẉ',
- 'ẋ' => 'Ẋ',
- 'ẍ' => 'Ẍ',
- 'ẏ' => 'Ẏ',
- 'ẑ' => 'Ẑ',
- 'ẓ' => 'Ẓ',
- 'ẕ' => 'Ẕ',
- 'ẛ' => 'Ṡ',
- 'ạ' => 'Ạ',
- 'ả' => 'Ả',
- 'ấ' => 'Ấ',
- 'ầ' => 'Ầ',
- 'ẩ' => 'Ẩ',
- 'ẫ' => 'Ẫ',
- 'ậ' => 'Ậ',
- 'ắ' => 'Ắ',
- 'ằ' => 'Ằ',
- 'ẳ' => 'Ẳ',
- 'ẵ' => 'Ẵ',
- 'ặ' => 'Ặ',
- 'ẹ' => 'Ẹ',
- 'ẻ' => 'Ẻ',
- 'ẽ' => 'Ẽ',
- 'ế' => 'Ế',
- 'ề' => 'Ề',
- 'ể' => 'Ể',
- 'ễ' => 'Ễ',
- 'ệ' => 'Ệ',
- 'ỉ' => 'Ỉ',
- 'ị' => 'Ị',
- 'ọ' => 'Ọ',
- 'ỏ' => 'Ỏ',
- 'ố' => 'Ố',
- 'ồ' => 'Ồ',
- 'ổ' => 'Ổ',
- 'ỗ' => 'Ỗ',
- 'ộ' => 'Ộ',
- 'ớ' => 'Ớ',
- 'ờ' => 'Ờ',
- 'ở' => 'Ở',
- 'ỡ' => 'Ỡ',
- 'ợ' => 'Ợ',
- 'ụ' => 'Ụ',
- 'ủ' => 'Ủ',
- 'ứ' => 'Ứ',
- 'ừ' => 'Ừ',
- 'ử' => 'Ử',
- 'ữ' => 'Ữ',
- 'ự' => 'Ự',
- 'ỳ' => 'Ỳ',
- 'ỵ' => 'Ỵ',
- 'ỷ' => 'Ỷ',
- 'ỹ' => 'Ỹ',
- 'ỻ' => 'Ỻ',
- 'ỽ' => 'Ỽ',
- 'ỿ' => 'Ỿ',
- 'ἀ' => 'Ἀ',
- 'ἁ' => 'Ἁ',
- 'ἂ' => 'Ἂ',
- 'ἃ' => 'Ἃ',
- 'ἄ' => 'Ἄ',
- 'ἅ' => 'Ἅ',
- 'ἆ' => 'Ἆ',
- 'ἇ' => 'Ἇ',
- 'ἐ' => 'Ἐ',
- 'ἑ' => 'Ἑ',
- 'ἒ' => 'Ἒ',
- 'ἓ' => 'Ἓ',
- 'ἔ' => 'Ἔ',
- 'ἕ' => 'Ἕ',
- 'ἠ' => 'Ἠ',
- 'ἡ' => 'Ἡ',
- 'ἢ' => 'Ἢ',
- 'ἣ' => 'Ἣ',
- 'ἤ' => 'Ἤ',
- 'ἥ' => 'Ἥ',
- 'ἦ' => 'Ἦ',
- 'ἧ' => 'Ἧ',
- 'ἰ' => 'Ἰ',
- 'ἱ' => 'Ἱ',
- 'ἲ' => 'Ἲ',
- 'ἳ' => 'Ἳ',
- 'ἴ' => 'Ἴ',
- 'ἵ' => 'Ἵ',
- 'ἶ' => 'Ἶ',
- 'ἷ' => 'Ἷ',
- 'ὀ' => 'Ὀ',
- 'ὁ' => 'Ὁ',
- 'ὂ' => 'Ὂ',
- 'ὃ' => 'Ὃ',
- 'ὄ' => 'Ὄ',
- 'ὅ' => 'Ὅ',
- 'ὑ' => 'Ὑ',
- 'ὓ' => 'Ὓ',
- 'ὕ' => 'Ὕ',
- 'ὗ' => 'Ὗ',
- 'ὠ' => 'Ὠ',
- 'ὡ' => 'Ὡ',
- 'ὢ' => 'Ὢ',
- 'ὣ' => 'Ὣ',
- 'ὤ' => 'Ὤ',
- 'ὥ' => 'Ὥ',
- 'ὦ' => 'Ὦ',
- 'ὧ' => 'Ὧ',
- 'ὰ' => 'Ὰ',
- 'ά' => 'Ά',
- 'ὲ' => 'Ὲ',
- 'έ' => 'Έ',
- 'ὴ' => 'Ὴ',
- 'ή' => 'Ή',
- 'ὶ' => 'Ὶ',
- 'ί' => 'Ί',
- 'ὸ' => 'Ὸ',
- 'ό' => 'Ό',
- 'ὺ' => 'Ὺ',
- 'ύ' => 'Ύ',
- 'ὼ' => 'Ὼ',
- 'ώ' => 'Ώ',
- 'ᾀ' => 'ἈΙ',
- 'ᾁ' => 'ἉΙ',
- 'ᾂ' => 'ἊΙ',
- 'ᾃ' => 'ἋΙ',
- 'ᾄ' => 'ἌΙ',
- 'ᾅ' => 'ἍΙ',
- 'ᾆ' => 'ἎΙ',
- 'ᾇ' => 'ἏΙ',
- 'ᾐ' => 'ἨΙ',
- 'ᾑ' => 'ἩΙ',
- 'ᾒ' => 'ἪΙ',
- 'ᾓ' => 'ἫΙ',
- 'ᾔ' => 'ἬΙ',
- 'ᾕ' => 'ἭΙ',
- 'ᾖ' => 'ἮΙ',
- 'ᾗ' => 'ἯΙ',
- 'ᾠ' => 'ὨΙ',
- 'ᾡ' => 'ὩΙ',
- 'ᾢ' => 'ὪΙ',
- 'ᾣ' => 'ὫΙ',
- 'ᾤ' => 'ὬΙ',
- 'ᾥ' => 'ὭΙ',
- 'ᾦ' => 'ὮΙ',
- 'ᾧ' => 'ὯΙ',
- 'ᾰ' => 'Ᾰ',
- 'ᾱ' => 'Ᾱ',
- 'ᾳ' => 'ΑΙ',
- 'ι' => 'Ι',
- 'ῃ' => 'ΗΙ',
- 'ῐ' => 'Ῐ',
- 'ῑ' => 'Ῑ',
- 'ῠ' => 'Ῠ',
- 'ῡ' => 'Ῡ',
- 'ῥ' => 'Ῥ',
- 'ῳ' => 'ΩΙ',
- 'ⅎ' => 'Ⅎ',
- 'ⅰ' => 'Ⅰ',
- 'ⅱ' => 'Ⅱ',
- 'ⅲ' => 'Ⅲ',
- 'ⅳ' => 'Ⅳ',
- 'ⅴ' => 'Ⅴ',
- 'ⅵ' => 'Ⅵ',
- 'ⅶ' => 'Ⅶ',
- 'ⅷ' => 'Ⅷ',
- 'ⅸ' => 'Ⅸ',
- 'ⅹ' => 'Ⅹ',
- 'ⅺ' => 'Ⅺ',
- 'ⅻ' => 'Ⅻ',
- 'ⅼ' => 'Ⅼ',
- 'ⅽ' => 'Ⅽ',
- 'ⅾ' => 'Ⅾ',
- 'ⅿ' => 'Ⅿ',
- 'ↄ' => 'Ↄ',
- 'ⓐ' => 'Ⓐ',
- 'ⓑ' => 'Ⓑ',
- 'ⓒ' => 'Ⓒ',
- 'ⓓ' => 'Ⓓ',
- 'ⓔ' => 'Ⓔ',
- 'ⓕ' => 'Ⓕ',
- 'ⓖ' => 'Ⓖ',
- 'ⓗ' => 'Ⓗ',
- 'ⓘ' => 'Ⓘ',
- 'ⓙ' => 'Ⓙ',
- 'ⓚ' => 'Ⓚ',
- 'ⓛ' => 'Ⓛ',
- 'ⓜ' => 'Ⓜ',
- 'ⓝ' => 'Ⓝ',
- 'ⓞ' => 'Ⓞ',
- 'ⓟ' => 'Ⓟ',
- 'ⓠ' => 'Ⓠ',
- 'ⓡ' => 'Ⓡ',
- 'ⓢ' => 'Ⓢ',
- 'ⓣ' => 'Ⓣ',
- 'ⓤ' => 'Ⓤ',
- 'ⓥ' => 'Ⓥ',
- 'ⓦ' => 'Ⓦ',
- 'ⓧ' => 'Ⓧ',
- 'ⓨ' => 'Ⓨ',
- 'ⓩ' => 'Ⓩ',
- 'ⰰ' => 'Ⰰ',
- 'ⰱ' => 'Ⰱ',
- 'ⰲ' => 'Ⰲ',
- 'ⰳ' => 'Ⰳ',
- 'ⰴ' => 'Ⰴ',
- 'ⰵ' => 'Ⰵ',
- 'ⰶ' => 'Ⰶ',
- 'ⰷ' => 'Ⰷ',
- 'ⰸ' => 'Ⰸ',
- 'ⰹ' => 'Ⰹ',
- 'ⰺ' => 'Ⰺ',
- 'ⰻ' => 'Ⰻ',
- 'ⰼ' => 'Ⰼ',
- 'ⰽ' => 'Ⰽ',
- 'ⰾ' => 'Ⰾ',
- 'ⰿ' => 'Ⰿ',
- 'ⱀ' => 'Ⱀ',
- 'ⱁ' => 'Ⱁ',
- 'ⱂ' => 'Ⱂ',
- 'ⱃ' => 'Ⱃ',
- 'ⱄ' => 'Ⱄ',
- 'ⱅ' => 'Ⱅ',
- 'ⱆ' => 'Ⱆ',
- 'ⱇ' => 'Ⱇ',
- 'ⱈ' => 'Ⱈ',
- 'ⱉ' => 'Ⱉ',
- 'ⱊ' => 'Ⱊ',
- 'ⱋ' => 'Ⱋ',
- 'ⱌ' => 'Ⱌ',
- 'ⱍ' => 'Ⱍ',
- 'ⱎ' => 'Ⱎ',
- 'ⱏ' => 'Ⱏ',
- 'ⱐ' => 'Ⱐ',
- 'ⱑ' => 'Ⱑ',
- 'ⱒ' => 'Ⱒ',
- 'ⱓ' => 'Ⱓ',
- 'ⱔ' => 'Ⱔ',
- 'ⱕ' => 'Ⱕ',
- 'ⱖ' => 'Ⱖ',
- 'ⱗ' => 'Ⱗ',
- 'ⱘ' => 'Ⱘ',
- 'ⱙ' => 'Ⱙ',
- 'ⱚ' => 'Ⱚ',
- 'ⱛ' => 'Ⱛ',
- 'ⱜ' => 'Ⱜ',
- 'ⱝ' => 'Ⱝ',
- 'ⱞ' => 'Ⱞ',
- 'ⱡ' => 'Ⱡ',
- 'ⱥ' => 'Ⱥ',
- 'ⱦ' => 'Ⱦ',
- 'ⱨ' => 'Ⱨ',
- 'ⱪ' => 'Ⱪ',
- 'ⱬ' => 'Ⱬ',
- 'ⱳ' => 'Ⱳ',
- 'ⱶ' => 'Ⱶ',
- 'ⲁ' => 'Ⲁ',
- 'ⲃ' => 'Ⲃ',
- 'ⲅ' => 'Ⲅ',
- 'ⲇ' => 'Ⲇ',
- 'ⲉ' => 'Ⲉ',
- 'ⲋ' => 'Ⲋ',
- 'ⲍ' => 'Ⲍ',
- 'ⲏ' => 'Ⲏ',
- 'ⲑ' => 'Ⲑ',
- 'ⲓ' => 'Ⲓ',
- 'ⲕ' => 'Ⲕ',
- 'ⲗ' => 'Ⲗ',
- 'ⲙ' => 'Ⲙ',
- 'ⲛ' => 'Ⲛ',
- 'ⲝ' => 'Ⲝ',
- 'ⲟ' => 'Ⲟ',
- 'ⲡ' => 'Ⲡ',
- 'ⲣ' => 'Ⲣ',
- 'ⲥ' => 'Ⲥ',
- 'ⲧ' => 'Ⲧ',
- 'ⲩ' => 'Ⲩ',
- 'ⲫ' => 'Ⲫ',
- 'ⲭ' => 'Ⲭ',
- 'ⲯ' => 'Ⲯ',
- 'ⲱ' => 'Ⲱ',
- 'ⲳ' => 'Ⲳ',
- 'ⲵ' => 'Ⲵ',
- 'ⲷ' => 'Ⲷ',
- 'ⲹ' => 'Ⲹ',
- 'ⲻ' => 'Ⲻ',
- 'ⲽ' => 'Ⲽ',
- 'ⲿ' => 'Ⲿ',
- 'ⳁ' => 'Ⳁ',
- 'ⳃ' => 'Ⳃ',
- 'ⳅ' => 'Ⳅ',
- 'ⳇ' => 'Ⳇ',
- 'ⳉ' => 'Ⳉ',
- 'ⳋ' => 'Ⳋ',
- 'ⳍ' => 'Ⳍ',
- 'ⳏ' => 'Ⳏ',
- 'ⳑ' => 'Ⳑ',
- 'ⳓ' => 'Ⳓ',
- 'ⳕ' => 'Ⳕ',
- 'ⳗ' => 'Ⳗ',
- 'ⳙ' => 'Ⳙ',
- 'ⳛ' => 'Ⳛ',
- 'ⳝ' => 'Ⳝ',
- 'ⳟ' => 'Ⳟ',
- 'ⳡ' => 'Ⳡ',
- 'ⳣ' => 'Ⳣ',
- 'ⳬ' => 'Ⳬ',
- 'ⳮ' => 'Ⳮ',
- 'ⳳ' => 'Ⳳ',
- 'ⴀ' => 'Ⴀ',
- 'ⴁ' => 'Ⴁ',
- 'ⴂ' => 'Ⴂ',
- 'ⴃ' => 'Ⴃ',
- 'ⴄ' => 'Ⴄ',
- 'ⴅ' => 'Ⴅ',
- 'ⴆ' => 'Ⴆ',
- 'ⴇ' => 'Ⴇ',
- 'ⴈ' => 'Ⴈ',
- 'ⴉ' => 'Ⴉ',
- 'ⴊ' => 'Ⴊ',
- 'ⴋ' => 'Ⴋ',
- 'ⴌ' => 'Ⴌ',
- 'ⴍ' => 'Ⴍ',
- 'ⴎ' => 'Ⴎ',
- 'ⴏ' => 'Ⴏ',
- 'ⴐ' => 'Ⴐ',
- 'ⴑ' => 'Ⴑ',
- 'ⴒ' => 'Ⴒ',
- 'ⴓ' => 'Ⴓ',
- 'ⴔ' => 'Ⴔ',
- 'ⴕ' => 'Ⴕ',
- 'ⴖ' => 'Ⴖ',
- 'ⴗ' => 'Ⴗ',
- 'ⴘ' => 'Ⴘ',
- 'ⴙ' => 'Ⴙ',
- 'ⴚ' => 'Ⴚ',
- 'ⴛ' => 'Ⴛ',
- 'ⴜ' => 'Ⴜ',
- 'ⴝ' => 'Ⴝ',
- 'ⴞ' => 'Ⴞ',
- 'ⴟ' => 'Ⴟ',
- 'ⴠ' => 'Ⴠ',
- 'ⴡ' => 'Ⴡ',
- 'ⴢ' => 'Ⴢ',
- 'ⴣ' => 'Ⴣ',
- 'ⴤ' => 'Ⴤ',
- 'ⴥ' => 'Ⴥ',
- 'ⴧ' => 'Ⴧ',
- 'ⴭ' => 'Ⴭ',
- 'ꙁ' => 'Ꙁ',
- 'ꙃ' => 'Ꙃ',
- 'ꙅ' => 'Ꙅ',
- 'ꙇ' => 'Ꙇ',
- 'ꙉ' => 'Ꙉ',
- 'ꙋ' => 'Ꙋ',
- 'ꙍ' => 'Ꙍ',
- 'ꙏ' => 'Ꙏ',
- 'ꙑ' => 'Ꙑ',
- 'ꙓ' => 'Ꙓ',
- 'ꙕ' => 'Ꙕ',
- 'ꙗ' => 'Ꙗ',
- 'ꙙ' => 'Ꙙ',
- 'ꙛ' => 'Ꙛ',
- 'ꙝ' => 'Ꙝ',
- 'ꙟ' => 'Ꙟ',
- 'ꙡ' => 'Ꙡ',
- 'ꙣ' => 'Ꙣ',
- 'ꙥ' => 'Ꙥ',
- 'ꙧ' => 'Ꙧ',
- 'ꙩ' => 'Ꙩ',
- 'ꙫ' => 'Ꙫ',
- 'ꙭ' => 'Ꙭ',
- 'ꚁ' => 'Ꚁ',
- 'ꚃ' => 'Ꚃ',
- 'ꚅ' => 'Ꚅ',
- 'ꚇ' => 'Ꚇ',
- 'ꚉ' => 'Ꚉ',
- 'ꚋ' => 'Ꚋ',
- 'ꚍ' => 'Ꚍ',
- 'ꚏ' => 'Ꚏ',
- 'ꚑ' => 'Ꚑ',
- 'ꚓ' => 'Ꚓ',
- 'ꚕ' => 'Ꚕ',
- 'ꚗ' => 'Ꚗ',
- 'ꚙ' => 'Ꚙ',
- 'ꚛ' => 'Ꚛ',
- 'ꜣ' => 'Ꜣ',
- 'ꜥ' => 'Ꜥ',
- 'ꜧ' => 'Ꜧ',
- 'ꜩ' => 'Ꜩ',
- 'ꜫ' => 'Ꜫ',
- 'ꜭ' => 'Ꜭ',
- 'ꜯ' => 'Ꜯ',
- 'ꜳ' => 'Ꜳ',
- 'ꜵ' => 'Ꜵ',
- 'ꜷ' => 'Ꜷ',
- 'ꜹ' => 'Ꜹ',
- 'ꜻ' => 'Ꜻ',
- 'ꜽ' => 'Ꜽ',
- 'ꜿ' => 'Ꜿ',
- 'ꝁ' => 'Ꝁ',
- 'ꝃ' => 'Ꝃ',
- 'ꝅ' => 'Ꝅ',
- 'ꝇ' => 'Ꝇ',
- 'ꝉ' => 'Ꝉ',
- 'ꝋ' => 'Ꝋ',
- 'ꝍ' => 'Ꝍ',
- 'ꝏ' => 'Ꝏ',
- 'ꝑ' => 'Ꝑ',
- 'ꝓ' => 'Ꝓ',
- 'ꝕ' => 'Ꝕ',
- 'ꝗ' => 'Ꝗ',
- 'ꝙ' => 'Ꝙ',
- 'ꝛ' => 'Ꝛ',
- 'ꝝ' => 'Ꝝ',
- 'ꝟ' => 'Ꝟ',
- 'ꝡ' => 'Ꝡ',
- 'ꝣ' => 'Ꝣ',
- 'ꝥ' => 'Ꝥ',
- 'ꝧ' => 'Ꝧ',
- 'ꝩ' => 'Ꝩ',
- 'ꝫ' => 'Ꝫ',
- 'ꝭ' => 'Ꝭ',
- 'ꝯ' => 'Ꝯ',
- 'ꝺ' => 'Ꝺ',
- 'ꝼ' => 'Ꝼ',
- 'ꝿ' => 'Ꝿ',
- 'ꞁ' => 'Ꞁ',
- 'ꞃ' => 'Ꞃ',
- 'ꞅ' => 'Ꞅ',
- 'ꞇ' => 'Ꞇ',
- 'ꞌ' => 'Ꞌ',
- 'ꞑ' => 'Ꞑ',
- 'ꞓ' => 'Ꞓ',
- 'ꞔ' => 'Ꞔ',
- 'ꞗ' => 'Ꞗ',
- 'ꞙ' => 'Ꞙ',
- 'ꞛ' => 'Ꞛ',
- 'ꞝ' => 'Ꞝ',
- 'ꞟ' => 'Ꞟ',
- 'ꞡ' => 'Ꞡ',
- 'ꞣ' => 'Ꞣ',
- 'ꞥ' => 'Ꞥ',
- 'ꞧ' => 'Ꞧ',
- 'ꞩ' => 'Ꞩ',
- 'ꞵ' => 'Ꞵ',
- 'ꞷ' => 'Ꞷ',
- 'ꞹ' => 'Ꞹ',
- 'ꞻ' => 'Ꞻ',
- 'ꞽ' => 'Ꞽ',
- 'ꞿ' => 'Ꞿ',
- 'ꟃ' => 'Ꟃ',
- 'ꟈ' => 'Ꟈ',
- 'ꟊ' => 'Ꟊ',
- 'ꟶ' => 'Ꟶ',
- 'ꭓ' => 'Ꭓ',
- 'ꭰ' => 'Ꭰ',
- 'ꭱ' => 'Ꭱ',
- 'ꭲ' => 'Ꭲ',
- 'ꭳ' => 'Ꭳ',
- 'ꭴ' => 'Ꭴ',
- 'ꭵ' => 'Ꭵ',
- 'ꭶ' => 'Ꭶ',
- 'ꭷ' => 'Ꭷ',
- 'ꭸ' => 'Ꭸ',
- 'ꭹ' => 'Ꭹ',
- 'ꭺ' => 'Ꭺ',
- 'ꭻ' => 'Ꭻ',
- 'ꭼ' => 'Ꭼ',
- 'ꭽ' => 'Ꭽ',
- 'ꭾ' => 'Ꭾ',
- 'ꭿ' => 'Ꭿ',
- 'ꮀ' => 'Ꮀ',
- 'ꮁ' => 'Ꮁ',
- 'ꮂ' => 'Ꮂ',
- 'ꮃ' => 'Ꮃ',
- 'ꮄ' => 'Ꮄ',
- 'ꮅ' => 'Ꮅ',
- 'ꮆ' => 'Ꮆ',
- 'ꮇ' => 'Ꮇ',
- 'ꮈ' => 'Ꮈ',
- 'ꮉ' => 'Ꮉ',
- 'ꮊ' => 'Ꮊ',
- 'ꮋ' => 'Ꮋ',
- 'ꮌ' => 'Ꮌ',
- 'ꮍ' => 'Ꮍ',
- 'ꮎ' => 'Ꮎ',
- 'ꮏ' => 'Ꮏ',
- 'ꮐ' => 'Ꮐ',
- 'ꮑ' => 'Ꮑ',
- 'ꮒ' => 'Ꮒ',
- 'ꮓ' => 'Ꮓ',
- 'ꮔ' => 'Ꮔ',
- 'ꮕ' => 'Ꮕ',
- 'ꮖ' => 'Ꮖ',
- 'ꮗ' => 'Ꮗ',
- 'ꮘ' => 'Ꮘ',
- 'ꮙ' => 'Ꮙ',
- 'ꮚ' => 'Ꮚ',
- 'ꮛ' => 'Ꮛ',
- 'ꮜ' => 'Ꮜ',
- 'ꮝ' => 'Ꮝ',
- 'ꮞ' => 'Ꮞ',
- 'ꮟ' => 'Ꮟ',
- 'ꮠ' => 'Ꮠ',
- 'ꮡ' => 'Ꮡ',
- 'ꮢ' => 'Ꮢ',
- 'ꮣ' => 'Ꮣ',
- 'ꮤ' => 'Ꮤ',
- 'ꮥ' => 'Ꮥ',
- 'ꮦ' => 'Ꮦ',
- 'ꮧ' => 'Ꮧ',
- 'ꮨ' => 'Ꮨ',
- 'ꮩ' => 'Ꮩ',
- 'ꮪ' => 'Ꮪ',
- 'ꮫ' => 'Ꮫ',
- 'ꮬ' => 'Ꮬ',
- 'ꮭ' => 'Ꮭ',
- 'ꮮ' => 'Ꮮ',
- 'ꮯ' => 'Ꮯ',
- 'ꮰ' => 'Ꮰ',
- 'ꮱ' => 'Ꮱ',
- 'ꮲ' => 'Ꮲ',
- 'ꮳ' => 'Ꮳ',
- 'ꮴ' => 'Ꮴ',
- 'ꮵ' => 'Ꮵ',
- 'ꮶ' => 'Ꮶ',
- 'ꮷ' => 'Ꮷ',
- 'ꮸ' => 'Ꮸ',
- 'ꮹ' => 'Ꮹ',
- 'ꮺ' => 'Ꮺ',
- 'ꮻ' => 'Ꮻ',
- 'ꮼ' => 'Ꮼ',
- 'ꮽ' => 'Ꮽ',
- 'ꮾ' => 'Ꮾ',
- 'ꮿ' => 'Ꮿ',
- 'a' => 'A',
- 'b' => 'B',
- 'c' => 'C',
- 'd' => 'D',
- 'e' => 'E',
- 'f' => 'F',
- 'g' => 'G',
- 'h' => 'H',
- 'i' => 'I',
- 'j' => 'J',
- 'k' => 'K',
- 'l' => 'L',
- 'm' => 'M',
- 'n' => 'N',
- 'o' => 'O',
- 'p' => 'P',
- 'q' => 'Q',
- 'r' => 'R',
- 's' => 'S',
- 't' => 'T',
- 'u' => 'U',
- 'v' => 'V',
- 'w' => 'W',
- 'x' => 'X',
- 'y' => 'Y',
- 'z' => 'Z',
- '𐐨' => '𐐀',
- '𐐩' => '𐐁',
- '𐐪' => '𐐂',
- '𐐫' => '𐐃',
- '𐐬' => '𐐄',
- '𐐭' => '𐐅',
- '𐐮' => '𐐆',
- '𐐯' => '𐐇',
- '𐐰' => '𐐈',
- '𐐱' => '𐐉',
- '𐐲' => '𐐊',
- '𐐳' => '𐐋',
- '𐐴' => '𐐌',
- '𐐵' => '𐐍',
- '𐐶' => '𐐎',
- '𐐷' => '𐐏',
- '𐐸' => '𐐐',
- '𐐹' => '𐐑',
- '𐐺' => '𐐒',
- '𐐻' => '𐐓',
- '𐐼' => '𐐔',
- '𐐽' => '𐐕',
- '𐐾' => '𐐖',
- '𐐿' => '𐐗',
- '𐑀' => '𐐘',
- '𐑁' => '𐐙',
- '𐑂' => '𐐚',
- '𐑃' => '𐐛',
- '𐑄' => '𐐜',
- '𐑅' => '𐐝',
- '𐑆' => '𐐞',
- '𐑇' => '𐐟',
- '𐑈' => '𐐠',
- '𐑉' => '𐐡',
- '𐑊' => '𐐢',
- '𐑋' => '𐐣',
- '𐑌' => '𐐤',
- '𐑍' => '𐐥',
- '𐑎' => '𐐦',
- '𐑏' => '𐐧',
- '𐓘' => '𐒰',
- '𐓙' => '𐒱',
- '𐓚' => '𐒲',
- '𐓛' => '𐒳',
- '𐓜' => '𐒴',
- '𐓝' => '𐒵',
- '𐓞' => '𐒶',
- '𐓟' => '𐒷',
- '𐓠' => '𐒸',
- '𐓡' => '𐒹',
- '𐓢' => '𐒺',
- '𐓣' => '𐒻',
- '𐓤' => '𐒼',
- '𐓥' => '𐒽',
- '𐓦' => '𐒾',
- '𐓧' => '𐒿',
- '𐓨' => '𐓀',
- '𐓩' => '𐓁',
- '𐓪' => '𐓂',
- '𐓫' => '𐓃',
- '𐓬' => '𐓄',
- '𐓭' => '𐓅',
- '𐓮' => '𐓆',
- '𐓯' => '𐓇',
- '𐓰' => '𐓈',
- '𐓱' => '𐓉',
- '𐓲' => '𐓊',
- '𐓳' => '𐓋',
- '𐓴' => '𐓌',
- '𐓵' => '𐓍',
- '𐓶' => '𐓎',
- '𐓷' => '𐓏',
- '𐓸' => '𐓐',
- '𐓹' => '𐓑',
- '𐓺' => '𐓒',
- '𐓻' => '𐓓',
- '𐳀' => '𐲀',
- '𐳁' => '𐲁',
- '𐳂' => '𐲂',
- '𐳃' => '𐲃',
- '𐳄' => '𐲄',
- '𐳅' => '𐲅',
- '𐳆' => '𐲆',
- '𐳇' => '𐲇',
- '𐳈' => '𐲈',
- '𐳉' => '𐲉',
- '𐳊' => '𐲊',
- '𐳋' => '𐲋',
- '𐳌' => '𐲌',
- '𐳍' => '𐲍',
- '𐳎' => '𐲎',
- '𐳏' => '𐲏',
- '𐳐' => '𐲐',
- '𐳑' => '𐲑',
- '𐳒' => '𐲒',
- '𐳓' => '𐲓',
- '𐳔' => '𐲔',
- '𐳕' => '𐲕',
- '𐳖' => '𐲖',
- '𐳗' => '𐲗',
- '𐳘' => '𐲘',
- '𐳙' => '𐲙',
- '𐳚' => '𐲚',
- '𐳛' => '𐲛',
- '𐳜' => '𐲜',
- '𐳝' => '𐲝',
- '𐳞' => '𐲞',
- '𐳟' => '𐲟',
- '𐳠' => '𐲠',
- '𐳡' => '𐲡',
- '𐳢' => '𐲢',
- '𐳣' => '𐲣',
- '𐳤' => '𐲤',
- '𐳥' => '𐲥',
- '𐳦' => '𐲦',
- '𐳧' => '𐲧',
- '𐳨' => '𐲨',
- '𐳩' => '𐲩',
- '𐳪' => '𐲪',
- '𐳫' => '𐲫',
- '𐳬' => '𐲬',
- '𐳭' => '𐲭',
- '𐳮' => '𐲮',
- '𐳯' => '𐲯',
- '𐳰' => '𐲰',
- '𐳱' => '𐲱',
- '𐳲' => '𐲲',
- '𑣀' => '𑢠',
- '𑣁' => '𑢡',
- '𑣂' => '𑢢',
- '𑣃' => '𑢣',
- '𑣄' => '𑢤',
- '𑣅' => '𑢥',
- '𑣆' => '𑢦',
- '𑣇' => '𑢧',
- '𑣈' => '𑢨',
- '𑣉' => '𑢩',
- '𑣊' => '𑢪',
- '𑣋' => '𑢫',
- '𑣌' => '𑢬',
- '𑣍' => '𑢭',
- '𑣎' => '𑢮',
- '𑣏' => '𑢯',
- '𑣐' => '𑢰',
- '𑣑' => '𑢱',
- '𑣒' => '𑢲',
- '𑣓' => '𑢳',
- '𑣔' => '𑢴',
- '𑣕' => '𑢵',
- '𑣖' => '𑢶',
- '𑣗' => '𑢷',
- '𑣘' => '𑢸',
- '𑣙' => '𑢹',
- '𑣚' => '𑢺',
- '𑣛' => '𑢻',
- '𑣜' => '𑢼',
- '𑣝' => '𑢽',
- '𑣞' => '𑢾',
- '𑣟' => '𑢿',
- '𖹠' => '𖹀',
- '𖹡' => '𖹁',
- '𖹢' => '𖹂',
- '𖹣' => '𖹃',
- '𖹤' => '𖹄',
- '𖹥' => '𖹅',
- '𖹦' => '𖹆',
- '𖹧' => '𖹇',
- '𖹨' => '𖹈',
- '𖹩' => '𖹉',
- '𖹪' => '𖹊',
- '𖹫' => '𖹋',
- '𖹬' => '𖹌',
- '𖹭' => '𖹍',
- '𖹮' => '𖹎',
- '𖹯' => '𖹏',
- '𖹰' => '𖹐',
- '𖹱' => '𖹑',
- '𖹲' => '𖹒',
- '𖹳' => '𖹓',
- '𖹴' => '𖹔',
- '𖹵' => '𖹕',
- '𖹶' => '𖹖',
- '𖹷' => '𖹗',
- '𖹸' => '𖹘',
- '𖹹' => '𖹙',
- '𖹺' => '𖹚',
- '𖹻' => '𖹛',
- '𖹼' => '𖹜',
- '𖹽' => '𖹝',
- '𖹾' => '𖹞',
- '𖹿' => '𖹟',
- '𞤢' => '𞤀',
- '𞤣' => '𞤁',
- '𞤤' => '𞤂',
- '𞤥' => '𞤃',
- '𞤦' => '𞤄',
- '𞤧' => '𞤅',
- '𞤨' => '𞤆',
- '𞤩' => '𞤇',
- '𞤪' => '𞤈',
- '𞤫' => '𞤉',
- '𞤬' => '𞤊',
- '𞤭' => '𞤋',
- '𞤮' => '𞤌',
- '𞤯' => '𞤍',
- '𞤰' => '𞤎',
- '𞤱' => '𞤏',
- '𞤲' => '𞤐',
- '𞤳' => '𞤑',
- '𞤴' => '𞤒',
- '𞤵' => '𞤓',
- '𞤶' => '𞤔',
- '𞤷' => '𞤕',
- '𞤸' => '𞤖',
- '𞤹' => '𞤗',
- '𞤺' => '𞤘',
- '𞤻' => '𞤙',
- '𞤼' => '𞤚',
- '𞤽' => '𞤛',
- '𞤾' => '𞤜',
- '𞤿' => '𞤝',
- '𞥀' => '𞤞',
- '𞥁' => '𞤟',
- '𞥂' => '𞤠',
- '𞥃' => '𞤡',
- 'ß' => 'SS',
- 'ff' => 'FF',
- 'fi' => 'FI',
- 'fl' => 'FL',
- 'ffi' => 'FFI',
- 'ffl' => 'FFL',
- 'ſt' => 'ST',
- 'st' => 'ST',
- 'և' => 'ԵՒ',
- 'ﬓ' => 'ՄՆ',
- 'ﬔ' => 'ՄԵ',
- 'ﬕ' => 'ՄԻ',
- 'ﬖ' => 'ՎՆ',
- 'ﬗ' => 'ՄԽ',
- 'ʼn' => 'ʼN',
- 'ΐ' => 'Ϊ́',
- 'ΰ' => 'Ϋ́',
- 'ǰ' => 'J̌',
- 'ẖ' => 'H̱',
- 'ẗ' => 'T̈',
- 'ẘ' => 'W̊',
- 'ẙ' => 'Y̊',
- 'ẚ' => 'Aʾ',
- 'ὐ' => 'Υ̓',
- 'ὒ' => 'Υ̓̀',
- 'ὔ' => 'Υ̓́',
- 'ὖ' => 'Υ̓͂',
- 'ᾶ' => 'Α͂',
- 'ῆ' => 'Η͂',
- 'ῒ' => 'Ϊ̀',
- 'ΐ' => 'Ϊ́',
- 'ῖ' => 'Ι͂',
- 'ῗ' => 'Ϊ͂',
- 'ῢ' => 'Ϋ̀',
- 'ΰ' => 'Ϋ́',
- 'ῤ' => 'Ρ̓',
- 'ῦ' => 'Υ͂',
- 'ῧ' => 'Ϋ͂',
- 'ῶ' => 'Ω͂',
- 'ᾈ' => 'ἈΙ',
- 'ᾉ' => 'ἉΙ',
- 'ᾊ' => 'ἊΙ',
- 'ᾋ' => 'ἋΙ',
- 'ᾌ' => 'ἌΙ',
- 'ᾍ' => 'ἍΙ',
- 'ᾎ' => 'ἎΙ',
- 'ᾏ' => 'ἏΙ',
- 'ᾘ' => 'ἨΙ',
- 'ᾙ' => 'ἩΙ',
- 'ᾚ' => 'ἪΙ',
- 'ᾛ' => 'ἫΙ',
- 'ᾜ' => 'ἬΙ',
- 'ᾝ' => 'ἭΙ',
- 'ᾞ' => 'ἮΙ',
- 'ᾟ' => 'ἯΙ',
- 'ᾨ' => 'ὨΙ',
- 'ᾩ' => 'ὩΙ',
- 'ᾪ' => 'ὪΙ',
- 'ᾫ' => 'ὫΙ',
- 'ᾬ' => 'ὬΙ',
- 'ᾭ' => 'ὭΙ',
- 'ᾮ' => 'ὮΙ',
- 'ᾯ' => 'ὯΙ',
- 'ᾼ' => 'ΑΙ',
- 'ῌ' => 'ΗΙ',
- 'ῼ' => 'ΩΙ',
- 'ᾲ' => 'ᾺΙ',
- 'ᾴ' => 'ΆΙ',
- 'ῂ' => 'ῊΙ',
- 'ῄ' => 'ΉΙ',
- 'ῲ' => 'ῺΙ',
- 'ῴ' => 'ΏΙ',
- 'ᾷ' => 'Α͂Ι',
- 'ῇ' => 'Η͂Ι',
- 'ῷ' => 'Ω͂Ι',
-);
diff --git a/htdocs/core/vendor/symfony/polyfill-mbstring/bootstrap.php b/htdocs/core/vendor/symfony/polyfill-mbstring/bootstrap.php
deleted file mode 100644
index ecf1a03..0000000
--- a/htdocs/core/vendor/symfony/polyfill-mbstring/bootstrap.php
+++ /dev/null
@@ -1,151 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use Symfony\Polyfill\Mbstring as p;
-
-if (\PHP_VERSION_ID >= 80000) {
- return require __DIR__.'/bootstrap80.php';
-}
-
-if (!function_exists('mb_convert_encoding')) {
- function mb_convert_encoding($string, $to_encoding, $from_encoding = null) { return p\Mbstring::mb_convert_encoding($string, $to_encoding, $from_encoding); }
-}
-if (!function_exists('mb_decode_mimeheader')) {
- function mb_decode_mimeheader($string) { return p\Mbstring::mb_decode_mimeheader($string); }
-}
-if (!function_exists('mb_encode_mimeheader')) {
- function mb_encode_mimeheader($string, $charset = null, $transfer_encoding = null, $newline = "\r\n", $indent = 0) { return p\Mbstring::mb_encode_mimeheader($string, $charset, $transfer_encoding, $newline, $indent); }
-}
-if (!function_exists('mb_decode_numericentity')) {
- function mb_decode_numericentity($string, $map, $encoding = null) { return p\Mbstring::mb_decode_numericentity($string, $map, $encoding); }
-}
-if (!function_exists('mb_encode_numericentity')) {
- function mb_encode_numericentity($string, $map, $encoding = null, $hex = false) { return p\Mbstring::mb_encode_numericentity($string, $map, $encoding, $hex); }
-}
-if (!function_exists('mb_convert_case')) {
- function mb_convert_case($string, $mode, $encoding = null) { return p\Mbstring::mb_convert_case($string, $mode, $encoding); }
-}
-if (!function_exists('mb_internal_encoding')) {
- function mb_internal_encoding($encoding = null) { return p\Mbstring::mb_internal_encoding($encoding); }
-}
-if (!function_exists('mb_language')) {
- function mb_language($language = null) { return p\Mbstring::mb_language($language); }
-}
-if (!function_exists('mb_list_encodings')) {
- function mb_list_encodings() { return p\Mbstring::mb_list_encodings(); }
-}
-if (!function_exists('mb_encoding_aliases')) {
- function mb_encoding_aliases($encoding) { return p\Mbstring::mb_encoding_aliases($encoding); }
-}
-if (!function_exists('mb_check_encoding')) {
- function mb_check_encoding($value = null, $encoding = null) { return p\Mbstring::mb_check_encoding($value, $encoding); }
-}
-if (!function_exists('mb_detect_encoding')) {
- function mb_detect_encoding($string, $encodings = null, $strict = false) { return p\Mbstring::mb_detect_encoding($string, $encodings, $strict); }
-}
-if (!function_exists('mb_detect_order')) {
- function mb_detect_order($encoding = null) { return p\Mbstring::mb_detect_order($encoding); }
-}
-if (!function_exists('mb_parse_str')) {
- function mb_parse_str($string, &$result = []) { parse_str($string, $result); return (bool) $result; }
-}
-if (!function_exists('mb_strlen')) {
- function mb_strlen($string, $encoding = null) { return p\Mbstring::mb_strlen($string, $encoding); }
-}
-if (!function_exists('mb_strpos')) {
- function mb_strpos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strpos($haystack, $needle, $offset, $encoding); }
-}
-if (!function_exists('mb_strtolower')) {
- function mb_strtolower($string, $encoding = null) { return p\Mbstring::mb_strtolower($string, $encoding); }
-}
-if (!function_exists('mb_strtoupper')) {
- function mb_strtoupper($string, $encoding = null) { return p\Mbstring::mb_strtoupper($string, $encoding); }
-}
-if (!function_exists('mb_substitute_character')) {
- function mb_substitute_character($substitute_character = null) { return p\Mbstring::mb_substitute_character($substitute_character); }
-}
-if (!function_exists('mb_substr')) {
- function mb_substr($string, $start, $length = 2147483647, $encoding = null) { return p\Mbstring::mb_substr($string, $start, $length, $encoding); }
-}
-if (!function_exists('mb_stripos')) {
- function mb_stripos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_stripos($haystack, $needle, $offset, $encoding); }
-}
-if (!function_exists('mb_stristr')) {
- function mb_stristr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_stristr($haystack, $needle, $before_needle, $encoding); }
-}
-if (!function_exists('mb_strrchr')) {
- function mb_strrchr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strrchr($haystack, $needle, $before_needle, $encoding); }
-}
-if (!function_exists('mb_strrichr')) {
- function mb_strrichr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strrichr($haystack, $needle, $before_needle, $encoding); }
-}
-if (!function_exists('mb_strripos')) {
- function mb_strripos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strripos($haystack, $needle, $offset, $encoding); }
-}
-if (!function_exists('mb_strrpos')) {
- function mb_strrpos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strrpos($haystack, $needle, $offset, $encoding); }
-}
-if (!function_exists('mb_strstr')) {
- function mb_strstr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strstr($haystack, $needle, $before_needle, $encoding); }
-}
-if (!function_exists('mb_get_info')) {
- function mb_get_info($type = 'all') { return p\Mbstring::mb_get_info($type); }
-}
-if (!function_exists('mb_http_output')) {
- function mb_http_output($encoding = null) { return p\Mbstring::mb_http_output($encoding); }
-}
-if (!function_exists('mb_strwidth')) {
- function mb_strwidth($string, $encoding = null) { return p\Mbstring::mb_strwidth($string, $encoding); }
-}
-if (!function_exists('mb_substr_count')) {
- function mb_substr_count($haystack, $needle, $encoding = null) { return p\Mbstring::mb_substr_count($haystack, $needle, $encoding); }
-}
-if (!function_exists('mb_output_handler')) {
- function mb_output_handler($string, $status) { return p\Mbstring::mb_output_handler($string, $status); }
-}
-if (!function_exists('mb_http_input')) {
- function mb_http_input($type = null) { return p\Mbstring::mb_http_input($type); }
-}
-
-if (!function_exists('mb_convert_variables')) {
- function mb_convert_variables($to_encoding, $from_encoding, &...$vars) { return p\Mbstring::mb_convert_variables($to_encoding, $from_encoding, ...$vars); }
-}
-
-if (!function_exists('mb_ord')) {
- function mb_ord($string, $encoding = null) { return p\Mbstring::mb_ord($string, $encoding); }
-}
-if (!function_exists('mb_chr')) {
- function mb_chr($codepoint, $encoding = null) { return p\Mbstring::mb_chr($codepoint, $encoding); }
-}
-if (!function_exists('mb_scrub')) {
- function mb_scrub($string, $encoding = null) { $encoding = null === $encoding ? mb_internal_encoding() : $encoding; return mb_convert_encoding($string, $encoding, $encoding); }
-}
-if (!function_exists('mb_str_split')) {
- function mb_str_split($string, $length = 1, $encoding = null) { return p\Mbstring::mb_str_split($string, $length, $encoding); }
-}
-
-if (!function_exists('mb_str_pad')) {
- function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = STR_PAD_RIGHT, ?string $encoding = null): string { return p\Mbstring::mb_str_pad($string, $length, $pad_string, $pad_type, $encoding); }
-}
-
-if (extension_loaded('mbstring')) {
- return;
-}
-
-if (!defined('MB_CASE_UPPER')) {
- define('MB_CASE_UPPER', 0);
-}
-if (!defined('MB_CASE_LOWER')) {
- define('MB_CASE_LOWER', 1);
-}
-if (!defined('MB_CASE_TITLE')) {
- define('MB_CASE_TITLE', 2);
-}
diff --git a/htdocs/core/vendor/symfony/polyfill-mbstring/bootstrap80.php b/htdocs/core/vendor/symfony/polyfill-mbstring/bootstrap80.php
deleted file mode 100644
index 2f9fb5b..0000000
--- a/htdocs/core/vendor/symfony/polyfill-mbstring/bootstrap80.php
+++ /dev/null
@@ -1,147 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use Symfony\Polyfill\Mbstring as p;
-
-if (!function_exists('mb_convert_encoding')) {
- function mb_convert_encoding(array|string|null $string, ?string $to_encoding, array|string|null $from_encoding = null): array|string|false { return p\Mbstring::mb_convert_encoding($string ?? '', (string) $to_encoding, $from_encoding); }
-}
-if (!function_exists('mb_decode_mimeheader')) {
- function mb_decode_mimeheader(?string $string): string { return p\Mbstring::mb_decode_mimeheader((string) $string); }
-}
-if (!function_exists('mb_encode_mimeheader')) {
- function mb_encode_mimeheader(?string $string, ?string $charset = null, ?string $transfer_encoding = null, ?string $newline = "\r\n", ?int $indent = 0): string { return p\Mbstring::mb_encode_mimeheader((string) $string, $charset, $transfer_encoding, (string) $newline, (int) $indent); }
-}
-if (!function_exists('mb_decode_numericentity')) {
- function mb_decode_numericentity(?string $string, array $map, ?string $encoding = null): string { return p\Mbstring::mb_decode_numericentity((string) $string, $map, $encoding); }
-}
-if (!function_exists('mb_encode_numericentity')) {
- function mb_encode_numericentity(?string $string, array $map, ?string $encoding = null, ?bool $hex = false): string { return p\Mbstring::mb_encode_numericentity((string) $string, $map, $encoding, (bool) $hex); }
-}
-if (!function_exists('mb_convert_case')) {
- function mb_convert_case(?string $string, ?int $mode, ?string $encoding = null): string { return p\Mbstring::mb_convert_case((string) $string, (int) $mode, $encoding); }
-}
-if (!function_exists('mb_internal_encoding')) {
- function mb_internal_encoding(?string $encoding = null): string|bool { return p\Mbstring::mb_internal_encoding($encoding); }
-}
-if (!function_exists('mb_language')) {
- function mb_language(?string $language = null): string|bool { return p\Mbstring::mb_language($language); }
-}
-if (!function_exists('mb_list_encodings')) {
- function mb_list_encodings(): array { return p\Mbstring::mb_list_encodings(); }
-}
-if (!function_exists('mb_encoding_aliases')) {
- function mb_encoding_aliases(?string $encoding): array { return p\Mbstring::mb_encoding_aliases((string) $encoding); }
-}
-if (!function_exists('mb_check_encoding')) {
- function mb_check_encoding(array|string|null $value = null, ?string $encoding = null): bool { return p\Mbstring::mb_check_encoding($value, $encoding); }
-}
-if (!function_exists('mb_detect_encoding')) {
- function mb_detect_encoding(?string $string, array|string|null $encodings = null, ?bool $strict = false): string|false { return p\Mbstring::mb_detect_encoding((string) $string, $encodings, (bool) $strict); }
-}
-if (!function_exists('mb_detect_order')) {
- function mb_detect_order(array|string|null $encoding = null): array|bool { return p\Mbstring::mb_detect_order($encoding); }
-}
-if (!function_exists('mb_parse_str')) {
- function mb_parse_str(?string $string, &$result = []): bool { parse_str((string) $string, $result); return (bool) $result; }
-}
-if (!function_exists('mb_strlen')) {
- function mb_strlen(?string $string, ?string $encoding = null): int { return p\Mbstring::mb_strlen((string) $string, $encoding); }
-}
-if (!function_exists('mb_strpos')) {
- function mb_strpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strpos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
-}
-if (!function_exists('mb_strtolower')) {
- function mb_strtolower(?string $string, ?string $encoding = null): string { return p\Mbstring::mb_strtolower((string) $string, $encoding); }
-}
-if (!function_exists('mb_strtoupper')) {
- function mb_strtoupper(?string $string, ?string $encoding = null): string { return p\Mbstring::mb_strtoupper((string) $string, $encoding); }
-}
-if (!function_exists('mb_substitute_character')) {
- function mb_substitute_character(string|int|null $substitute_character = null): string|int|bool { return p\Mbstring::mb_substitute_character($substitute_character); }
-}
-if (!function_exists('mb_substr')) {
- function mb_substr(?string $string, ?int $start, ?int $length = null, ?string $encoding = null): string { return p\Mbstring::mb_substr((string) $string, (int) $start, $length, $encoding); }
-}
-if (!function_exists('mb_stripos')) {
- function mb_stripos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_stripos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
-}
-if (!function_exists('mb_stristr')) {
- function mb_stristr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_stristr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); }
-}
-if (!function_exists('mb_strrchr')) {
- function mb_strrchr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strrchr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); }
-}
-if (!function_exists('mb_strrichr')) {
- function mb_strrichr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strrichr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); }
-}
-if (!function_exists('mb_strripos')) {
- function mb_strripos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strripos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
-}
-if (!function_exists('mb_strrpos')) {
- function mb_strrpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strrpos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
-}
-if (!function_exists('mb_strstr')) {
- function mb_strstr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strstr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); }
-}
-if (!function_exists('mb_get_info')) {
- function mb_get_info(?string $type = 'all'): array|string|int|false { return p\Mbstring::mb_get_info((string) $type); }
-}
-if (!function_exists('mb_http_output')) {
- function mb_http_output(?string $encoding = null): string|bool { return p\Mbstring::mb_http_output($encoding); }
-}
-if (!function_exists('mb_strwidth')) {
- function mb_strwidth(?string $string, ?string $encoding = null): int { return p\Mbstring::mb_strwidth((string) $string, $encoding); }
-}
-if (!function_exists('mb_substr_count')) {
- function mb_substr_count(?string $haystack, ?string $needle, ?string $encoding = null): int { return p\Mbstring::mb_substr_count((string) $haystack, (string) $needle, $encoding); }
-}
-if (!function_exists('mb_output_handler')) {
- function mb_output_handler(?string $string, ?int $status): string { return p\Mbstring::mb_output_handler((string) $string, (int) $status); }
-}
-if (!function_exists('mb_http_input')) {
- function mb_http_input(?string $type = null): array|string|false { return p\Mbstring::mb_http_input($type); }
-}
-
-if (!function_exists('mb_convert_variables')) {
- function mb_convert_variables(?string $to_encoding, array|string|null $from_encoding, mixed &$var, mixed &...$vars): string|false { return p\Mbstring::mb_convert_variables((string) $to_encoding, $from_encoding ?? '', $var, ...$vars); }
-}
-
-if (!function_exists('mb_ord')) {
- function mb_ord(?string $string, ?string $encoding = null): int|false { return p\Mbstring::mb_ord((string) $string, $encoding); }
-}
-if (!function_exists('mb_chr')) {
- function mb_chr(?int $codepoint, ?string $encoding = null): string|false { return p\Mbstring::mb_chr((int) $codepoint, $encoding); }
-}
-if (!function_exists('mb_scrub')) {
- function mb_scrub(?string $string, ?string $encoding = null): string { $encoding ??= mb_internal_encoding(); return mb_convert_encoding((string) $string, $encoding, $encoding); }
-}
-if (!function_exists('mb_str_split')) {
- function mb_str_split(?string $string, ?int $length = 1, ?string $encoding = null): array { return p\Mbstring::mb_str_split((string) $string, (int) $length, $encoding); }
-}
-
-if (!function_exists('mb_str_pad')) {
- function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = STR_PAD_RIGHT, ?string $encoding = null): string { return p\Mbstring::mb_str_pad($string, $length, $pad_string, $pad_type, $encoding); }
-}
-
-if (extension_loaded('mbstring')) {
- return;
-}
-
-if (!defined('MB_CASE_UPPER')) {
- define('MB_CASE_UPPER', 0);
-}
-if (!defined('MB_CASE_LOWER')) {
- define('MB_CASE_LOWER', 1);
-}
-if (!defined('MB_CASE_TITLE')) {
- define('MB_CASE_TITLE', 2);
-}
diff --git a/htdocs/core/vendor/symfony/polyfill-mbstring/composer.json b/htdocs/core/vendor/symfony/polyfill-mbstring/composer.json
deleted file mode 100644
index 943e502..0000000
--- a/htdocs/core/vendor/symfony/polyfill-mbstring/composer.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "symfony/polyfill-mbstring",
- "type": "library",
- "description": "Symfony polyfill for the Mbstring extension",
- "keywords": ["polyfill", "shim", "compatibility", "portable", "mbstring"],
- "homepage": "https://symfony.com",
- "license": "MIT",
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "require": {
- "php": ">=7.1"
- },
- "provide": {
- "ext-mbstring": "*"
- },
- "autoload": {
- "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" },
- "files": [ "bootstrap.php" ]
- },
- "suggest": {
- "ext-mbstring": "For best performance"
- },
- "minimum-stability": "dev",
- "extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- }
-}
diff --git a/htdocs/core/vendor/symfony/polyfill-php80/LICENSE b/htdocs/core/vendor/symfony/polyfill-php80/LICENSE
deleted file mode 100644
index 0ed3a24..0000000
--- a/htdocs/core/vendor/symfony/polyfill-php80/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2020-present Fabien Potencier
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is furnished
-to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/htdocs/core/vendor/symfony/polyfill-php80/Php80.php b/htdocs/core/vendor/symfony/polyfill-php80/Php80.php
deleted file mode 100644
index 362dd1a..0000000
--- a/htdocs/core/vendor/symfony/polyfill-php80/Php80.php
+++ /dev/null
@@ -1,115 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Polyfill\Php80;
-
-/**
- * @author Ion Bazan
- *
- * @internal
- */
-final class Php80
-{
- public static function fdiv(float $dividend, float $divisor): float
- {
- return @($dividend / $divisor);
- }
-
- public static function get_debug_type($value): string
- {
- switch (true) {
- case null === $value: return 'null';
- case \is_bool($value): return 'bool';
- case \is_string($value): return 'string';
- case \is_array($value): return 'array';
- case \is_int($value): return 'int';
- case \is_float($value): return 'float';
- case \is_object($value): break;
- case $value instanceof \__PHP_Incomplete_Class: return '__PHP_Incomplete_Class';
- default:
- if (null === $type = @get_resource_type($value)) {
- return 'unknown';
- }
-
- if ('Unknown' === $type) {
- $type = 'closed';
- }
-
- return "resource ($type)";
- }
-
- $class = \get_class($value);
-
- if (false === strpos($class, '@')) {
- return $class;
- }
-
- return (get_parent_class($class) ?: key(class_implements($class)) ?: 'class').'@anonymous';
- }
-
- public static function get_resource_id($res): int
- {
- if (!\is_resource($res) && null === @get_resource_type($res)) {
- throw new \TypeError(sprintf('Argument 1 passed to get_resource_id() must be of the type resource, %s given', get_debug_type($res)));
- }
-
- return (int) $res;
- }
-
- public static function preg_last_error_msg(): string
- {
- switch (preg_last_error()) {
- case \PREG_INTERNAL_ERROR:
- return 'Internal error';
- case \PREG_BAD_UTF8_ERROR:
- return 'Malformed UTF-8 characters, possibly incorrectly encoded';
- case \PREG_BAD_UTF8_OFFSET_ERROR:
- return 'The offset did not correspond to the beginning of a valid UTF-8 code point';
- case \PREG_BACKTRACK_LIMIT_ERROR:
- return 'Backtrack limit exhausted';
- case \PREG_RECURSION_LIMIT_ERROR:
- return 'Recursion limit exhausted';
- case \PREG_JIT_STACKLIMIT_ERROR:
- return 'JIT stack limit exhausted';
- case \PREG_NO_ERROR:
- return 'No error';
- default:
- return 'Unknown error';
- }
- }
-
- public static function str_contains(string $haystack, string $needle): bool
- {
- return '' === $needle || false !== strpos($haystack, $needle);
- }
-
- public static function str_starts_with(string $haystack, string $needle): bool
- {
- return 0 === strncmp($haystack, $needle, \strlen($needle));
- }
-
- public static function str_ends_with(string $haystack, string $needle): bool
- {
- if ('' === $needle || $needle === $haystack) {
- return true;
- }
-
- if ('' === $haystack) {
- return false;
- }
-
- $needleLength = \strlen($needle);
-
- return $needleLength <= \strlen($haystack) && 0 === substr_compare($haystack, $needle, -$needleLength);
- }
-}
diff --git a/htdocs/core/vendor/symfony/polyfill-php80/PhpToken.php b/htdocs/core/vendor/symfony/polyfill-php80/PhpToken.php
deleted file mode 100644
index fe6e691..0000000
--- a/htdocs/core/vendor/symfony/polyfill-php80/PhpToken.php
+++ /dev/null
@@ -1,103 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Polyfill\Php80;
-
-/**
- * @author Fedonyuk Anton The page you are looking for might have been removed had it's name changed or temporarily unavailable The page you are looking for does not exist, had it's name changed or temporarily unavailable\is_scalar($value)
- $adapter::create()
- $reader::create()
- $writer::create()
- static function ($adapter) {
- static function ($reader) {
- static function ($writer) {
- $pattern
- $pattern
- $pattern
- $pattern
- 404
Page Not Found!
-