From 27c78e2ac4c85942468614151283ced410b5f2d9 Mon Sep 17 00:00:00 2001 From: Lucas Tan Date: Tue, 19 Aug 2025 11:49:57 +0800 Subject: [PATCH] initial app --- .gitignore | 35 + DEPLOYMENT.md | 168 + README.md | 252 ++ env.example | 11 + next.config.js | 13 + package-lock.json | 6048 +++++++++++++++++++++++++++++++++ package.json | 40 + postcss.config.js | 6 + public/linkedin.png | Bin 0 -> 8794 bytes public/logo.png | Bin 0 -> 55349 bytes public/profilepic.png | Bin 0 -> 2011 bytes public/whatsapp.png | Bin 0 -> 10550 bytes src/app/[employeeId]/page.tsx | 38 + src/app/globals.css | 33 + src/app/layout.tsx | 61 + src/app/not-found.tsx | 32 + src/app/page.tsx | 75 + src/components/Namecard.tsx | 240 ++ src/config/employees.ts | 73 + src/config/staff.ts | 26 + tailwind.config.js | 38 + tsconfig.json | 27 + 22 files changed, 7216 insertions(+) create mode 100644 .gitignore create mode 100644 DEPLOYMENT.md create mode 100644 README.md create mode 100644 env.example create mode 100644 next.config.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 public/linkedin.png create mode 100644 public/logo.png create mode 100644 public/profilepic.png create mode 100644 public/whatsapp.png create mode 100644 src/app/[employeeId]/page.tsx create mode 100644 src/app/globals.css create mode 100644 src/app/layout.tsx create mode 100644 src/app/not-found.tsx create mode 100644 src/app/page.tsx create mode 100644 src/components/Namecard.tsx create mode 100644 src/config/employees.ts create mode 100644 src/config/staff.ts create mode 100644 tailwind.config.js create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..25470d0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,35 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# Vercel (removed - using VPS deployment) + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md new file mode 100644 index 0000000..ec0a621 --- /dev/null +++ b/DEPLOYMENT.md @@ -0,0 +1,168 @@ +# Deployment Guide + +## 🚀 Deploy to a VPS with Nginx (Reverse Proxy) + +This project exports fully static assets in `out/`. You can serve them directly with Nginx. + +### 1) Build static files +```bash +npm run build +``` + +By default, the app is built for the root path `/`. If you want to serve it under a subpath (e.g. `/namecard`), build with: +```bash +BASE_PATH=/namecard NEXT_PUBLIC_BASE_URL=https://example.com/namecard npm run build +``` + +### 2) Upload to server +```bash +scp -r out/ user@server:/var/www/namecard +``` + +### 3) Nginx config (root path) +```nginx +server { + listen 80; + server_name example.com; # your domain + + root /var/www/namecard; + index index.html; + + location / { + try_files $uri $uri/ /index.html; + } +} +``` + +### 4) Nginx config (subpath, e.g. /namecard) +Build with `BASE_PATH=/namecard` and then: +```nginx +server { + listen 80; + server_name example.com; + + location /namecard/ { + alias /var/www/namecard/; + try_files $uri $uri/ /namecard/index.html; + } +} +``` + +### 5) Reload Nginx +```bash +sudo nginx -t && sudo systemctl reload nginx +``` + +## 🌐 Custom Domain Setup + +1. **Configure DNS:** + - Add A record pointing to your VPS IP address + - Or CNAME if using a subdomain (e.g., `card.rooftop.my`) + +2. **SSL Certificate:** + - Use Let's Encrypt: `sudo certbot --nginx` + - Auto-renewal for free SSL certificates + +## 📱 PWA Configuration (Optional) + +To enable "Add to Home Screen" functionality: + +1. **Create manifest.json:** + ```json + { + "name": "Rooftop Energy Namecard", + "short_name": "Rooftop", + "description": "Digital namecard for Rooftop Energy staff", + "start_url": "/", + "display": "standalone", + "background_color": "#0a0a0a", + "theme_color": "#fcd913", + "icons": [ + { + "src": "/logo.png", + "sizes": "192x192", + "type": "image/png" + } + ] + } + ``` + +2. **Add to layout.tsx:** + ```tsx + + + + ``` + +## 🔧 Environment Variables + +Set at build time (locally or in CI): + +``` +# Base URL used for Open Graph/Twitter image URLs and absolute links +NEXT_PUBLIC_BASE_URL=https://example.com + +# Optional: if serving under a subpath, set both +BASE_PATH=/namecard +NEXT_PUBLIC_BASE_URL=https://example.com/namecard +``` + +## 📊 Performance Monitoring + +1. **Web Analytics:** + - Use Google Analytics or similar service + - Monitor Core Web Vitals with PageSpeed Insights + +2. **Server Monitoring:** + - Monitor server resources (CPU, memory, disk) + - Set up alerts for high resource usage + +## 🚨 Troubleshooting + +### Build Errors + +- **Node version:** Ensure Node.js 18+ is used +- **Dependencies:** Run `npm install` locally first +- **TypeScript errors:** Run `npm run type-check` locally + +### Runtime Issues + +- **Logo not loading:** Check `public/logo.png` exists +- **Styling issues:** Verify Tailwind CSS is building correctly +- **Query params not working:** Check URL encoding + +### Performance Issues + +- **Large bundle:** Check for unused dependencies +- **Slow loading:** Optimize images and enable compression +- **SEO issues:** Verify meta tags and Open Graph + +## 📈 Post-Deployment Checklist + +- [ ] Logo displays correctly +- [ ] All CTAs work (Call, Email, WhatsApp, LinkedIn) +- [ ] vCard download functions +- [ ] Copy details works +- [ ] Mobile responsive design +- [ ] URL query overrides work +- [ ] Performance scores meet targets +- [ ] Analytics tracking (if enabled) +- [ ] Custom domain configured (if applicable) + +## 🔄 Updates & Maintenance + +### Regular Updates + +1. **Dependencies:** Run `npm audit` and update packages +2. **Content:** Edit `src/config/staff.ts` for staff changes +3. **Logo:** Replace `public/logo.png` when needed + +### Deployment Updates + +1. Build locally: `npm run build` +2. Sync `out/` to your server: `rsync -az out/ user@server:/var/www/namecard` +3. Reload Nginx: `sudo systemctl reload nginx` + +--- + +**Need help?** Check the main README.md or contact the development team. diff --git a/README.md b/README.md new file mode 100644 index 0000000..dff9531 --- /dev/null +++ b/README.md @@ -0,0 +1,252 @@ +# Rooftop Energy Digital Namecard + +A mobile-first, dark-mode single-page application that presents Rooftop Energy staff namecards with clear CTAs, vCard download, and contact details copying functionality. + +## 🚀 Features + +- **Contact CTAs**: Call, Email, WhatsApp, and LinkedIn buttons +- **vCard Download**: Generate and download contact information as .vcf files +- **Copy Details**: Copy all contact information to clipboard +- **URL Overrides**: Customize details via query parameters for quick sharing +- **Responsive Design**: Optimized for mobile with graceful desktop scaling +- **Dark Mode**: Professional dark theme with Rooftop Energy branding + +## 🛠️ Tech Stack + +- **Framework**: Next.js 14 (App Router) +- **Styling**: Tailwind CSS +- **Icons**: Lucide React +- **Fonts**: Exo 2 (Google Fonts) +- **Deployment**: VPS-ready with static export and reverse proxy support + +## 📁 Project Structure + +``` +src/ +├── app/ +│ ├── globals.css # Global styles and Tailwind imports +│ ├── layout.tsx # Root layout with font loading +│ ├── page.tsx # Main page with employee directory +│ ├── [employeeId]/ # Dynamic routes for individual employees +│ │ └── page.tsx # Individual employee namecard page +│ └── not-found.tsx # Custom 404 page +├── components/ +│ └── Namecard.tsx # Main namecard component +└── config/ + ├── staff.ts # Base staff profile interface + └── employees.ts # All employee data and utilities +public/ +├── logo.png # Company logo (replace with actual file) +├── profilepic.png # Default profile picture +├── whatsapp.png # WhatsApp icon +└── linkedin.png # LinkedIn icon +``` + +## ⚙️ Configuration + +### Managing Employee Data + +The application now supports multiple employees with individual routing. All employee data is stored in `src/config/employees.ts`. + +#### Adding New Employees + +To add a new employee, add an entry to the `employees` array: + +```typescript +{ + id: "unique-employee-id", // URL-friendly identifier (e.g., "john-doe") + name: "John Doe", // Staff member's name + title: "Senior Energy Consultant", // Job title + phone: "+60 12-345 6789", // Formatted phone number + whatsapp: "60123456789", // WhatsApp number (digits only) + email: "john.doe@rooftop.my", // Email address + linkedin: "https://linkedin.com/in/johndoe", // LinkedIn profile URL + address: "Level 15, Menara 1 Sentral\nKuala Lumpur Sentral\n50470 Kuala Lumpur\nMalaysia", // Address with \n for line breaks + website: "https://rooftop.my", // Company website + logoPath: "/logo.png", // Path to company logo + profilePic: "/profilepic.png" // Path to profile picture +} +``` + +#### URL Structure + +Each employee gets their own URL: +- **Homepage**: `card.rooftop.my/` - Shows all employees +- **Individual**: `card.rooftop.my/john-doe` - Shows John Doe's namecard +- **Direct sharing**: Share individual employee URLs for targeted contact + +### URL Query Parameter Overrides + +You can temporarily override any field via URL parameters: + +``` +https://yoursite.com/?name=Jane%20Smith&title=Energy%20Analyst&phone=%2B60123456789 +``` + +Available parameters: +- `name` - Staff name +- `title` - Job title +- `phone` - Phone number +- `wa` - WhatsApp number +- `email` - Email address +- `linkedin` - LinkedIn URL +- `address` - Address (use %0A for line breaks) +- `site` - Website URL +- `logo` - Logo path + +## 🎨 Branding + +The application uses the Rooftop Energy brand colors: +- **Primary Accent**: `#fcd913` (Rooftop yellow) +- **Background**: Deep charcoal (`#0a0a0a`) +- **Card Surface**: Near-black (`#1a1a1a`) +- **Borders**: Muted indigo (`#2a2a3a`) +- **Text**: White and muted blue-gray (`#8b9bb4`) + +## 🚀 Getting Started + +### Prerequisites + +- Node.js 18+ +- npm or yarn + +### Installation + +1. Clone the repository: +```bash +git clone +cd rooftop-energy-namecard +``` + +2. Install dependencies: +```bash +npm install +``` + +3. Replace the logo: + - Place your Rooftop Energy logo in `public/logo.png` + - Recommended: 120x120px transparent PNG or SVG + +4. Update staff details in `src/config/staff.ts` + +### Development + +```bash +npm run dev +``` + +Open [http://localhost:3000](http://localhost:3000) to view the application. + +### Building + +```bash +npm run build +``` + +The built application will be in the `out/` directory. + +## 🌐 Deployment + +### VPS + Reverse Proxy (Nginx example) + +1. Build static files: +```bash +npm run build +``` + +2. Copy the `out/` directory to your server, e.g. `/var/www/namecard`: +```bash +scp -r out/ user@server:/var/www/namecard +``` + +3. Configure Nginx: +```nginx +server { + listen 80; + server_name example.com; # change to your domain + + # Optional subpath base (set BASE_PATH to match, e.g. "/namecard") + # location /namecard/ { + # alias /var/www/namecard/; + # try_files $uri $uri/ /index.html; + # } + + root /var/www/namecard; + index index.html; + + location / { + try_files $uri $uri/ /index.html; + } +} +``` + +4. If you want to serve from a subpath (e.g. `/namecard`), set at build time: +```bash +BASE_PATH=/namecard NEXT_PUBLIC_BASE_URL=https://example.com/namecard npm run build +``` +Then deploy the `out/` directory to the path configured by Nginx. + +5. Reload Nginx: +```bash +sudo nginx -t && sudo systemctl reload nginx +``` + +## 📱 Mobile Optimization + +- Touch targets are ≥44px height +- Optimized for 360-414px viewport widths +- Responsive grid layouts (2×2 on mobile, 1×4 on desktop) +- Mobile-first design approach + +## ♿ Accessibility + +- WCAG AA color contrast compliance +- Visible focus states +- Proper ARIA labels +- Semantic HTML structure +- Keyboard navigation support + +## 🔧 Customization + +### Adding Multiple Profiles + +To support multiple staff members, you can: + +1. Create a profiles directory: `src/config/profiles/` +2. Add individual profile files +3. Modify the routing to support `/[username]` paths +4. Update the main page to load profiles dynamically + +### Styling Changes + +- Colors: Update `tailwind.config.js` +- Typography: Modify `src/app/globals.css` +- Layout: Edit `src/components/Namecard.tsx` + +## 📊 Performance + +The application targets: +- **Lighthouse Performance**: ≥90 +- **Accessibility**: ≥95 +- **Best Practices**: ≥95 +- **SEO**: ≥90 + +## 🤝 Contributing + +1. Fork the repository +2. Create a feature branch +3. Make your changes +4. Test thoroughly +5. Submit a pull request + +## 📄 License + +This project is proprietary to Rooftop Energy. + +## 🆘 Support + +For technical support or questions about the application, please contact the development team. + +--- + +**Note**: Remember to replace `public/logo.png` with the actual Rooftop Energy logo before deploying! diff --git a/env.example b/env.example new file mode 100644 index 0000000..0fb92dc --- /dev/null +++ b/env.example @@ -0,0 +1,11 @@ +# Example environment variables for local development +# Copy this file to .env.local and update values as needed + +# Base URL for the application (used for QR codes and social sharing) +NEXT_PUBLIC_BASE_URL=http://localhost:3000 + +# Analytics (optional) +NEXT_PUBLIC_GA_ID=your-google-analytics-id + +# Contact form (if adding contact forms later) +CONTACT_EMAIL=contact@rooftop.my diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000..3da34cb --- /dev/null +++ b/next.config.js @@ -0,0 +1,13 @@ +/** @type {import('next').NextConfig} */ +const basePath = process.env.BASE_PATH || '' + +const nextConfig = { + output: 'export', + trailingSlash: true, + images: { + unoptimized: true + }, + basePath +} + +module.exports = nextConfig diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..286f87f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6048 @@ +{ + "name": "rooftop-energy-namecard", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "rooftop-energy-namecard", + "version": "0.1.0", + "license": "UNLICENSED", + "dependencies": { + "lucide-react": "^0.294.0", + "next": "14.0.4", + "react": "^18", + "react-dom": "^18" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "autoprefixer": "^10.0.1", + "eslint": "^8", + "eslint-config-next": "14.0.4", + "postcss": "^8", + "tailwindcss": "^3.3.0", + "typescript": "^5" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emnapi/core": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", + "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.4", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", + "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", + "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@next/env": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.0.4.tgz", + "integrity": "sha512-irQnbMLbUNQpP1wcE5NstJtbuA/69kRfzBrpAD7Gsn8zm/CY6YQYc3HQBz8QPxwISG26tIm5afvvVbu508oBeQ==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.0.4.tgz", + "integrity": "sha512-U3qMNHmEZoVmHA0j/57nRfi3AscXNvkOnxDmle/69Jz/G0o/gWjXTDdlgILZdrxQ0Lw/jv2mPW8PGy0EGIHXhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "7.1.7" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.0.4.tgz", + "integrity": "sha512-mF05E/5uPthWzyYDyptcwHptucf/jj09i2SXBPwNzbgBNc+XnwzrL0U6BmPjQeOL+FiB+iG1gwBeq7mlDjSRPg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.0.4.tgz", + "integrity": "sha512-IZQ3C7Bx0k2rYtrZZxKKiusMTM9WWcK5ajyhOZkYYTCc8xytmwSzR1skU7qLgVT/EY9xtXDG0WhY6fyujnI3rw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.0.4.tgz", + "integrity": "sha512-VwwZKrBQo/MGb1VOrxJ6LrKvbpo7UbROuyMRvQKTFKhNaXjUmKTu7wxVkIuCARAfiI8JpaWAnKR+D6tzpCcM4w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.0.4.tgz", + "integrity": "sha512-8QftwPEW37XxXoAwsn+nXlodKWHfpMaSvt81W43Wh8dv0gkheD+30ezWMcFGHLI71KiWmHK5PSQbTQGUiidvLQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.0.4.tgz", + "integrity": "sha512-/s/Pme3VKfZAfISlYVq2hzFS8AcAIOTnoKupc/j4WlvF6GQ0VouS2Q2KEgPuO1eMBwakWPB1aYFIA4VNVh667A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.0.4.tgz", + "integrity": "sha512-m8z/6Fyal4L9Bnlxde5g2Mfa1Z7dasMQyhEhskDATpqr+Y0mjOBZcXQ7G5U+vgL22cI4T7MfvgtrM2jdopqWaw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.0.4.tgz", + "integrity": "sha512-7Wv4PRiWIAWbm5XrGz3D8HUkCVDMMz9igffZG4NB1p4u1KoItwx9qjATHz88kwCEal/HXmbShucaslXCQXUM5w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.0.4.tgz", + "integrity": "sha512-zLeNEAPULsl0phfGb4kdzF/cAVIfaC7hY+kt0/d+y9mzcZHsMS3hAS829WbJ31DkSlVKQeHEjZHIdhN+Pg7Gyg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.0.4.tgz", + "integrity": "sha512-yEh2+R8qDlDCjxVpzOTEpBLQTEFAcP2A8fUFLaWNap9GitYKkKv1//y2S6XY6zsR4rCOPRpU7plYDR+az2n30A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.12.0.tgz", + "integrity": "sha512-5EwMtOqvJMMa3HbmxLlF74e+3/HhwBTMcvt3nqVJgGCozO6hzIPOBlwm8mGVNR9SN2IJpxSnlxczyDjcn7qIyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", + "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", + "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.11.tgz", + "integrity": "sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.23", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz", + "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz", + "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz", + "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001735", + "electron-to-chromium": "^1.5.204", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001735", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001735.tgz", + "integrity": "sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.205", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.205.tgz", + "integrity": "sha512-gBtbT7IgOHu7CwdtIiXwbNRD1l6oG6GAyanmwMCLVqaoGy92Jfe1dSHLiSj8xUEZNxOTIVlXuaAalMMD+S4y0w==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-abstract": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-next": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.0.4.tgz", + "integrity": "sha512-9/xbOHEQOmQtqvQ1UsTQZpnA7SlDMBtuKJ//S4JnoyK3oGLhILKXdBgu/UO7lQo/2xOykQULS1qQ6p2+EpHgAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "14.0.4", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.0.0-canary-7118f5dd7-20230705", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", + "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz", + "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/lucide-react": { + "version": "0.294.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.294.0.tgz", + "integrity": "sha512-V7o0/VECSGbLHn3/1O67FUgBwWB+hmzshrgDVRJQhMh8uj5D3HBuIvhuAmQTtlupILSplwIZg5FTc4tTKMA2SA==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-postinstall": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.3.tgz", + "integrity": "sha512-uTp172LLXSxuSYHv/kou+f6KW3SMppU9ivthaVTXian9sOt3XM/zHYHpRZiLgQoxeWfYUnslNWQHF1+G71xcow==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.0.4.tgz", + "integrity": "sha512-qbwypnM7327SadwFtxXnQdGiKpkuhaRLE2uq62/nRul9cj9KhQ5LhHmlziTNqUidZotw/Q1I9OjirBROdUJNgA==", + "license": "MIT", + "dependencies": { + "@next/env": "14.0.4", + "@swc/helpers": "0.5.2", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001406", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1", + "watchpack": "2.4.0" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.0.4", + "@next/swc-darwin-x64": "14.0.4", + "@next/swc-linux-arm64-gnu": "14.0.4", + "@next/swc-linux-arm64-musl": "14.0.4", + "@next/swc-linux-x64-gnu": "14.0.4", + "@next/swc-linux-x64-musl": "14.0.4", + "@next/swc-win32-arm64-msvc": "14.0.4", + "@next/swc-win32-ia32-msvc": "14.0.4", + "@next/swc-win32-x64-msvc": "14.0.4" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..dce96ee --- /dev/null +++ b/package.json @@ -0,0 +1,40 @@ +{ + "name": "rooftop-energy-namecard", + "version": "0.1.0", + "private": true, + "description": "Digital namecard application for Rooftop Energy staff", + "keywords": ["namecard", "digital", "contact", "rooftop", "energy"], + "author": "Rooftop Energy", + "license": "UNLICENSED", + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint", + "export": "next build", + "type-check": "tsc --noEmit", + "clean": "rm -rf .next out", + "setup": "npm install && npm run build" + }, + "dependencies": { + "next": "14.0.4", + "react": "^18", + "react-dom": "^18", + "lucide-react": "^0.294.0" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "autoprefixer": "^10.0.1", + "eslint": "^8", + "eslint-config-next": "14.0.4", + "postcss": "^8", + "tailwindcss": "^3.3.0", + "typescript": "^5" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/public/linkedin.png b/public/linkedin.png new file mode 100644 index 0000000000000000000000000000000000000000..9145b3b1e2b4693d0cd3b217f71392097d72bb08 GIT binary patch literal 8794 zcmdsddpOkF|L^+Dm>I{^mj1c8^)@c9EpWokk&U2n~p67TTkI!d)-j~;Vt@r!A-fO+Z zxHvnK=c~;J0FYTsdshH(@DT@OiSW-TujwcJBNM!lJ09U}@{kWkHeq5f??$@4rV!D{j(JJbQ+A@ZofIxZ4BPAg``ta(r+)(mJ4`{}6rr zYxmXk_tP1nL(_xE^VM2BwF13@7D@FU{uSYDpp^+YLOP-@auKF(2K+*5Md( z%nDYu|9D4Z-95`R#dqS3@ppix+*Wsi`4G()UyawpS0~&Y)Me$gIbp6?02+EWs*`cl z0N~LPK?%^qocD?r2M{<5BbMBhYOwn~6tM4*s($FRmJ zkid4thWI62aeGBgArUPk-xopP#2sz#YlMUu^G* z9}SY5Pf<{Rankgm=7&_4sBFJFwwSFiIbUY(>WfU6aFlCbu7T^Odm241o*w;t;>h(l zoC(MvM_fPKeTkM$lN0RWZ_bVUm?MV*i9VLUGSZtRavD3*xb@qkU7wS7>;YE9hq)iS zFVeEPLQ!C9=+5oiJbj>K|3od8$i1S9*-e}(J*StO12Q%-K5P@wntgR7KxsGC<;g~y zYDA^WC_6S+Ye~5RX4nMDowEi zB=Rx8bWJPiXuw(yozw1a<)1@fTVNjOBey9_i1nJfz>dE?Y5GjICT>Dj@=ZSyE_P0f zu{aosq`%#k`dl6rhzn;bI-s_x+spElc>@PEE#Klys1v%qWl=2A#anwtPUzVfP5Rr- zq>i%|a40BLR&w*1C1;H(u)wXuTZ|_$MYOg1=SkeL#9>Xd%SoVK#@o|jDO6wnR;)Us zbz%H^%psr*qGS$jU+e^DYiKoA&o8eIL+wq07U8O!&m3)URoA_{nkF6csHRw*T>9}E zjWtl1#;w2ln=kUTd_J~8>IB(&_X! zbUA9`Qs)`!Qi%yPR{OUVy>*Xr_l>CX|CmFP`^DtrVSXY3Yt7R#V2K!?bk(C)-vbZn z+R-%D;kqbgerz{*NgDK>D#tsC#35}q3595%(;H*nbNrcX85m%y+S&ZxV#92_Owlal>Ed%WJ;fLu&oi{=Z| zh1IpF=)>K`p5)sakzc=~yV;r&9`+3NMrY6)Xy8_23TgD_DmU2-nNsfNP+RRxw%sb~8U7 zA=#4>#jc*9tal-{0X1r{y~$SNs7WfB9x6=H;e$xeB_EW;uir%Kt-@h$XjBYkDQnLm zq$kcmP$@GQO>s>O#m&kbSwyuLmDS*0k+10vn6%iFvRnT~TUc`PEYZq?h+j#uxa-TT zT1J+0d19SEoz94+orob^uh@alCq7c8ijhJ=K2q%fk=!W&MX!S}9(Jxro1A95648_5 zGlrw}D;q67Xpy?33&?x+`CmZogDHi*1E2&i4t1VbKI+A&s>6%X7M0$1c;puy! zGYNw`cnc-fJ=&tCL(2T`6Y{;AtbYF!eZhB>67D)Fdz~6dG!%!o{21?Fj2SfO(6VC< z!H->trQC!aH(|>ag@-zfGqmDZA^0{P`Tj?I_Z9T0lOH9Fa#!z%v zNB1K&En$sKvttdmULQ9$HX|Z2OQLA=$m+DkY&IRgO>|MrDg>YW36l5*9j`;Hy_f5= zk`5s?uWtz^v+RmqT}GexD2keh%KRxyVg{9(`R9yG#A>N}0YTeZ1&rGZ{q6=!{@KAw zOMnBK)r0l1s6v(<({<1goP2P#=xhGZk^BaPrXQ-ze;BczVdJ>lzD%@HWJZ*;@isn3 zd9}cRzc~}q*FhU6j5xvEXbKFeM!NLXo6C>;fq0X(SqJWcPhB}ZfEuhIDTjzI8pzpL zMXFJ+pS}}E(Plk>pFf0P9X*QFq7@82?elY7f>1pR&%H>n5j|xiHK(g{`j5MD0qc1( zL0h53p49Uf>A0;nOHKN!Ih$XZG zAQR7Recl5^7njM|XufeE^%QLXFTNwulvn!-Gx1EtbrAo%funaLKF9un9PStI0eEt}N^MWrFsq{PS>qRuPr$g$d#esNh?7=}NYe zbF5T8^co+)v*SizN+)F~Qa6f%e36>^y+|Q+n^p_KfOJiv5BzvLk9P_ZrI8;R{OdN` zhDi5gDGeKs;X~$p6fVzeZ?p~az0`0$E~0JyouIupO5tTZrD5r8bjl2?Q4Dn#FO%Hp zQ8XInT7F-}a$5uB9fYq^&A}>gCz>L2sQpGxWaq2&q$Jgy9m?@XAE5pXwzTZchG1ZP zg+vW&Yp^|RqBXIQa|G6!eQF9wQKtsB6stlnV20ZnIL|W>L(U(jpgoA}Z;rj`(LS|= z*8XOE3p)(f$bE*spzN~=Mr@oH-1g6=-e-mUYdGHzaNj)qS>7hJ9XupW?Bgb|S`$a( zW{-M0>1Hob<_}KlOG?Bqh{2{Rbn1k5fg2RG@*Ls1Mhbp*OPLq@6z38_{5IybVBmBi z(>2i$e11Tlz)6&_adKd&G6%<5$uaBw8Od^0l(TtzN4HjX3QVXL-1*quxrm4Ozx~+7 za+?u}XVnqN%Zp&^2&ZkVjyEw zyWmpMH*8BI&OTUhva0IEcUrcCArR4&Y69-SsyYD%w-~n*z%BZJ_pyYNEIzolK*rOl zYu!7}-5zt|Ds+HcCrsJ4feT_e!5N8_ljEmI^ z&c{T>>Zz&oqn0IK5-_|ku!H$6pmNzvaYxW?+#|w6O6%P_D%y))GiUYckU`o^acEK0 z84_pI%F6cVhxaGymvw6KLUF>D@jrci7?O2j{n4712z)PfCV-{amh1=U@)L^-E=c%uCuY?a>_G$qFH;#Xn)0GdOG)GhWT4f=wWMzXZ17& z)IJ~@Zd$%BH{1DbF;UY(rbSjo|8!8{_rSF9ydjwm7K7#76>i*{z#N@baJ1OO1JzAW z*Xg(I6YFC=Lsh%_W;X7^=J%b7Rl(0Hwcfvxe`_;^V5~bc8?$U^fhM~8$6e)C(y2dM zhpK8z&l1IjulsqYQV^|ws8LFBAku!S-q`W#GE4q}Z(SQ@I3{;Hg$m8Hy7!;%&k5ht zg70?wa#HC;xKg?@BZz*Muj6s$aLV~i{K1c2jmJN%NFfATtV`K3Y8fS?j5|gf_{%*n zKS5dbr&+IJ+NXO-M!`N@{ucQKlU|0D_aT9S{UamLx#7|amIiX za*kl*y1j!kWzINrcx1a}cA*>05jm2R*!cz>_i|IF@MIGL3;5|WGVd5ycI|#$i5hz= zS8=Q!s?h2exDA&^vF;G8V8uIK2$+4{qifU2|+*8PCl)dm(kCd2kY88XOX-- z!(F_Xq$&;yRp%%dI99b?Q^-Kx<039@?OyzswK~5aPOuc@1Ny>=wUX6g7Weo5Ilxx{ z>u~w9b&X0LOIDb|uMI>&CBc~VU9RrlpY5!Y;tG&T&G>U5Qi*Dl4%hWukpV|vV*PAV z{K*6Fkz~By{g|apf+`Hj729+x3@pPkNrygy#Bm32GwIDCm*vpjrC&)?OL!YO zaoO*#aR2&<_GlXw5ho6CWnpoj&{TAa)zV%v=34#(4Hf7)ko<4Jve$2sG|o2&Mk!@^ z7PGO+ASL0A!K+U@!5S&c#mnO4?;-K;mPtr1+#kr@vy_HK8${FxUra^8{<8$wqh??Q{^zN}SjwJ&Kn{ocLR$`ahVxE2)c8x{1GKFRaNh z1(yq8YIp}EaXpFx??qJY;LVx%719*;?yh*(^rb$N=QBU`?wK+83*p@4Bu@=SWqCM~ zYElW>iy-dp@9^~H411!tGFAJ)3;u})or6$wp2vrJB|g4)rcYR*hSNMp(V5M1%DLo= z>b>S?W!fElSp`(3YM)>G;KW-7>+XcRq%3?5G?$^biB$7a4(=B(Rr#>)fzhkmfUFsj zXSYEcf{5C9snS%khAMTb>1)BMEW3k!i9JA?-kxrZD6vSp1+g{3qsH9G2$a+35BZB% zGWgIXa)vW{z-5Lu!{#PD^YP)VRUQIDI1f!7kO-D}L`d}W1Sr_Ujoy;X+x+R7=K`t? z)HrQn!mxSz1=r>%tVuAP1K*cY{h+$r5Pf6#?`uj~?9eb2^GRn8_}Gg@?N3WKbNTXl z@T3LjZe~lB{$LDm7nVnMAi=uJHA>U5Oy1={x(Zd>PCawZeCuuSWQSAc=Ruc)xvNP* z4*kav?Ais7KvEPZ_jCEmt;-oUXa9w7eP|QO4~eP^ti>fDv-_M}E2h?$ua&bQP6_o{ zV`*?v?3CxwWPATlq2jQe;66OJK=Va?pX=XBbz#<9SUD-CU{@hHh{EJJrWQ>}&{4rX zpCc+Zh8iELx=3foeU%*g28JI36ISz!-od;dX}>svh&DUnq`Ou`l;j%1gb6hQpJ!58 z-!6pCJ-7-Wzxd{Q1Cf;ZzrEVY_V*^H{&$pVU$)Op|9`q8f`SNhc>j~i{}n;M_|v}l z@TK1Se?{g0=h%y?U&4SK9!q%lB3J71e({%4N`uatd)l0~LVU@U^z{vh7dsFJ(VUyT zGTs(TNl2_|**}gR?f!Bceng{I?HcLa3SDy`Xg91KUm|hy-_QIlXse6OfAS9nfhXp~ z%gdzE^~yXSchf;wgBrw43x3{%0uJuYNKU)39+iVB>C0z$(D9cB9t?fUH6*y%p}%o_83nOQ-}A4+tzn%jvS)5xO&fP#h1oSv^>h|^2Q#xMK-q`V{jcH7itzkIlLZQ#CwI_W$Rw_)h`& zfA*61x-Hud-o}WU{vw}7(|+Ah=NiEyaI){1b^+tpZFHY4miX(Ff&xy#e(v%*Oq%{& zPiiiax%6wGEK0F-!!P=yr_qnU=u61Bl1+2;UY6jijA5)Zyf{}|E%Vh()>8I8Rbvxu z0CZ8#wjf|)>%oN(Mr!}Q*8_Z&UzhCXCc}lqoFbK0bZmJ zm?t>TL>=s+%<5pF$6=Sp6(3n8*$NyVbk1s}kMZG-A14f1f{*6zoWI<5Ow{j&kJhoo2kKl*Aq<&O-fv>}@% zCNLN8xu?-e_ADM&xSxS|&fDE|aITAT%w&JJLe{FOU~ki%P>S9CcO}P8%CfW61=D@C zQiCPojaH|mZII&8{6aXnC#r6}g)9f^!4ZY`^IqnfLR~q{Yp|Fqt#zhv|G^$#;2xF5>UvAMIz-SfayYOA6L;>iweDcML=gJq|`-!ytE?>C-x`r`HhR zX_H21z4P22TD-%6IW#k*-j8(E0x%WBow5#;S_yX`nbVuiX#ko1kab%m% zg``>YH1ileudQW&V8cphp#HHi6;7?aLfT7tAkLHoW7i|$8i~E8HF%VQeVHWZ`#{=3 zB$#AXyFh(b{d`~i`Q;?KI+-x@mja_G6fBy53$tts&3ezIeZ0)2*|l+)@%os zSr2szlES7UptDq-7c5f!98$Tcw;0%z`AF9Ctl%0g2wZ+;Y?is|nq_k^*yQER&|;s| zs)t>en}Mnv+=jua8gpmGMwK(j#3bWt z=^Y3xgI~@+5YPd8hI z|CU+N2A1eu&+^7oAwRu7`L6l7XI@5Kd^G^b3+ev?aP9>H3eot8UpVxD+7f=1Kf7C@ zRx^FC9b<8UJkQFc;_suIMHh3cnZ7?Nk4?11`t>QIm%fvX!PN!u03ZtDER%R)WjEJp zoCukjMpe$1MA2)h=Mrf8qyRx7(_*%KDbBtYT;OU;)?*3qT9dXG>qd78I_=Nae7G`x z0^Nu93&P>m9z5KU;Pugt=j8Suc2;tu@<=7IZdtO(7ct$q2sSTclf@Pj6}Zyh&!vnG zY&Rybvzk!_rclN_fg;B%hDX0x*vHY^(-PGn87fSyS`WHTTJ{b)-umG5J8a|emQ2V? z>d_5{>ACSEq@si*y1dv@3yPVvH{q#`|VQF zr7~-U2^Qy)zW)Kprz~;B4q|k6$Po>etBxkY7@HvDOM=%#Y%B^Z;MNzxECw#1a~P;ff77W+}#TlQe1*N1gE%5knl}E z&-?TH7u?Cp%39fT_RP7?o;}yh>_ls*$>U;EU?U+R;VLS;*F-`>WBvERL`VD*iyuaW z_(K1pEdL(q`QJOQvm^xxY5qX*z07CtrK44hbVhj}?sW#TFpuR`zvLuEsh&6K*{b}^ zi`#TK{bne5WGdr5s2Pl?3U4U6CoNxo??EMJ3?GzHaA_e@6OBU(c|nNTs#*f8uqMHo zidZW<$<1B74aoITn{r>uIjOF$zQ3=i5p;Zku;PEO{~_={1pbG>{}A{e0{=tce+c{! zf&V`Q7CL&)vp73jxdBzPPOi^CoZv@4OalKXu>`^Fgo3mlE3fKxIRUXOHC`7O)mM8? z5(}A*u5Iga@xIHZl2qQ{(;L|9B^Z2k!nErWMCE+8n}GUj)!962qo#vQCks8gRaWSoY;8H7;Av+Ai9_ydfL~Y;kB0byc zCJ_;~nu*8I^{27{qR`ak0r*qSBe?=;!qRg<# zjS3TZ69BwcV<{bz$6p`C`w z8`QG|Tl-*M|3Kk|_I=*60rEgK-6X<)8Vuf|Zsg8xB3W69*++q9$)EjRKNlDM8auVd?s?F4t6cS`r&oZzs6zWE^saefq~_HNm%V1;*o%3#m+mcP z2i{=FvfvG1pO|ar%RiYs*?hbmCb_fY3JyFCIKQ=zj?XAPrQ6}1@^~z%t-wDKjr>_B z_`Co*83bGEnZvy7Mv4P)k%dpPi+4BHFBAq(bFg9Qz8{vo0dAa1h@rlb;vRK5+L3x0 zl*@;c?Nz^rd!L10exE)anhJ|;qWCvs>EIWs=dD_Q*q<1blnx!=MR_^yQ#E?!OHD`d zlUljkTf&4>CIh^GqMt3>fD&DsNINXR`>dMfn=QP>OsJ}GKe&nNznOkt$ObkLREl+F zu3O#|%&NJ9Y(;L)a@19Y*MN2s|3oxGj608_iLKOWgcjPLX;r7|qE7vX?>hYUvX4_qEbx2ud`8?_rPA#MK@A~vS<0sevqm2fqrM&9lISV?gX))Tr z$15G$7tv-PVYbYr^&+)mbu+GqHR}d6=T4BYv0azgoziW@_Ahk_MrF%^*)ZCC@`@o< zy%zbq3su9^?2`SzF&^Az=PrND#(;MmvAm~IqN%{#-AjTO@lYjU40$`nfBLzLi^kzX zILPg$OlYiPFqD!f@$mL!DAhBSiZh4WKZ*2KNMX!HbP)KLRuj zy{r1qllp5LHK;Q6VlUzw+&BrtQh8bb-MJZ+D;QW)d^v@3duM^O# zD0AIYtpNzlXpkVAa%X{yifLVk(Ep9rfu3EJNOs&xgw4~&NY1!6`e<02#;3tYS9;Ep;z$Hluf$WF(5`l zvM@YwZZjd%gMYzC8Fxotj;Rn;M*3Z;e@q-z?R8;66zXP!ua*U|+0RBmZK|^H{;$=) z%do;GAGQ3dnr4QeyX?qF4a^R{mw!@s)<$w3w-+f%ty!2+SraG9k&wug{U2!2e{|gN z{1so$c!6ZCI{Nrhrmcq2A=CY6G$+Lg9udBC$~F5>bi_@nLpwue&+K7$M9dKBH#?S0 ze~{@32~-(#xYKfOToJKfxKv>y1)rn;%wOZ=LLQ8YC@PeX2)qJsT;`m?VCh89Ip)dU z2BR+6L0y5u`A3jdQ8nJ2WBr#@N6+#+UkO4{)L+iubC{Rxa77#jT1QW@cRXZMN|r=| zu0tm9@L%eO;p?sBQg5<9j|-P(bxLG|K=Ez1;}?0|Oj%9tgyRF}Sd>_udKGr&-4|PI zCqn*hlViEG)suDk&ijdrB}P|7LTir(m8RV*BQ)JBTuy|hrNUd38~UCTyWXAiyU7q5 zt0J3c5#P1#fe46hBm^|Mu*YWqd>m%320OU}fTg6^;N4)sX%Uxkax^o3;ZsX|4${I= z_{`#q1+ZB_?S3*(7zb*q2?2932>n%e1b$ex?x;s7Eo%nsyH=B-Tk zT{Eyg`XU!FVs^({4Ga?P`nve{X=F6cwHG_--xk>ftTxs2bJg+efDP52Mw53wJ#zgD zM_b72ExZW~O_jDnS**(9Y*>IidlzY~oVScvjuUMPQ`}3Dy)7> zjw6D5*Q-z#Nc_A^tb=)nNZ@qQ*3+x%>F*oUj*1=n-;l{f=@ zJlsocaP}@7FDoR$U~_JnBtkL(9c7vTzR)^$Q~6w45$B18W_LhaR=3ccX`J(Ji5uYp z)PI%xRnYaqqV8B=7lqw72_8=RIRlner)DFr#teqJ`VUJh)}kAMfxGKhPxxz?^GvKM zZXZ$HHWuJEkHMeMWdVL*$i|tQi{sF-D-kwxRZY-7$@9Okx-r~TN!{l#WFDQlxwRq6 z(Nuf<=puY`Fb?HRkTB*6CTCK>iW5l3bzZc<{Yl`m@;&u>engVu@U-a(*Qc_MxNA?Y zm-2~AO~%X(0NT;RuxkTBKOZ{Qt{%OOsf~LWqQ|^hEpy;oeSB(IvrZ08rC;EU-D6}` zAXhSJy`(%aMeI&;%K_uBf88ytvdn`hoqdaiF2X8D`e~$9GI(5$Yx8lqIJ zsg(q)rij8Q!7%tvTw~VOrqgAEcNHotmlFqr^Lln8e{G|{a(#2*!!PoE({}UR^YGTT z#ENAN$^#mgBJY|=_vdL=XR+A2TzCK7_HraXg!Z>Wtk`0BfJ>pOSBt^2~FjP7pjS=!QL| z`Btqfm{_AeRc2*u`fa?-Jfo@Cn>r4teinFWt+zt5U4UMz@VY2L`N3Q&TUGx(T!%dw3pz$MJ10)G2TqEa9fEB(om&fNqGt#IDd55|+C9SmYaX zUUjo~N{!-npCWO?b4q>m7MsJWWvf*=vg=4hz}ZE3%p%iy35`lRi7-7fy+O0`Z};AI8str^?N-i7HekNF&}%diAZpjSz>t*P78@d1u;2@Cyu;t-2gLkA;~D^6@3(w z+=YT%R69xpDN_HE3fX$g<&~KZcPz1NVut)C?US;|iVoOWazFTkH7fyqid4xzN;JVNJ*5w_ zlkEPL1a&~(#t|CpmY^6-%} zi)MxGYkpC;CS58Dq4#7Jri*p^^{$K8E-mvL(o)a+sMYh;!nUj20WjN3pY&7^cZMIs zgGu_|rvVqhTrJ-|f|OaULc879iFMmATN0I*KZZn*tviTQdgy*_NX(d}+gX~LzKt5X zdx_u^_IIK5YU5ih?5osh-!FwC9(Eq&0vGRFXE>SG*bOw-UaoHKr3+;5j>j01ke(_rcLt`N^eI|kNcbjH9_vtw=`(}I30a^G*5vtme zJq4RxtR2<^OG)RMePhXAaJSCfNm;a~eHpC#`n2B?{hfxq1mQ;>J~d9LuQ;y2S;rGM z)0wZ_gQy!Qzz}h(Hv*GlFkl~E@Bzy!^XT`bL6@ib1^V!AWY=@f4?oaYS$NI5&+}O=B0oBl1eN`HQ1i<)p2VB!Wkr zfbj%omR6n->)ino@X#$cUt!th{YW|%c|DMZIJDrori(|bnaP?c>S2RA{^TodD4>C& z@bQW1WDzL0zD~5UM@?D1E5siPA*pl-t(rpTdedOvjiSczkbxEW&N#0$l>o z#i5!tJ%TqXqnS%cZ)pstJLIcX^-g{X@)+4MYLJK8@`*KnBTrRzEPoxUz0oe=Mkw}W z0BA!GzNnc?i=Ky1y;+G;&pxNKYAc%90K^|4;qw`Gi{co0UE&X@47cu&a);HYbo-~q ziwuv)$qd(qx7Pth?Hzv}d+u=JJRMV))FtYVN%eI-3tjaYvS+;+U+M#_y>25z^-QVfYOs~R_YxjPMN;Snk+3MH=oJfP zGtPEX9aM6Y`}^WJss7@^R=%AJrS!BJs_GBE9lhSkm()(53936W3#eou54C9dI;Kar z0xF;=ZMwlH?GHXe$Jb1t4aUk?97AK3oAAIE?EWTGR(5F7d<=+a74sb1+l@;fdyybgOj?^~@**qZYSt`X29txu($Dz3*qXEO2UF?iUOrq6R?VosVfkMOu` zDr$UCc!tm%I$&uwTTZwH=8Q0!)i`=I^54y0TQzQ*CWN%>@l{I5EN;RDY`#5-bB5Si zq+NY&bGv!ug$$*xYU_%+x8&5h_C?u`Jz_`PlZv^|I~|MsMQ|z?=&$DfrK$>7ky1LV z!?0A^%mixROQPcPL@c&nkrh}6Vk|azBXNz5e>7U>oyc`b1SSMcL{qj}^)TwY)=&1q z^@JR`C6!j+CAs~f5fsbgy3BR;$mu_Z-j^DF@*)%w4tNgB;gK0$8s9+V)x*}HM*8U( z+y&D}3P3?l2pjEa4yBO%zocray~lsSxVirgoV1@wft3=E-|HBB>Fg*p*B+|2$9XOI zJjA}j!lYxvh^DoaD$;gpChJ;2!KcK9c?*e0V?|?~KCL*i(7L3;%diCleVTq~4khG9 z*30sY@HnOMzVp$r`Dk?mXy8wXU5po~!WI#7`X;2R`1-t~x++#8l=k^W+^Wov zs!y+IBAs3PQCaONM}bhZ%SU~aP+8@N;j@pzjh&}6+~35CtFHYv@s$&7c1zj>=8g` zN77lbXK@S26sy6T+r3y!5ZuJ&;2x-FV9{9NZoH%C)jvA6m~OKTC@*>~KX?S%eV;1> zIQebLfP|HRosXkKBd;WqbZgX{pR$rbktg*;cRM-)}S7NOYv86nQvZJ(?|4fh zbE+W@m%>ijZF;!Z@4)Fbtu+~_-2H!kwz|TET>5~Pby%7@qAr*y;HFg(Wwhavb5$X& zHTlR@4>p=c&;JT>7ei*$&a)81&(l+(CW=C6!M8mNm6N%A)B zF^S9d@=)o*cDc=)hDOJRdhHS@mL|CV6$^N>kmjDxOb3!v^-%iAi3%%SzFaO$Io1HX zXUQ#Igp}qG2hPm-DT#<)3%o%S+>-%g^UH$WXmKQY~VN3vx$4B6~27= z`ZV@`s8`v>|Ev->n4u!p=Dy;Kv@MHW|1$oq$NW zz1wT;JZk%~#+AP0)`qI3=x*ZhNw>P4QC$2w0<()okb%_;F>1HKb1BWS$c# zDym3@X3}GJ);MUU2Ud&NOo|_3aQPzlNdezN`eK$xN{Stv3}<(>J2uh3QaVwsK%Rg0 zRzA<}L_Atslm5PErUb9rH_-ktjuBYUF`CsUDx`YIjwk|I@g?^DIc(GqI#lfl$GYX% z3@-oaYfAfHzhREnz2?p@rAKLLOymd025!ozAgyzs*fHG2)z51%(vKw4B7u_ov(7*R z5c(m>?G|L*`6v>vcD4*sY@_Jf;xiQEB6sw1bBfS^l6PpO(*nS~HWq?Rj@|Y)C8u4E z>LLR^TnBOCR4~yreHsAUXJzRSmx>o1a~*{UstNZR{`9mI|5YM@l7V0|11cTqRj(zV zC05F6dfJ^GaWwmJfa%(=fO}Dp=CdRpwJhGuUcmjfC~wTk-brDdAIsbp)`v;93KcjkZHAhUE!TFB{~PE7gNH z|H#|x+w;vj%6gbgJ2EpVkn<_p@N%b;6#jCtHHV{9UWkY<<=<})4_7%PwGTf0l9yMc z*0#FIB_?`f;CC8<8ij4bPirCW{{3=^)#USJY$HH4>o-~0*k;c38M=RCqo1j>MuXqX zlf=^N!Z>B_o4U%a&>q`M*fzT2;@14DGw-mD@75S*un{)wISCiLgtqqH3l?=SVQu8{ zG#}eAs&Bx^3rwgENnZ5>k68Q9hx0+}f%q*9)+~0&^xr0xmztaoGk#_gMI|@qi*viu zOW{k~BkwBDVcCK-TW;O0icC#J>LT7j9J^m2&#gV1JlZqhoHSCHbe3p7B9Hc_jz|mQ zEz8r@b2{51lo@WB|NjgPQ}Rz7P%ku&$kaG2^#hnJ*GHwF2iExg{!w1q#;4kIt(Q`n zyd#$1pD{M$C6$MN-2tx%z3iAuLk@`OI1ZGwp0j5nwdFI{3Lz*JuZv;wbY-8{GfgHe z%$}6iL=@9oaTnooxO+_o2m4lxf-X7Bo#H89#*T^J9e^Q@7GuW~q@4@`L;-a`Q#t!Z zIZBGO*CQQ6i>Vw-%P-Q4d$dczlQ-0tUxFJ)6Y@QS5_Qm6JNgcl{DJtY+rFMLy1*cB zRWE%}N_9-muDZ~;mT3$`;X(Yv(__@T#R$=vj;YWa?mT?1bJ@I$hkeHiIH?oU@+hGE zZ4~!^UCsd-mJr>_;-mLopTk0sWrkzd*lcBn)t&w{(=JVJmFtfsJyqpe;y)>`IPg2= ze(tMZO*{6bK5RJ&1ciD!;#?_IS<>F_mqxnTW#k!CHWi{JO-(u@`mU|#azhE$w*M&m zE{k%XqE#343!+2f8JH-D#;R=GkW>!6YKqa9-T-g`*K+t9r2zEt*MNef^FHi);0Zs+ zz^^&yqWPakh`wRy%`6vbkd92iaFHU$&0Io3Xtd)EYSkChp3KMZKPQ2Z)xLXxhp*%C$9k67QVU}lK1;IHEur@l$57v3|0W=YhC+8)H;=?3FgCZy&pokxGK$Rue(?e zp{BYrs^x2D1H~hDGEC!uwm>_8tLzSh zcim&?=REQiiDg9`aZ%DBtrcx&)ma=q(l}yiM&8pTa<)}0#T)qK2)a-+GYd~pI0|~| zxb;uH<}fv`VD*qeOG)WKSO|fYGM}oa02QM^eBV!{4BoUR8yGh1??Lzt5&T-SXR41{ z6*U5l6(Dx=3IQOj+)RE~k53o!sa_qQQb)V)NX#Mc{v@ptB*sEB(rrf^4|1xa201!e0L`Ga6=9fw~v zKa9LHmDCy5R${EBNw2~2P0DvQ_$IdC58o`E+LOKe@B4e5t?EyXhDjG+ z=GBtwAB`AhiYwkKFKez|ue9Vm(y|Gkb~}L87NRrqZPc|S&eN{lL23?CHhRX$ar5Uj z7W!snrIO9@ITkB@&DEz9k#sw6$RAB~)? z`&&o8y~N>B33z-gfA{3(&(W;2AiNVCTXlAH_sNdL%3sG0?NI!-z@Y@h()C`X`Q(&U zp>6rRjLr(??)l!g)&cJ28|Qg@48(i_1KAcz|K<}(B*2TMRF)koy<_IMouH;GZ<}_# z27|jg_^>LwFKIcn#5%T74{X9B+E6HPxW${c>7Ft?1EK^`S+~|Jw>3{$gjSr!Z7n)N zplyKZn1S1RT{Z2XE<|5Yee-YLl^(DROJx#*>z(WgIl4@oEj3%O z_bzQe*UtQePNz|mn0{uYx%`6p&gj!2xw|Y){TetJjuDM=uggz`fcZ<7zRA(fyvy}~ z1786}{T}lVEX)y6dm4rW+QLeaV9~n0SURi4X7|{uWH$GfS*^mjh?o?@nw}aK^1qZf zQWiiBTTUMf9S+aE>Xf_Qpv6et-`-){lhw8*Y1JGHP`A#=F5Ly>hCA0XmC#z5kJQk7 z>WoyFuCjmBWmfq^-OTbM%X$8Ezd`Yt*sUrcvjL-DeD_(=FfFB9e?+kh9imi;aUT{L z#?kqQ>0qGsV90TI@Q?l3{!$p~7CP&LVSUCg>(JDlaV_utY{5#lPHa)H`ayB95B2J zOo}%3-l>Z#_L3u~YTqwe6DEQR{!*C@Ikxd z?6d;eT*a^2qvLi&FNIVVzMV)JKb4yJTbjsk;3TlG$)yyXJYk{}7&y;mTO!O~N^%XU3`ja;u^# zJ4F$LwF73T)W!45>UjQ*(dk(SiBfZ7QJ>?Yz^b;&TZOB#AGpo029-*@J(qZF@F(5g z9kghn^y6~4BB+&nv`jeI_&8=sB?!J2T|{AGY8uR7)polZW_>}9aFd_3qcq86WPTaB z`9IGez83Y>XjRK+C#tSXK3t`b#CFrZum^hVR8U!1LzJm3)~5AQHJLf0S{&t4&pOmt z&jWN0^>q06>8##Tp*(tV(;Q3}%FHipQ-vQ4V|9Z>c76>qsK04LEi}`U`~z@cq-iv>I+I- zG<8(gTYB{IlzX5?f-FSCHtXp(KS!s!??=xI(vHnpgXKiJoub|E<8Qd(a^{FmI=H%3 z>fPc-_VORi-1-kY7GrVcLAQ)ysYQnevqtB(&;wQHXZTyyyldjKtY7?^QtEhmlrr>BsvJVHb`cUVtN@scJ7_X$qM8kb~0|C&I9N_?z0oXFr z$qLMjqvYcExCIeVbk4xWyG{2oz(7Y8j;`BwKqosyG2`dN2dFCJNTe-1Le#Y~vMXO| zp3IubfBN$qcE`k3P787N2t%}=i2%RUzP5mzy*Leg)k9l)|P@j5onZ9u7a8{S;mv((-!te#P@h39!u~DqXvJW7nqwMKo6Vkj+OH$5Q#WYE^~%KI#<-6)ys9 z2UYB@a9sA{<8-;=OMAiupDZ0Mx!w>1*D{Vuu@ewR_T(5Cy?l z5m50!5?Bfe6tE)ba?fvFdaWidDHQl|>99fYFWK7Od_TeRb}JKWciBSRO^OIuGkqHY;eb&jj-h|(MAnxZ%}l=(TS-a(?F zw()wX$@uxMzcMSJW*cndipcE0bwnx}AmW;W(Ltwh{0?^St)#`Hj0GHGpyoKgb5^+O zC|4G5aDVfuvo+N>)!E(iux@FHMl_JR`%%|be&qng4Uy+;k=c>dq|oh1K6F8tXA}ZE za`TE^pZuO0ck+y`oqleg`j~?oM)Z4QJIKnP7 zn7ZUkrt${DLsNO!T&J9I!03$X1_R(drV|ooN$-Q#0F@Pfn*($WS81A;$%)jMhoex0 zS0BS*XMb?xPd*LY#z5j59}2z8D-09w>bY!1tZ^x48PQldMoH z=N4n^r(kMUqge(SY~I2d;j0EOXc77B#vVxPqW$^(6P*DM&jE3w!f4^+L?gBPg2Psf zqH+wl-_k%$HKpfIkteoinj=Q>#^{+N=#a%`X#%ll(hdjST{HokfL+N(wNW!E+rs2xil zQ;Cu4a?wCF9s)U835ganr}?Cn<um4VFxCp*`IQ}(HKFLk} zX|440%pI4FEJ=<@Ucakmi?>WK-~M#G|9~2N^n7^UQr#uOzN;G?dwdt_M{$t(q5&>V zX%&`woRoH8u%;#Gt-F)erHIN3hWPro(OI42H)Zc>U{qaQOx8NQKai~2uaMPXv2~l# z=qyq~p*UPzIoJfHG-Xm?TowTRm9g~MoJ)5kv6OEJmqxh`hu8OnWWvvdda-*Ng32Z7 zfCPmrf(?$q1U7aA|C%(_6JUaXmZn1(@&{dv01r*WQ9T9|A(V^P|8Y#a2G2_$7hcsu^=%3Mise# z$#EQIeNugQM!N+bRK$GoWS}u~DU4i-Oltk}uL{Ro#lefij&jdi3z#8cD5iQ%7cL8; zkKefKIGntwkFQyrmZA|_cmgvzx51j<%eFqL*)+CWZ*IknAYH){r~+-`y!f$**ac`r zfjNg{Z=prG33b9{Lr5mmGQ&-yS-j4r?bkS*BQ{pEZ7Wp$_T4bUl+e^Cn4kKFCG0y^ zhOhICogM9H5Q8~GN#cwfDEu&&yGM9PyQ*z0yq*Y)izZh$fR-;Xi8pn>?VR0&0kP3Y zL^VV)W@lMRNRK%RaZG#K$U(-`1pLc;GaTJZe`!wyJ)k$R&s40Fkv971?M1Azu1EIau#@+ytzP-pJnN_(WGM$LZ-*Ia)ac3z*JO~PkF+?rWvrMX z0{Pea34pMTI(rLylW^m`yP>!bHMwL|8^hPt?Jgi~N^8~yN6Bfrmf*|bggHAqkV63d z#(lP)IsrXuPQPg=Tury>M)2||T+sb9$FbE4ofU3Jd`k%3&f1dm`D>YB637mrkl=qM zt|pA0c9^Zj%+^x~!Y-EpIGF5(;6)fC`&0Y~K3FwiyLKX=l!5m=M4u~YMpU!_^hY$A z7?h$M3G&m44!KW!cOL+J$0OX$eX?mVxxFpNG=6x1=y?}ST~Y*^+_mkc{i?RXQ9~4n z0B@_ZsF=`MOI%r&>KAuZ(fC{SKyX;Im1gA7iXV}kX4jCmqiYgN9BG9!7h*qQ^*`6T zpdl=*+{s7<)nJtRIJI5pjVa0uqxU}_Dt;^Lz#$<8YVtBCNM*~U??w$GN?tTx-j6G0 z4`~%DM}B>I#zIn_^~#CEsTycd))L96Lc6+XUxo2(CW;x8?q`(&x6>mXKA(651)SQm ziek#ndU=H;0NFyEl2*Xh%*})dovnxi;!eHF5m?s3)(#2#a|T4i&Yl-L2wg;C>;jN! z-?mN9x~CvTen5NmnSh`tLL2$RinNuM#w(3iuLxw4K74-tSrG8*gN7y1XUiV}&=%B_ zoZJk`P*g%XX*%f>cA*S_8i2*JO<5gOesXZ~{M>bamVc@S@SH7khl}n>=}Sn59(867 z5LAPTDt-yiZOF7cu6|=boa1Dqzo~hDf2_1GXV8UVrAQbpBs_fDxJ(T2i^p(Jo%)^P zId0RicI)&k@spYp;2PPKG1zM*$RDzW0 zE!!cb9h2xbGI1;hs!`x50V1*akB@0D9pA40v=R2+P7d1JXSeP}HkhxEE4*S>9Ws;l z_IR8!-s92}=o7 z>MjKbN%6K7wQWb`{BjL!n9SH{Z--`~6=V#qt4K0j8nAX+R91dm?U$Glk1yx&G|7Aj z?MRdtCOd7WpC(e^5KjJ{%J>%4X11t>ftC5%C|29zQ5-}9dhZov@eMULr))rw%oOqe zfZB4r3H3oN1*MmbGw}bEbm%TGohe@jutkO~x`4I^ePJ$?=JyHy*{?mU~J2?c!I4S`)gk|Rg^ zSCWVJ!I-ZKD^2*G-@Lt@V~MgLowOOu zRntsPZeOvP&|i@`8;4lTlHoTmA=bka4vfqXdv3JquD<_x0i|v}u4JtQ!PUbNu&ICCGOH+^|L0E^>c3R@dYvB=>PAQZYgK&#>KDbo1SG&z{9Z_J&~JH@-F)?}#`P=Pvar{D%x!iJoO_3PEWu^_nQ!%2 zmYw^nW4;|@cU8KI-F$JNw9ea<(K)H|8n#WsOLl9#Rvt@c^s3R;G7Tf<-q(G}@2qIC zc-Kar>PK2k!R#KWdKR$zvfdT{5Bm%0V*FR0Dk>;0TFD_^Un@`cH`9WG{8z7J^sBlL ze}3vcDHAW)^Z(xTp<`af{idIk)4_$yF!CUsu1B137ug|!#ksz zH->%dfp~?gn}Jz^Bdvc~w%;@EB=|h4(XqQE=!IQE12>AF^lwlHlT z7TZ5_Ce|2z-ZNCtEKcQNU*bxYp@|wb4J{NWV;jJ^>wW)TnEb$P#Kwix=H}v|P}Eh` z-&iZq)Q1u|L_cX-6 zU2o(QMFw7b-H0v{QnFWgsM~=K74imSU&+wd9HP!tFifz^p?v)M!>jJu7ex0u7NRYm z+tr2ggW`SeI^)1K>*Fn{h5YZanbs%NiIP(HzU+|QbFK;i4ZU#4Br$RcEJXuQP3LC- zu6QJs85Ot^MEtBks1zORKrV>IkzpD6qRytZdOOsv_2B47k~$G^T@u-J@va3{_WOoI z`X?dMHrv_ScdT?WD?zS{D*rbawEHYm&Rwt17is!+Rfl9UOiWnpNSIa?;3AVYm)FZH zVqelyJ4-w22$B>HSs7SyQQG ze@&rS)IGg%wpt3AEiLmr*Vb~Wv_Cj})jj!3?KxZ^*|%C_tB~S$u2Y}G@mtNyZ;DC> z?=n;vfon}53h+K}F|G{lD06 z*largaASiNJ*K~KNZ)gCP4UgH9-n>Ca@9zPPJcS<{F56UN*1yr2NGw-<^cQ`x022}%=rq$auk z$Y08+hkoGRWLTw=(lV6DG^-?B#&hG7@we4FH?U=!>?$^)O#gs1SV1(BLo4B_oPB}i z^zqADu!xxaaAD!7i2vB@K^$y<1_2PgqLgdtsIq#Tpwf3676;`$`@3{qq6;ctI zUju_jHEw&}d`+N5kr*ys=e;~C%oTXqo)K|Xhek{`n1mkuhKfJX{ku0F;dj|?UgIeR zj79w|&$xbF72D&9mJ(-|TQX?L(CQMAH=ZKK=>{X8L-^q!)t{VhWV0=RZz=q%?-;GrDy*e7KVAr!67FmIrWF5v z_tmIDhCye@Y8M$R*&O_0Y`c5Yp7OGemiTzz_tbLq4N{y{sbWi%pfZ!VH0_(Z^R2r` zRtvn}Z<1LOoF<{F)_FY9!|%7h`qF3jglMO4E|sM+Crt61r_c4n`-4E1$f(r6_HgHw zK%=8Z(3MN{@q~O=Jc)-Vs%#v;aY?<1eyX=viXy2yfW42pf8%zXQQRKwusO&jLp$_$NQWhq!eXB&SxbKv_($LSs zs{b-Gz}ermbKQin_vkDC7+SC^4z#R*T)^ou`Ey1^7abVpHQIPb`8TcJa&#lNZ7!>~ zE%(9q)@m=V@_Ua6-Z!1RJZqtQL0zrg!>ivuJW#APAltXHXfR~4^0teO;j-fm&=1}H zrE%JyqmJ;xs~LO!Kmc=hgs~W;4}0p0qx_`$P49xcR1U$UTi&`zlo(1y7rCin%JI+o zuNl>q9a(LjZ|GRuBQde{3VS$n z?t?}C_z@R(EE4w;dPPNIg06{DVJ{sTCJ4c`_@yEzTcI8Y0yYj__c@ZxeYG!Q<26tm z>DG|<)_PRYcwak6ijRv4(4RP(omge0Uh-0he`cv>^*Go=9H&y$`(S_>7mEhX&-mQp z$yt)h|CX-9AGNEQQ)(O*Yc|%XT21~+G2{1+jglV~!tMVHI=PDAvlRZS`Mgk#Jf>23 zb}1JNBkQM&szqH)imh>yjv&-=G?$!_2I& z9DLsm_sYpV|={Y)KZcS7wS_EieDFH@PBA^9CZE%=KO5`@k1stYakO$2yPT;JXf9 zG5h}G0kpydBo{ZX!(QwzaE>*WNK)zu1WRG~n~j^Q7qiGfkL)*#Ok&w+KE>jjYAlel z<9QL=yW7SPiZy?kJBeLu`UI3TXWFY28zs;$UC{lXX$H?Eq3;pRaPJ;?Zy+qW(-(LrXSy+iWoam#7DAw>qnHD-T913|C#k#@_o@_tCQ|n(8i8TA^Q|MM!$j!dkhDZO=X^)gOLr z3WtnJ-t^qvFFl5fg+pJQ;~~W?OQ!txj(&2in=h5mz#N7tc9v;v zM9h_c6F9So@Pf*m_Dke4XqrmFFy@`x*M@o5BkjhqC>11;#VzZWus{i9>U(Tx@l3DnC^6?FaC# znlnew(&#g?PW#?G9-Dd=xIB-`3i2bxh1F8sf50uA>Z_Ep5mWrrp2@Rz%If5iBBD7u zZ^Y_Ml(veuprVvux>`R>O90KqX>P|Ws!t_ztPsvI1@AyrRdQfp%_(sw zOr;7R{qg#UM)}+4St8lh8q=cJ;g}s~qAliVe?-|tVlQ581WGK~CG(b`HggfZetz?} zTK1I{q639%Iek(~RyVg_)!PP2iA0U#OitdCA+US{@@2t=u3L^WBE1)3KRoDs{pU#? zT$}~*^~urK(rKDQW}aNv6QX;cWVPcbco=YMZS#qO%0NYLP44hWEGI-8noXa)O?f^T zbX!C9*RTz!08G2-W33!xcr0$vFCa==kW5bI%XF9V_fAn-K~-o~18v6nSC(?l<(71@ z99u4vd939QXJUzhTdWvES1+gpL$l7KJ7`&4GO&`}7^MazRL)k5iEVQ(BPvrpeon0p zw6!2reiXX-kXw%zFLr9r-C|omcRmvKBT5qBtbECVUI+YMVUA##%n-o#}oM8 z+pWaLaAfNay)r8SEHiI@>tE4LizOWOenC!zky)OyDz7bZspm#>lq~!_l(AlBlV)mV zEaw`#$x{92L&q574pCc1RJnVmcc<_8x!$K&$EZUd6WN{Yjrh+BfU(k%!Y+-eF=F0M z>%WB3{%r>Coa(zOq)DmQQyA`wNUvDA_B{-Rdn=3Kl_A_>$Y~5e1M-=3^5I=y$3fC)z8 ztdUdHhu2G%2YMAnL^(~gmWfe+?mBLolN|J936LPMBwtk5tRM7sdXef2HP}2!&-IO` zJU7$+;JQ2eVe=&<^$CN+%Gg8FLg0P&sdVN?-}5FSg<+40tKrk{{vAJ!_3kxAE+T(i zQvN@(-a0Ifrdc0ef(Do1uECw)8UidX!QEYg26qeY?(R--0tAP}-F0yi-1A%VKF@p3 z`M&;x<+^6Nre(Ui`mU;bxSE(NC8<1pDnm4OLT0mtE!fMM?6%E{G_ZB=VjD-$hH6aI^tx~o18*;uI-=LC0&U3(x> zv3k+opzXvnt6D#gXTzBt4O30Y7PYD>IXPV`hmBC+-Ee1q2oOl#_`_$*Fce9IZ8suH zth#Xm;0+Jw84dYiEqc)I;!;?LD=@$6JZ6$r!gtovBEi;qRly6X8Pt880 zkBwPNF?ZDTT}ENi81k+33%NG1#S~e{lv}%aYi!YA8dF#}{j!>6?$MZ{Z;Q-xZ0y2h z%pCw4Td=HMNm<6)d>Fscn~cTxV5-lOKmyF=IO_!bZiS6!H+?)R>qZJ|{`1c9*?OvY z_gn47d@T)SoF~CmsW;({mw-K$>0<7sy#}@MFX-Ll@av|)(UBEMn6beTSyhT~|Jp7m z{=jiY)4JR8P4u|`g+yQWa+b;_@20e%h=*WC6Uwww@^J6C-ZV01Yhrlz-o0t|DK(-i zYIE6dg;>p#o8vUMThw)x+H8Dkx-ty)^?lY?xWqiU2O70e1kZ-`2E=<0G^^B|;1+QJV1_XH`nuF6l?DRU}oHNSY06zlLr@-LLYa+SW&5oj*cO%oC_gQxO`V)y6TwLj5eODj#R4 zm+w=R08&<$YVWJ@?etK%Kc7{yj@o`2vys9%Y;Enq+mnc3514qvOLAt~x!fRXoY}KJ z$J*ddMwhkX*uL+Q_^Y0&jMo#_CrWkolnXY{$;P(4A1brj4EDpJPRTyFHZnF^zD$4~ zG^k9rvz?Hb?V%qH{fI4Dig&m_cJD_1%nDkZR_n>PlhfX&wRLDv5mMkh{E%(ikH0&r zjvpB{lwBu5-?9J6yvr$|xYfIeWAXb3vv+`ax7p@Gl&{}upzlR6+8>!*mA$^0--^qn z!Qx>^|7b73X@ zvpB++k9fL2vzX*2ojSI|kzn@wkpVd@|GQBq>$At20M1_$KFTR*#v2^6aeMr-o z89jc-I!OrllKQl15ICPf|L#k_rs(XuPulNYC>GL8Lb=9>f$nl$xBi|*%uOD+Of zv1*~VDfxN`U6t$tSY_i%uV(+)9PZl9`WJ+}6Pqsog^L(WL1zuxYi;hP($1H;O=(BM zEwh9={9;#8vSS+CIaQWSV@lyy*4BQQNRs!(`3pko#Roo@<{6tCG77qiA`~ZE^>Dm` zTOv%ZiSopCr6HaXmPfT1i$*q;2xY60agA0n>77+wV^tLy!A`RLXmf2Bw}xJfMA6=) zYMcGm6JrWQC_qLSx-|B}ry#{m?o@ShThMxete=c1rWVKY>O13SvHcfGvVvl~rjgLAWWtsN(u#dz6#z#7W)7ka15 z&11=mvh)lbf!M)H=d(7sbJuVCPJAwJM8%X*Rad|7uN7nd?ka&>snu4RINj1ZOjwqd z51c~q{=S+eQ+Z#aJ(_cMBy4LaE65U@8b)B%Cb{cgQz!JtLGD@p(%lD$1_0dHzf6kG zDS=k=FZww6XFl`JfZ$C-rrXEh@h#3br^n4YZ*|jLS2cpxRNO4n6L8!BEa|TArKG{D zVwozl27c?ehHLUxdd&Q9j6g2Do^r=T?ngK`81+1);~pFBC??HgcAg-RyC#RB#G>Fb z0|}$WBn>%T8Iea-z~X1i51W^tQY(}u&NjuQzWY8-R1PXeENGB1IHdXf*?4YBIwmKM zcbvLY&wfhlw+>@&UqqV{P)BpRCdfwv48=E;D=mT9xR7LoMSav|~QayqhCn_v5@fx}lqinob`_-5p`VW_gBx&(!xzGo$(5 z@y&hi3>rYwMe8cr53TX|s36VZgOt6r6Odejy`aB{Dow-qS&$)AE_L5>gr*9tiiSgF zy36%zC189`UerC|X6!`Rg}x{}4JrOG4Ont$4|j5eo)vmN8mh4KGC8!QqS91($1M}U zfS#(s{&~w_yeK@Za7-$Jw(j|>SML#@v(%CsvsI{0cbvT3n$1ABOU)2LUT<0xT+OKrYKRiURr9|u(+2h%Pm80=Da{(n>t}SW`tY0E5$ifFP?M? zisze_QzEi}hajzO`^@sH{5XQ~MUw=|%sGZ&{FjN0R&l59pfG5_h2yXIF4*H$%MqQo zs9JnOmHZkNM>Oc(ym*D@Lj*h@s%p%d8p#D$xCjV+bOMxNV-q3kD+l)rsFyjWSgPc` zC6U1nH6TSb1UF0}4RedMn%5HyN-;b=EpJ=iyq_`2;v^gmN+E01XT5vjUY0l;9qBy1 zP?5`5qU-#qt%5ae!D!RLS$mZ6e8gsq`@1n&&?V7@?VY~Q=PWE)44DXKbW34-%T5+` zRTdy{r1o&-nV?|>UYqNd;e!l&5Q?~4k^2ER9w|w%1vJ1h%&h7*tFh-##ju7z|9AWk zi6Jnd6|PfXk{ne;3}ZoR>euKdbyDOmSy@3cxF=QC}{DaIeRndaf|eQf{;YpZ zuSwT65~#?x0TK*Hmug>4AJg1j9VoO{UN-Q$sV(L)cb*nDr*U4_v#%KY7FO8U$QD}H zgyn4LBeB!gQdX+l&40ZE(et>~C8 zXG!_y!mW$ZOIK0E(8P<(;6Itql!dUw7}SAi44{E!(R5EwkUU@Vs1b}&56v!rW>nN2 znGadipMB`Kxhf3nWBF4FW>IzY0^<=Dd+%8Ne~zNO&6a#3w%>JGE^p7MJ4;T!&9xEM z3pAv=RfTKXlt6l6-YO<<_A$o*YW|>M&5I10j}-nBpel0r;8E`ahQ9jlLy(;yJS?VC zK=!t`Rj}uIC|>9G;U^kbiZQ#=sAue-rD`71oo^^z&cMxj8#PIhv&Ae-4)7w!H|md3S9;*S6g_$H->dQ&AgaQQ~AXX~kukMn)5 zT(BXUlDiD1XrjU@e9_u6A78!G8wTij% zTe(q9Ej)PU856s2WP%w<5~C#kWXSa*53@LxI8Nj83y;lOmAEudH$08pocKTimzWC` zCNQC(ma5u!9oJ@BxG zGCm{kj~sQJQ@H7x)mco4b&-NJM_%}5cCV0p>XJV2D@s%R_B#Nec8OMfR6D`YMB}`1;nA&M@~=Ynrf6I=U8dYzOG^VJIllO1Y9mva&6(335h*L1g87*v*UDLG3vc{ zFZzv=zTg_u`2iYyEE=dl(Y-&bb6G>S^{wC#pol_IOUQoX@tNzdFet#+tS8D6(Fi9M zClITv-`68thd1ANR!IpoZ+&ouz-&yWOwNlLR0sZ<@rjA|e)wL*C^d~xjUfe=VrUQ} z$f#cthuMYWd!l&rY47=PC1)*qd}7VJ2Z4*stOSO^NWp4QVw9n>T8y|_HoW>?R=TP1 z;yd8sAfZnJ{czoWSyqhHyj^XSaE~1UmrGjDM1ALltdscH6`Y z3xRlYyScFjhyv}cTl0b?Fn77X!1S~}QdC0ch8BMIG=dv!VJ+APtVR(wPju$1WVO(! ziNmy$B>GNB+!VH@K9^MbNJ4xzgzW}(kuw`idIc$vH^c!eV=+k0Zs4Rtw|<&mFb4*B zc&x8lX?>t}^V^^b3J?Z9P}IbCtKB8MXAVkmo82>k6XpxL%(f`?KZzRDpu*o>YMhmJh2cxYEjK7-K|dB8w$Ok!Ei?==*Y( z%W1^?52mr~plHZU5uoluJY$ZoAc`G!0aVfZ(&|Rr2hTyj#6G+pavr4&mF+U^0TvE7 z(21;ysRopYFi`V>%8YdzU)+-w(jf%F_jWLs381m2^&l3Oy7Qtc#6rqjMoT9jeimFy za$qYf(V9st=*Nh@8MEN+q#YQ8dSePmqvfRVu5W4BMKvMQN~Pwx=Xa74=}xrmUc3S>bE}0p$tHBt^+Gyv_Bn|s z6p9=TM&fo7)=$buT7$t94DhSpgK*7GiI$sbx(QdPy)5O9`)lBo;P*A4PuztWOd*iF z=IG%S*=%!=V6Dz5c5K1Fbq*Kfi~q1{Er)A6xSN8eY1QNfsF}jNE#6 zFk*Kl15L-zF;?D@1PhjPE`=9SW@aHc^TFf5LtEWsn$^*cMRJU<7cUF4WAf4rG${i6 z%(3K6NUF`uRQ}0Yh%Su)j--2(j<%K=G{w}z!#&Oy-*+q(*G~u}p){Dav2gT^i#RIA z%ly0{y~yOXB!npAJoyR4uKmNIVJuCeTa|&UK|^mSzz{6s{A5pU+2~vYo91)p=wIhR6qG~3Zes^+WjnSSV0@ux}<7`Ri54amQrqvP@_s?TC9-;ZC zQFj|Mq`=l)A(W<;^NH=E3Sak{GGPe!s2@}GAOYv#7K@O>_pZ-*x@;XXuKxJuWggefZEm<<>TveDYp+v!K|P z@vYKN=2G#I7q-j@S6uNu0n~%K{C15;oqXAPs1Pn~+{yK}h^}$B2x)^~nhGEG)f;Pa z8vEUf!S{0Q+jcR`qc`!1GN*H7A8+|z^y($|_sMB!?t9S~5CDEpBdi~pH-(?t5$+aAoqapRIWmPmrT2aFNMK zv4CktHq=xGK{l4TYYNaMP$T&bh=Q5%N5lXCnp>)Ln0L09F`$3$lW|$4H5IClwo!w7V zJ}lK&Sovw=_n%@&lo%|B+Gdm3E;YC9HWE7xJ}u8`Qn+ke;~fDS4ZMb8H^-p z+>2V4^y@A+75s_3-6x&apqClUK6m7-yjM0@ND;w{i9WCnEQGMvYD_EYk@m2D@Scuu z4~@qGs$JI|2-?B6hUC@kY71uf+l+vIl-n0OUVGCyJ#^&aOBO;tEyBWS!1j+QGFJh_ zcnHg~0Vj;ua~(qZ{i-SF$8v&2)y zP4W{B@ih#Gyn~@jeN1xa9@v#M|LGXuXEabB76{?oWkn1Tbcya!UOeOkX*%6n(~|UiPg}bSH)^P+X-mtQL+1X{ z0z;-a_4oG@J?OvfNsp^c{w^OryG2-7(ISw^kCfphIl`*qA3`(4i5v){x3)HRz*ii9 zp{CoJ;&W_4zzsWIi8+C{hW+0L84YZZz48VRuq6(gszeJ}l}r420zy!bxo00H1#f67 z0*N=ZaX&tv)aQ z(iFLAY*~UgjjGE1P1b_@Drbk9xo5uF4gz3()_XQN!q2}#7LO+>bW(U_LxvO)45-&x zC!^p)yL#Gim|F^NbNZ8nyp{Pm9AiT8^C15hI^H3U$e;5}anBx^xcVV^Nk(cGYxW+h zPQoj#tzeYe=>G@;N8)dHS>SEYfX?Fh|=*(_=jYl zEnI!Kle=3oZ!QP97xLckfebd5YyJKeL;6<+r(XkO;0ZGrp4{K4!&0)u*RkdxE!?81 zFo?K-$JnrB{d+PTxXAF1H)l_Ntt$P&!}y0LDbBwuY>cui2kr0M{Mi{2G@6vYb|SU& zjy=^acFV?^MkyrBL8N3vPI@|BvWSP89!qsWlPd+!3&pFZsUr;fM1Ifl%mGO{X_u|+}-H`!- z!qE*IbaHnYvO&f5;+c&G_Db}B8nPICS8w@ubQ<#@`jV{oB161TM_S@0_)Fw3Z{_%+ z!=w%9dSuGZc>8Ov;fKBJ3AwKWcPPo~EujMnbjFVFllA?Q{#mJj_P_J~gB>QTZ_cyT ziHGaF#V^t>I4l|WFh^x2`*8;}JNJGls@s!dh&^&vLQa=r{r&4^@LY91(~>gpB>a5o zF_I|Y-JY4zfK7&i3vh&F7S$pb9I3d^=TXKAhGH-W7KhjfR?HY+w*0r zyvuevA9yC`wTm}#i6w+}q_bR^*UZ|g;7!-@=P3u(tRiE@eX#!FxgMt5NjzG=sEUyBA}h$qxQ{(AXeT`CobWidP3rX*?p!yCyA z1ws~|8$W(XhMR1~tc;6)4~bMsl|+`|QfHao9}}3o^!4e(8#`7`Z>GAfeIpMciT}5R z`K!(G;=%M`QbFtpN(%b`yTeo&WI|vglFKscLq>|BUJ7H0Tl8S~zsnd>@e7b^cb9iya(-;_`hoeQk||< zLeBZkmJXPc-d(7IHgG67Ayn|%T^HsfME9^D5F+!3I;Fd|i(bGr#=QKb@*TM5)8Fm6 zz~zKH6c!fw^CCpB;MAA5mHxmnzH!JYZ{dEH*Qa_r%IRwBc^3NW0|o71sSVQouLk>Z z9Y9Xi$n3~{@)RIm&|+IjOpKzLoD1=T{|{%3td zE-9j;lRI-su_3R(9e*-%`(LdDyo2de1+zdzG7=*3U1zJ-^8c?<10cSk2$F}R3o%rm zA-bk={nsRWeVmBDNYEq{*#K)LL3SG~|9_PY@O1j&d)xQ5xX0LJ);V44P0*Lx*&1Tn5YZ?AeYao}Zp&%-9SYt6wPi-;j z_5ObgEHs~&@nV5w8C)IZ|EYvv^|>AifgPDaLhc!w|6k4eS}oTPAp?vYNYz)HYYEC* zjQdyA>o4r56&17q$bR9;2|q&kKRe3nwRi7M%boZjn^EFmLly*i_@CYA^(s!_+stBh zAGD;OB=hC1U?+7uD^5q(_G%&e=as(fN6T0fys~5u^||21z1Q3SEjSSMWQbyA(_mk5 z^b!@8xn%78>7{@QsfxpTr2NWF4^}fIjsoZoa25Es2ISWd_Tbg=nTZc1i0dZXHlvRU zo&u794TkM!Hd>HP@Fk>;MF%rD`xm>8t}16CuiXkZ*f=q`gYJ2Qp?CRz2?7Ldo=A?w zuNLa6NMb5E5l4~773+7JC$&tl>o|1*Af`mt*1DlpOw-Ys*%je>y=SnqhJy9iA{2w* z|0RW%>J>;q@w9TIpAw1~icjMk&VF4OG0!^dh4Hae{XfDqk4{PKOlnXnAIu&eC!&6@ zAkkUhbw3Xns9P8g@Cl^YDoXB4e%T5W7(ovYp)G@e1L&``a>osi$efno>2*$an+-d9^4Br z2eJ&1%i)@T4_*yzWAAL=%N#H(x=&w{Ke@25zF<4QCj{ z0+#Ny27Q-18P5CmsD?5zxRg{v*^XIz)IqKp1BrVU<#Tc^_-(rUF%+HLmoZA^NlA6% zeg3njfL8XhFC?~ntvXR?7IIn!kNH3n;{XNAxNR1YlaxjQB*azr#-zk>VyOh8peeN- zCn?&uS8(e2pUw}(?Cq;@tmfuCmv9G=|FeDz_lA^`vE$+&zsx5MW1d;S6ty)%jKuor z+x%`9Oo*i(G@uAMB5~9UL$ILdXTzuo4+dCk{UBHB*hPE}m+QBu>FrDyup33c(X;|* zEIR0u)Gbu!uvSZ>5I`G^<)9wfuSU9%JVRS#-LH2kcn~{qazH@Lxa&&iHe+rsbM!Dr z*c8(V60!wJSqxs*p81>>_H=vsiQ=5)=;N>VZC5YcQ7e}E$ag42t;^=aJwOVsYud*Q z&KE8n6<-?sYOL1!P|y(*ABPSu$LrKZB6hJALz}n3>c*X$z{lEmamDi=TR?nutP<9# zm+A$NjpfYjzgC^XhW@xi@}l?|$#c0%53eeRM5BC_cFW+gn)~FE^>Y1=)Sa78mmrA@ z+YtZ}kd15;XSlZng#f6?`{ipsxU=L%vfEQ{)Tw*9wBq^~m*471#mjJK#PmmX)-XEFWT?`r-#VHYZ$~2|* z0cR13?#tM+5aABoQ0p^uO&X|Vj4+^V^^Zrgq14A=m8GCLV#T_vpK<&XjK#)$H{CZoLk#b9bc3_E9>@j%60^Pc&!hIcS-?T$v*?sU2Gx=Y2p zH|TWJ1iRe%4x?)C(XvrRsDc;zp~OcOM%NW*GDfRTN#&TC;5G6C;`6$<2>kQ->5ujw z#z5Z!bA_)*-d(n(yymqN=q{7Xf&>ll01t!?QW`IS+$Dct!oGsChta!8FFY86kS!%( zZypNa0TF&fxctu^zUniyLkUkN4JoqeHmY%M#Eaw|K7aM zXmC)#UWz%)6ub=*)=hmOX+QuFh=k6-7Ng<4ptRLJNkfz*^`}5zhA_y%UGv?B)D?OW zBfvEi#Y~O4ZK^AqBhi5aDG~;?*V6mRe;!EL&W>^f1T7yR-&94hSYfeowWhq8(QR2$ zmy#-uTjNM+Lhz0caQ6SL8m|ZKe7~h%*xtZyrLVE^499HTzaVRg5_d+fZ!_uEqM&u( zuelf{eMp>^jaF~GN=7e>H@xUW!7oy1HN(*T{#ys4T%O#co68WD*?NNc*qV8JeZmg;0IAy5~QeMLyOPx$u)-*Kivbdjq`9_KCIY6ZU7xh9RH( z{^3xFSXz_a&BP)K`Ab0~g~=6F8%}AUgN1&GqqVkG`M|g<8MQ%JBqb0b9bAFML#bEL z8o8HS$Fs=*}Nb^7(XTTcMaZYJ5< zfTEs(YtPNCVBhscN$nfXn)h~EN~-XRzr4)%1I@ed_1&$#RF~4QlXHc%$yP2D|K=)m z(KyDZn@?rxB{+Y`sY)MsJwb-kEgld7zxJxkg0@xjQ(XpQI_&ra#3Lb z5(h1zXf_KTU|w-DpOTxquZ$D*pgA_V*X>hwjX8&IecaxU|lwnrB;DG$eV0D1Yt zj&q05pK0eER#aQQX7r%+=2mPRBJmFirSx$*QeseRZ!@?7nU&yG4HLo`V_;Wd5cmAw zWQY+&RH~$keJnC$&TF<4I_ga58!$pbY%Q@mQj(V%mh(C*bIO%VTh#fZ*Yc9Rhok{X zNWgP=r}-}Z!_pd2?6mL8X+CO-yN7~LPUc~$VIdf~b4b+f!;t@Q=j!U9+h(H~2Jc{> z$NsYA%9_plds&p}3r7W$D%#3OJn?`HK>v_wxN4MgSj!z@qbFtMTg3gL<|pJAjmg|_ z5IE3ge5B#VE1%H~lq)m%#|hMEB^>7^k{b2&=0+uUD?9X#>qLrW_{`c|u$4CLa>&K9 zS`XVy?GFHw?c_IBNB#yUlqaNvq1N*&&Vq0InVlpqIn%wS}y+b09;G3GxkN!TfKY%g16VgnL(^mVyHVJ zqD{QtE|Rl5niHkl&`HpiBb#?Q1|*<>Ps6wbkX*$pTZTpO4vcW7>RU`JA`0m>?O!gA z4D}kx5>i^-h=lBI%_Kkyn}{TK_TKWE!I|qnnck;qXtx!xLy9TUp}=aJnX%-nT9X|aiN~3C0gl0NezvC3Mr(Ldu<<`+;$+I?`P+&1z1xK;Po6LXUH>Xir4B* ze!o51NLmKn$`ij0?dZ9zuJ;=m8G{;Ur@DjlGHi~o#noh;JT&Z&iW;#>EFf2G_4%p2 zx38mN`%|{GJG_suK>PhQsKZLK?nRE4t0lfk?F_F*+XysIwT~(AG@&> znd1<(eQC1XL=Kd{EaR)2YiY=++ZoMW1{2V3ZYqP&>iVixPwy=trt47lm2u3^>G`-mOZT4HJb*3TdAB(;nqSR6S0p^qeF!2U7taMT`PLbCC zMEw);e<)Arx$#@%tx9_f7JZiF?z@3&p0kN#sC1!`zvpvef$+P^$BMWEkeSe z2||Ui{@#D)@Fks{>GnsIja}FIw=2Ovv0gKD*FhT{;haizVM}Eki|twq6FyE8gc`yL zS3R!3-@=bH0@IK!f34GQ^I1U-!-voMz4z#B39kwG^x^<1P4iU~s^F7-(Rw6ba^kj{ z+Njt}b(;*0d8#qaZa$+V|1%~0@)moh)%&0LE#lK!^=>&^s6WaE7`WWJ-?4x-ByZFn zNV;>K>~1A=t8l@+{eOxfSvjp4oeD;3bI+N1=>z?+_hj&9N10V+Id9t)Hc)HaEQ72S zcSq}4zNNtcen`bevr|Qe6)dMgh$>D9$Z(ruh!_w(Knn84F($yM70*;rlrQqKkg?@@$Eqq@oH=LBKi3GT-N||vGioUgI9Fp)XLqO#+phF zY@`zl%8y8uLv#}QVk~^odJ=an^<7hb(fh06^e#_S!Xe|@^lm?=`dO_Vi>~W)JPTfY zC#R!tA~t^XE2yOmNh858lmK&BWMP}|M4P|pR;Nt&%XiZ1vJL9g!$I*qa71nNGUSwJ5sQ`axt*$J zZA;tbdOhf7MSz0KCnFg~hAc^Gxg3eu{P1g+=CQZ=*+j{q>8JCDSi#4+RzW$62!!7W zn3ayHqRoekoD2Be48jRl? z_!%KKe2X}yHMRsk$HNEWhp0|;9>Yis#TVI8k9|y4ivDM^XlW{U6sJSvKMk+xeRVtj z;+YNQPHkI)PC4DhOpZ^_cBP`NtAaphOyX+ZoFPcuaJ*my!pOakh_*@$d!ES8J8U0T z@NpVn%8aj@cd5$*x_P0db8}|;cb6$hf^WpSb@Z0IXEevCjTL=g(T~RFE@M8d$ocC8 z@$ISv?VKDg+61QG*$Uma1_qR~ri_E=M4lR}UG@NMM59ZCEl!cxc zD{r~Qp3Es!?h)s`8?y_M5p<@gt+G!g)vXyOf!MJtXZGlF01+kVLx`u5=p-5&L3y&Z zOelZ)nG1n85@XBF3%SUAHxN?)akH1@-z$w!e$C!(5X!p~UiT>6NUClf* z)=zb@ERM1=wHD-H+WE^2a2lh#d8dI~SJ#%ymlRg$U$~!c0}n5@oTfWxDw98mL+~?L zXn5jPSdMK&=K?+W@CH_qF~bgd&V%We3)s5?%kNCTMit=Hyg4eNa_6RQXJ0}xpKy6t zC$#SAWq2kVHf-x7Xss*uj=X3BV%BY~@|6h_fgjr}HnwSKf#|h9H}Y~>m~er`gsL5x zKRxmFaTDk8obS0l7S|5gB$uP4o@{biE8^aE$^Y41*TH~KOfyN2EvU4jpO}CP-}dUM zge!9L#JPTZpVo&&oxo0{#vQU7VQ`q%$Cvx*CYZ|vtQQ>i2JlT>UU^W)ks|t7dB`;n zGXX-8TLZyt^_n(mCe#1A<`ulH@OfK? z&+n*!Q_sk2RmM_-bsKtaFyKCS5gd@`1-d>^SerzIRc< z=QOYEj}b>mPW!csB#>|)3{`-LD7v#TbM@xNEd#QY3$70%C_$5l&QM2C- zTV-WI;mU3!ZGyBF#{pMKzBUw>QEz@XT*NaCrHEe%&7e4c6Q)0Qnt_}zgWKxi>TB2Z z%?{&fV`UW^qPW89qy|+5)Mp!mhDN&a_(FY*ngrjrbw&(Xt#C+;W2_!2^foDd5`Y81 z0<2x*>N+)zSY@5_D3uQ)%w(8Y8A%ro?H+nGMW-*S8O;*`bi5Z3&=J{L+PjeLphGYP zwXy_40xs7Q%Wr7zL9FCJXvUpBZI%gg$_b7X>u%&dXsJlhNLzs%@6DpUkoY=SCO4W^ z)|lLyQ`^*LNZK?mb(%P`ETvIGk(ZLp)9^sEIu2a;mbn?J5fHmX)(-eS8C+VP(x@N* z^{nLd`uKr}c_mr(TiFCQh?K@CqumjSO&o4Q(k54I?2T&N{`0>Daw|bp=U? zZlCd>=B)=}!_uxOQxdUbsDlOuSv+xpEav#05w1xdQt^Qofy0JTF4CP1=;!DOUpcRN z>haiV<`1nD&5VRxo3T?Cs{y8zZNj0+YRAxD0xP)ndGJ=rsHsa3m>#sR)8flzph5yN zf;awV&dkM%%e_}OJnh(=nx5*gBQ)-GOQb6$SC^bwWW`c8CbjisXjv~M*Jb)humnf6Ljf&GLams$DD!SM~!N0*7-bmw^b|Fap$zNXRNY`jOkMM>{0z?dGYfTOV3&}V;9zA?xV;gVBYN~csCnvcIw z`rJf|JH{$~lvi_#i%W6;xrVVikCpNsF6we}MCD_9s#BX$#eR0p7kT}nlhvlmD>;al z$7nl>ogHawP&I2MNHZ~otRCPezyY=YuE~W;I0(D#irFUik({Mo(qNs49Z=$Nzi&8K8sRf9cDY- z)O)c!$*iR3BArkq6{geBxBgu4(AHw{R&+8RA*?U8BwUXC=xnCAY{!pDMXzq83|#qy z7?+K+vhx@`N8CO1=wZ(j|v&>RYe=Oi8d*iK& zKKwE6g{&fT^PZNoY?iOKj21lK_cqW5VMC&-jdP8lkf95xex9O8k!t+d8n7=7T1+PZzSb~7@ z=K2m`vM%b@ycxZ+T;Iz$v**2jyCMA%O|Jsdt)>`Rfvpgy8H~o zV?O3mW4-%Tk-*Vs5 zPZMkzsOdCov-pk(DfjbgsH@q&hF{E^1U0F+eZOP~+hr%7k5j8`Dlh9D={708ZZUOz zD{U@gOMQO8BLLEA&#)NPkW*~$VrVCy9jBpilhAYVKg=LzkWEeR7iV?F1eh=xP!gw3 z0y@gK0I8$IhxG=uC@!&mQf3{ou+!0jJW<5Pxb-)tCBD4`wOYKW4s;q*1=jl~5lckG zuLz1<3c|drBPu`IvBft>(XE@jlIZE&xv#~lLJGNTLNYS*>e2+0Y2>O`CWLA>2}heY zOx`}3k6E%S2$one3%~|zO<#<5Gl6_%;#}*l(?}q2L5+4iel*1O=ljX_@kG^5olo&KD&4hDsN+bmhio_ht{k(nkLFY%;}BgUZ?o3XA$eAWHAUb zTF%Z9-2@Hz)I*;)7QPr7Rb&&GK6uIWJ$5EGIq4$x5GI~}Yr0|7K9{s^1(cO-^mvG; zpZi)_#%nI)5m6@-v$(`t^AK8%q_BB8I zidgS&beQz!ffW#|$q7mDy#D}Q*=GF@_;1Q0Bd*D_5g3)W$uZqR$zQ3$v$h@9#6OOQ<8pRp3n@ zGCZu@!4|A% zNKeyeM9H*`5EogZmJov2WI0>nV0CE6JP*g`8KQA>rjK@u(AFta*SVs{5t%dZBV_5{ zhK*eIdrq=P>41tS4b-EVFWL+Olw?`m&&(OgQd^p#nAB^TBgTc|W$N-Km_BHl1s73syKy zOTC~QmITF~dy;Dl4{npQ9ygL)*Y_G~AyI}mvwuu}W;;2c2I!G6nVbw#H)YNgUFI~S zazhZ$bfd5slVuW%p_2=aTS&~zB7VU2K`SY!!j=0m@X7{ydZc0Ov0s!jFR#)(4;sL# zyvcRYku{RUyztS7CuZsMejo9$94Thri#(FJA-yrr5b}xU(js^9iP5}SQ=WEnj;*L^ z8zf5mS4-Jz?1fq_4=Q&89nG!Gx+v8S=}#1A#&lngY+s-$RV}^O)Qd3ULjN#MC9FF% z?x@tA?ESVltF+6$h42e&6SyXEo!s}uYw;a~tRgnfi`+FBwHx@X?(y5m`crPmfGkVg zSw+I(IYXj$Uc=+>j-e?i5xXB*62tgBN(o)tIy4G42wkbNh|nP^-l5@yBwsq~99K0PyPMDbYeF@0=e;%~-)aNzx6;d+jD}WO@Dw7iivKX|G3Y;ZVWdi>ReVV9uul3W-bn?<|1s`Mwcl z7>)UboNQiSTUqM4k0&OTxw%JydOtHpd13?C6KURY2t>-5Cg#kfopbbyyB;AaWZ*9L zf`8oN@ZGJS?Wh1~ooHG6D_5szvLu;EKuuKR_HsaWwys-49G6R{l}2cKu&<%W-5i6^ zy#Vo8WJcwypL<|c8p&}-YTj{4uSbQz5ONl&8dZ5T93w0#w#^rc71tkf&x4PUe`)+l zYQN4Jxs2!HRl$S8796f@D=8!@bq}vv5I|F0MgV+6M{XPa!!TJ$Ve;FmL4zPf)1TEY z*Fz$^X*G-p$JI!b_%89!MMO}OcXgRL=7>Cnnl=6UN%j^N$>)JSzdj|f{P9?V(~2V) z=CDbRGNj{#a!&D*?|otJdT$?hmzskt)ujaMFyLg~2$C4mRfe(-(Jr06!rrsg{&Djf zc})mUKj0mtic4%q(#>O#X#SV6qv8py*|(c@!e%R=`tM>aYznASj+KpO%S?~l_W11N zF^~D@!GrQFlMmFmY@i?I5gaBj>W+$_6O3D=DcP^nvqd5-R#(IMGJaTu3uNwm{A5QM zw~$E{&@}uP`YG+|E07Ij!LLbw8tvfJs-f)d8I9fD;Ik5Nd!iZPz1O^hW%~dGnWtos zpR^&wb%h3kFnN}R^Of#T79v>@c-bgl@vh6x(CyAuzlM#|>l4_Eq~zP#ZdNS{5zHuR zGS9R1q_E7$1_Cc&PR@20y3$p5xCI9qlaZYb6EY0r>zS5`M z&QB33Gm_AvA3xW(anRuprA2#G$}S`!Kj$~}vC(X7LjT;?5vP7W4#mr!-PNakpc9fk z)J)U672qx5PEH^F2L#vbyI~EM5GgcFQUQ;w3%Tg|8j~P^c~7fuh+{ zXQzJE!c|O)$!V0};Qq*#xuk;tZSR2`@_DoVDPx*C3k&2X6{Os-&6Fs*Z0HrIn`)7k^Or24)&{i9hW0ol z#-aS$nKI+4?rN3^C7+2n5l&dzAzKz!6ER`Gr z^3uj!FR@yMua-=bkXu4l1Q6vQLTrn)5}3=j({*i_e+xT)1-s|h^@jOBl8gy|6s5CE z`>mt&H^pYXdatDDGlvlri6G!YwpxsC;`Vtjq2Yu8ZH?8QfKHUW^)jFkNpGgqkju>E zu8f z7HZQ2=~-E73xmK`8E<MC0EIMPYrpS!4N( zk156;!+Ldxx=xNNcGHu$nOm72AcL<--#~ekC)_>P>}U?Cjj#+8`!>^jStHD;G3FK& zvbEeArvGJNKM+!VH~I2l>FPYEK)h>+6wY3ux~E;mp{zVG^?M}kIftYw|LGAx4eW+X z{AmC$J>06?W&b+2G-Dn6QL@Yit$c6-jP{gT*bb>NJ@yq+9duIT5ZG$doIFDE+az9= zvdpD(*)U@JV_-p6l*`)AhhQhW-K`Ia%dxH|^an_g z@8{Xx4l#fEGOV8O!6@ipe|np;)(y<72cn1~407q~k z(1IjAanaKjuvVBtrR2CUKe1&-F(VK`f^515XPWa-E~R!yB>&m&-Ibi&Ad=D_x5N-X zRjy41ebm*Z2h8SVE&6=nUF|O6-7nCwnBCdccPHsw$Qcdvw-A7cS$>+A+{hQbyEB*; zT=V_42_>ds?3s2-M>=XrtB7YXTcqLVW4hDo3Ai+4kAodt`UH*JWByCG8y1j33l1?< zS2j<1w^+JnD!(BZamR5z?V@`CZ7B>h(&-DvaG;v0)E#1`6LEqA%&H|b#Baoj$Cy1z zB)?<4bxN%ZndPhINPOK>i^{A@wEHbtx_i=8GcOnhe}8ae=55`NnJvM=qi7_$_L;c* zWRhz&Tp_H0_m+H7s8AF`b0KpL^C;!@3)UO4>RdNPBP#tJ^>Wg+rdvJo89~lZvay~X zpor2PoN=b392Fb$C}D=_gB?#pV$H~cW@qQ!zfasumP*CS8ImnDu=H7Hw;#ja!m9~@ zLUOzPW|jdB5m#1SD5Otwocd&B;%R5zt9tC3Z$e@qI$kDbZHj{tkp+l^YEiJl&94d} z`IVneC7=^HS2h#-jJvIg4U#h*Q&hD6hL`Lq86=tVQ;b;~{GY0#uaFIF?KQ@G9#-%W zeN^c#l$)emzuU*I*|f95&pc{8f}(%I<-8fSYteL&6iwu94akPN%3eUaGOEF8F$fZK zAvseu9kGTTvG&i6lW-AxVhju(bQ9e9bRRhP&e)C5Rqouxzcui*yKl2bF1Uw<4Beke zsr&ZpJZQ z5ac&ES3U|tQ@G{ejoL98U#Cw)xkl9(+orT21=cVjbuHr2o)+0t7J+FS&DqczZZ$#B zJJOm?AP16o+WQM zcS^-I9W8ds{)B$m5$GUq=4wS(KS5*rnt1~Bz=kJafh38tOKN(P8ICwzIKmpuPySWL zXPYQm251U>4e{^;UY5Pk~>8W?)vcOgZQFbV(Br1pvY!>{cv%m<{&!Ko6+v4 zVRvKJDJ<@Wu~mve4uRFj>h^U_Gf7@7n>a%-Za9(Ep<5N(e(Ra%$Ma0)XIkyF^C`Pu z#C_|rZWbnGsc%7!2xElSKvUp>nv*oX?f5nyHr$tA+sTAReNHmwVUB$R8Ywt*8Nvo$ z->wD;;jWzuI39Rkcro~R;>7D!vt}uiK60NTY2M8X;PJO z;ON+Ozv%u-bGb&~=H3v7_xW5+*CZ08*nuZRquOSY`Hz}K^Y?bYb!95r@_y=_CJwKN z(;JNA>1GACOTOa1?O={`@MET`y1|ru&ol=RktyECoPQ}tmH=pWHO}0SfOJe}}lw>yI5q z%i;v1i|ep4?!a?)3^fkR*pFH^+)@us%86^7Gcw+v<0F#4DL2sCj7WC1xge$`o}fl@H+2L?e8nYF`7v~yPot1Iw_j&m_l>^VbB!e}KctPMGF=@<}L?i<&w`yp*?^p+CC1^lMP_wh$3?^y%qLhLwK%aEs=|sb;rM?+f(42S@R`Mw3zla|Kp*Zv+ z`3muXi$Q7G2!oe~9G7C7?D>pH`itB*{7b3$^YV!V-#Y2BNi&1qHIYKw;9rm5M*VT| zsfZT=Nm|ywqaaMk<1c!j8XvZv!usc@$(_&}L2(#?rKQKoZ;b;G$XWcaLYyC=tk~{5 z2A|<21zjG0zOB*%6uPVCZ>%R$C6b~q*`i}tp8KLg?{R&e?=BFEE5DW$%5_OUJhW)x3GG4O7}yDQz2ZTj9(ZV^QIr$eue ze-h=pby?BLEX=0c6GZ04>&swp13dsHS1Rr#8#QA`GHgr`XTU#BkxV;)sMz}#2F5A- zdK$syN6Dl^IGX6SOb_<6WAD*LzAE!HJ-whBq~;;kBCvj^I+9nR(wcxvaGJ*-F*xZ8 zrfd5zIFIYb_&_~6ec6`acCUQMh(&eEpl_b_A8$pmxT$95;U6#PwZ@dHv{{jW-)#KN z(xcr2Y{yQ!vxZ?(EbGFXHRhOM?={2`Fo;{w>+x!)ZKXz%*zZ*5*yUhm;& z(P1UW_TUP%n=6Thzla$aaK~_3!mR1Rnxw`)0+;&Bd_^yqAO^|B7m)Kj>)CA{^6%b( z^S@Bq=`rQ!ZY!xJv6hZ-Hm8{I`Zk;vc~#Cc?;~=#{j63clglW$wPF4UWcSsRpM@k`UgzYszIgzr~Fry&WsAql{ zxvm$51<>PkJVPdgZc){EfZ&9IV~P?>Da{J# z0TXG^HvdJG6Sj7MM`!4KxZ{8u%4+v@T-uAA90(lTFd`Nwo})3WY(7-yc7|z8XQ3aO zh>10EUt(kDcK#&yevl0F?Mq*_>KX@YYZNrow7dSEzqN^u4|9QvY7R1Y_~9j3w7QwE z*w2!_w~s&g&ODHl#dO9}Y9&u2SW$SDBt`#jmK4wwA?+R~&oi)8B(l-i^^!3M5M{W& zi5{?R*6=H3oz$}9hQVwxi}LF1Y1l=|_v^mwb609f?hpCX1LLymO*I4JtE1Ho)zb+CpLG5H4I= z!Wz2F!eSe-^d?jTxVuI0RrZG>k;b8bXok^_?cBttdUK^`}z{r zU~oeXuFqJQDco;Q!gg2xV+qx^cg({N_K~}r?i;=1>XkWf&e|lELbf6ov|7OyLtWL{ zUAv#iRwIm;UEKJn9C%S20pQs-bM`lGsx2kt`4X%DwNsyO^3WrgGKz5wAyLy$8X9tu&saeV#!OkFBg=KE&R z>00u3ygK(D%rk$~+TTiUpb3L4z3>XMqRgJx@HCKOV=5W@k2g-w#7=g5^rU&@eyk;a zoekFhd9Q^RclJ>E=+^!55|UT>6hxE?COG~K@QXk;NsM0~4KePB6~sc->P6GZLT52R z!gj)uy?X$m1lz>pz0cQ__a?*%wAQz60N!u&Ve4VdDV1!|UjjwQWlxSp;UayjiUh=m z@Oh8Rf2%(F()B}Fr;@c4MDn1OqK0Q~aVwp~$&TRNL%KHV4;3u^mH~5I{goei7uQOo zxAouHFdWQ{Ati{L?Im|*5QlWn?><+R> zLf$@al+>u#uDi+2J7Rx7^i;IVyFmUjDfOxddWWvn!M5s(Ox8mK9Fwiiy@l zk&v5ki=$)c{<HK>?`$y;f{M6TIK1N|Q&Z3)5cL$mD3h3c& zg$J7Gc)J{A%b|=3aOiu+R5qmt_IXbXx(zJj0?g{3DMNKF5=%sZ@13tgF9nLE6mA4E zrIe@v{A%a>=A#Gbnq_Eh&g-9FsRg^;E|BEM2$ZQ91Y8tq0qiq}7%8s&s?l8~6394` zQ&(kxRKiUih)UlDfPe|`&4+7}ZUNnz>%AGvRPt>slOWFh5=OK)S>3&Qr=9D7T1B<% z?5diK-%b%jn2R-+1?gSr0||J&C#7zsQK*2;vFx8)RNoLV>%}8gw`0SRRvxEFPyas9 z$3CgI!B&?rbK)h2%<@|udcZ=nJvz#Cdj%H_K{QFM7K{}rAc1;nrS8(IA;YmgW_W2t zWI%-lXkvb`2=7yi)K^#>wA*=K30`*@2N0X+BY;fbl3rXw5#z#$=a}7M1u5;Frh#5# z907OpTFBj$nr?64+vQi6pZDllq5xc$!32@pRUK8Od6m&!L=sJYwe^USL|EQy=^uK* z|CXFq4_NBq$y zzw+bY^nXpfZk|F`93vm3+Fj`AK+p_r45AT!g4`4Ao4u$nwv2&#rU|P82&xkC?$x!fRk(@J>7)n{7%2ofv}ER*XiA5 zV+MR2k5wSPpb8>!sndIxm3W8sjV^Ed`sR%MWhQwM8pvn7T?I9ZCu10`P~>(=t^?Ra-N90bkhXX2B$a-7TGoHl)5^!KAPQ%beTa=*<=# zTj`V!nDd6J2%u=JenTKjABzl2{-Ot)@l^ZZg}o9dRyeK#6t-J*MFMVu`sO|ZT_qPJ zvqh%dA}V$vs|Xq!{2qriUkdGlTX>ALZ3~T3>FD@;`CZp? z{!5IFhY^zTaT9$>sqHw~2ShcXiR%`?@idBVIb!5S(i8m)mepZw_T`g}t>$nl*-7zgLGHWc&6_Q=&AX%Ej)nJw(O=7zppJxMT_*qf* z>P=?kDQI}=sB-U9zdvWq=&rW7h#ViTW|)mJendWCh0#CUbDlW)B>;;ZCj2j867an4 zQyyqiq0AxQfz>{{hQ2f1XI>#IHYPFUC&rwrU}=7O9sOCGj**5oHujUdVo51VM5>ls zc=-TZRVykkhHE(ujwCp|Lg?h-NhaH^UYdA(#MR&DnaB|2`>DPCmp#rW;#P;+S6Eii zYl`M?OFi&sDDQUmotz>x(x#Ms`|YrOP@2YaI2TXQ%2(q8oi1iHdr{BcKyprm^V#+}-z7L2bOTKN9Rh;E(Lh#SuGKU9AP z0}GFOu$PHu^!r8jcujX|^B8Th97%~GE;YX<%BZWoa)$D-tU+iPUnxiKUW5i*2z1<# zTG~ev<4Gm-$V;P9uYBZ`dj;*M#?W4^zFMmaS2bO1b**aoUKy{$DC=f!c`RS!p5M18 zeY!R^6d()q8_5NLpEa@wzm#Wl_o-a(=pn!F8>ZQz zPAXP%;)Q_zETJ`HH?&awnzq`8i**cl3NQ)SC!?6lmc1n`p)jf#&$6I@|3jvo#gT$f zeO9!~z1er$ep8QO1*_256qrul^!|3*&DeY1TxbHc&6j%go9C|ysdkm<82AAAuPA!J z3RAdmm}Lp6re|O(tHU`hl#$YQ0^_pXkzSk3FGWW1A63p7pcl@7COJf>_NVdOGc=p3 zbFEmgrO*y%DTyFkmS~#(w>!-;KTUybM-d=rnO@0a188w=K@yKzSe>IF!?qsFfs!Bpc0fxxJAxo!*ZP+*-Rm~!&RS&8KN zuuu6iO1~m)IlDHljNbh50!TZidXEp>7gU80{cR?GKQTCH76h&uaR>_@zn?WUCb9YB zDIqb0tk(6Pp)z*sDj|47+wmxcV<{R)x=SvJbkt>%hC!F>bVtVGRzEc~Vn3$mws2w_ zqg&WQ!*$=xil?p&hmg~uN|7@YsD=}2Y1Dls&>K!?@x>l{6sl?lVm3eVkFjNNa;U`( zxm3wR%)kWt^i=L^%#aI7Dc+*7kZn|zArcZdvqtBd0`iDPIs7+@O|-5A(aq=k#V{&9 znuAXBE@EAi-6*`|EDN|0fUtYdm@}NO12_mt-1FgdsfLvBZ}3vEev!;u(0n|*Wwa-|k(Z-*T(1ayQd?cc zd>N!rKIGMXy_pr;=Z-c$|3nBQ7Sf9F4E<_@+$ypNTHi)*p~Lq-3?DExVc<4w+UE97V!wos-*XpXKT<3W$ftQbloAyXc=iTS@IzKUElk;|dfJH??Hx^4M zCSeBrka2}yl%^%wdiCpO(URMlC3Am*34$wF47$7{^Bx}gm91d!E&R_DV)<##nF)Pz z#UYFB_vCptb9(Goy_VrGATBV|^qrmpi z)-YI0TeP_Z(|yU`XYx7jvJ@c_HS!_dfcURVB1%*4yVi~ki&j3vEKPbR^@rmV-Ts4_ z|1ey=u2VmKCf(@T!SmjA^5~x+-=sxV!mP}_$ib1Pz87e&&9AwvL|C;AcY$b+wm4fp ztrA`4*6pt03)ayS)HZ5r+1NK)O9oiD2gIu%;91w(M^c(T(wg32;xK#rz zMJ;p_w(tDY?mKCO5!4KqU;X-k$X-5>(sJQ6i*_{=#mKBMHy}r@8d@S5qx4}%P;SLO z`eUe_npt>i7P!cdY+Bo?{+8Ai8zJsF+iFIC=DAbdb6SF)Ap$zn?s_OH+WDKMQ5riB zDr+ZyP{>lxUCkH%t;_pM3IXD`=~GruI~>W|X-vejrWOO`$0+n=IF3y(2W!O1Gem}p z8IC!d^@g2&`U>XW%};IrZ0CG*gx5Qas@hKNJbELRxb^1xPO_u$W4}cry4-WT_ExJ=3pXDS8^VsNGo1f?n#_Wu^*ITEEQ*Qa_vsZ1#qgUSA zkyqZfmiUFG{q$iP7F?yZ_ZEoW+kNMG;!!(%+v8ymDN;z&)D#X&iu(JJL!nuRA)rU^ zSNlN-$PA?}D}osy$(GIjw|P2;pRn$1(hB=66zd8B5_)4&vsu z>R=I>fvjrj`R@qz+x0Xiqe72`m!u7L>|g2h_?m`$ZzX}xnS7c(#*gmO&@nf?DmdK! z+Lko!mI_e&>dpL7)=+UkvG#&hM9@eO9morAhQP_xuBB!A;L>G*4})YLGVG7fYua3j zur6Z}8I+BlRA}p?#-|8(VDW2GSPJY0;zK{SPK=>(muAO5kYryyGr6LUt2D7pM@~^A z#OE@DxP-A;6%O~@ zs41@haJSWqq>3fLvNK*{#K+2IeiHl26_01Iy>@!-n*JC`}SjNtZ35hw*bY%?xF7?D|x>Eb09X-*#_v-?BYN{_aM=FI`Nn^eVa7 zu0vQ-maZ? zuJ<`2Ls}iKbc3+&>Z6OC|8-xADzSdEQ>dD&&Y!Rw`^bAF%QXUCh6R?aAC_Imx z6PCffbHCQp`nUk^o)9o(b44`;56_icEiTO7JSf&*O3`?>E+Vow#dWAe7bMi(kzSOC zG<@seC=eZ<^@a}dx$OIgzd>TS7ZhawwPk;>KLQe$tXC0m2k$7@;PnkCf(uR^w~y<2 zSy|um4%*E;|E@*f_WC@e-#k6%wMLOe<9i^vqmw=7+tHw1T6EZRY>80-{U|PrM3%Og z^omT|i2Ix;%6)x;zB+4X8BOciBB4JdU+l5>>#Kh@@=a`oru~i{zb8w<-;Tc{#IHIW zJq(pM7-w*lP>V7g&(*?SAs2Xmm>ALH=*+n<`rtFxBp7% zuOonWOk^`qs6@tp1)sj{rV_^opr9>-LoZ5FnrOYn{sN z7~_{Z2)sIU(&VINrpr^}>kHL;-7QhWuD6EI1hzy^kicO^UPWg|$=}PxDz9<7*Ann; zA6w--jcttr;v(*9&aNs}p-R5$unXPHz4dFxRefWW>*%SsQ2svM4A<;5Nf54ebZ9+J zy62Dv%2lm#q2}{uCfxy3#2tE~ED{3MvGx>96S)zdx| z6!XEX#7h7vtP8>8`qKUv`yV}W*V7sxRq@@x)aH=5y(0Bb!%Dh)3hBZ-1*dhtkFA^- zI^j9(@aFUU&O0QShx9N%^mb(QUch+%A4)j>d>K|Xpe_)!qNK2+kL{m z0{QwJ&tz#eYz`Gss3m$&pXNSlNN9c2d08Q9Mq3&#&ZanHwG{U7u1dS$b&KB=>rWLE zTES^`*QJ9Q3An%*Sw?C6Je`bqllgd;W#0+|;f{XuBxM%^H~Jma_?b2KbRG3NZj6@B z`H4)D2&mvG*%^_3E~y+S{od#53?Lz4 z@|(})`TOR+nt#t>ObNd2oaPifJw8pjubM*rExnT~$ia7N9SC~F3eq=ZSMqR`iqCDP z=t@^~ui4gz%~MFOaT0F4u*ggbfAGauOSI7ais$!nYSnSS%OjoCSHi`MiV<>j99lEL?N2V<6}_Mo22IlbmWLvk{`U}dW) z#+%z~B7r(jn6JHr@w0jzD|-_<>e#huG8K225`s0Brcm)i;GA+&))pW(|34oqI zQm7UQsmbTQ4a?N95fL05$Ecbz}~ao(5uP+dR?=5qUrGbB)WLEQ7|4C=~C#|i^_r`kGcll zW2V9A{0l6FbBuBBzHmNv`KiUB#A%5Q%vV-NH`0lql)u@kKNNVuzHf z)bKYMdhc~qVnJ5H>3Q)gLaDF{Nv1ns$n64YWmw#WuCd_N%I|e^oE3@Uw@Ot#4nFh8 zfLM2-Gl6@l7M7AQHByiif8@h^bGe~wLKatwed$M=pKxvdQ40O`&qpV-BlUTVn|zP= zRld6_-{|x62>Z_2GUO(|R>%jsC{AuY)Z$qnmVCOkpNl&54Nw=-3X_$Ku72=lyXW)9 z@*k>m0u^pwSKaTm=Pv0c>%D^1nms`p5O&TKS$-)!bxJ~{(%B?5*AFAL&NUsrM0U;; zb?P4?#f3Dp3+vyuY*o5(Ol{<;Ir?I$NC$?r~rEw%*M2Us9 zjm>9GVW=c=C}@tA#(0~TRZ;10q~8hcr?j~;^T6Ckh_WhF{Red{xG^(B{B5+e5Y|Lp zYtWSNm!7%Es;SoOo?BtMt;Z2T)|^9lMWkz!Fo7Mm@T2%fJreXEK`vagT=*BvJj_V6 zo-MNN;M$e%)+&bNW+$wlheDAVa)so#SEwClFu@%wc1~)At-ns)gjn#(4{WsD&ULn= z-kwQ=q0|!&GOzHl*w>lwLOa~9KI2Y|`$hvV?pru%1j8q(d9HDj(E>S+-XYZC-V-4> zX1?Q5tI(-yu4%1IQeK`SmM(?IwJg^39R$T?6It-LFdf1rG44NIB_L8vXX}gY zkW+W#*Yvh@)M=<(IK(_}`rvz_JH^nWbA3&3LJHDUKxpM9bd(`hRLDR-g+`0pSq9v>x4-HrTjC4H zM;KYxuA_GelWLZCEk<5lY(1^dCC-`-!xV5xs(-M-VM}`1>sZJdeEjjXRJ`qea zn1xOP%*-&a*MTRHv|Hn8{XwevuX_(+6o=fV%Ry#I;4391jp*taZ{N*5YsFPJmB7-1 zokRS;sg-X<+cJ*9?QX{+xxJm%zq@l*pH>CpY{Q1O#+Q;1U|E^xXY%r zHTbQcacI3sUO{ns_vOSX=h~r+RswwC3OygNLHzVAY^|skHk#7%_PdUGXvI>))aEy< z0E=5kN8Rl)O{VY4_Z{G+>y_f<8qv?i@dbY(k2xy>34iEwg&fc*#k>*c@8?7*d$b(+ zx~w`PKy-jD7`x|Ailh&uC40Nw7wsg>b%zwA&uNK5&#ax9^sOKKkGA|<^Erf^qUYY^ zk$U*@v!zA&-N?^b^badny(tqdzCWAm#td)RfZ;GN9M>f?YRDNO*?%4i!B85L)nwlp z$QQd(HXgLo_j%yKzZIAHCL}~-PP@Amfe+4HEhg0C@N^j()JPaw6>YtVN`hY>Q)Gv= zd#sJwreq|XyFL1=Ar=@KUQV>BIOzW4DyX2`QAT74tC}fa=Rl&q{+QyPsb=KZ_v?;E zdB@EE$5Dk7UA|v$@Q--y6_##vrGlg?WdfOylCok6sUZO~odZ2-oNw;;c^y6BFb9t@ zuYi6cmRF4(O1zNS0EHy^gGWa@#sc*jyRDl&&g;t>W}EWIa`O2jH=r<5yFR1t$>4bJ z%z`E(ZcwCp-%YqM)-ox49o9&m<8p^8^63cnHjlYlXfA4D^rtzPF1%ufS7s%Tqa^q$ z0Bv54$M2hJ3D4SM?a8h(i3n~Uvu*Upvxbd*>vDWJP2rABlyL+; zl3>TyJI#vsYrWIePLBBk_j{s+U-oyC*80ce&yEi*=Nq=H9iRG=cx;hn=6~?0YS@`z zMFwt5E7!GLB)aPWkzM7gb3N``G*>x(?soJ_90~YC`ABUbpHb!h24atxjf?e|`ank?`ps0emwml^2ZYkQA z^f-+(mKS~p2WD#Qm)6bg{l-$y^`JNOnBv-*bR#H9&n*{q zzYS(szgOtbXhN`$+lvn*cUje{e%fzE>gG+GTi23?pYW_iRf0!A!o>{UB#@VJ|6Opb z;YN%_uxsU3qJu3P?Kto!P3QBFZ32n@ri3}$UrvF9PVL3TgP*;hV6CCkGWsL)VwVks zEMl%%$4Q~>c{EqW2FgUPGJOJPv%tngG-H&+p0C7pzs_HUz6ti|#rA&F?Iv0c@vlcf zd}lkWV{`8?@#3I+q;vx1_kX!3UGLBA)m;5!=p~5wx>qo)S^hdAF)+1g(;wf3cCJa{ z>XhA7FOc1>8Iq~8Z19{hd>%sc&g_ruig%@&Lxdf*`H^06JPtLs$GDEOa$EUMEjr$? z^w%H{)gk=j7cgIKzA)m3q30)y0}86}mD31X(QgKtI$sh7XpXyPIG(xemw%M1GLb^- z%{<(mZXJ3j8Sz4s0oJwl?UXxTcKVYRyp#2U^Z3Ut_v{AylWb3kgsP^Bgd9`DY>(xZ zFo3v3d#y8MOyr-tKRh0}z6(>ziWKTda@_9ATD~9o;Nik1Fmf=-ElBFy?wYUa3pH}u zWwq>g2KVjWNuR%Mn^JD}UyE~$OewS$1=(GE!^uMot(h2m@?1(G#Jy3z*Bg2L+{{lV z8Xh=>Uh+NNb2Lz^{cz3P>Q5bhS5rXzyw#tK0Q!SuD@6I`1QU|F@x9^^?TNYx7KvEb zpD&qiL=zo)ru-`sXs^dKvmV-z`b~t=-;&?mrg4%|k@a>g>ZQ*JuB9mz1W_~Bk_C!{Fe%c@%0XgQ8<{YFO|cims~F7!*(tM!TOl`5>bk)UjH-f!|*xB zHOyx18&g@cSSNL8bl%X8wJyVKU&L~YXD^O>*}(h$;Qg?Uq0@kqgC(}K@$1dPr;h?S zereb*B-ka?K*~m7kmjwBKOa@LMB`Yezs-DXQ(`-V3)gt?RV*4{tSSoDQ_S|3@16u| zG6~BS+8F}sa9@j!Knn<;0j}q4#xs>%c?OG;71uDQ8n-Cdg%}!%CYocDS#-DsmjAAJ zrBs!uv8)rD`**lQ)#G?!Krp%nbusDU3+U=08yIyU5F=&iiNGgy)kC1TplaKqBEr06 z;8{*-%IDdrhuTSw_9DEHpmG1H`g-@3QoZ$csnxQm=t-{QNsdk4&|eQKkf)CVI&hJ& z!}*ce)lIUHuXk3t+STkp$_@XY^i3CHlyMOf`(YfDmQQ2^6(-Ad^Q+YD&unMMUq+wA z*boh1aqnL&eJ^9~vzwhPq#t8Hule|%MH7Mw>YxV98tB)Utq(Ik86TR>(q63K18M?# zz-<+XfYd>@#&85QIbGb?4N`j;H5=Qz|B_T%OosunB<-?arCx};hGO@%5_us3eB~8F zq3Zp;AUU(N)+-R`ZhBE=IoX%n^lEr)#lK-P^_Hd1if!apTW5OFdEl2+IYHXuSI7F* zp{v`wVfQ$z`q+vKwy|&AG}g!?~pYn#J(2(~h#uoRHGS zMOu-Q3szuFJ}Is%JPZvr3)oTG%9lPmPr zYbTekGPFO}H7(is>^=d0eU!}{({rmCkaqt=ESW=5kq^kCC+N5W%K_3^y^V?f(6;!`{D;e@Hhhbj8Lnk{J zm3Dtb*4g@0eV?Zj>sq~g*rL8u8m#9Tnu*%^7wfm|kv*BHvmOOjobqM_jDVWQeag}4 z>a!NWw11^*gL<Jlv`y*1aJ!t&#PP8 zPmsLuEla&SBNl{YuL4hMD`~l(i(R5s6=8cPO!T=~4ya9)EJVf(pG$(5?SDJ{x%+x4 z0o>vj8$udF!NjbvI3#zZqfuc!OX9plVm&;%)DUX51*}k-s7a22(nh%>#9S+&ec7N=XYaau*bv60G1k!C@MPfz{_ifA zm)%zYI3fTc;owee+myfcjqL&u3B1Lth4a$<^r16aBW#=Wm}8qp-duy=X(o z`1Lj|wus{$mZD=-yF8~{<`&d3y6gcNNmu|ETPUpA78P!2xPE-zUVm0_u`Hb2HoAh^ z7~uK%eqq~4&#y>%UX2$P-$>sHp0=fawW_dIPpzXVU7?`C_~YbM zzmbq}ZqDHbv>Sjre}-g4Rgfx895)}K#L)cv5JwD=;ro)SbipxoO=!i(S*@n+&bXmb0O%PlSdiLX3#Sk;NA-{xn1Hf~XTnF$3ljLx`!vY7gadX~Fg+!6D9 z$Ul#$>6ou?hqfjuQr#7vR`_O=m?r%@*C$Z%%+;$ec{yFnm1P}nqPeW71^5?1oo}^X zVoQLx5TkvzJ#|GXHNhV4WjRS6$aswFQT3Ixl_YSLAH(cR4n?Eju5;q$U+&C_zh?$3 zS3fRsyAYIbAuq*yv4+v0>BG67bG%lzgZ{bvoFLCojxg?Ah2swUvCZ0dZI=IL70#+| z!suNZ4ZCwhr}28z8#Wy~bF6t!S2k7E@x^wE`B31GKzK7LfFC3Me6_G0BN%teme$?I z1f1K*Yl3{SHMi)=?=l(MfI(a4L8pLzvH{drn1GZhY&!=g!EZm4!LF}-}k7?s}bP!~ZWPpuAj0<1`=#(SHCr+ZDOd$V6rMV<=o$L-9rB7C2glZY3c zl9m^{3A7f;$Tt2HRk6!?IV?+Dy7VkqNvyg*OTp3bQr)KWa(cxsR^D~Jx@~0&i){VX zpT81lS!kvb<71^GUNE#3TJ~bw|9=1T!2dk(KM(xR1OM~D|2*(N5B$#q|6dQVXFp?E YD!y%g4vZ*x1<2%*?Q`u)x5;+S=OH)zz}HvdGBD zw6wIs!oteR%FWHqrlzLJ$;r^r(7(UGt*x!9s;a}o!>FjJ#>U3Iy}i%R&$YF+x3{;h zuCCtR-nO>3udlDMv9Z$9(zv*|ySuyA*4EqG+ZlWNivR!y*-1n}RCr$O+*gj>NDPM2 zpNco<96RTn9rwSi8F&oCZFlz#Qq{xgJ4+x4LZrx&UjP6A00000000000000000000 z0000000000h)13Iv~gIg9X6)(&Ma2$kko6>k^LchuGJIe1?9VT%ih&$-<6da;(GtY zRygU`V`YKSGPJdX%aOK)>O)}bd#Gv~*uA$6-S28s*y-CA`a9YL;;WKvrF0c*ZKyul z)*h=`7wH^W2Elqsjqd}?Xz*Ptp%PkVVMQxo5?Bs`i9Upe<)onxU}?Eo>Ro7Cj@nv* ze0H1D=vvOYdIRQ`ySe^?YRPg}s_G9&F3o|+E;KJf72K|Qva4ddGB4O%8ki>o6?HI`i*6#+w#5|Y?<y|LwN+|wJ-DOs*c9lZ(lz;YDS^$r~880p|x z??Sy~IVsik0el`?F2Y>=KFtcZ1R zaGELyc&axa?H!NJ`jhg5v~%-y@6vvAx%c&^lgbGsy=v!Q)n20Y000000000000000 z0000001(G=0_9$3(l{U9f4Ydqf&CDSql-`X!}G?Z(<>_@q?M!EmqlnRgo`h=qe`mH zp^F!L#dKMP=0-j66q)X!m2_UKU< z?=gcl`PrjD-Z_UQ!Oo*l-Y$R@ac4on7M&O-j9L_~HG+QG8x@#l(9NwQst~Om6uTU# z#^D0B?jkA@-9e`x4^-yi2NWuOs^gbXXX{ZRZwp;qmr8Y=vc4+;?DuSiV=6Wdp+vB! zYWn~xgnKHt51~MOqTGjPD@PoaW3S(TV1qAdpLGPU;{}n+CNZ&z1&l zAk)yBhI<>K$Szko#25&!NK0f~qZEphQ8{ z3aIf)#a^Mvnrf|~$}^REhB95M)P*|TX3iCPq&kn#$aR|+5*6uFl|Ix;s7M0Ewp3#a z)kYpw@J3LsOsPOxLcOd<@p>5y2p=fiLkJUGpQ800tayqjR`dizEyTFw96Gb|` z!YX_?aV~Q~zz%VD}8+~-=U|TkA>Od+oZ}G}nbJRjS zi+DxREJj@nPrRDb5Owl07n$q)ia(q8)f$NXg*KhY?6EB-U9U5WqIxO65S z|C%@HT<{BxaK1b6FYI^o5WlAp7RhA6Kem`8MTkGt$mX+;7JpOgV>ZtqfL8IK*!Dm6 zzQ>>P{QXCNTMXj=+Nnb$0D%|)f;hy>mx(1hlm3f?BA8dZ4V=5bdfd6DDtbSk-BC3w tPksUb00000000000000000000fEW70#Mag`cL)Fg002ovPDHLkV1gNB=am2e literal 0 HcmV?d00001 diff --git a/public/whatsapp.png b/public/whatsapp.png new file mode 100644 index 0000000000000000000000000000000000000000..df5e1b7c498dcdb046fcd6d39391a737ba471769 GIT binary patch literal 10550 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 NJ=QYRtX8*;`X7O +
Loading...
+ + }> + + + ); +} + +// Generate static params for all employees +export async function generateStaticParams() { + const { getAllEmployees } = await import('@/config/employees'); + const employees = getAllEmployees(); + + return employees.map((employee) => ({ + employeeId: employee.id, + })); +} diff --git a/src/app/globals.css b/src/app/globals.css new file mode 100644 index 0000000..6f03692 --- /dev/null +++ b/src/app/globals.css @@ -0,0 +1,33 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + html { + font-family: var(--font-exo-2), system-ui, sans-serif; + } + + body { + @apply bg-deep-charcoal text-white; + font-feature-settings: "kern" 1; + text-rendering: optimizeLegibility; + } +} + +@layer components { + .btn-primary { + @apply bg-rooftop-yellow text-deep-charcoal font-semibold px-6 py-3 rounded-xl + hover:scale-105 active:scale-95 transition-all duration-200 ease-out + focus:outline-none focus:ring-2 focus:ring-rooftop-yellow focus:ring-offset-2 focus:ring-offset-deep-charcoal; + } + + .btn-secondary { + @apply bg-card-surface text-white border border-muted-border font-medium px-6 py-3 rounded-xl + hover:bg-muted-border hover:scale-105 active:scale-95 transition-all duration-200 ease-out + focus:outline-none focus:ring-2 focus:ring-muted-border focus:ring-offset-2 focus:ring-offset-deep-charcoal; + } + + .card { + @apply bg-card-surface border border-muted-border rounded-2xl shadow-xl; + } +} diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 0000000..432e954 --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,61 @@ +import type { Metadata } from 'next' +import { Exo_2 } from 'next/font/google' +import './globals.css' + +const exo2 = Exo_2({ + subsets: ['latin'], + weight: ['300', '400', '600', '700'], + variable: '--font-exo-2', + display: 'swap', +}) + +export const metadata: Metadata = { + title: 'Rooftop Energy - Digital Namecard', + description: 'Connect with our energy consultants. Call, email, WhatsApp, or download contact details.', + keywords: 'Rooftop Energy, energy consultant, Malaysia, renewable energy, solar', + authors: [{ name: 'Rooftop Energy' }], + metadataBase: new URL(process.env.NEXT_PUBLIC_BASE_URL || 'http://localhost:3000'), + openGraph: { + title: 'Rooftop Energy - Digital Namecard', + description: 'Connect with our energy consultants. Call, email, WhatsApp, or download contact details.', + url: 'https://rooftop.my', + siteName: 'Rooftop Energy', + images: [ + { + url: '/logo.png', + width: 1200, + height: 630, + alt: 'Rooftop Energy Logo', + }, + ], + locale: 'en_MY', + type: 'website', + }, + twitter: { + card: 'summary_large_image', + title: 'Rooftop Energy - Digital Namecard', + description: 'Connect with our energy consultants. Call, email, WhatsApp, or download contact details.', + images: ['/logo.png'], + }, + robots: { + index: true, + follow: true, + }, +} + +export default function RootLayout({ + children, +}: { + children: React.ReactNode +}) { + return ( + + + {/* Favicon and touch icons can be added here when available */} + + + {children} + + + ) +} diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx new file mode 100644 index 0000000..434c418 --- /dev/null +++ b/src/app/not-found.tsx @@ -0,0 +1,32 @@ +import Link from 'next/link'; + +export default function NotFound() { + return ( +
+
+
+

