diff --git a/og-generate.cjs b/og-generate.cjs new file mode 100644 index 0000000..5a33a20 --- /dev/null +++ b/og-generate.cjs @@ -0,0 +1,57 @@ +const Jimp = require('jimp'); +const path = require('path'); +const fs = require('fs'); + +// Define the path to the input and output folders +const inputFolder = './public/assets/images/cover/'; +const outputFolder = './public/assets/images/branding/og/'; + +// Define the aspect ratio to crop the final image to +const cropSize = { ratio: 16 / 9 }; + +// Define the size to resize the final image to +const resizeSize = { width: 1200, height: 675 }; + +// Loop through each image in the input folder +fs.readdir(inputFolder, async (err, files) => { + if (err) throw err; + for (const file of files) { + if ( + file.toLowerCase().endsWith('.png') || + file.toLowerCase().endsWith('.jpg') || + file.toLowerCase().endsWith('.jpeg') + ) { + // Open the input image + const inputImagePath = path.join(inputFolder, file); + const inputImage = await Jimp.read(inputImagePath); + + // Resize and crop the input image to fit within the desired size and aspect ratio + inputImage.cover(resizeSize.width, resizeSize.height); + + // Open the text image + const textImagePath = './public/assets/images/branding/template/text.png'; + const textImage = await Jimp.read(textImagePath); + + // Create a new image with the same size as the input image + const combinedImage = new Jimp( + inputImage.bitmap.width, + inputImage.bitmap.height, + 0x00000000 + ); + + // Paste the input image onto the new image + combinedImage.composite(inputImage, 0, 0); + + // Calculate the position to center the text image + const x = (inputImage.bitmap.width - textImage.bitmap.width) / 2; + const y = (inputImage.bitmap.height - textImage.bitmap.height) / 2; + + // Paste the text image onto the new image + combinedImage.composite(textImage, x, y); + + // Save the final image to the output folder with the same filename as the input image + const outputImagePath = path.join(outputFolder, file); + await combinedImage.writeAsync(outputImagePath); + } + } +}); diff --git a/package.json b/package.json index 9ab961f..595bd28 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "deploy": "netlify deploy --prod", "deploy:preview": "netflify deploy", "publish": "npm-run-all build deploy", + "og:generate": "node og-generate.cjs", "plop": "plop", "astro": "astro", "cspell": "cspell --words-only --unique 'src' | sort --ignore-case >> .cspell/dictionary.txt", @@ -58,6 +59,7 @@ "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", + "jimp": "^0.22.8", "lint-staged": "^13.2.2", "netlify-cli": "^15.4.1", "npm-run-all": "^4.1.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 62f47c1..0d8b0ee 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -131,6 +131,9 @@ devDependencies: husky: specifier: ^8.0.3 version: 8.0.3 + jimp: + specifier: ^0.22.8 + version: 0.22.8 lint-staged: specifier: ^13.2.2 version: 13.2.2 @@ -997,6 +1000,16 @@ packages: bmp-js: 0.1.0 dev: false + /@jimp/bmp@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-JEMKgM1AEvvWfn9ZCHn62nK+QCE3Pb/ZhPdL3NF0ZgKNww6pqOmo6KqXzqY18JLB7c0epuTp4GPDPDhOh/ou1g==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + bmp-js: 0.1.0 + dev: true + /@jimp/core@0.14.0: resolution: {integrity: sha512-S62FcKdtLtj3yWsGfJRdFXSutjvHg7aQNiFogMbwq19RP4XJWqS2nOphu7ScB8KrSlyy5nPF2hkWNhLRLyD82w==} dependencies: @@ -1013,6 +1026,22 @@ packages: tinycolor2: 1.6.0 dev: false + /@jimp/core@0.22.8: + resolution: {integrity: sha512-vkN28aFikzQieA6bGxN+qe20pseCAemCyUI0YmRkJIArlb6OujtAwWAKyokv2lylV56bq8EQGIz+Y30OXUnRqg==} + dependencies: + '@jimp/utils': 0.22.8 + any-base: 1.1.0 + buffer: 5.7.1 + exif-parser: 0.1.12 + file-type: 16.5.4 + isomorphic-fetch: 3.0.0 + mkdirp: 2.1.6 + pixelmatch: 4.0.2 + tinycolor2: 1.6.0 + transitivePeerDependencies: + - encoding + dev: true + /@jimp/custom@0.14.0: resolution: {integrity: sha512-kQJMeH87+kWJdVw8F9GQhtsageqqxrvzg7yyOw3Tx/s7v5RToe8RnKyMM+kVtBJtNAG+Xyv/z01uYQ2jiZ3GwA==} dependencies: @@ -1020,6 +1049,14 @@ packages: '@jimp/core': 0.14.0 dev: false + /@jimp/custom@0.22.8: + resolution: {integrity: sha512-u6lP9x/HNeGHB0Oojv4c2mhuDvn7G0ikzYbK4IKLsH4HzHxt62faMjBzQMcFhKJhR6UiiKE/jiHrhGvBT/fMkw==} + dependencies: + '@jimp/core': 0.22.8 + transitivePeerDependencies: + - encoding + dev: true + /@jimp/gif@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-DHjoOSfCaCz72+oGGEh8qH0zE6pUBaBxPxxmpYJjkNyDZP7RkbBkZJScIYeQ7BmJxmGN4/dZn+MxamoQlr+UYg==} peerDependencies: @@ -1032,6 +1069,17 @@ packages: omggif: 1.0.10 dev: false + /@jimp/gif@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-I0l6koS67IPU40RPxCJTD1NvePEd8vUIHTejx1ly0jrjGnumbqdarAlBUkDrKfPPc+Fnqp84hBbSN1w5hNPT6w==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + gifwrap: 0.9.4 + omggif: 1.0.10 + dev: true + /@jimp/jpeg@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-561neGbr+87S/YVQYnZSTyjWTHBm9F6F1obYHiyU3wVmF+1CLbxY3FQzt4YolwyQHIBv36Bo0PY2KkkU8BEeeQ==} peerDependencies: @@ -1043,6 +1091,16 @@ packages: jpeg-js: 0.4.4 dev: false + /@jimp/jpeg@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-hLXrQ7/0QiUhAVAF10dfGCSq3hvyqjKltlpu/87b3wqMDKe9KdvhX1AJHiUUrAbJv1fAcnOmQGTyXGuySa1D6A==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + jpeg-js: 0.4.4 + dev: true + /@jimp/plugin-blit@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-YoYOrnVHeX3InfgbJawAU601iTZMwEBZkyqcP1V/S33Qnz9uzH1Uj1NtC6fNgWzvX6I4XbCWwtr4RrGFb5CFrw==} peerDependencies: @@ -1053,6 +1111,15 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-blit@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-rQ19txVCKIwo74HtgFodFt4//0ATPCJK+f24riqzb+nx+1JaOo1xRvpJqg4moirHwKR2fhwdDxmY7KX20kCeYA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-blur@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-9WhZcofLrT0hgI7t0chf7iBQZib//0gJh9WcQMUt5+Q1Bk04dWs8vTgLNj61GBqZXgHSPzE4OpCrrLDBG8zlhQ==} peerDependencies: @@ -1063,6 +1130,15 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-blur@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-GWbNK3YW6k2EKiGJdpAFEr0jezPBtiVxj2wG/lCPuWJz7KmzSSN99hQjIy73xQxoBCRdALfJlkhe3leFNRueSQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-circle@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-o5L+wf6QA44tvTum5HeLyLSc5eVfIUd5ZDVi5iRfO4o6GT/zux9AxuTSkKwnjhsG8bn1dDmywAOQGAx7BjrQVA==} peerDependencies: @@ -1073,6 +1149,15 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-circle@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-qPCw8XFW8opT89ciFDuvs+eB3EB1mZIJWVajD2qAlprHiE7YGr34TkM7N5MNr3qZ1pJgkYdW6+HbBrJwBaonqw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-color@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-JJz512SAILYV0M5LzBb9sbOm/XEj2fGElMiHAxb7aLI6jx+n0agxtHpfpV/AePTLm1vzzDxx6AJxXbKv355hBQ==} peerDependencies: @@ -1084,6 +1169,16 @@ packages: tinycolor2: 1.6.0 dev: false + /@jimp/plugin-color@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-ogkbg6rpDVH/mMLgAQKg17z3oZE0VN7ZWxNoH12fUHchqKz1I57zpa65fxZe2I8T5Xz97HR3x+7V7oI8qQGdSA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + tinycolor2: 1.6.0 + dev: true + /@jimp/plugin-contain@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-blit@0.14.0)(@jimp/plugin-resize@0.14.0)(@jimp/plugin-scale@0.14.0): resolution: {integrity: sha512-RX2q233lGyaxiMY6kAgnm9ScmEkNSof0hdlaJAVDS1OgXphGAYAeSIAwzESZN4x3ORaWvkFefeVH9O9/698Evg==} peerDependencies: @@ -1100,6 +1195,21 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-contain@0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-blit@0.22.8)(@jimp/plugin-resize@0.22.8)(@jimp/plugin-scale@0.22.8): + resolution: {integrity: sha512-oiaPLdJt9Dk+XEEhM/OU3lFemM51mA9NgMCAdburSCjDzKacJYBGFSHjTOhXzcxOie/ZDpOYN/UzFGKy8Dgl9A==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-blit': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + '@jimp/plugin-scale': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/plugin-blit': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-resize': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-scale': 0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-resize@0.22.8) + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-cover@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-crop@0.14.0)(@jimp/plugin-resize@0.14.0)(@jimp/plugin-scale@0.14.0): resolution: {integrity: sha512-0P/5XhzWES4uMdvbi3beUgfvhn4YuQ/ny8ijs5kkYIw6K8mHcl820HahuGpwWMx56DJLHRl1hFhJwo9CeTRJtQ==} peerDependencies: @@ -1116,6 +1226,21 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-cover@0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-crop@0.22.8)(@jimp/plugin-resize@0.22.8)(@jimp/plugin-scale@0.22.8): + resolution: {integrity: sha512-mO68w1m/LhfuHU8LKHY05a4/hhWnY4t+T+8JCw9t+5yfzA4+LofBZZKtFtWgwf/QGe1y3X2rtUU/avAzDUKyyA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-crop': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + '@jimp/plugin-scale': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/plugin-crop': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-resize': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-scale': 0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-resize@0.22.8) + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-crop@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-Ojtih+XIe6/XSGtpWtbAXBozhCdsDMmy+THUJAGu2x7ZgKrMS0JotN+vN2YC3nwDpYkM+yOJImQeptSfZb2Sug==} peerDependencies: @@ -1126,6 +1251,15 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-crop@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-ns4oH0h0gezYsbuH8RThcMLY5uTLk/vnqOVjWCehMHEzxi0DHMWCmpcb6bC//vJ+XFNhtVGn1ALN7+ROmPrj+A==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-displace@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-c75uQUzMgrHa8vegkgUvgRL/PRvD7paFbFJvzW0Ugs8Wl+CDMGIPYQ3j7IVaQkIS+cAxv+NJ3TIRBQyBrfVEOg==} peerDependencies: @@ -1136,6 +1270,15 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-displace@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-Cj8nHYgsdFynOIx3dbbiVwRuZn3xO+RVfwkTRy0JBye+K2AU8SQJS+hSFNMQFTZt5djivh6kh0TzvR/6LkOd1w==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-dither@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-g8SJqFLyYexXQQsoh4dc1VP87TwyOgeTElBcxSXX2LaaMZezypmxQfLTzOFzZoK8m39NuaoH21Ou1Ftsq7LzVQ==} peerDependencies: @@ -1146,6 +1289,15 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-dither@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-oE0Us/6bEgrgEg56plU3jSBzvB9iGhweKUHmxYMWnQbFCHP4mNCtPAs8+Fmq6c+m98ZgBgRcrJTnC7lphHkGyw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-fisheye@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-BFfUZ64EikCaABhCA6mR3bsltWhPpS321jpeIQfJyrILdpFsZ/OccNwCgpW1XlbldDHIoNtXTDGn3E+vCE7vDg==} peerDependencies: @@ -1156,6 +1308,15 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-fisheye@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-bWvYY/nfMcKclWEaRyAir+YsT6C5St823HUQAsewZowTrJmme+w4U2a6InsryTHUL01BBcV5BLH0aDHuV3StvA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-flip@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-rotate@0.14.0): resolution: {integrity: sha512-WtL1hj6ryqHhApih+9qZQYA6Ye8a4HAmdTzLbYdTMrrrSUgIzFdiZsD0WeDHpgS/+QMsWwF+NFmTZmxNWqKfXw==} peerDependencies: @@ -1168,6 +1329,17 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-flip@0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-rotate@0.22.8): + resolution: {integrity: sha512-0NFTNzjsdmOQkaIkNjZqO3/yU4SQb9nnWQXsLS1fFo+9QrIL5v8vVkXpk/rhiND6PyTj2mMTNjOa76GuZcC+iQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-rotate': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/plugin-rotate': 0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-blit@0.22.8)(@jimp/plugin-crop@0.22.8)(@jimp/plugin-resize@0.22.8) + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-gaussian@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-uaLwQ0XAQoydDlF9tlfc7iD9drYPriFe+jgYnWm8fbw5cN+eOIcnneEX9XCOOzwgLPkNCxGox6Kxjn8zY6GxtQ==} peerDependencies: @@ -1178,6 +1350,15 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-gaussian@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-E/f14aLzCS50QAM7K+InI9V61KVy/Zx52vy7Jjfo1h7qKhQHss3PYaydaH0N6qlXRNeXgh+4/32P9JfieLMcdw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-invert@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-UaQW9X9vx8orQXYSjT5VcITkJPwDaHwrBbxxPoDG+F/Zgv4oV9fP+udDD6qmkgI9taU+44Fy+zm/J/gGcMWrdg==} peerDependencies: @@ -1188,6 +1369,15 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-invert@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-UauP39FF2cwbA5VU+Tz9VlNa9rtULPSHZb0Huwcjqjm9/G/xVN69VJ8+RKiFC4zM1/kYAUp/6IRwPa6qdKJpSw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-mask@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-tdiGM69OBaKtSPfYSQeflzFhEpoRZ+BvKfDEoivyTjauynbjpRiwB1CaiS8En1INTDwzLXTT0Be9SpI3LkJoEA==} peerDependencies: @@ -1198,6 +1388,15 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-mask@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-bhg5+3i8x1CmYj6cjvPBQZLwZEI3iK3gJWF25ZHF+12d3cqDuJngtr8oRQOQLlAgvKmrj9FXIiEPDczUI9cnWQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-normalize@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-AfY8sqlsbbdVwFGcyIPy5JH/7fnBzlmuweb+Qtx2vn29okq6+HelLjw2b+VT2btgGUmWWHGEHd86oRGSoWGyEQ==} peerDependencies: @@ -1208,6 +1407,15 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-normalize@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-Yg5nreAR1JYuSObu3ExlgaLxVeW6VvjVL5qFwiPFxSNlG8JIwL1Ir3K3ChSnnvymyZvJMHb6YKTYNfXKw5Da6g==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-print@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-blit@0.14.0): resolution: {integrity: sha512-MwP3sH+VS5AhhSTXk7pui+tEJFsxnTKFY3TraFJb8WFbA2Vo2qsRCZseEGwpTLhENB7p/JSsLvWoSSbpmxhFAQ==} peerDependencies: @@ -1221,6 +1429,18 @@ packages: load-bmfont: 1.4.1 dev: false + /@jimp/plugin-print@0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-blit@0.22.8): + resolution: {integrity: sha512-86O5ejCDi543IYl0TykSmNWErzAjEYhiAxNQb2F7rFRT38WJYNVsvJ6QhxhDQHKxSmF5iwmqbk0jYk5Wp2Z1kw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-blit': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/plugin-blit': 0.22.8(@jimp/custom@0.22.8) + '@jimp/utils': 0.22.8 + load-bmfont: 1.4.1 + dev: true + /@jimp/plugin-resize@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-qFeMOyXE/Bk6QXN0GQo89+CB2dQcXqoxUcDb2Ah8wdYlKqpi53skABkgVy5pW3EpiprDnzNDboMltdvDslNgLQ==} peerDependencies: @@ -1231,6 +1451,15 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-resize@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-kg8ArQRPqv/iU3DWNXCa8kcVIhoq64Ze0aGCAeFLKlAq/59f5pzAci6m6vV4L/uOVdYmUa9/kYwIFY6RWKpfzQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-rotate@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-blit@0.14.0)(@jimp/plugin-crop@0.14.0)(@jimp/plugin-resize@0.14.0): resolution: {integrity: sha512-aGaicts44bvpTcq5Dtf93/8TZFu5pMo/61lWWnYmwJJU1RqtQlxbCLEQpMyRhKDNSfPbuP8nyGmaqXlM/82J0Q==} peerDependencies: @@ -1247,6 +1476,21 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-rotate@0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-blit@0.22.8)(@jimp/plugin-crop@0.22.8)(@jimp/plugin-resize@0.22.8): + resolution: {integrity: sha512-9a+VPZWMN/Cks76wf8LjM5RVA3ntP9+NAdsS1SZhhXel7U3Re/dWMouIEbo3QTt6K+igRo4txUCdZiw4ZucvkQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-blit': '>=0.3.5' + '@jimp/plugin-crop': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/plugin-blit': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-crop': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-resize': 0.22.8(@jimp/custom@0.22.8) + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-scale@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-resize@0.14.0): resolution: {integrity: sha512-ZcJk0hxY5ZKZDDwflqQNHEGRblgaR+piePZm7dPwPUOSeYEH31P0AwZ1ziceR74zd8N80M0TMft+e3Td6KGBHw==} peerDependencies: @@ -1259,6 +1503,17 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-scale@0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-resize@0.22.8): + resolution: {integrity: sha512-dQS4pG6DX6endu8zUpvBBOEtGC+ljDDDNw0scSXY71TxyQdNo5Ro0apfsppjmuAr8rNotRkfyxbITKkXQDRUDQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/plugin-resize': 0.22.8(@jimp/custom@0.22.8) + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-shadow@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-blur@0.14.0)(@jimp/plugin-resize@0.14.0): resolution: {integrity: sha512-p2igcEr/iGrLiTu0YePNHyby0WYAXM14c5cECZIVnq/UTOOIQ7xIcWZJ1lRbAEPxVVXPN1UibhZAbr3HAb5BjQ==} peerDependencies: @@ -1273,6 +1528,19 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-shadow@0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-blur@0.22.8)(@jimp/plugin-resize@0.22.8): + resolution: {integrity: sha512-HyAhr7OblTQh+BoKHQg4qbS9MweNlH77yfpBqUEyDtfyjI5r06+5chf1ZdLRIPEWv/BdCfdI/g81Wv69muCMwA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-blur': '>=0.3.5' + '@jimp/plugin-resize': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/plugin-blur': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-resize': 0.22.8(@jimp/custom@0.22.8) + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugin-threshold@0.14.0(@jimp/custom@0.14.0)(@jimp/plugin-color@0.14.0)(@jimp/plugin-resize@0.14.0): resolution: {integrity: sha512-N4BlDgm/FoOMV/DQM2rSpzsgqAzkP0DXkWZoqaQrlRxQBo4zizQLzhEL00T/YCCMKnddzgEhnByaocgaaa0fKw==} peerDependencies: @@ -1287,6 +1555,19 @@ packages: '@jimp/utils': 0.14.0 dev: false + /@jimp/plugin-threshold@0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-color@0.22.8)(@jimp/plugin-resize@0.22.8): + resolution: {integrity: sha512-ZmkfH0PtjvF1UcKsjw0H7V6r+LC0yKzEfg76Jhs2nIqIgsxsSOVfHwS7z0/1IWnyXxSw36m+NjCAotNHRILGmA==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + '@jimp/plugin-color': '>=0.8.0' + '@jimp/plugin-resize': '>=0.8.0' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/plugin-color': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-resize': 0.22.8(@jimp/custom@0.22.8) + '@jimp/utils': 0.22.8 + dev: true + /@jimp/plugins@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-vDO3XT/YQlFlFLq5TqNjQkISqjBHT8VMhpWhAfJVwuXIpilxz5Glu4IDLK6jp4IjPR6Yg2WO8TmRY/HI8vLrOw==} peerDependencies: @@ -1318,6 +1599,36 @@ packages: timm: 1.7.1 dev: false + /@jimp/plugins@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-ieI2+kCpmIfjwVlT7B67ULCzxMizfj7LspJh9HnIZCDXQB9GBOZ9KImLYc75Krae0dP/3FR7FglLiSI7fkOHbw==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/plugin-blit': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-blur': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-circle': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-color': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-contain': 0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-blit@0.22.8)(@jimp/plugin-resize@0.22.8)(@jimp/plugin-scale@0.22.8) + '@jimp/plugin-cover': 0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-crop@0.22.8)(@jimp/plugin-resize@0.22.8)(@jimp/plugin-scale@0.22.8) + '@jimp/plugin-crop': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-displace': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-dither': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-fisheye': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-flip': 0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-rotate@0.22.8) + '@jimp/plugin-gaussian': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-invert': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-mask': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-normalize': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-print': 0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-blit@0.22.8) + '@jimp/plugin-resize': 0.22.8(@jimp/custom@0.22.8) + '@jimp/plugin-rotate': 0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-blit@0.22.8)(@jimp/plugin-crop@0.22.8)(@jimp/plugin-resize@0.22.8) + '@jimp/plugin-scale': 0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-resize@0.22.8) + '@jimp/plugin-shadow': 0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-blur@0.22.8)(@jimp/plugin-resize@0.22.8) + '@jimp/plugin-threshold': 0.22.8(@jimp/custom@0.22.8)(@jimp/plugin-color@0.22.8)(@jimp/plugin-resize@0.22.8) + timm: 1.7.1 + dev: true + /@jimp/png@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-0RV/mEIDOrPCcNfXSPmPBqqSZYwGADNRVUTyMt47RuZh7sugbYdv/uvKmQSiqRdR0L1sfbCBMWUEa5G/8MSbdA==} peerDependencies: @@ -1329,6 +1640,16 @@ packages: pngjs: 3.4.0 dev: false + /@jimp/png@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-XOj11kcCr8zKg24QSwlRfH9k4hbV6rkMGUVxMS3puRzzB0FBSQy42NBYEfYf2XlY2QJSAByPl4AYerOtKb805w==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/utils': 0.22.8 + pngjs: 6.0.0 + dev: true + /@jimp/tiff@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-zBYDTlutc7j88G/7FBCn3kmQwWr0rmm1e0FKB4C3uJ5oYfT8645lftUsvosKVUEfkdmOaMAnhrf4ekaHcb5gQw==} peerDependencies: @@ -1339,6 +1660,15 @@ packages: utif: 2.0.1 dev: false + /@jimp/tiff@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-K0hYUVW5MLgwq3jiHVHa6LvP05J1rXOlRCC+5dMTUnAXVwi45+MKsqA/8lzzwhHYJ65CNhZwy6D3+ZNzM9SIBQ==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/custom': 0.22.8 + utif2: 4.1.0 + dev: true + /@jimp/types@0.14.0(@jimp/custom@0.14.0): resolution: {integrity: sha512-hx3cXAW1KZm+b+XCrY3LXtdWy2U+hNtq0rPyJ7NuXCjU7lZR3vIkpz1DLJ3yDdS70hTi5QDXY3Cd9kd6DtloHQ==} peerDependencies: @@ -1354,6 +1684,20 @@ packages: timm: 1.7.1 dev: false + /@jimp/types@0.22.8(@jimp/custom@0.22.8): + resolution: {integrity: sha512-9+xc+mzuYwu0i+6dsnhXiUgfcS+Ktqn5q2jczoKyyBT0cOKgsk+57EIeFLgpTfVGRKRR0y/UIdHByeCzGguF3A==} + peerDependencies: + '@jimp/custom': '>=0.3.5' + dependencies: + '@jimp/bmp': 0.22.8(@jimp/custom@0.22.8) + '@jimp/custom': 0.22.8 + '@jimp/gif': 0.22.8(@jimp/custom@0.22.8) + '@jimp/jpeg': 0.22.8(@jimp/custom@0.22.8) + '@jimp/png': 0.22.8(@jimp/custom@0.22.8) + '@jimp/tiff': 0.22.8(@jimp/custom@0.22.8) + timm: 1.7.1 + dev: true + /@jimp/utils@0.14.0: resolution: {integrity: sha512-MY5KFYUru0y74IsgM/9asDwb3ERxWxXEu3CRCZEvE7DtT86y1bR1XgtlSliMrptjz4qbivNGMQSvUBpEFJDp1A==} dependencies: @@ -1361,6 +1705,12 @@ packages: regenerator-runtime: 0.13.11 dev: false + /@jimp/utils@0.22.8: + resolution: {integrity: sha512-AaqjfqDeLzSFzrbGRKHMXg/ntiWKvoG9tpVgWzgOx5/gPWj/IyGfztojLTTvY8HqZCr25z8z91u2lAQD2v46Jw==} + dependencies: + regenerator-runtime: 0.13.11 + dev: true + /@jridgewell/gen-mapping@0.3.3: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} engines: {node: '>=6.0.0'} @@ -2369,7 +2719,6 @@ packages: /@tokenizer/token@0.3.0: resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - dev: false /@trysound/sax@0.2.0: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} @@ -2985,7 +3334,6 @@ packages: /any-base@1.1.0: resolution: {integrity: sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==} - dev: false /any-observable@0.3.0(rxjs@6.6.7): resolution: {integrity: sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==} @@ -3480,7 +3828,6 @@ packages: /bmp-js@0.1.0: resolution: {integrity: sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==} - dev: false /body-parser@1.20.1: resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} @@ -3595,7 +3942,6 @@ packages: /buffer-equal@0.0.1: resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==} engines: {node: '>=0.4.0'} - dev: false /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -4822,7 +5168,6 @@ packages: /dom-walk@0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} - dev: false /domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} @@ -5395,7 +5740,6 @@ packages: /exif-parser@0.1.12: resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==} - dev: false /expand-brackets@2.1.4: resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} @@ -5730,6 +6074,15 @@ packages: engines: {node: '>=8'} dev: true + /file-type@16.5.4: + resolution: {integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==} + engines: {node: '>=10'} + dependencies: + readable-web-to-node-stream: 3.0.2 + strtok3: 6.3.0 + token-types: 4.2.1 + dev: true + /file-type@17.1.1: resolution: {integrity: sha512-heRUMZHby2Qj6wZAA3YHeMlRmZNQTcb6VxctkGmM+mcM6ROQKvHpr7SS6EgdfEhH+s25LDshBjvPx/Ecm+bOVQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -6149,7 +6502,6 @@ packages: dependencies: image-q: 4.0.0 omggif: 1.0.10 - dev: false /git-repo-info@2.1.1: resolution: {integrity: sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==} @@ -6261,7 +6613,6 @@ packages: dependencies: min-document: 2.19.0 process: 0.11.10 - dev: false /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} @@ -6756,7 +7107,6 @@ packages: resolution: {integrity: sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==} dependencies: '@types/node': 16.9.1 - dev: false /imagetools-core@3.0.2: resolution: {integrity: sha512-DlArpNiefCc1syIqvOONcE8L8IahN8GjwaEjm6wIJIvuKoFoI1RcKmWWfS2dYxSlTiSp2X5b3JnHDjUXmWqlVA==} @@ -7104,7 +7454,6 @@ packages: /is-function@1.0.2: resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} - dev: false /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} @@ -7397,6 +7746,15 @@ packages: engines: {node: '>=0.10.0'} dev: true + /isomorphic-fetch@3.0.0: + resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} + dependencies: + node-fetch: 2.6.11 + whatwg-fetch: 3.6.2 + transitivePeerDependencies: + - encoding + dev: true + /jest-get-type@27.5.1: resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -7424,13 +7782,23 @@ packages: regenerator-runtime: 0.13.11 dev: false + /jimp@0.22.8: + resolution: {integrity: sha512-pBbrooJMX7795sDcxx1XpwNZC8B/ITyDV+JK2/1qNbQl/1UWqWeh5Dq7qQpMZl5jLdcFDv5IVTM+OhpafSqSFA==} + dependencies: + '@jimp/custom': 0.22.8 + '@jimp/plugins': 0.22.8(@jimp/custom@0.22.8) + '@jimp/types': 0.22.8(@jimp/custom@0.22.8) + regenerator-runtime: 0.13.11 + transitivePeerDependencies: + - encoding + dev: true + /jiti@1.18.2: resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} hasBin: true /jpeg-js@0.4.4: resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} - dev: false /js-string-escape@1.0.1: resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} @@ -7775,7 +8143,6 @@ packages: phin: 2.9.3 xhr: 2.6.0 xtend: 4.0.2 - dev: false /load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} @@ -8737,7 +9104,6 @@ packages: resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} dependencies: dom-walk: 0.1.2 - dev: false /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -8811,6 +9177,12 @@ packages: hasBin: true dev: true + /mkdirp@2.1.6: + resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} + engines: {node: '>=10'} + hasBin: true + dev: true + /module-definition@5.0.1: resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} engines: {node: '>=14'} @@ -9409,7 +9781,6 @@ packages: /omggif@1.0.10: resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} - dev: false /omit.js@2.0.2: resolution: {integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==} @@ -9713,7 +10084,6 @@ packages: /pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - dev: false /parallel-transform@1.2.0: resolution: {integrity: sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==} @@ -9739,18 +10109,15 @@ packages: /parse-bmfont-ascii@1.0.6: resolution: {integrity: sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==} - dev: false /parse-bmfont-binary@1.0.6: resolution: {integrity: sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==} - dev: false /parse-bmfont-xml@1.1.4: resolution: {integrity: sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==} dependencies: xml-parse-from-string: 1.0.1 xml2js: 0.4.23 - dev: false /parse-entities@4.0.1: resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} @@ -9787,7 +10154,6 @@ packages: /parse-headers@2.0.5: resolution: {integrity: sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==} - dev: false /parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} @@ -9923,6 +10289,11 @@ packages: engines: {node: '>=12'} dev: true + /peek-readable@4.1.0: + resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==} + engines: {node: '>=8'} + dev: true + /peek-readable@5.0.0: resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==} engines: {node: '>=14.16'} @@ -9942,7 +10313,6 @@ packages: /phin@2.9.3: resolution: {integrity: sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==} - dev: false /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -10014,7 +10384,6 @@ packages: hasBin: true dependencies: pngjs: 3.4.0 - dev: false /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} @@ -10062,7 +10431,11 @@ packages: /pngjs@3.4.0: resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} engines: {node: '>=4.0.0'} - dev: false + + /pngjs@6.0.0: + resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} + engines: {node: '>=12.13.0'} + dev: true /posix-character-classes@0.1.1: resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} @@ -10916,7 +11289,6 @@ packages: engines: {node: '>=8'} dependencies: readable-stream: 3.6.2 - dev: false /readdir-glob@1.1.3: resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} @@ -11372,7 +11744,6 @@ packages: /sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - dev: false /section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} @@ -11999,6 +12370,14 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /strtok3@6.3.0: + resolution: {integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==} + engines: {node: '>=10'} + dependencies: + '@tokenizer/token': 0.3.0 + peek-readable: 4.1.0 + dev: true + /strtok3@7.0.0: resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==} engines: {node: '>=14.16'} @@ -12333,7 +12712,6 @@ packages: /timm@1.7.1: resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==} - dev: false /tiny-lru@11.0.1: resolution: {integrity: sha512-iNgFugVuQgBKrqeO/mpiTTgmBsTP0WL6yeuLfLs/Ctf0pI/ixGqIRm8sDCwMcXGe9WWvt2sGXI5mNqZbValmJg==} @@ -12342,7 +12720,6 @@ packages: /tinycolor2@1.6.0: resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} - dev: false /title-case@3.0.3: resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} @@ -12419,6 +12796,14 @@ packages: engines: {node: '>=0.6'} dev: true + /token-types@4.2.1: + resolution: {integrity: sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==} + engines: {node: '>=10'} + dependencies: + '@tokenizer/token': 0.3.0 + ieee754: 1.2.1 + dev: true + /token-types@5.0.1: resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} engines: {node: '>=14.16'} @@ -12846,6 +13231,12 @@ packages: engines: {node: '>=0.10.0'} dev: true + /utif2@4.1.0: + resolution: {integrity: sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w==} + dependencies: + pako: 1.0.11 + dev: true + /utif@2.0.1: resolution: {integrity: sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==} dependencies: @@ -13070,6 +13461,10 @@ packages: engines: {node: '>=6'} dev: true + /whatwg-fetch@3.6.2: + resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} + dev: true + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: @@ -13263,11 +13658,9 @@ packages: is-function: 1.0.2 parse-headers: 2.0.5 xtend: 4.0.2 - dev: false /xml-parse-from-string@1.0.1: resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==} - dev: false /xml2js@0.4.23: resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} @@ -13275,12 +13668,10 @@ packages: dependencies: sax: 1.2.4 xmlbuilder: 11.0.1 - dev: false /xmlbuilder@11.0.1: resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} engines: {node: '>=4.0'} - dev: false /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} diff --git a/public/assets/images/branding/template/text.png b/public/assets/images/branding/template/text.png new file mode 100644 index 0000000..b776062 Binary files /dev/null and b/public/assets/images/branding/template/text.png differ