404

+

+ Employee Not Found +

+

+ The employee you're looking for doesn't exist or has been moved. +

+
+ +
+ + View All Employees + + +

+ Or check the URL and try again. +

+
+
+
+ ); +} diff --git a/src/app/page.tsx b/src/app/page.tsx new file mode 100644 index 0000000..ffb6606 --- /dev/null +++ b/src/app/page.tsx @@ -0,0 +1,75 @@ +import Link from 'next/link'; +import { getAllEmployees } from '@/config/employees'; + +export default function HomePage() { + const employees = getAllEmployees(); + + return ( +
+
+ {/* Header */} +
+

+ Rooftop Energy Team +

+

+ Connect with our energy consultants and specialists +

+
+ + {/* Employee Grid */} +
+ {employees.map((employee) => ( + +
+ {/* Profile Picture */} + {employee.name} + + {/* Name and Title */} +

+ {employee.name} +

+

+ {employee.title} +

+ + {/* Contact Info Preview */} +
+
+ 📧 + {employee.email} +
+
+ 📱 + {employee.phone} +
+
+ + {/* View Card Button */} +
+ + View Namecard + +
+
+ + ))} +
+ + {/* Footer */} +
+

© 2024 Rooftop Energy. All rights reserved.

+

Powered by sustainable technology

+
+
+
+ ); +} diff --git a/src/components/Namecard.tsx b/src/components/Namecard.tsx new file mode 100644 index 0000000..e225ea0 --- /dev/null +++ b/src/components/Namecard.tsx @@ -0,0 +1,240 @@ +'use client'; + +import { useState, useEffect } from 'react'; +import { Phone, Mail, Globe, Copy, Download, Check } from 'lucide-react'; +import { StaffProfile } from '@/config/staff'; + +interface NamecardProps { + profile: StaffProfile; +} + +export default function Namecard({ profile }: NamecardProps) { + const [copySuccess, setCopySuccess] = useState(false); + const [showFullAddress, setShowFullAddress] = useState(false); + const [currentProfile, setCurrentProfile] = useState(profile); + + // Handle URL query parameters on client side + useEffect(() => { + if (typeof window !== 'undefined') { + const urlParams = new URLSearchParams(window.location.search); + const overrides: Partial = {}; + + if (urlParams.get('name')) overrides.name = urlParams.get('name')!; + if (urlParams.get('title')) overrides.title = urlParams.get('title')!; + if (urlParams.get('phone')) overrides.phone = urlParams.get('phone')!; + if (urlParams.get('wa')) overrides.whatsapp = urlParams.get('wa')!; + if (urlParams.get('email')) overrides.email = urlParams.get('email')!; + if (urlParams.get('linkedin')) overrides.linkedin = urlParams.get('linkedin')!; + if (urlParams.get('address')) overrides.address = urlParams.get('address')!; + if (urlParams.get('site')) overrides.website = urlParams.get('site')!; + if (urlParams.get('logo')) overrides.logoPath = urlParams.get('logo')!; + + if (Object.keys(overrides).length > 0) { + setCurrentProfile({ ...profile, ...overrides }); + } + } + }, [profile]); + + const handleCopyDetails = async () => { + const details = `${currentProfile.name} +${currentProfile.title} +Rooftop Energy +${currentProfile.phone} +${currentProfile.email} +${currentProfile.website} +${currentProfile.address}`; + + try { + await navigator.clipboard.writeText(details); + setCopySuccess(true); + setTimeout(() => setCopySuccess(false), 2000); + } catch (err) { + console.error('Failed to copy: ', err); + } + }; + + const generateVCard = () => { + const vcard = `BEGIN:VCARD +VERSION:3.0 +FN:${currentProfile.name} +N:${currentProfile.name.split(' ').reverse().join(';')};;; +ORG:Rooftop Energy +TITLE:${currentProfile.title} +TEL;TYPE=CELL:${currentProfile.phone.replace(/\s+/g, '')} +EMAIL;TYPE=INTERNET:${currentProfile.email} +URL:${currentProfile.website} +ADR;TYPE=WORK:${currentProfile.address.replace(/\n/g, ';')} +END:VCARD`; + + const blob = new Blob([vcard], { type: 'text/vcard' }); + const url = URL.createObjectURL(blob); + const link = document.createElement('a'); + link.href = url; + link.download = `${currentProfile.name.replace(/\s+/g, '_')}_RooftopEnergy.vcf`; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + URL.revokeObjectURL(url); + }; + + const addressLines = currentProfile.address.split('\n'); + const displayAddress = showFullAddress ? addressLines : addressLines.slice(0, 2); + + return ( +
+
+ {/* Header */} +
+
+ Rooftop Energy + + {/* Profile Picture */} + Profile Picture + +

+ {currentProfile.name} +

+

+ {currentProfile.title} +

+
+ + {/* Website button - only show on larger screens */} + +
+ + {/* CTA Grid */} +
+
+ + + Call + + + + + Email + + + + WhatsApp + WhatsApp + + + {currentProfile.linkedin && ( + + LinkedIn + LinkedIn + + )} +
+
+ + {/* Details */} +
+

Contact Details

+
+
+ Phone: + {currentProfile.phone} +
+
+ Email: + {currentProfile.email} +
+
+ Website: + {currentProfile.website} +
+
+ Address: +
+ {displayAddress.map((line, index) => ( +
{line}
+ ))} + {addressLines.length > 2 && ( + + )} +
+
+
+
+ + {/* Action Row */} +
+
+ + + +
+
+ + {/* Footer */} +
+

© 2024 Rooftop Energy. All rights reserved.

+

Powered by sustainable technology

+
+
+
+ ); +} diff --git a/src/config/employees.ts b/src/config/employees.ts new file mode 100644 index 0000000..7a6cf11 --- /dev/null +++ b/src/config/employees.ts @@ -0,0 +1,73 @@ +import { StaffProfile } from './staff'; + +export interface Employee extends StaffProfile { + id: string; + profilePic: string; +} + +// Import the YAML data (you'll need to install js-yaml if you want to parse YAML files) +// For now, we'll define the data directly in TypeScript +export const employees: Employee[] = [ + { + id: "john-doe", + name: "John Doe", + title: "Senior Energy Consultant", + phone: "+60 12-345 6789", + whatsapp: "60123456789", + email: "john.doe@rooftop.my", + linkedin: "https://linkedin.com/in/johndoe", + address: "Level 15, Menara 1 Sentral\nKuala Lumpur Sentral\n50470 Kuala Lumpur\nMalaysia", + website: "https://rooftop.my", + logoPath: "/logo.png", + profilePic: "/profilepic.png" + }, + { + id: "jane-smith", + name: "Jane Smith", + title: "Energy Analyst", + phone: "+60 12-345 6790", + whatsapp: "60123456790", + email: "jane.smith@rooftop.my", + linkedin: "https://linkedin.com/in/janesmith", + address: "Level 15, Menara 1 Sentral\nKuala Lumpur Sentral\n50470 Kuala Lumpur\nMalaysia", + website: "https://rooftop.my", + logoPath: "/logo.png", + profilePic: "/profilepic.png" + }, + { + id: "ahmad-ali", + name: "Ahmad Ali", + title: "Renewable Energy Specialist", + phone: "+60 12-345 6791", + whatsapp: "60123456791", + email: "ahmad.ali@rooftop.my", + linkedin: "https://linkedin.com/in/ahmadali", + address: "Level 15, Menara 1 Sentral\nKuala Lumpur Sentral\n50470 Kuala Lumpur\nMalaysia", + website: "https://rooftop.my", + logoPath: "/logo.png", + profilePic: "/profilepic.png" + }, + { + id: "sarah-wong", + name: "Sarah Wong", + title: "Solar Energy Engineer", + phone: "+60 12-345 6792", + whatsapp: "60123456792", + email: "sarah.wong@rooftop.my", + linkedin: "https://linkedin.com/in/sarahwong", + address: "Level 15, Menara 1 Sentral\nKuala Lumpur Sentral\n50470 Kuala Lumpur\nMalaysia", + website: "https://rooftop.my", + logoPath: "/logo.png", + profilePic: "/profilepic.png" + } +]; + +export function getEmployeeById(id: string): Employee | undefined { + return employees.find(emp => emp.id === id); +} + +export function getAllEmployees(): Employee[] { + return employees; +} + +export default employees; diff --git a/src/config/staff.ts b/src/config/staff.ts new file mode 100644 index 0000000..b89ed02 --- /dev/null +++ b/src/config/staff.ts @@ -0,0 +1,26 @@ +export interface StaffProfile { + name: string; + title: string; + phone: string; + whatsapp: string; // digits only + email: string; + linkedin: string; // full URL + address: string; // supports \n for line breaks + website: string; + logoPath: string; + profilePic?: string; // optional profile picture path +} + +export const staffProfile: StaffProfile = { + name: "John Doe", + title: "Senior Energy Consultant", + phone: "+60 12-345 6789", + whatsapp: "60123456789", + email: "john.doe@rooftop.my", + linkedin: "https://linkedin.com/in/johndoe", + address: "Level 15, Menara 1 Sentral\nKuala Lumpur Sentral\n50470 Kuala Lumpur\nMalaysia", + website: "https://rooftop.my", + logoPath: "/logo.png" +}; + +export default staffProfile; diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..98934d5 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,38 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + './src/pages/**/*.{js,ts,jsx,tsx,mdx}', + './src/components/**/*.{js,ts,jsx,tsx,mdx}', + './src/app/**/*.{js,ts,jsx,tsx,mdx}', + ], + theme: { + extend: { + colors: { + 'rooftop-yellow': '#fcd913', + 'deep-charcoal': '#0a0a0a', + 'near-black': '#111111', + 'card-surface': '#1a1a1a', + 'muted-border': '#2a2a3a', + 'muted-text': '#8b9bb4', + }, + fontFamily: { + 'exo': ['var(--font-exo-2)', 'sans-serif'], + }, + animation: { + 'fade-in': 'fadeIn 0.2s ease-out', + 'scale-in': 'scaleIn 0.15s ease-out', + }, + keyframes: { + fadeIn: { + '0%': { opacity: '0' }, + '100%': { opacity: '1' }, + }, + scaleIn: { + '0%': { transform: 'scale(0.95)' }, + '100%': { transform: 'scale(1)' }, + }, + }, + }, + }, + plugins: [], +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..3eb07b7 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "es6"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +}