/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./src/App.js" /*!********************!*\ !*** ./src/App.js ***! \********************/ (module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ App) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/circle-check.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/layers.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/arrow-right.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/award.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/briefcase.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/building-2.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/calculator.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/compass.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/hard-hat.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/mail.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/map-pin.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/menu.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/phone.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/send.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/shield-check.js"); /* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! lucide-react */ "./node_modules/lucide-react/dist/esm/icons/x.js"); /* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! sonner */ "./node_modules/sonner/dist/index.mjs"); /* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! react/jsx-dev-runtime */ "./node_modules/react/jsx-dev-runtime.js"); /* provided dependency */ var __react_refresh_utils__ = __webpack_require__(/*! ./node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js */ "./node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js"); __webpack_require__.$Refresh$.runtime = __webpack_require__(/*! ./node_modules/react-refresh/runtime.js */ "./node_modules/react-refresh/runtime.js"); var _jsxFileName = "/app/frontend/src/App.js", _s = __webpack_require__.$Refresh$.signature(); function App() { _s(); const [mobileMenuOpen, setMobileMenuOpen] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false); const [activeProjectFilter, setActiveProjectFilter] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)('all'); const [scrolled, setScrolled] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false); // Form State for Quote Request const [quoteForm, setQuoteForm] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({ fullName: '', companyName: '', phone: '', email: '', serviceType: 'مقاولات عامة', city: 'القاهرة', projectScope: '', budget: '500 ألف - 1 مليون جنيه مصري', notes: '' }); const [isSubmitting, setIsSubmitting] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false); (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { const handleScroll = () => { if (window.scrollY > 40) { setScrolled(true); } else { setScrolled(false); } }; window.addEventListener('scroll', handleScroll); return () => window.removeEventListener('scroll', handleScroll); }, []); const handleQuoteSubmit = e => { e.preventDefault(); if (!quoteForm.fullName || !quoteForm.phone || !quoteForm.projectScope) { sonner__WEBPACK_IMPORTED_MODULE_17__.toast.error('الرجاء تعبئة الحقول الإجبارية (الاسم، الجوال، ووصف المشروع)'); return; } setIsSubmitting(true); setTimeout(() => { setIsSubmitting(false); sonner__WEBPACK_IMPORTED_MODULE_17__.toast.success('تم إرسال طلب عرض السعر بنجاح! سيتواصل معك فريق الهندسة والمبيعات في أقرب وقت.'); setQuoteForm({ fullName: '', companyName: '', phone: '', email: '', serviceType: 'مقاولات عامة', city: 'القاهرة', projectScope: '', budget: '500 ألف - 1 مليون جنيه مصري', notes: '' }); }, 1200); }; const projects = [{ id: 1, title: 'عمارة الحصان', category: 'residential', categoryName: 'سكني', location: 'الأندلس - التجمع الخامس، القاهرة الجديدة', client: 'مشروع سكني خاص', year: 'مكتمل', image: 'https://customer-assets-jai6qajn.emergentagent.net/job_essam-construction/artifacts/waodnqte_000000WhatsApp%20Image%202026-07-15%20at%2010.53.22%20PM.jpeg', description: 'عمارة الحصان في منطقة الأندلس بالتجمع الخامس، القاهرة الجديدة، بتصميم معماري عصري وواجهات مميزة وتفاصيل تنفيذية راقية.' }, { id: 2, title: 'برج الأفق التجاري الإداري', category: 'commercial', categoryName: 'تجاري', location: 'القاهرة - العاصمة الإدارية الجديدة', client: 'شركة الاستثمارات العقارية الكبرى', year: '2025', image: 'https://images.unsplash.com/photo-1772175125710-bd3c5fd2f167?crop=entropy&cs=srgb&fm=jpg&q=85', description: 'تصميم وتنفيذ برج إداري ذكي مكون من 28 طابقاً وفق أعلى معايير الاستدامة البيئية واستخدام أنظمة البناء الحديثة.' }, { id: 3, title: 'مجمع الياسمين السكنى الفاخر', category: 'residential', categoryName: 'سكني', location: 'القاهرة الجديدة - التجمع الخامس', client: 'مجموعة المنهل للتطوير', year: '2024', image: 'https://images.unsplash.com/photo-1757924461488-ef9ad0670978?crop=entropy&cs=srgb&fm=jpg&q=85', description: 'إنشاء مجمع سكني مغلق يضم 45 فيلا فاخرة مع بنية تحتية متكاملة وحدائق ومرافق خدمية وترفيهية.' }, { id: 4, title: 'مستودعات اللوجستيات الذكية', category: 'industrial', categoryName: 'مقاولات صناعية', location: 'مدينة السادس من أكتوبر - الجيزة', client: 'شركة الخدمات اللوجستية المتقدمة', year: '2025', image: 'https://images.unsplash.com/photo-1777138388622-8f0411f9b71f?crop=entropy&cs=srgb&fm=jpg&q=85', description: 'تنفيذ مستودعات كبرى مجهزة بأنظمة تبريد مركزية وأرضيات خرسانية محملة بأحمال عالية ومكاتب إدارية ملحقة.' }, { id: 5, title: 'مركز العاصم الطبي التخصصي', category: 'commercial', categoryName: 'تجاري', location: 'الجيزة - الشيخ زايد', client: 'قطاع الرعاية الصحية المتطورة', year: '2024', image: 'https://images.unsplash.com/photo-1759044814269-f7ba07c97b5a?crop=entropy&cs=srgb&fm=jpg&q=85', description: 'إنشاء وتشطيب مستشفى تخصصي متكامل بجميع غرف العمليات والتعقيم وأنظمة الغازات الطبية المتقدمة.' }, { id: 6, title: 'فلل النخيل الملكية', category: 'residential', categoryName: 'سكني', location: 'القاهرة الجديدة - بيت الوطن', client: 'عملاء القطاع الخاص النخبة', year: '2025', image: 'https://images.unsplash.com/photo-1578683010236-d716f9a3f461?crop=entropy&cs=srgb&fm=jpg&q=85', description: 'تنفيذ وتطوير قصور وفلل سكنية فاخرة بتصميم معماري فريد وتشطيبات داخلية رخامية وخشبية راقية.' }, { id: 7, title: 'مجمع الراجحي التجاري والترفيهي', category: 'commercial', categoryName: 'تجاري', location: 'الإسكندرية', client: 'شركة الراجحي التجارية', year: '2023', image: 'https://images.unsplash.com/photo-1768719951887-539ce3752a05?crop=entropy&cs=srgb&fm=jpg&q=85', description: 'تنفيذ مركز تجاري متعدد الاستخدامات على مساحة 30,000 متر مربع مع مواقف سيارات تحت الأرض.' }]; const filteredProjects = activeProjectFilter === 'all' ? projects : projects.filter(p => p.category === activeProjectFilter); const services = [{ icon: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_6__["default"], { className: "w-10 h-10 text-[#D4AF37]", "x-file-name": "App", "x-line-number": "172", "x-column": "12", "x-component": "Building2", "x-id": "App_172_12", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 172, columnNumber: 13 }, this), title: 'المقاولات العامة', desc: 'تنفيذ المشاريع الإنشائية الكبرى للمنشآت السكنية، التجارية، والحكومية بأعلى معايير الجودة العالمية والالتزام بالجدول الزمني.' }, { icon: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_8__["default"], { className: "w-10 h-10 text-[#D4AF37]", "x-file-name": "App", "x-line-number": "177", "x-column": "12", "x-component": "Compass", "x-id": "App_177_12", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 177, columnNumber: 13 }, this), title: 'التطوير العقاري', desc: 'ابتكار وتطوير مشاريع عقارية رائدة تقدم عوائد استثمارية مستدامة ومعايير حياة عصرية متكاملة.' }, { icon: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_2__["default"], { className: "w-10 h-10 text-[#D4AF37]", "x-file-name": "App", "x-line-number": "182", "x-column": "12", "x-component": "Layers", "x-id": "App_182_12", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 182, columnNumber: 13 }, this), title: 'التصميم والإشراف الهندسي', desc: 'تقديم الاستشارات الهندسية، التصاميم المعمارية والإنشائية المبتكرة، والإشراف الدقيق على تنفيذ كافة المراحل.' }, { icon: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_9__["default"], { className: "w-10 h-10 text-[#D4AF37]", "x-file-name": "App", "x-line-number": "187", "x-column": "12", "x-component": "HardHat", "x-id": "App_187_12", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 187, columnNumber: 13 }, this), title: 'بناء وتشطيب المشاريع', desc: 'حلول متكاملة لبناء الهيكل الإنشائي والتشطيبات الداخلية والخارجية الفاخرة بأيدي نخبة من المهندسين والحرفيين.' }, { icon: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_15__["default"], { className: "w-10 h-10 text-[#D4AF37]", "x-file-name": "App", "x-line-number": "192", "x-column": "12", "x-component": "ShieldCheck", "x-id": "App_192_12", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 192, columnNumber: 13 }, this), title: 'أعمال الصيانة والتأهيل', desc: 'خدمات الصيانة الوقائية والعلاجية وتأهيل المباني القائمة لتجديد كفاءتها التشغيلية والجمالية.' }, { icon: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_5__["default"], { className: "w-10 h-10 text-[#D4AF37]", "x-file-name": "App", "x-line-number": "197", "x-column": "12", "x-component": "Briefcase", "x-id": "App_197_12", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 197, columnNumber: 13 }, this), title: 'إدارة المشاريع (PMO)', desc: 'إدارة وتوجيه المشاريع المعقدة باحترافية تامة لضبط التكاليف، الجودة، والمخاطر وفق منهجيات عالمية.' }]; const stats = [{ number: '+25', label: 'سنوات من الخبرة والريادة', sub: 'في قطاع المقاولات والعقارات' }, { number: '+150', label: 'مشروع منجز بنجاح', sub: 'تجاري، سكنى، وصناعي' }, { number: '100%', label: 'الالتزام بمعايير الجودة', sub: 'حسب المواصفات العالمية والمصرية' }, { number: '+1.2B', label: 'جنيه مصري إجمالي قيمة المشاريع المنفذة', sub: 'ثقة كبرى العملاء والجهات' }]; const whyChooseUs = [{ title: 'خبرة عريقة وريادة موثوقة', desc: 'أكثر من ربع قرن من الإنجازات المتواصلة وبناء الصروح العمرانية الشامخة في مختلف مناطق الجمهورية.' }, { title: 'كوادر هندسية عالمية', desc: 'نخبة من المهندسين والاستشاريين والفنيين الحاصلين على أعلى الاعتمادات والشهادات المهنية.' }, { title: 'معايير جودة صارمة (ISO)', desc: 'تطبيق أدق معايير إدارة الجودة الشاملة والسلامة المهنية في مواقع العمل بدون أي تنازل.' }, { title: 'الالتزام بالمواعيد والجداول', desc: 'نضمن تسليم المشاريع في مواعيدها المحددة بدقة تامة وبدون أي تأخير أو تجاوز للميزانية.' }]; const licenses = [{ title: 'السجل التجاري المعتمد', desc: 'بيانات رسمية معتمدة - القاهرة' }, { title: 'شهادة تصنيف المقاولين', desc: 'الدرجة الأولى في قطاع المباني والإنشاءات' }, { title: 'شهادة الأيزو ISO 9001:2015', desc: 'لنظام إدارة الجودة والتميز التشغيلي' }, { title: 'عضوية نقابة المهندسين المصرية', desc: 'اعتماد رسمي للمهندسين والكوادر الفنية' }]; return /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "min-h-screen bg-[#070B19] text-[#F0F4F8] font-sans selection:bg-[#D4AF37] selection:text-black overflow-x-hidden", dir: "rtl", "x-file-name": "App", "x-line-number": "237", "x-column": "4", "x-component": "div", "x-id": "App_237_4", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(sonner__WEBPACK_IMPORTED_MODULE_17__.Toaster, { position: "top-center", richColors: true, "x-file-name": "App", "x-line-number": "238", "x-column": "6", "x-component": "Toaster", "x-id": "App_238_6", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 238, columnNumber: 7 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "bg-[#0B132B] border-b border-[#D4AF37]/20 py-2.5 px-4 text-xs md:text-sm text-slate-300", "x-file-name": "App", "x-line-number": "241", "x-column": "6", "x-component": "div", "x-id": "App_241_6", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "max-w-7xl mx-auto flex flex-col sm:flex-row justify-between items-center gap-2", "x-file-name": "App", "x-line-number": "242", "x-column": "8", "x-component": "div", "x-id": "App_242_8", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "flex items-center gap-4", "x-file-name": "App", "x-line-number": "243", "x-column": "10", "x-component": "div", "x-id": "App_243_10", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "flex items-center gap-1.5 text-[#D4AF37] font-medium", "x-file-name": "App", "x-line-number": "244", "x-column": "12", "x-component": "span", "x-id": "App_244_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_6__["default"], { className: "w-4 h-4", "x-file-name": "App", "x-line-number": "245", "x-column": "14", "x-component": "Building2", "x-id": "App_245_14", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 245, columnNumber: 15 }, this), " \u0634\u0631\u0643\u0629 \u0622\u0644 \u0639\u0635\u0627\u0645 \u0644\u0644\u0645\u0642\u0627\u0648\u0644\u0627\u062A \u0648\u0627\u0644\u062A\u0637\u0648\u064A\u0631 \u0627\u0644\u0639\u0642\u0627\u0631\u064A"] }, void 0, true, { fileName: _jsxFileName, lineNumber: 244, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "hidden md:inline-block text-slate-500", "x-file-name": "App", "x-line-number": "247", "x-column": "12", "x-component": "span", "x-id": "App_247_12", "x-dynamic": "false", children: "|" }, void 0, false, { fileName: _jsxFileName, lineNumber: 247, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "hidden md:inline-flex items-center gap-1", "x-file-name": "App", "x-line-number": "248", "x-column": "12", "x-component": "span", "x-id": "App_248_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_15__["default"], { className: "w-4 h-4 text-emerald-400", "x-file-name": "App", "x-line-number": "249", "x-column": "14", "x-component": "ShieldCheck", "x-id": "App_249_14", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 249, columnNumber: 15 }, this), " \u0645\u0635\u0646\u0641\u0629 \u062F\u0631\u062C\u0629 \u0623\u0648\u0644\u0649 \u0648\u0645\u0648\u062B\u0648\u0642\u0629"] }, void 0, true, { fileName: _jsxFileName, lineNumber: 248, columnNumber: 13 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 243, columnNumber: 11 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "flex items-center gap-6", "x-file-name": "App", "x-line-number": "252", "x-column": "10", "x-component": "div", "x-id": "App_252_10", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "tel:00238265078", className: "flex items-center gap-1.5 hover:text-[#D4AF37] transition-colors", "data-testid": "top-phone-link", "x-file-name": "App", "x-line-number": "253", "x-column": "12", "x-component": "a", "x-id": "App_253_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_13__["default"], { className: "w-3.5 h-3.5 text-[#D4AF37]", "x-file-name": "App", "x-line-number": "254", "x-column": "14", "x-component": "Phone", "x-id": "App_254_14", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 254, columnNumber: 15 }, this), " 00238265078"] }, void 0, true, { fileName: _jsxFileName, lineNumber: 253, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "tel:01018555961", className: "flex items-center gap-1.5 hover:text-[#D4AF37] transition-colors", "data-testid": "top-mobile-link", "x-file-name": "App", "x-line-number": "256", "x-column": "12", "x-component": "a", "x-id": "App_256_12", "x-dynamic": "false", children: "01018555961" }, void 0, false, { fileName: _jsxFileName, lineNumber: 256, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "mailto:info@elessam.com", className: "flex items-center gap-1.5 hover:text-[#D4AF37] transition-colors", "data-testid": "top-email-link", "x-file-name": "App", "x-line-number": "257", "x-column": "12", "x-component": "a", "x-id": "App_257_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_10__["default"], { className: "w-3.5 h-3.5 text-[#D4AF37]", "x-file-name": "App", "x-line-number": "258", "x-column": "14", "x-component": "Mail", "x-id": "App_258_14", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 258, columnNumber: 15 }, this), " info@elessam.com"] }, void 0, true, { fileName: _jsxFileName, lineNumber: 257, columnNumber: 13 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 252, columnNumber: 11 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 242, columnNumber: 9 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 241, columnNumber: 7 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("header", { className: `sticky top-0 z-50 transition-all duration-300 ${scrolled ? 'bg-[#0B132B]/95 backdrop-blur-xl border-b border-[#D4AF37]/30 shadow-2xl py-3' : 'bg-[#0B132B]/80 backdrop-blur-md border-b border-white/10 py-5'}`, "data-testid": "main-header", "x-file-name": "App", "x-line-number": "265", "x-column": "6", "x-component": "header", "x-id": "App_265_6", "x-dynamic": "true", "x-source-type": "computed", "x-source-editable": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between", "x-file-name": "App", "x-line-number": "266", "x-column": "8", "x-component": "div", "x-id": "App_266_8", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#", className: "flex items-center gap-3 group", "data-testid": "logo-link", "x-file-name": "App", "x-line-number": "269", "x-column": "10", "x-component": "a", "x-id": "App_269_10", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("img", { src: "https://customer-assets-jai6qajn.emergentagent.net/job_essam-construction/artifacts/c9ulxe0a_272839186_490386269095095_74041079543597085_n.jpg", alt: "\u0634\u0639\u0627\u0631 \u0634\u0631\u0643\u0629 \u0622\u0644 \u0639\u0635\u0627\u0645", className: "w-12 h-12 rounded-full object-cover bg-white shadow-lg shadow-[#D4AF37]/20 ring-1 ring-[#D4AF37]/50 group-hover:scale-105 transition-transform", "data-testid": "company-logo", "x-file-name": "App", "x-line-number": "270", "x-column": "12", "x-component": "img", "x-id": "App_270_12", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 270, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { "x-file-name": "App", "x-line-number": "276", "x-column": "12", "x-component": "div", "x-id": "App_276_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-xl md:text-2xl font-black tracking-tight text-white block leading-tight", "x-file-name": "App", "x-line-number": "277", "x-column": "14", "x-component": "span", "x-id": "App_277_14", "x-dynamic": "false", children: "\u0622\u0644 \u0639\u0635\u0627\u0645" }, void 0, false, { fileName: _jsxFileName, lineNumber: 277, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-[10px] uppercase tracking-[0.2em] text-[#D4AF37] font-semibold block", "x-file-name": "App", "x-line-number": "280", "x-column": "14", "x-component": "span", "x-id": "App_280_14", "x-dynamic": "false", children: "\u0644\u0644\u0645\u0642\u0627\u0648\u0644\u0627\u062A \u0648\u0627\u0644\u062A\u0637\u0648\u064A\u0631 \u0627\u0644\u0639\u0642\u0627\u0631\u064A" }, void 0, false, { fileName: _jsxFileName, lineNumber: 280, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 276, columnNumber: 13 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 269, columnNumber: 11 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("nav", { className: "hidden lg:flex items-center gap-8 text-sm font-medium text-slate-200", "x-file-name": "App", "x-line-number": "287", "x-column": "10", "x-component": "nav", "x-id": "App_287_10", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#home", className: "hover:text-[#D4AF37] transition-colors", "data-testid": "nav-home", "x-file-name": "App", "x-line-number": "288", "x-column": "12", "x-component": "a", "x-id": "App_288_12", "x-dynamic": "false", children: "\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 288, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#about", className: "hover:text-[#D4AF37] transition-colors", "data-testid": "nav-about", "x-file-name": "App", "x-line-number": "289", "x-column": "12", "x-component": "a", "x-id": "App_289_12", "x-dynamic": "false", children: "\u0645\u0646 \u0646\u062D\u0646" }, void 0, false, { fileName: _jsxFileName, lineNumber: 289, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#services", className: "hover:text-[#D4AF37] transition-colors", "data-testid": "nav-services", "x-file-name": "App", "x-line-number": "290", "x-column": "12", "x-component": "a", "x-id": "App_290_12", "x-dynamic": "false", children: "\u062E\u062F\u0645\u0627\u062A\u0646\u0627" }, void 0, false, { fileName: _jsxFileName, lineNumber: 290, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#projects", className: "hover:text-[#D4AF37] transition-colors", "data-testid": "nav-projects", "x-file-name": "App", "x-line-number": "291", "x-column": "12", "x-component": "a", "x-id": "App_291_12", "x-dynamic": "false", children: "\u0627\u0644\u0645\u0634\u0627\u0631\u064A\u0639 \u0648\u0633\u0627\u0628\u0642\u0629 \u0627\u0644\u0623\u0639\u0645\u0627\u0644" }, void 0, false, { fileName: _jsxFileName, lineNumber: 291, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#why-us", className: "hover:text-[#D4AF37] transition-colors", "data-testid": "nav-why-us", "x-file-name": "App", "x-line-number": "292", "x-column": "12", "x-component": "a", "x-id": "App_292_12", "x-dynamic": "false", children: "\u0644\u0645\u0627\u0630\u0627 \u0646\u062D\u0646" }, void 0, false, { fileName: _jsxFileName, lineNumber: 292, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#contact", className: "hover:text-[#D4AF37] transition-colors", "data-testid": "nav-contact", "x-file-name": "App", "x-line-number": "293", "x-column": "12", "x-component": "a", "x-id": "App_293_12", "x-dynamic": "false", children: "\u062A\u0648\u0627\u0635\u0644 \u0645\u0639\u0646\u0627" }, void 0, false, { fileName: _jsxFileName, lineNumber: 293, columnNumber: 13 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 287, columnNumber: 11 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "hidden sm:flex items-center gap-4", "x-file-name": "App", "x-line-number": "297", "x-column": "10", "x-component": "div", "x-id": "App_297_10", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#quote", className: "px-5 py-2.5 rounded-full bg-gradient-to-r from-[#D4AF37] to-[#B89728] text-black font-bold text-sm shadow-lg shadow-[#D4AF37]/25 hover:shadow-[#D4AF37]/40 hover:scale-[1.02] active:scale-[0.98] transition-all flex items-center gap-2", "data-testid": "cta-quote-header", "x-file-name": "App", "x-line-number": "298", "x-column": "12", "x-component": "a", "x-id": "App_298_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_7__["default"], { className: "w-4 h-4", "x-file-name": "App", "x-line-number": "303", "x-column": "14", "x-component": "Calculator", "x-id": "App_303_14", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 303, columnNumber: 15 }, this), " \u0637\u0644\u0628 \u0639\u0631\u0636 \u0633\u0639\u0631"] }, void 0, true, { fileName: _jsxFileName, lineNumber: 298, columnNumber: 13 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 297, columnNumber: 11 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("button", { onClick: () => setMobileMenuOpen(!mobileMenuOpen), className: "lg:hidden text-slate-200 hover:text-[#D4AF37] p-2 focus:outline-none", "data-testid": "mobile-menu-button", "x-file-name": "App", "x-line-number": "308", "x-column": "10", "x-component": "button", "x-id": "App_308_10", "x-dynamic": "true", "x-source-type": "computed", "x-source-editable": "false", children: mobileMenuOpen ? /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_16__["default"], { className: "w-6 h-6" }, void 0, false, { fileName: _jsxFileName, lineNumber: 313, columnNumber: 31 }, this) : /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_12__["default"], { className: "w-6 h-6" }, void 0, false, { fileName: _jsxFileName, lineNumber: 313, columnNumber: 59 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 308, columnNumber: 11 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 266, columnNumber: 9 }, this), mobileMenuOpen && /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "lg:hidden absolute top-full left-0 right-0 bg-[#0B132B]/98 backdrop-blur-2xl border-b border-[#D4AF37]/30 px-6 py-6 shadow-2xl flex flex-col gap-4 animate-in fade-in slide-in-from-top-2 duration-200", "x-file-name": "App", "x-line-number": "319", "x-column": "10", "x-component": "div", "x-id": "App_319_10", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#home", onClick: () => setMobileMenuOpen(false), className: "text-base font-medium hover:text-[#D4AF37] transition-colors py-2 border-b border-white/5", "data-testid": "mobile-nav-home", "x-file-name": "App", "x-line-number": "320", "x-column": "12", "x-component": "a", "x-id": "App_320_12", "x-dynamic": "false", children: "\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 320, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#about", onClick: () => setMobileMenuOpen(false), className: "text-base font-medium hover:text-[#D4AF37] transition-colors py-2 border-b border-white/5", "data-testid": "mobile-nav-about", "x-file-name": "App", "x-line-number": "328", "x-column": "12", "x-component": "a", "x-id": "App_328_12", "x-dynamic": "false", children: "\u0645\u0646 \u0646\u062D\u0646" }, void 0, false, { fileName: _jsxFileName, lineNumber: 328, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#services", onClick: () => setMobileMenuOpen(false), className: "text-base font-medium hover:text-[#D4AF37] transition-colors py-2 border-b border-white/5", "data-testid": "mobile-nav-services", "x-file-name": "App", "x-line-number": "336", "x-column": "12", "x-component": "a", "x-id": "App_336_12", "x-dynamic": "false", children: "\u062E\u062F\u0645\u0627\u062A\u0646\u0627" }, void 0, false, { fileName: _jsxFileName, lineNumber: 336, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#projects", onClick: () => setMobileMenuOpen(false), className: "text-base font-medium hover:text-[#D4AF37] transition-colors py-2 border-b border-white/5", "data-testid": "mobile-nav-projects", "x-file-name": "App", "x-line-number": "344", "x-column": "12", "x-component": "a", "x-id": "App_344_12", "x-dynamic": "false", children: "\u0627\u0644\u0645\u0634\u0627\u0631\u064A\u0639 \u0648\u0633\u0627\u0628\u0642\u0629 \u0627\u0644\u0623\u0639\u0645\u0627\u0644" }, void 0, false, { fileName: _jsxFileName, lineNumber: 344, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#why-us", onClick: () => setMobileMenuOpen(false), className: "text-base font-medium hover:text-[#D4AF37] transition-colors py-2 border-b border-white/5", "data-testid": "mobile-nav-why-us", "x-file-name": "App", "x-line-number": "352", "x-column": "12", "x-component": "a", "x-id": "App_352_12", "x-dynamic": "false", children: "\u0644\u0645\u0627\u0630\u0627 \u0646\u062D\u0646" }, void 0, false, { fileName: _jsxFileName, lineNumber: 352, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#contact", onClick: () => setMobileMenuOpen(false), className: "text-base font-medium hover:text-[#D4AF37] transition-colors py-2 border-b border-white/5", "data-testid": "mobile-nav-contact", "x-file-name": "App", "x-line-number": "360", "x-column": "12", "x-component": "a", "x-id": "App_360_12", "x-dynamic": "false", children: "\u062A\u0648\u0627\u0635\u0644 \u0645\u0639\u0646\u0627" }, void 0, false, { fileName: _jsxFileName, lineNumber: 360, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#quote", onClick: () => setMobileMenuOpen(false), className: "mt-2 w-full text-center py-3 rounded-full bg-[#D4AF37] text-black font-bold text-sm shadow-lg shadow-[#D4AF37]/25", "data-testid": "mobile-quote-button", "x-file-name": "App", "x-line-number": "368", "x-column": "12", "x-component": "a", "x-id": "App_368_12", "x-dynamic": "false", children: "\u0637\u0644\u0628 \u0639\u0631\u0636 \u0633\u0639\u0631" }, void 0, false, { fileName: _jsxFileName, lineNumber: 368, columnNumber: 13 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 319, columnNumber: 11 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 265, columnNumber: 7 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("main", { id: "home", "x-file-name": "App", "x-line-number": "380", "x-column": "6", "x-component": "main", "x-id": "App_380_6", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("section", { className: "relative min-h-[90vh] flex items-center justify-center overflow-hidden py-24", "x-file-name": "App", "x-line-number": "382", "x-column": "8", "x-component": "section", "x-id": "App_382_8", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "absolute inset-0 z-0", "x-file-name": "App", "x-line-number": "384", "x-column": "10", "x-component": "div", "x-id": "App_384_10", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("img", { src: "https://images.unsplash.com/photo-1772175125710-bd3c5fd2f167?crop=entropy&cs=srgb&fm=jpg&q=85", alt: "Al Essam Contracting Projects", className: "w-full h-full object-cover object-center scale-105 animate-pulse duration-[10000ms]", style: { animationDuration: '15s' }, "x-file-name": "App", "x-line-number": "385", "x-column": "12", "x-component": "img", "x-id": "App_385_12", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 385, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "absolute inset-0 bg-gradient-to-r from-[#070B19] via-[#070B19]/80 to-[#070B19]/60", "x-file-name": "App", "x-line-number": "391", "x-column": "12", "x-component": "div", "x-id": "App_391_12", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 391, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "absolute inset-0 bg-black/40", "x-file-name": "App", "x-line-number": "392", "x-column": "12", "x-component": "div", "x-id": "App_392_12", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 392, columnNumber: 13 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 384, columnNumber: 11 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 w-full text-right", "x-file-name": "App", "x-line-number": "395", "x-column": "10", "x-component": "div", "x-id": "App_395_10", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "max-w-3xl space-y-8", "x-file-name": "App", "x-line-number": "396", "x-column": "12", "x-component": "div", "x-id": "App_396_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "inline-flex items-center gap-2 px-4 py-2 rounded-full bg-[#D4AF37]/10 border border-[#D4AF37]/30 backdrop-blur-md", "x-file-name": "App", "x-line-number": "399", "x-column": "14", "x-component": "div", "x-id": "App_399_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "w-2.5 h-2.5 rounded-full bg-[#D4AF37] animate-ping", "x-file-name": "App", "x-line-number": "400", "x-column": "16", "x-component": "span", "x-id": "App_400_16", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 400, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-xs md:text-sm font-semibold text-[#D4AF37] tracking-wider uppercase", "x-file-name": "App", "x-line-number": "401", "x-column": "16", "x-component": "span", "x-id": "App_401_16", "x-dynamic": "false", children: "\u0631\u064A\u0627\u062F\u0629 \u0647\u0646\u062F\u0633\u064A\u0629 \u0628\u062E\u0628\u0631\u0629 \u062A\u062A\u062C\u0627\u0648\u0632 25 \u0639\u0627\u0645\u0627\u064B" }, void 0, false, { fileName: _jsxFileName, lineNumber: 401, columnNumber: 17 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 399, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h1", { className: "text-4xl sm:text-6xl lg:text-7xl font-black text-white leading-tight tracking-tight", "x-file-name": "App", "x-line-number": "407", "x-column": "14", "x-component": "h1", "x-id": "App_407_14", "x-dynamic": "false", children: ["\u0646\u0628\u0646\u064A ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-transparent bg-clip-text bg-gradient-to-r from-[#D4AF37] via-[#F3E5AB] to-[#C59B27]", "x-file-name": "App", "x-line-number": "408", "x-column": "21", "x-component": "span", "x-id": "App_408_21", "x-dynamic": "false", children: "\u0627\u0644\u0645\u0633\u062A\u0642\u0628\u0644" }, void 0, false, { fileName: _jsxFileName, lineNumber: 408, columnNumber: 22 }, this), " ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("br", { "x-file-name": "App", "x-line-number": "408", "x-column": "144", "x-component": "br", "x-id": "App_408_144", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 408, columnNumber: 145 }, this), "\u0628\u062E\u0628\u0631\u0629 \u0648\u062B\u0642\u0629 \u0644\u0627 \u062A\u0644\u064A\u0646"] }, void 0, true, { fileName: _jsxFileName, lineNumber: 407, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-lg md:text-xl text-slate-300 leading-relaxed max-w-2xl font-light", "x-file-name": "App", "x-line-number": "413", "x-column": "14", "x-component": "p", "x-id": "App_413_14", "x-dynamic": "false", children: "\u0634\u0631\u0643\u0629 \u0622\u0644 \u0639\u0635\u0627\u0645 \u0644\u0644\u0645\u0642\u0627\u0648\u0644\u0627\u062A \u0648\u0627\u0644\u062A\u0637\u0648\u064A\u0631 \u0627\u0644\u0639\u0642\u0627\u0631\u064A \u0635\u0631\u062D \u0647\u0646\u062F\u0633\u064A \u0648\u0637\u0646\u064A \u0631\u0627\u0626\u062F \u0641\u064A \u0645\u0635\u0631. \u0646\u0646\u0641\u0630 \u0623\u0636\u062E\u0645 \u0627\u0644\u0645\u0634\u0627\u0631\u064A\u0639 \u0627\u0644\u062A\u062C\u0627\u0631\u064A\u0629 \u0648\u0627\u0644\u0633\u0643\u0646\u064A\u0629 \u0648\u0627\u0644\u0635\u0646\u0627\u0639\u064A\u0629 \u0628\u0623\u0639\u0644\u0649 \u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u0627\u0628\u062A\u0643\u0627\u0631 \u0648\u0627\u0644\u062C\u0648\u062F\u0629 \u0627\u0644\u0634\u0627\u0645\u0644\u0629 \u0641\u064A \u062C\u0645\u0647\u0648\u0631\u064A\u0629 \u0645\u0635\u0631 \u0627\u0644\u0639\u0631\u0628\u064A\u0629." }, void 0, false, { fileName: _jsxFileName, lineNumber: 413, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "flex flex-wrap items-center gap-4 pt-4", "x-file-name": "App", "x-line-number": "418", "x-column": "14", "x-component": "div", "x-id": "App_418_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#quote", className: "px-8 py-4 rounded-full bg-gradient-to-r from-[#D4AF37] to-[#B89728] text-black font-bold text-base shadow-xl shadow-[#D4AF37]/30 hover:shadow-[#D4AF37]/50 hover:scale-105 transition-all flex items-center gap-3", "data-testid": "hero-quote-btn", "x-file-name": "App", "x-line-number": "419", "x-column": "16", "x-component": "a", "x-id": "App_419_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_7__["default"], { className: "w-5 h-5", "x-file-name": "App", "x-line-number": "424", "x-column": "18", "x-component": "Calculator", "x-id": "App_424_18", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 424, columnNumber: 19 }, this), " \u0627\u0637\u0644\u0628 \u0639\u0631\u0636 \u0633\u0639\u0631 \u0644\u0645\u0634\u0631\u0648\u0639\u0643"] }, void 0, true, { fileName: _jsxFileName, lineNumber: 419, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#projects", className: "px-8 py-4 rounded-full bg-[#0B132B]/80 hover:bg-[#0B132B] border border-[#D4AF37]/40 text-white font-semibold text-base backdrop-blur-md hover:border-[#D4AF37] transition-all flex items-center gap-3", "data-testid": "hero-projects-btn", "x-file-name": "App", "x-line-number": "426", "x-column": "16", "x-component": "a", "x-id": "App_426_16", "x-dynamic": "false", children: ["\u0627\u0633\u062A\u0639\u0631\u0636 \u0633\u0627\u0628\u0642\u0629 \u0627\u0644\u0623\u0639\u0645\u0627\u0644 ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_3__["default"], { className: "w-5 h-5 rotate-180" }, void 0, false, { fileName: _jsxFileName, lineNumber: 431, columnNumber: 40 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 426, columnNumber: 17 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 418, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "pt-8 grid grid-cols-2 sm:grid-cols-3 gap-6 border-t border-white/10", "x-file-name": "App", "x-line-number": "436", "x-column": "14", "x-component": "div", "x-id": "App_436_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "flex items-center gap-3", "x-file-name": "App", "x-line-number": "437", "x-column": "16", "x-component": "div", "x-id": "App_437_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "w-10 h-10 rounded-lg bg-[#D4AF37]/10 flex items-center justify-center text-[#D4AF37]", "x-file-name": "App", "x-line-number": "438", "x-column": "18", "x-component": "div", "x-id": "App_438_18", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "w-5 h-5", "x-file-name": "App", "x-line-number": "439", "x-column": "20", "x-component": "CheckCircle2", "x-id": "App_439_20", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 439, columnNumber: 21 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 438, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { "x-file-name": "App", "x-line-number": "441", "x-column": "18", "x-component": "div", "x-id": "App_441_18", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "block font-bold text-white text-sm", "x-file-name": "App", "x-line-number": "442", "x-column": "20", "x-component": "span", "x-id": "App_442_20", "x-dynamic": "false", children: "+150 \u0645\u0634\u0631\u0648\u0639" }, void 0, false, { fileName: _jsxFileName, lineNumber: 442, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-xs text-slate-400", "x-file-name": "App", "x-line-number": "443", "x-column": "20", "x-component": "span", "x-id": "App_443_20", "x-dynamic": "false", children: "\u0645\u0646\u062C\u0632 \u0648\u0645\u0633\u0644\u0645 \u0628\u062F\u0642\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 443, columnNumber: 21 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 441, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 437, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "flex items-center gap-3", "x-file-name": "App", "x-line-number": "446", "x-column": "16", "x-component": "div", "x-id": "App_446_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "w-10 h-10 rounded-lg bg-[#D4AF37]/10 flex items-center justify-center text-[#D4AF37]", "x-file-name": "App", "x-line-number": "447", "x-column": "18", "x-component": "div", "x-id": "App_447_18", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_4__["default"], { className: "w-5 h-5", "x-file-name": "App", "x-line-number": "448", "x-column": "20", "x-component": "Award", "x-id": "App_448_20", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 448, columnNumber: 21 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 447, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { "x-file-name": "App", "x-line-number": "450", "x-column": "18", "x-component": "div", "x-id": "App_450_18", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "block font-bold text-white text-sm", "x-file-name": "App", "x-line-number": "451", "x-column": "20", "x-component": "span", "x-id": "App_451_20", "x-dynamic": "false", children: "\u062A\u0635\u0646\u064A\u0641 \u0623\u0648\u0644" }, void 0, false, { fileName: _jsxFileName, lineNumber: 451, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-xs text-slate-400", "x-file-name": "App", "x-line-number": "452", "x-column": "20", "x-component": "span", "x-id": "App_452_20", "x-dynamic": "false", children: "\u0645\u0639\u062A\u0645\u062F \u0631\u0633\u0645\u064A\u0627\u064B" }, void 0, false, { fileName: _jsxFileName, lineNumber: 452, columnNumber: 21 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 450, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 446, columnNumber: 17 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 436, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 396, columnNumber: 13 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 395, columnNumber: 11 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 382, columnNumber: 9 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("section", { className: "relative z-25 -mt-16 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", "x-file-name": "App", "x-line-number": "462", "x-column": "8", "x-component": "section", "x-id": "App_462_8", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "bg-[#0B132B]/95 backdrop-blur-2xl border border-[#D4AF37]/30 rounded-2xl p-8 shadow-2xl shadow-black/80", "x-file-name": "App", "x-line-number": "463", "x-column": "10", "x-component": "div", "x-id": "App_463_10", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-8 divide-y sm:divide-y-0 sm:divide-x sm:divide-x-reverse divide-[#D4AF37]/10", "x-file-name": "App", "x-line-number": "464", "x-column": "12", "x-component": "div", "x-id": "App_464_12", "x-dynamic": "true", "x-source-type": "computed", "x-source-editable": "false", children: stats.map((stat, idx) => /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "flex flex-col items-center text-center pt-6 sm:pt-0 sm:px-4 first:pt-0", "x-file-name": "App", "x-line-number": "466", "x-column": "16", "x-component": "div", "x-id": "App_466_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-4xl lg:text-5xl font-black text-transparent bg-clip-text bg-gradient-to-r from-[#D4AF37] to-[#F3E5AB] mb-2", "x-file-name": "App", "x-line-number": "467", "x-column": "18", "x-component": "span", "x-id": "App_467_18", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "stats", "x-source-file-abs": "/app/frontend/src/App.js", "x-source-line": "203", "x-source-path": "number", "x-source-editable": "true", "x-array-var": "stats", "x-array-line": "203", "x-array-item-param": "stat", children: stat.number }, void 0, false, { fileName: _jsxFileName, lineNumber: 467, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "font-bold text-white text-base mb-1", "x-file-name": "App", "x-line-number": "470", "x-column": "18", "x-component": "span", "x-id": "App_470_18", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "stats", "x-source-file-abs": "/app/frontend/src/App.js", "x-source-line": "203", "x-source-path": "label", "x-source-editable": "true", "x-array-var": "stats", "x-array-line": "203", "x-array-item-param": "stat", children: stat.label }, void 0, false, { fileName: _jsxFileName, lineNumber: 470, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-xs text-slate-400", "x-file-name": "App", "x-line-number": "471", "x-column": "18", "x-component": "span", "x-id": "App_471_18", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "stats", "x-source-file-abs": "/app/frontend/src/App.js", "x-source-line": "203", "x-source-path": "sub", "x-source-editable": "true", "x-array-var": "stats", "x-array-line": "203", "x-array-item-param": "stat", children: stat.sub }, void 0, false, { fileName: _jsxFileName, lineNumber: 471, columnNumber: 19 }, this)] }, idx, true, { fileName: _jsxFileName, lineNumber: 466, columnNumber: 17 }, this)) }, void 0, false, { fileName: _jsxFileName, lineNumber: 464, columnNumber: 13 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 463, columnNumber: 11 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 462, columnNumber: 9 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("section", { id: "about", className: "py-24 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", "x-file-name": "App", "x-line-number": "479", "x-column": "8", "x-component": "section", "x-id": "App_479_8", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "grid grid-cols-1 lg:grid-cols-12 gap-12 items-center", "x-file-name": "App", "x-line-number": "480", "x-column": "10", "x-component": "div", "x-id": "App_480_10", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "lg:col-span-6 relative", "x-file-name": "App", "x-line-number": "483", "x-column": "12", "x-component": "div", "x-id": "App_483_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "relative z-10 rounded-2xl overflow-hidden border border-[#D4AF37]/30 shadow-2xl", "x-file-name": "App", "x-line-number": "484", "x-column": "14", "x-component": "div", "x-id": "App_484_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("img", { src: "https://images.unsplash.com/photo-1759044814269-f7ba07c97b5a?crop=entropy&cs=srgb&fm=jpg&q=85", alt: "Al Essam Headquarter and Engineering Team", className: "w-full h-[420px] object-cover hover:scale-105 transition-transform duration-700", "x-file-name": "App", "x-line-number": "485", "x-column": "16", "x-component": "img", "x-id": "App_485_16", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 485, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "absolute inset-0 bg-gradient-to-t from-[#070B19] via-transparent to-transparent opacity-80", "x-file-name": "App", "x-line-number": "490", "x-column": "16", "x-component": "div", "x-id": "App_490_16", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 490, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "absolute bottom-6 right-6 left-6 bg-[#0B132B]/90 backdrop-blur-xl p-6 rounded-xl border border-[#D4AF37]/30", "x-file-name": "App", "x-line-number": "491", "x-column": "16", "x-component": "div", "x-id": "App_491_16", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "flex items-center gap-4", "x-file-name": "App", "x-line-number": "492", "x-column": "18", "x-component": "div", "x-id": "App_492_18", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "w-12 h-12 rounded-full bg-[#D4AF37] flex items-center justify-center text-black font-black text-xl", "x-file-name": "App", "x-line-number": "493", "x-column": "20", "x-component": "div", "x-id": "App_493_20", "x-dynamic": "false", children: "25+" }, void 0, false, { fileName: _jsxFileName, lineNumber: 493, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { "x-file-name": "App", "x-line-number": "496", "x-column": "20", "x-component": "div", "x-id": "App_496_20", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h4", { className: "font-bold text-white text-base", "x-file-name": "App", "x-line-number": "497", "x-column": "22", "x-component": "h4", "x-id": "App_497_22", "x-dynamic": "false", children: "\u0639\u0627\u0645\u0627\u064B \u0645\u0646 \u0627\u0644\u062A\u0645\u064A\u0632 \u0627\u0644\u0647\u0646\u062F\u0633\u064A" }, void 0, false, { fileName: _jsxFileName, lineNumber: 497, columnNumber: 23 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-xs text-slate-300", "x-file-name": "App", "x-line-number": "498", "x-column": "22", "x-component": "p", "x-id": "App_498_22", "x-dynamic": "false", children: "\u0646\u0633\u0627\u0647\u0645 \u0628\u062E\u0628\u0631\u062A\u0646\u0627 \u0641\u064A \u062A\u0637\u0648\u064A\u0631 \u0627\u0644\u0639\u0645\u0631\u0627\u0646 \u0648\u0627\u0644\u0628\u0646\u064A\u0629 \u0627\u0644\u062A\u062D\u062A\u064A\u0629 \u0648\u062F\u0639\u0645 \u0645\u0633\u062A\u0642\u0628\u0644 \u0627\u0644\u0628\u0646\u0627\u0621 \u0641\u064A \u0645\u0635\u0631." }, void 0, false, { fileName: _jsxFileName, lineNumber: 498, columnNumber: 23 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 496, columnNumber: 21 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 492, columnNumber: 19 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 491, columnNumber: 17 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 484, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "absolute -top-10 -right-10 w-72 h-72 bg-[#D4AF37]/10 rounded-full blur-3xl pointer-events-none", "x-file-name": "App", "x-line-number": "504", "x-column": "14", "x-component": "div", "x-id": "App_504_14", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 504, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 483, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "lg:col-span-6 space-y-6", "x-file-name": "App", "x-line-number": "508", "x-column": "12", "x-component": "div", "x-id": "App_508_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "inline-flex items-center gap-2 px-3.5 py-1.5 rounded-full bg-[#D4AF37]/10 border border-[#D4AF37]/30", "x-file-name": "App", "x-line-number": "509", "x-column": "14", "x-component": "div", "x-id": "App_509_14", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-xs font-bold text-[#D4AF37] uppercase tracking-wider", "x-file-name": "App", "x-line-number": "510", "x-column": "16", "x-component": "span", "x-id": "App_510_16", "x-dynamic": "false", children: "\u0645\u0646 \u0646\u062D\u0646" }, void 0, false, { fileName: _jsxFileName, lineNumber: 510, columnNumber: 17 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 509, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h2", { className: "text-3xl sm:text-4xl lg:text-5xl font-black text-white leading-tight", "x-file-name": "App", "x-line-number": "513", "x-column": "14", "x-component": "h2", "x-id": "App_513_14", "x-dynamic": "false", children: ["\u0634\u0631\u064A\u0643\u0643 \u0627\u0644\u0647\u0646\u062F\u0633\u064A \u0627\u0644\u0645\u0648\u062B\u0648\u0642 \u0644\u062A\u062D\u0648\u064A\u0644 \u0627\u0644\u0631\u0624\u0649 \u0625\u0644\u0649 ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-[#D4AF37]", "x-file-name": "App", "x-line-number": "514", "x-column": "55", "x-component": "span", "x-id": "App_514_55", "x-dynamic": "false", children: "\u0635\u0631\u062D \u0648\u0627\u0642\u0639\u064A" }, void 0, false, { fileName: _jsxFileName, lineNumber: 514, columnNumber: 56 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 513, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-slate-300 text-base leading-relaxed", "x-file-name": "App", "x-line-number": "517", "x-column": "14", "x-component": "p", "x-id": "App_517_14", "x-dynamic": "false", children: ["\u062A\u0623\u0633\u0633\u062A ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("strong", { "x-file-name": "App", "x-line-number": "518", "x-column": "22", "x-component": "strong", "x-id": "App_518_22", "x-dynamic": "false", children: "\u0634\u0631\u0643\u0629 \u0622\u0644 \u0639\u0635\u0627\u0645 \u0644\u0644\u0645\u0642\u0627\u0648\u0644\u0627\u062A \u0648\u0627\u0644\u062A\u0637\u0648\u064A\u0631 \u0627\u0644\u0639\u0642\u0627\u0631\u064A" }, void 0, false, { fileName: _jsxFileName, lineNumber: 518, columnNumber: 23 }, this), " \u0644\u062A\u0643\u0648\u0646 \u0639\u0644\u0627\u0645\u0629 \u0641\u0627\u0631\u0642\u0629 \u0641\u064A \u0642\u0637\u0627\u0639 \u0627\u0644\u0628\u0646\u0627\u0621 \u0648\u0627\u0644\u062A\u0634\u064A\u064A\u062F \u0627\u0644\u0645\u0635\u0631\u064A. \u0646\u062C\u0645\u0639 \u0628\u064A\u0646 \u0627\u0644\u062E\u0628\u0631\u0629 \u0627\u0644\u0639\u0645\u064A\u0642\u0629 \u0648\u0627\u0644\u0627\u0628\u062A\u0643\u0627\u0631 \u0627\u0644\u0647\u0646\u062F\u0633\u064A \u0627\u0644\u062D\u062F\u064A\u062B \u0644\u0646\u0642\u062F\u0645 \u062D\u0644\u0648\u0644\u0627\u064B \u0645\u062A\u0643\u0627\u0645\u0644\u0629 \u062A\u0634\u0645\u0644 \u0627\u0644\u0645\u0642\u0627\u0648\u0644\u0627\u062A \u0627\u0644\u0639\u0627\u0645\u0629\u060C \u0627\u0644\u062A\u0637\u0648\u064A\u0631 \u0627\u0644\u0639\u0642\u0627\u0631\u064A\u060C \u0648\u0625\u062F\u0627\u0631\u0629 \u0627\u0644\u0645\u0634\u0627\u0631\u064A\u0639 \u0627\u0644\u0643\u0628\u0631\u0649 \u0641\u064A \u0645\u062E\u062A\u0644\u0641 \u0623\u0646\u062D\u0627\u0621 \u0645\u0635\u0631."] }, void 0, true, { fileName: _jsxFileName, lineNumber: 517, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4 pt-2", "x-file-name": "App", "x-line-number": "521", "x-column": "14", "x-component": "div", "x-id": "App_521_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "bg-[#0F172A] border border-white/5 p-4 rounded-xl flex items-start gap-3", "x-file-name": "App", "x-line-number": "522", "x-column": "16", "x-component": "div", "x-id": "App_522_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "w-5 h-5 text-[#D4AF37] shrink-0 mt-1", "x-file-name": "App", "x-line-number": "523", "x-column": "18", "x-component": "CheckCircle2", "x-id": "App_523_18", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 523, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { "x-file-name": "App", "x-line-number": "524", "x-column": "18", "x-component": "div", "x-id": "App_524_18", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h5", { className: "font-bold text-white text-sm mb-1", "x-file-name": "App", "x-line-number": "525", "x-column": "20", "x-component": "h5", "x-id": "App_525_20", "x-dynamic": "false", children: "\u0631\u0624\u064A\u062A\u0646\u0627" }, void 0, false, { fileName: _jsxFileName, lineNumber: 525, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-xs text-slate-400", "x-file-name": "App", "x-line-number": "526", "x-column": "20", "x-component": "p", "x-id": "App_526_20", "x-dynamic": "false", children: "\u0623\u0646 \u0646\u0643\u0648\u0646 \u0627\u0644\u062E\u064A\u0627\u0631 \u0627\u0644\u0623\u0648\u0644 \u0648\u0627\u0644\u0623\u0643\u062B\u0631 \u0645\u0648\u062B\u0648\u0642\u064A\u0629 \u0641\u064A \u0642\u0637\u0627\u0639 \u0627\u0644\u0645\u0642\u0627\u0648\u0644\u0627\u062A \u0648\u0627\u0644\u062A\u0637\u0648\u064A\u0631 \u0627\u0644\u0639\u0645\u0631\u0627\u0646\u064A \u0625\u0642\u0644\u064A\u0645\u064A\u0627\u064B." }, void 0, false, { fileName: _jsxFileName, lineNumber: 526, columnNumber: 21 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 524, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 522, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "bg-[#0F172A] border border-white/5 p-4 rounded-xl flex items-start gap-3", "x-file-name": "App", "x-line-number": "529", "x-column": "16", "x-component": "div", "x-id": "App_529_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "w-5 h-5 text-[#D4AF37] shrink-0 mt-1", "x-file-name": "App", "x-line-number": "530", "x-column": "18", "x-component": "CheckCircle2", "x-id": "App_530_18", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 530, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { "x-file-name": "App", "x-line-number": "531", "x-column": "18", "x-component": "div", "x-id": "App_531_18", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h5", { className: "font-bold text-white text-sm mb-1", "x-file-name": "App", "x-line-number": "532", "x-column": "20", "x-component": "h5", "x-id": "App_532_20", "x-dynamic": "false", children: "\u0631\u0633\u0627\u0644\u062A\u0646\u0627" }, void 0, false, { fileName: _jsxFileName, lineNumber: 532, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-xs text-slate-400", "x-file-name": "App", "x-line-number": "533", "x-column": "20", "x-component": "p", "x-id": "App_533_20", "x-dynamic": "false", children: "\u062A\u0642\u062F\u064A\u0645 \u0645\u0634\u0627\u0631\u064A\u0639 \u0627\u0633\u062A\u062B\u0646\u0627\u0626\u064A\u0629 \u062A\u062A\u062C\u0627\u0648\u0632 \u062A\u0648\u0642\u0639\u0627\u062A \u0627\u0644\u0639\u0645\u0644\u0627\u0621 \u0648\u062A\u0633\u0627\u0647\u0645 \u0641\u064A \u0627\u0644\u062A\u0646\u0645\u064A\u0629 \u0627\u0644\u0645\u0633\u062A\u062F\u0627\u0645\u0629." }, void 0, false, { fileName: _jsxFileName, lineNumber: 533, columnNumber: 21 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 531, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 529, columnNumber: 17 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 521, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "pt-4 flex items-center gap-6", "x-file-name": "App", "x-line-number": "538", "x-column": "14", "x-component": "div", "x-id": "App_538_14", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#contact", className: "px-6 py-3 rounded-full bg-[#D4AF37] text-black font-bold text-sm hover:bg-[#E5C158] transition-colors inline-flex items-center gap-2", "data-testid": "about-contact-btn", "x-file-name": "App", "x-line-number": "539", "x-column": "16", "x-component": "a", "x-id": "App_539_16", "x-dynamic": "false", children: ["\u062A\u0648\u0627\u0635\u0644 \u0645\u0639 \u0627\u0644\u0625\u062F\u0627\u0631\u0629 \u0627\u0644\u062A\u0646\u0641\u064A\u0630\u064A\u0629 ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_3__["default"], { className: "w-4 h-4 rotate-180" }, void 0, false, { fileName: _jsxFileName, lineNumber: 544, columnNumber: 46 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 539, columnNumber: 17 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 538, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 508, columnNumber: 13 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 480, columnNumber: 11 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 479, columnNumber: 9 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("section", { id: "services", className: "py-24 bg-[#0B132B]/50 border-y border-[#D4AF37]/20", "x-file-name": "App", "x-line-number": "554", "x-column": "8", "x-component": "section", "x-id": "App_554_8", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", "x-file-name": "App", "x-line-number": "555", "x-column": "10", "x-component": "div", "x-id": "App_555_10", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "text-center max-w-3xl mx-auto mb-16 space-y-4", "x-file-name": "App", "x-line-number": "557", "x-column": "12", "x-component": "div", "x-id": "App_557_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "inline-flex items-center gap-2 px-3.5 py-1.5 rounded-full bg-[#D4AF37]/10 border border-[#D4AF37]/30", "x-file-name": "App", "x-line-number": "558", "x-column": "14", "x-component": "div", "x-id": "App_558_14", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-xs font-bold text-[#D4AF37] uppercase tracking-wider", "x-file-name": "App", "x-line-number": "559", "x-column": "16", "x-component": "span", "x-id": "App_559_16", "x-dynamic": "false", children: "\u062E\u062F\u0645\u0627\u062A\u0646\u0627 \u0627\u0644\u0647\u0646\u062F\u0633\u064A\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 559, columnNumber: 17 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 558, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h2", { className: "text-3xl sm:text-4xl lg:text-5xl font-black text-white", "x-file-name": "App", "x-line-number": "561", "x-column": "14", "x-component": "h2", "x-id": "App_561_14", "x-dynamic": "false", children: ["\u062D\u0644\u0648\u0644 \u0645\u062A\u0643\u0627\u0645\u0644\u0629 \u0644\u062C\u0645\u064A\u0639 \u0642\u0637\u0627\u0639\u0627\u062A ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-[#D4AF37]", "x-file-name": "App", "x-line-number": "562", "x-column": "42", "x-component": "span", "x-id": "App_562_42", "x-dynamic": "false", children: "\u0627\u0644\u0625\u0646\u0634\u0627\u0621 \u0648\u0627\u0644\u062A\u0637\u0648\u064A\u0631" }, void 0, false, { fileName: _jsxFileName, lineNumber: 562, columnNumber: 43 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 561, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-slate-300 text-base", "x-file-name": "App", "x-line-number": "564", "x-column": "14", "x-component": "p", "x-id": "App_564_14", "x-dynamic": "false", children: "\u0646\u0642\u062F\u0645 \u0645\u0646\u0638\u0648\u0645\u0629 \u062E\u062F\u0645\u0627\u062A \u0634\u0627\u0645\u0644\u0629 \u062A\u063A\u0637\u064A \u062F\u0648\u0631\u0629 \u062D\u064A\u0627\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0628\u0627\u0644\u0643\u0627\u0645\u0644 \u0645\u0646 \u0627\u0644\u062A\u0635\u0645\u064A\u0645 \u0648\u062D\u062A\u0649 \u0627\u0644\u062A\u0633\u0644\u064A\u0645 \u0627\u0644\u0645\u0641\u062A\u0627\u062D." }, void 0, false, { fileName: _jsxFileName, lineNumber: 564, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 557, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", "x-file-name": "App", "x-line-number": "569", "x-column": "12", "x-component": "div", "x-id": "App_569_12", "x-dynamic": "true", "x-source-type": "computed", "x-source-editable": "false", children: services.map((service, index) => /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "bg-[#0F172A] border border-[#D4AF37]/20 rounded-2xl p-8 hover:border-[#D4AF37] transition-all duration-300 group hover:-translate-y-1.5 shadow-xl", "data-testid": `service-card-${index}`, "x-file-name": "App", "x-line-number": "571", "x-column": "16", "x-component": "div", "x-id": "App_571_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "w-16 h-16 rounded-2xl bg-[#070B19] border border-[#D4AF37]/30 flex items-center justify-center mb-6 group-hover:scale-110 transition-transform shadow-inner", "x-file-name": "App", "x-line-number": "576", "x-column": "18", "x-component": "div", "x-id": "App_576_18", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "services", "x-source-file-abs": "/app/frontend/src/App.js", "x-source-line": "170", "x-source-path": "icon", "x-source-editable": "true", "x-array-var": "services", "x-array-line": "170", "x-array-item-param": "service", children: service.icon }, void 0, false, { fileName: _jsxFileName, lineNumber: 576, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h3", { className: "text-xl font-bold text-white mb-3 group-hover:text-[#D4AF37] transition-colors", "x-file-name": "App", "x-line-number": "579", "x-column": "18", "x-component": "h3", "x-id": "App_579_18", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "services", "x-source-file-abs": "/app/frontend/src/App.js", "x-source-line": "170", "x-source-path": "title", "x-source-editable": "true", "x-array-var": "services", "x-array-line": "170", "x-array-item-param": "service", children: service.title }, void 0, false, { fileName: _jsxFileName, lineNumber: 579, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-slate-300 text-sm leading-relaxed mb-6", "x-file-name": "App", "x-line-number": "582", "x-column": "18", "x-component": "p", "x-id": "App_582_18", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "services", "x-source-file-abs": "/app/frontend/src/App.js", "x-source-line": "170", "x-source-path": "desc", "x-source-editable": "true", "x-array-var": "services", "x-array-line": "170", "x-array-item-param": "service", children: service.desc }, void 0, false, { fileName: _jsxFileName, lineNumber: 582, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#quote", className: "inline-flex items-center gap-2 text-[#D4AF37] text-sm font-semibold group-hover:translate-x-[-4px] transition-transform", "x-file-name": "App", "x-line-number": "585", "x-column": "18", "x-component": "a", "x-id": "App_585_18", "x-dynamic": "false", children: ["\u0627\u0637\u0644\u0628 \u0627\u0633\u062A\u0634\u0627\u0631\u0629 \u0644\u0644\u062E\u062F\u0645\u0629 ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_3__["default"], { className: "w-4 h-4 rotate-180" }, void 0, false, { fileName: _jsxFileName, lineNumber: 589, columnNumber: 41 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 585, columnNumber: 19 }, this)] }, index, true, { fileName: _jsxFileName, lineNumber: 571, columnNumber: 17 }, this)) }, void 0, false, { fileName: _jsxFileName, lineNumber: 569, columnNumber: 13 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 555, columnNumber: 11 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 554, columnNumber: 9 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("section", { id: "projects", className: "py-24 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", "x-file-name": "App", "x-line-number": "599", "x-column": "8", "x-component": "section", "x-id": "App_599_8", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "flex flex-col md:flex-row md:items-end justify-between mb-16 gap-6", "x-file-name": "App", "x-line-number": "600", "x-column": "10", "x-component": "div", "x-id": "App_600_10", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "space-y-4", "x-file-name": "App", "x-line-number": "601", "x-column": "12", "x-component": "div", "x-id": "App_601_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "inline-flex items-center gap-2 px-3.5 py-1.5 rounded-full bg-[#D4AF37]/10 border border-[#D4AF37]/30", "x-file-name": "App", "x-line-number": "602", "x-column": "14", "x-component": "div", "x-id": "App_602_14", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-xs font-bold text-[#D4AF37] uppercase tracking-wider", "x-file-name": "App", "x-line-number": "603", "x-column": "16", "x-component": "span", "x-id": "App_603_16", "x-dynamic": "false", children: "\u0633\u0627\u0628\u0642\u0629 \u0627\u0644\u0623\u0639\u0645\u0627\u0644" }, void 0, false, { fileName: _jsxFileName, lineNumber: 603, columnNumber: 17 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 602, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h2", { className: "text-3xl sm:text-4xl lg:text-5xl font-black text-white", "x-file-name": "App", "x-line-number": "605", "x-column": "14", "x-component": "h2", "x-id": "App_605_14", "x-dynamic": "false", children: ["\u0645\u0634\u0627\u0631\u064A\u0639 \u0646\u0641\u062A\u062E\u0631 ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-[#D4AF37]", "x-file-name": "App", "x-line-number": "606", "x-column": "29", "x-component": "span", "x-id": "App_606_29", "x-dynamic": "false", children: "\u0628\u0625\u0646\u062C\u0627\u0632\u0647\u0627" }, void 0, false, { fileName: _jsxFileName, lineNumber: 606, columnNumber: 30 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 605, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-slate-300 text-base max-w-xl", "x-file-name": "App", "x-line-number": "608", "x-column": "14", "x-component": "p", "x-id": "App_608_14", "x-dynamic": "false", children: "\u0627\u0633\u062A\u0639\u0631\u0636 \u0628\u0627\u0642\u0629 \u0645\u0646 \u0623\u0628\u0631\u0632 \u0645\u0634\u0627\u0631\u064A\u0639\u0646\u0627 \u0627\u0644\u0645\u0646\u0641\u0630\u0629 \u0641\u064A \u0627\u0644\u0642\u0637\u0627\u0639\u0627\u062A \u0627\u0644\u0633\u0643\u0646\u064A\u0629\u060C \u0627\u0644\u062A\u062C\u0627\u0631\u064A\u0629\u060C \u0648\u0627\u0644\u0635\u0646\u0627\u0639\u064A\u0629 \u0641\u064A \u0645\u062E\u062A\u0644\u0641 \u0645\u062F\u0646 \u0645\u0635\u0631." }, void 0, false, { fileName: _jsxFileName, lineNumber: 608, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 601, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "flex flex-wrap gap-2 bg-[#0B132B] p-2 rounded-2xl border border-[#D4AF37]/20", "x-file-name": "App", "x-line-number": "614", "x-column": "12", "x-component": "div", "x-id": "App_614_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("button", { onClick: () => setActiveProjectFilter('all'), className: `px-4 py-2 rounded-xl text-sm font-semibold transition-all ${activeProjectFilter === 'all' ? 'bg-[#D4AF37] text-black shadow-lg shadow-[#D4AF37]/30' : 'text-slate-300 hover:text-white'}`, "data-testid": "filter-all", "x-file-name": "App", "x-line-number": "615", "x-column": "14", "x-component": "button", "x-id": "App_615_14", "x-dynamic": "false", children: "\u062C\u0645\u064A\u0639 \u0627\u0644\u0645\u0634\u0627\u0631\u064A\u0639" }, void 0, false, { fileName: _jsxFileName, lineNumber: 615, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("button", { onClick: () => setActiveProjectFilter('commercial'), className: `px-4 py-2 rounded-xl text-sm font-semibold transition-all ${activeProjectFilter === 'commercial' ? 'bg-[#D4AF37] text-black shadow-lg shadow-[#D4AF37]/30' : 'text-slate-300 hover:text-white'}`, "data-testid": "filter-commercial", "x-file-name": "App", "x-line-number": "622", "x-column": "14", "x-component": "button", "x-id": "App_622_14", "x-dynamic": "false", children: "\u062A\u062C\u0627\u0631\u064A \u0648\u0625\u062F\u0627\u0631\u064A" }, void 0, false, { fileName: _jsxFileName, lineNumber: 622, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("button", { onClick: () => setActiveProjectFilter('residential'), className: `px-4 py-2 rounded-xl text-sm font-semibold transition-all ${activeProjectFilter === 'residential' ? 'bg-[#D4AF37] text-black shadow-lg shadow-[#D4AF37]/30' : 'text-slate-300 hover:text-white'}`, "data-testid": "filter-residential", "x-file-name": "App", "x-line-number": "629", "x-column": "14", "x-component": "button", "x-id": "App_629_14", "x-dynamic": "false", children: "\u0633\u0643\u0646\u064A \u0641\u0627\u062E\u0631" }, void 0, false, { fileName: _jsxFileName, lineNumber: 629, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("button", { onClick: () => setActiveProjectFilter('industrial'), className: `px-4 py-2 rounded-xl text-sm font-semibold transition-all ${activeProjectFilter === 'industrial' ? 'bg-[#D4AF37] text-black shadow-lg shadow-[#D4AF37]/30' : 'text-slate-300 hover:text-white'}`, "data-testid": "filter-industrial", "x-file-name": "App", "x-line-number": "636", "x-column": "14", "x-component": "button", "x-id": "App_636_14", "x-dynamic": "false", children: "\u0635\u0646\u0627\u0639\u064A \u0648\u0644\u0648\u062C\u0633\u062A\u064A" }, void 0, false, { fileName: _jsxFileName, lineNumber: 636, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 614, columnNumber: 13 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 600, columnNumber: 11 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", "x-file-name": "App", "x-line-number": "647", "x-column": "10", "x-component": "div", "x-id": "App_647_10", "x-dynamic": "true", "x-source-type": "computed", "x-source-editable": "false", children: filteredProjects.map(project => /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "bg-[#0F172A] border border-[#D4AF37]/20 rounded-2xl overflow-hidden group hover:border-[#D4AF37] transition-all duration-300 shadow-2xl flex flex-col justify-between", "data-testid": `project-card-${project.id}`, "x-file-name": "App", "x-line-number": "649", "x-column": "14", "x-component": "div", "x-id": "App_649_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "relative h-64 overflow-hidden", "x-file-name": "App", "x-line-number": "654", "x-column": "16", "x-component": "div", "x-id": "App_654_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("img", { src: project.image, alt: project.title, className: "w-full h-full object-cover group-hover:scale-110 transition-transform duration-700", "x-file-name": "App", "x-line-number": "655", "x-column": "18", "x-component": "img", "x-id": "App_655_18", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 655, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "absolute inset-0 bg-gradient-to-t from-[#070B19] via-transparent to-transparent opacity-60", "x-file-name": "App", "x-line-number": "660", "x-column": "18", "x-component": "div", "x-id": "App_660_18", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 660, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "absolute top-4 right-4 bg-[#0B132B]/90 backdrop-blur-md text-[#D4AF37] border border-[#D4AF37]/30 px-3.5 py-1 rounded-full text-xs font-bold", "x-file-name": "App", "x-line-number": "661", "x-column": "18", "x-component": "span", "x-id": "App_661_18", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "filteredProjects", "x-source-path": "categoryName", "x-source-editable": "false", "x-array-var": "filteredProjects", "x-array-item-param": "project", children: project.categoryName }, void 0, false, { fileName: _jsxFileName, lineNumber: 661, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "absolute top-4 left-4 bg-black/60 backdrop-blur-md text-white px-3 py-1 rounded-full text-xs font-semibold", "x-file-name": "App", "x-line-number": "664", "x-column": "18", "x-component": "span", "x-id": "App_664_18", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "filteredProjects", "x-source-path": "year", "x-source-editable": "false", "x-array-var": "filteredProjects", "x-array-item-param": "project", children: project.year }, void 0, false, { fileName: _jsxFileName, lineNumber: 664, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 654, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "p-6 space-y-4 flex-1 flex flex-col justify-between", "x-file-name": "App", "x-line-number": "669", "x-column": "16", "x-component": "div", "x-id": "App_669_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "space-y-2", "x-file-name": "App", "x-line-number": "670", "x-column": "18", "x-component": "div", "x-id": "App_670_18", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "flex items-center gap-1.5 text-xs text-[#D4AF37]", "x-file-name": "App", "x-line-number": "671", "x-column": "20", "x-component": "div", "x-id": "App_671_20", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "filteredProjects", "x-source-path": "location", "x-source-editable": "false", "x-array-var": "filteredProjects", "x-array-item-param": "project", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_11__["default"], { className: "w-3.5 h-3.5", "x-file-name": "App", "x-line-number": "672", "x-column": "22", "x-component": "MapPin", "x-id": "App_672_22", "x-dynamic": "true", "x-source-type": "external", "x-source-var": "filteredProjects", "x-source-editable": "false", "x-array-var": "filteredProjects", "x-array-item-param": "project" }, void 0, false, { fileName: _jsxFileName, lineNumber: 672, columnNumber: 23 }, this), " ", project.location] }, void 0, true, { fileName: _jsxFileName, lineNumber: 671, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h3", { className: "text-xl font-bold text-white group-hover:text-[#D4AF37] transition-colors", "x-file-name": "App", "x-line-number": "674", "x-column": "20", "x-component": "h3", "x-id": "App_674_20", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "filteredProjects", "x-source-path": "title", "x-source-editable": "false", "x-array-var": "filteredProjects", "x-array-item-param": "project", children: project.title }, void 0, false, { fileName: _jsxFileName, lineNumber: 674, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-slate-300 text-sm leading-relaxed line-clamp-2", "x-file-name": "App", "x-line-number": "677", "x-column": "20", "x-component": "p", "x-id": "App_677_20", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "filteredProjects", "x-source-path": "description", "x-source-editable": "false", "x-array-var": "filteredProjects", "x-array-item-param": "project", children: project.description }, void 0, false, { fileName: _jsxFileName, lineNumber: 677, columnNumber: 21 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 670, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "pt-4 border-t border-white/10 flex items-center justify-between text-xs text-slate-400", "x-file-name": "App", "x-line-number": "682", "x-column": "18", "x-component": "div", "x-id": "App_682_18", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { "x-file-name": "App", "x-line-number": "683", "x-column": "20", "x-component": "span", "x-id": "App_683_20", "x-dynamic": "false", children: ["\u0627\u0644\u0639\u0645\u064A\u0644: ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("strong", { className: "text-white", "x-file-name": "App", "x-line-number": "683", "x-column": "34", "x-component": "strong", "x-id": "App_683_34", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "filteredProjects", "x-source-path": "client", "x-source-editable": "false", "x-array-var": "filteredProjects", "x-array-item-param": "project", children: project.client }, void 0, false, { fileName: _jsxFileName, lineNumber: 683, columnNumber: 35 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 683, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-[#D4AF37] font-semibold flex items-center gap-1", "x-file-name": "App", "x-line-number": "684", "x-column": "20", "x-component": "span", "x-id": "App_684_20", "x-dynamic": "false", children: ["\u062A\u0645 \u0627\u0644\u0625\u0646\u062C\u0627\u0632 ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_1__["default"], { className: "w-3.5 h-3.5", "x-file-name": "App", "x-line-number": "685", "x-column": "33", "x-component": "CheckCircle2", "x-id": "App_685_33", "x-dynamic": "true", "x-source-type": "external", "x-source-var": "filteredProjects", "x-source-editable": "false", "x-array-var": "filteredProjects", "x-array-item-param": "project" }, void 0, false, { fileName: _jsxFileName, lineNumber: 685, columnNumber: 34 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 684, columnNumber: 21 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 682, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 669, columnNumber: 17 }, this)] }, project.id, true, { fileName: _jsxFileName, lineNumber: 649, columnNumber: 15 }, this)) }, void 0, false, { fileName: _jsxFileName, lineNumber: 647, columnNumber: 11 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 599, columnNumber: 9 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("section", { id: "why-us", className: "py-24 bg-[#0B132B]/50 border-y border-[#D4AF37]/20 relative overflow-hidden", "x-file-name": "App", "x-line-number": "696", "x-column": "8", "x-component": "section", "x-id": "App_696_8", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10", "x-file-name": "App", "x-line-number": "697", "x-column": "10", "x-component": "div", "x-id": "App_697_10", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "text-center max-w-3xl mx-auto mb-16 space-y-4", "x-file-name": "App", "x-line-number": "699", "x-column": "12", "x-component": "div", "x-id": "App_699_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "inline-flex items-center gap-2 px-3.5 py-1.5 rounded-full bg-[#D4AF37]/10 border border-[#D4AF37]/30", "x-file-name": "App", "x-line-number": "700", "x-column": "14", "x-component": "div", "x-id": "App_700_14", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-xs font-bold text-[#D4AF37] uppercase tracking-wider", "x-file-name": "App", "x-line-number": "701", "x-column": "16", "x-component": "span", "x-id": "App_701_16", "x-dynamic": "false", children: "\u0644\u0645\u0627\u0630\u0627 \u0646\u062D\u0646" }, void 0, false, { fileName: _jsxFileName, lineNumber: 701, columnNumber: 17 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 700, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h2", { className: "text-3xl sm:text-4xl lg:text-5xl font-black text-white", "x-file-name": "App", "x-line-number": "703", "x-column": "14", "x-component": "h2", "x-id": "App_703_14", "x-dynamic": "false", children: ["\u0644\u0645\u0627\u0630\u0627 \u062A\u062E\u062A\u0627\u0631 ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-[#D4AF37]", "x-file-name": "App", "x-line-number": "704", "x-column": "28", "x-component": "span", "x-id": "App_704_28", "x-dynamic": "false", children: "\u0634\u0631\u0643\u0629 \u0622\u0644 \u0639\u0635\u0627\u0645" }, void 0, false, { fileName: _jsxFileName, lineNumber: 704, columnNumber: 29 }, this), " \u0644\u0645\u0634\u0631\u0648\u0639\u0643 \u0627\u0644\u0642\u0627\u062F\u0645\u061F"] }, void 0, true, { fileName: _jsxFileName, lineNumber: 703, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-slate-300 text-base", "x-file-name": "App", "x-line-number": "706", "x-column": "14", "x-component": "p", "x-id": "App_706_14", "x-dynamic": "false", children: "\u0646\u0636\u0639 \u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u062C\u0648\u062F\u0629 \u0648\u0627\u0644\u0627\u0644\u062A\u0632\u0627\u0645 \u0641\u064A \u0635\u062F\u0627\u0631\u0629 \u0623\u0648\u0644\u0648\u064A\u0627\u062A\u0646\u0627 \u0644\u0646\u0643\u0648\u0646 \u0634\u0631\u064A\u0643 \u0627\u0644\u0646\u062C\u0627\u062D \u0627\u0644\u0645\u0641\u0636\u0644 \u0644\u0643\u0628\u0631\u0649 \u0627\u0644\u062C\u0647\u0627\u062A." }, void 0, false, { fileName: _jsxFileName, lineNumber: 706, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 699, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8", "x-file-name": "App", "x-line-number": "711", "x-column": "12", "x-component": "div", "x-id": "App_711_12", "x-dynamic": "true", "x-source-type": "computed", "x-source-editable": "false", children: whyChooseUs.map((item, idx) => /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "bg-[#0F172A] border border-[#D4AF37]/20 rounded-2xl p-6 text-center space-y-4 hover:border-[#D4AF37] transition-all", "x-file-name": "App", "x-line-number": "713", "x-column": "16", "x-component": "div", "x-id": "App_713_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "w-12 h-12 rounded-full bg-[#D4AF37]/10 border border-[#D4AF37]/30 flex items-center justify-center mx-auto text-[#D4AF37] font-black text-lg", "x-file-name": "App", "x-line-number": "714", "x-column": "18", "x-component": "div", "x-id": "App_714_18", "x-dynamic": "true", "x-source-type": "computed", "x-source-editable": "false", children: ["0", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { "data-ve-dynamic": "true", "x-excluded": "true", style: { display: "contents" }, "x-file-name": "App", "x-line-number": "714", "x-column": "18", "x-component": "div", "x-id": "App_714_18_expr1", "x-dynamic": "true", "x-source-type": "computed", "x-source-editable": "false", children: idx + 1 }, void 0, false)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 714, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h3", { className: "text-lg font-bold text-white", "x-file-name": "App", "x-line-number": "717", "x-column": "18", "x-component": "h3", "x-id": "App_717_18", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "whyChooseUs", "x-source-file-abs": "/app/frontend/src/App.js", "x-source-line": "210", "x-source-path": "title", "x-source-editable": "true", "x-array-var": "whyChooseUs", "x-array-line": "210", "x-array-item-param": "item", children: item.title }, void 0, false, { fileName: _jsxFileName, lineNumber: 717, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-slate-300 text-xs leading-relaxed", "x-file-name": "App", "x-line-number": "718", "x-column": "18", "x-component": "p", "x-id": "App_718_18", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "whyChooseUs", "x-source-file-abs": "/app/frontend/src/App.js", "x-source-line": "210", "x-source-path": "desc", "x-source-editable": "true", "x-array-var": "whyChooseUs", "x-array-line": "210", "x-array-item-param": "item", children: item.desc }, void 0, false, { fileName: _jsxFileName, lineNumber: 718, columnNumber: 19 }, this)] }, idx, true, { fileName: _jsxFileName, lineNumber: 713, columnNumber: 17 }, this)) }, void 0, false, { fileName: _jsxFileName, lineNumber: 711, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "mt-20 pt-16 border-t border-[#D4AF37]/20", "x-file-name": "App", "x-line-number": "724", "x-column": "12", "x-component": "div", "x-id": "App_724_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "text-center mb-12", "x-file-name": "App", "x-line-number": "725", "x-column": "14", "x-component": "div", "x-id": "App_725_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h3", { className: "text-2xl font-bold text-white mb-2", "x-file-name": "App", "x-line-number": "726", "x-column": "16", "x-component": "h3", "x-id": "App_726_16", "x-dynamic": "false", children: "\u0627\u0644\u0634\u0647\u0627\u062F\u0627\u062A\u060C \u0627\u0644\u062A\u0631\u0627\u062E\u064A\u0635 \u0648\u0627\u0644\u0627\u0639\u062A\u0645\u0627\u062F\u0627\u062A \u0627\u0644\u0631\u0633\u0645\u064A\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 726, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-slate-400 text-sm", "x-file-name": "App", "x-line-number": "727", "x-column": "16", "x-component": "p", "x-id": "App_727_16", "x-dynamic": "false", children: "\u0646\u0639\u0645\u0644 \u0648\u0641\u0642 \u0623\u0639\u0644\u0649 \u0627\u0644\u062A\u0631\u0627\u062E\u064A\u0635 \u0627\u0644\u0646\u0638\u0627\u0645\u064A\u0629 \u0648\u0627\u0644\u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u062D\u0643\u0648\u0645\u064A\u0629 \u0627\u0644\u0645\u0639\u062A\u0645\u062F\u0629 \u0641\u064A \u0645\u0635\u0631." }, void 0, false, { fileName: _jsxFileName, lineNumber: 727, columnNumber: 17 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 725, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6", "x-file-name": "App", "x-line-number": "730", "x-column": "14", "x-component": "div", "x-id": "App_730_14", "x-dynamic": "true", "x-source-type": "computed", "x-source-editable": "false", children: licenses.map((lic, index) => /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "bg-[#070B19] border border-white/10 p-5 rounded-xl flex items-center gap-4", "x-file-name": "App", "x-line-number": "732", "x-column": "18", "x-component": "div", "x-id": "App_732_18", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_15__["default"], { className: "w-8 h-8 text-[#D4AF37] shrink-0", "x-file-name": "App", "x-line-number": "733", "x-column": "20", "x-component": "ShieldCheck", "x-id": "App_733_20", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "licenses", "x-source-file-abs": "/app/frontend/src/App.js", "x-source-line": "229", "x-source-editable": "true", "x-array-var": "licenses", "x-array-line": "229", "x-array-item-param": "lic" }, void 0, false, { fileName: _jsxFileName, lineNumber: 733, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { "x-file-name": "App", "x-line-number": "734", "x-column": "20", "x-component": "div", "x-id": "App_734_20", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h4", { className: "font-bold text-white text-sm", "x-file-name": "App", "x-line-number": "735", "x-column": "22", "x-component": "h4", "x-id": "App_735_22", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "licenses", "x-source-file-abs": "/app/frontend/src/App.js", "x-source-line": "229", "x-source-path": "title", "x-source-editable": "true", "x-array-var": "licenses", "x-array-line": "229", "x-array-item-param": "lic", children: lic.title }, void 0, false, { fileName: _jsxFileName, lineNumber: 735, columnNumber: 23 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-xs text-slate-400 mt-0.5", "x-file-name": "App", "x-line-number": "736", "x-column": "22", "x-component": "p", "x-id": "App_736_22", "x-dynamic": "true", "x-source-type": "static-imported", "x-source-var": "licenses", "x-source-file-abs": "/app/frontend/src/App.js", "x-source-line": "229", "x-source-path": "desc", "x-source-editable": "true", "x-array-var": "licenses", "x-array-line": "229", "x-array-item-param": "lic", children: lic.desc }, void 0, false, { fileName: _jsxFileName, lineNumber: 736, columnNumber: 23 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 734, columnNumber: 21 }, this)] }, index, true, { fileName: _jsxFileName, lineNumber: 732, columnNumber: 19 }, this)) }, void 0, false, { fileName: _jsxFileName, lineNumber: 730, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 724, columnNumber: 13 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 697, columnNumber: 11 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 696, columnNumber: 9 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("section", { id: "quote", className: "py-24 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", "x-file-name": "App", "x-line-number": "747", "x-column": "8", "x-component": "section", "x-id": "App_747_8", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "bg-gradient-to-br from-[#0F172A] to-[#0B132B] border border-[#D4AF37]/30 rounded-3xl p-8 lg:p-16 shadow-2xl relative overflow-hidden", "x-file-name": "App", "x-line-number": "748", "x-column": "10", "x-component": "div", "x-id": "App_748_10", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "absolute top-0 left-0 w-96 h-96 bg-[#D4AF37]/10 rounded-full blur-3xl pointer-events-none", "x-file-name": "App", "x-line-number": "751", "x-column": "12", "x-component": "div", "x-id": "App_751_12", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 751, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "max-w-3xl mx-auto text-center mb-12 space-y-4", "x-file-name": "App", "x-line-number": "753", "x-column": "12", "x-component": "div", "x-id": "App_753_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "inline-flex items-center gap-2 px-3.5 py-1.5 rounded-full bg-[#D4AF37]/10 border border-[#D4AF37]/30", "x-file-name": "App", "x-line-number": "754", "x-column": "14", "x-component": "div", "x-id": "App_754_14", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-xs font-bold text-[#D4AF37] uppercase tracking-wider", "x-file-name": "App", "x-line-number": "755", "x-column": "16", "x-component": "span", "x-id": "App_755_16", "x-dynamic": "false", children: "\u0627\u0628\u062F\u0623 \u0645\u0634\u0631\u0648\u0639\u0643 \u0627\u0644\u064A\u0648\u0645" }, void 0, false, { fileName: _jsxFileName, lineNumber: 755, columnNumber: 17 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 754, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h2", { className: "text-3xl sm:text-4xl lg:text-5xl font-black text-white", "x-file-name": "App", "x-line-number": "757", "x-column": "14", "x-component": "h2", "x-id": "App_757_14", "x-dynamic": "false", children: ["\u0637\u0644\u0628 ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-[#D4AF37]", "x-file-name": "App", "x-line-number": "758", "x-column": "20", "x-component": "span", "x-id": "App_758_20", "x-dynamic": "false", children: "\u0639\u0631\u0636 \u0633\u0639\u0631" }, void 0, false, { fileName: _jsxFileName, lineNumber: 758, columnNumber: 21 }, this), " \u062A\u0641\u0627\u0639\u0644\u064A"] }, void 0, true, { fileName: _jsxFileName, lineNumber: 757, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-slate-300 text-base", "x-file-name": "App", "x-line-number": "760", "x-column": "14", "x-component": "p", "x-id": "App_760_14", "x-dynamic": "false", children: "\u0627\u0645\u0644\u0623 \u0627\u0644\u0646\u0645\u0648\u0630\u062C \u0623\u062F\u0646\u0627\u0647 \u0628\u062A\u0641\u0627\u0635\u064A\u0644 \u0645\u0634\u0631\u0648\u0639\u0643 \u0648\u0633\u064A\u0642\u0648\u0645 \u0641\u0631\u064A\u0642\u0646\u0627 \u0627\u0644\u0647\u0646\u062F\u0633\u064A \u0628\u062F\u0631\u0627\u0633\u062A\u0647 \u0648\u062A\u0642\u062F\u064A\u0645 \u0639\u0631\u0636 \u0633\u0639\u0631 \u0634\u0627\u0645\u0644 \u0641\u064A \u0623\u0633\u0631\u0639 \u0648\u0642\u062A." }, void 0, false, { fileName: _jsxFileName, lineNumber: 760, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 753, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("form", { onSubmit: handleQuoteSubmit, className: "space-y-6 max-w-4xl mx-auto", "x-file-name": "App", "x-line-number": "765", "x-column": "12", "x-component": "form", "x-id": "App_765_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", "x-file-name": "App", "x-line-number": "766", "x-column": "14", "x-component": "div", "x-id": "App_766_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "space-y-2", "x-file-name": "App", "x-line-number": "768", "x-column": "16", "x-component": "div", "x-id": "App_768_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("label", { className: "block text-sm font-semibold text-slate-200", "x-file-name": "App", "x-line-number": "769", "x-column": "18", "x-component": "label", "x-id": "App_769_18", "x-dynamic": "false", children: ["\u0627\u0644\u0627\u0633\u0645 \u0627\u0644\u0643\u0627\u0645\u0644 ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-[#D4AF37]", "x-file-name": "App", "x-line-number": "769", "x-column": "93", "x-component": "span", "x-id": "App_769_93", "x-dynamic": "false", children: "*" }, void 0, false, { fileName: _jsxFileName, lineNumber: 769, columnNumber: 94 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 769, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("input", { type: "text", value: quoteForm.fullName, onChange: e => setQuoteForm({ ...quoteForm, fullName: e.target.value }), placeholder: "\u0645\u062B\u0627\u0644: \u0645. \u0641\u0647\u062F \u0627\u0644\u0639\u0635\u064A\u0645\u064A", className: "w-full bg-[#070B19] border border-white/10 rounded-xl px-4 py-3 text-white text-sm focus:outline-none focus:border-[#D4AF37] transition-colors", required: true, "data-testid": "quote-input-fullname", "x-file-name": "App", "x-line-number": "770", "x-column": "18", "x-component": "input", "x-id": "App_770_18", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 770, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 768, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "space-y-2", "x-file-name": "App", "x-line-number": "781", "x-column": "16", "x-component": "div", "x-id": "App_781_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("label", { className: "block text-sm font-semibold text-slate-200", "x-file-name": "App", "x-line-number": "782", "x-column": "18", "x-component": "label", "x-id": "App_782_18", "x-dynamic": "false", children: "\u0627\u0633\u0645 \u0627\u0644\u0634\u0631\u0643\u0629 / \u0627\u0644\u062C\u0647\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 782, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("input", { type: "text", value: quoteForm.companyName, onChange: e => setQuoteForm({ ...quoteForm, companyName: e.target.value }), placeholder: "\u0645\u062B\u0627\u0644: \u0634\u0631\u0643\u0629 \u0627\u0644\u062A\u0637\u0648\u064A\u0631 \u0627\u0644\u0639\u0642\u0627\u0631\u064A \u0627\u0644\u0645\u062A\u0642\u062F\u0645\u0629", className: "w-full bg-[#070B19] border border-white/10 rounded-xl px-4 py-3 text-white text-sm focus:outline-none focus:border-[#D4AF37] transition-colors", "data-testid": "quote-input-company", "x-file-name": "App", "x-line-number": "783", "x-column": "18", "x-component": "input", "x-id": "App_783_18", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 783, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 781, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "space-y-2", "x-file-name": "App", "x-line-number": "793", "x-column": "16", "x-component": "div", "x-id": "App_793_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("label", { className: "block text-sm font-semibold text-slate-200", "x-file-name": "App", "x-line-number": "794", "x-column": "18", "x-component": "label", "x-id": "App_794_18", "x-dynamic": "false", children: ["\u0631\u0642\u0645 \u0627\u0644\u062C\u0648\u0627\u0644 ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-[#D4AF37]", "x-file-name": "App", "x-line-number": "794", "x-column": "91", "x-component": "span", "x-id": "App_794_91", "x-dynamic": "false", children: "*" }, void 0, false, { fileName: _jsxFileName, lineNumber: 794, columnNumber: 92 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 794, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("input", { type: "tel", value: quoteForm.phone, onChange: e => setQuoteForm({ ...quoteForm, phone: e.target.value }), placeholder: "0500000000", className: "w-full bg-[#070B19] border border-white/10 rounded-xl px-4 py-3 text-white text-sm focus:outline-none focus:border-[#D4AF37] transition-colors", required: true, "data-testid": "quote-input-phone", "x-file-name": "App", "x-line-number": "795", "x-column": "18", "x-component": "input", "x-id": "App_795_18", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 795, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 793, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "space-y-2", "x-file-name": "App", "x-line-number": "806", "x-column": "16", "x-component": "div", "x-id": "App_806_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("label", { className: "block text-sm font-semibold text-slate-200", "x-file-name": "App", "x-line-number": "807", "x-column": "18", "x-component": "label", "x-id": "App_807_18", "x-dynamic": "false", children: "\u0627\u0644\u0628\u0631\u064A\u062F \u0627\u0644\u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A" }, void 0, false, { fileName: _jsxFileName, lineNumber: 807, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("input", { type: "email", value: quoteForm.email, onChange: e => setQuoteForm({ ...quoteForm, email: e.target.value }), placeholder: "name@company.com", className: "w-full bg-[#070B19] border border-white/10 rounded-xl px-4 py-3 text-white text-sm focus:outline-none focus:border-[#D4AF37] transition-colors", "data-testid": "quote-input-email", "x-file-name": "App", "x-line-number": "808", "x-column": "18", "x-component": "input", "x-id": "App_808_18", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 808, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 806, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "space-y-2", "x-file-name": "App", "x-line-number": "818", "x-column": "16", "x-component": "div", "x-id": "App_818_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("label", { className: "block text-sm font-semibold text-slate-200", "x-file-name": "App", "x-line-number": "819", "x-column": "18", "x-component": "label", "x-id": "App_819_18", "x-dynamic": "false", children: "\u0646\u0648\u0639 \u0627\u0644\u062E\u062F\u0645\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 819, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("select", { value: quoteForm.serviceType, onChange: e => setQuoteForm({ ...quoteForm, serviceType: e.target.value }), className: "w-full bg-[#070B19] border border-white/10 rounded-xl px-4 py-3 text-white text-sm focus:outline-none focus:border-[#D4AF37] transition-colors", "data-testid": "quote-select-service", "x-file-name": "App", "x-line-number": "820", "x-column": "18", "x-component": "select", "x-id": "App_820_18", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("option", { value: "\u0645\u0642\u0627\u0648\u0644\u0627\u062A \u0639\u0627\u0645\u0629", "x-file-name": "App", "x-line-number": "826", "x-column": "20", "x-component": "option", "x-id": "App_826_20", "x-dynamic": "false", children: "\u0645\u0642\u0627\u0648\u0644\u0627\u062A \u0639\u0627\u0645\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 826, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("option", { value: "\u062A\u0637\u0648\u064A\u0631 \u0639\u0642\u0627\u0631\u064A", "x-file-name": "App", "x-line-number": "827", "x-column": "20", "x-component": "option", "x-id": "App_827_20", "x-dynamic": "false", children: "\u062A\u0637\u0648\u064A\u0631 \u0639\u0642\u0627\u0631\u064A" }, void 0, false, { fileName: _jsxFileName, lineNumber: 827, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("option", { value: "\u062A\u0635\u0645\u064A\u0645 \u0648\u0625\u0634\u0631\u0627\u0641 \u0647\u0646\u062F\u0633\u064A", "x-file-name": "App", "x-line-number": "828", "x-column": "20", "x-component": "option", "x-id": "App_828_20", "x-dynamic": "false", children: "\u062A\u0635\u0645\u064A\u0645 \u0648\u0625\u0634\u0631\u0627\u0641 \u0647\u0646\u062F\u0633\u064A" }, void 0, false, { fileName: _jsxFileName, lineNumber: 828, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("option", { value: "\u0628\u0646\u0627\u0621 \u0648\u062A\u0634\u0637\u064A\u0628", "x-file-name": "App", "x-line-number": "829", "x-column": "20", "x-component": "option", "x-id": "App_829_20", "x-dynamic": "false", children: "\u0628\u0646\u0627\u0621 \u0648\u062A\u0634\u0637\u064A\u0628 \u0627\u0644\u0645\u0634\u0627\u0631\u064A\u0639" }, void 0, false, { fileName: _jsxFileName, lineNumber: 829, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("option", { value: "\u0623\u0639\u0645\u0627\u0644 \u0635\u064A\u0627\u0646\u0629 \u0648\u062A\u0623\u0647\u064A\u0644", "x-file-name": "App", "x-line-number": "830", "x-column": "20", "x-component": "option", "x-id": "App_830_20", "x-dynamic": "false", children: "\u0623\u0639\u0645\u0627\u0644 \u0635\u064A\u0627\u0646\u0629 \u0648\u062A\u0623\u0647\u064A\u0644" }, void 0, false, { fileName: _jsxFileName, lineNumber: 830, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("option", { value: "\u0625\u062F\u0627\u0631\u0629 \u0645\u0634\u0627\u0631\u064A\u0639 PMO", "x-file-name": "App", "x-line-number": "831", "x-column": "20", "x-component": "option", "x-id": "App_831_20", "x-dynamic": "false", children: "\u0625\u062F\u0627\u0631\u0629 \u0645\u0634\u0627\u0631\u064A\u0639 PMO" }, void 0, false, { fileName: _jsxFileName, lineNumber: 831, columnNumber: 21 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 820, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 818, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "space-y-2", "x-file-name": "App", "x-line-number": "835", "x-column": "16", "x-component": "div", "x-id": "App_835_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("label", { className: "block text-sm font-semibold text-slate-200", "x-file-name": "App", "x-line-number": "836", "x-column": "18", "x-component": "label", "x-id": "App_836_18", "x-dynamic": "false", children: "\u0645\u062F\u064A\u0646\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639" }, void 0, false, { fileName: _jsxFileName, lineNumber: 836, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("select", { value: quoteForm.city, onChange: e => setQuoteForm({ ...quoteForm, city: e.target.value }), className: "w-full bg-[#070B19] border border-white/10 rounded-xl px-4 py-3 text-white text-sm focus:outline-none focus:border-[#D4AF37] transition-colors", "data-testid": "quote-select-city", "x-file-name": "App", "x-line-number": "837", "x-column": "18", "x-component": "select", "x-id": "App_837_18", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("option", { value: "\u0627\u0644\u0642\u0627\u0647\u0631\u0629", "x-file-name": "App", "x-line-number": "843", "x-column": "20", "x-component": "option", "x-id": "App_843_20", "x-dynamic": "false", children: "\u0627\u0644\u0642\u0627\u0647\u0631\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 843, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("option", { value: "\u0627\u0644\u062C\u064A\u0632\u0629", "x-file-name": "App", "x-line-number": "844", "x-column": "20", "x-component": "option", "x-id": "App_844_20", "x-dynamic": "false", children: "\u0627\u0644\u062C\u064A\u0632\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 844, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("option", { value: "\u0627\u0644\u0642\u0627\u0647\u0631\u0629 \u0627\u0644\u062C\u062F\u064A\u062F\u0629", "x-file-name": "App", "x-line-number": "845", "x-column": "20", "x-component": "option", "x-id": "App_845_20", "x-dynamic": "false", children: "\u0627\u0644\u0642\u0627\u0647\u0631\u0629 \u0627\u0644\u062C\u062F\u064A\u062F\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 845, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("option", { value: "\u0645\u062F\u064A\u0646\u0629 \u0627\u0644\u0633\u0627\u062F\u0633 \u0645\u0646 \u0623\u0643\u062A\u0648\u0628\u0631", "x-file-name": "App", "x-line-number": "846", "x-column": "20", "x-component": "option", "x-id": "App_846_20", "x-dynamic": "false", children: "\u0645\u062F\u064A\u0646\u0629 \u0627\u0644\u0633\u0627\u062F\u0633 \u0645\u0646 \u0623\u0643\u062A\u0648\u0628\u0631" }, void 0, false, { fileName: _jsxFileName, lineNumber: 846, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("option", { value: "\u0627\u0644\u0625\u0633\u0643\u0646\u062F\u0631\u064A\u0629", "x-file-name": "App", "x-line-number": "847", "x-column": "20", "x-component": "option", "x-id": "App_847_20", "x-dynamic": "false", children: "\u0627\u0644\u0625\u0633\u0643\u0646\u062F\u0631\u064A\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 847, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("option", { value: "\u0645\u062F\u064A\u0646\u0629 \u0623\u062E\u0631\u0649", "x-file-name": "App", "x-line-number": "848", "x-column": "20", "x-component": "option", "x-id": "App_848_20", "x-dynamic": "false", children: "\u0645\u062F\u064A\u0646\u0629 \u0623\u062E\u0631\u0649 \u0641\u064A \u0645\u0635\u0631" }, void 0, false, { fileName: _jsxFileName, lineNumber: 848, columnNumber: 21 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 837, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 835, columnNumber: 17 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 766, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "space-y-2", "x-file-name": "App", "x-line-number": "854", "x-column": "14", "x-component": "div", "x-id": "App_854_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("label", { className: "block text-sm font-semibold text-slate-200", "x-file-name": "App", "x-line-number": "855", "x-column": "16", "x-component": "label", "x-id": "App_855_16", "x-dynamic": "false", children: ["\u0648\u0635\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0648\u0646\u0637\u0627\u0642 \u0627\u0644\u0639\u0645\u0644 ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-[#D4AF37]", "x-file-name": "App", "x-line-number": "855", "x-column": "102", "x-component": "span", "x-id": "App_855_102", "x-dynamic": "false", children: "*" }, void 0, false, { fileName: _jsxFileName, lineNumber: 855, columnNumber: 103 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 855, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("textarea", { rows: "4", value: quoteForm.projectScope, onChange: e => setQuoteForm({ ...quoteForm, projectScope: e.target.value }), placeholder: "\u0627\u0643\u062A\u0628 \u062A\u0641\u0627\u0635\u064A\u0644 \u0648\u0645\u0633\u0627\u062D\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0648\u0627\u0644\u0645\u0648\u0627\u0635\u0641\u0627\u062A \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629...", className: "w-full bg-[#070B19] border border-white/10 rounded-xl px-4 py-3 text-white text-sm focus:outline-none focus:border-[#D4AF37] transition-colors", required: true, "data-testid": "quote-textarea-scope", "x-file-name": "App", "x-line-number": "856", "x-column": "16", "x-component": "textarea", "x-id": "App_856_16", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 856, columnNumber: 17 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 854, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "text-center pt-4", "x-file-name": "App", "x-line-number": "867", "x-column": "14", "x-component": "div", "x-id": "App_867_14", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("button", { type: "submit", disabled: isSubmitting, className: "px-10 py-4 rounded-full bg-gradient-to-r from-[#D4AF37] to-[#B89728] text-black font-extrabold text-base shadow-xl shadow-[#D4AF37]/30 hover:scale-105 active:scale-95 transition-all flex items-center justify-center gap-3 mx-auto disabled:opacity-50", "data-testid": "quote-submit-btn", "x-file-name": "App", "x-line-number": "868", "x-column": "16", "x-component": "button", "x-id": "App_868_16", "x-dynamic": "true", "x-source-type": "computed", "x-source-editable": "false", children: isSubmitting ? 'جاري الإرسال...' : /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.Fragment, { children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_14__["default"], { className: "w-5 h-5", "x-file-name": "App", "x-line-number": "876", "x-column": "22", "x-component": "Send", "x-id": "App_876_22", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 876, columnNumber: 23 }, this), " \u0625\u0631\u0633\u0627\u0644 \u0637\u0644\u0628 \u0639\u0631\u0636 \u0627\u0644\u0633\u0639\u0631 \u0627\u0644\u0622\u0646"] }, void 0, true) }, void 0, false, { fileName: _jsxFileName, lineNumber: 868, columnNumber: 17 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 867, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 765, columnNumber: 13 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 748, columnNumber: 11 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 747, columnNumber: 9 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 380, columnNumber: 7 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("footer", { id: "contact", className: "bg-[#0B132B] border-t border-[#D4AF37]/20 pt-20 pb-12", "data-testid": "main-footer", "x-file-name": "App", "x-line-number": "890", "x-column": "6", "x-component": "footer", "x-id": "App_890_6", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", "x-file-name": "App", "x-line-number": "891", "x-column": "8", "x-component": "div", "x-id": "App_891_8", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-12 mb-16", "x-file-name": "App", "x-line-number": "892", "x-column": "10", "x-component": "div", "x-id": "App_892_10", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "space-y-6", "x-file-name": "App", "x-line-number": "895", "x-column": "12", "x-component": "div", "x-id": "App_895_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "flex items-center gap-3", "x-file-name": "App", "x-line-number": "896", "x-column": "14", "x-component": "div", "x-id": "App_896_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("img", { src: "https://customer-assets-jai6qajn.emergentagent.net/job_essam-construction/artifacts/c9ulxe0a_272839186_490386269095095_74041079543597085_n.jpg", alt: "\u0634\u0639\u0627\u0631 \u0634\u0631\u0643\u0629 \u0622\u0644 \u0639\u0635\u0627\u0645", className: "w-11 h-11 rounded-full object-cover bg-white ring-1 ring-[#D4AF37]/50", "data-testid": "footer-company-logo", "x-file-name": "App", "x-line-number": "897", "x-column": "16", "x-component": "img", "x-id": "App_897_16", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 897, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { "x-file-name": "App", "x-line-number": "903", "x-column": "16", "x-component": "div", "x-id": "App_903_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-lg font-black text-white block leading-tight", "x-file-name": "App", "x-line-number": "904", "x-column": "18", "x-component": "span", "x-id": "App_904_18", "x-dynamic": "false", children: "\u0622\u0644 \u0639\u0635\u0627\u0645" }, void 0, false, { fileName: _jsxFileName, lineNumber: 904, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "text-[9px] uppercase tracking-[0.2em] text-[#D4AF37] font-semibold block", "x-file-name": "App", "x-line-number": "905", "x-column": "18", "x-component": "span", "x-id": "App_905_18", "x-dynamic": "false", children: "\u0644\u0644\u0645\u0642\u0627\u0648\u0644\u0627\u062A \u0648\u0627\u0644\u062A\u0637\u0648\u064A\u0631 \u0627\u0644\u0639\u0642\u0627\u0631\u064A" }, void 0, false, { fileName: _jsxFileName, lineNumber: 905, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 903, columnNumber: 17 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 896, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { className: "text-slate-400 text-xs leading-relaxed", "x-file-name": "App", "x-line-number": "908", "x-column": "14", "x-component": "p", "x-id": "App_908_14", "x-dynamic": "false", children: "\u0634\u0631\u0643\u0629 \u0645\u0635\u0631\u064A\u0629 \u0631\u0627\u0626\u062F\u0629 \u0641\u064A \u0627\u0644\u0645\u0642\u0627\u0648\u0644\u0627\u062A \u0627\u0644\u0639\u0627\u0645\u0629 \u0648\u0627\u0644\u062A\u0637\u0648\u064A\u0631 \u0627\u0644\u0639\u0642\u0627\u0631\u064A. \u0646\u0628\u0646\u064A \u0628\u0623\u0633\u0633 \u0647\u0646\u062F\u0633\u064A\u0629 \u0645\u062A\u064A\u0646\u0629 \u0648\u0627\u0644\u062A\u0632\u0627\u0645 \u062A\u0627\u0645 \u0628\u0623\u0639\u0644\u0649 \u0645\u0639\u0627\u064A\u064A\u0631 \u0627\u0644\u062C\u0648\u062F\u0629 \u0627\u0644\u0639\u0627\u0644\u0645\u064A\u0629." }, void 0, false, { fileName: _jsxFileName, lineNumber: 908, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "flex items-center gap-3 text-slate-300 text-xs", "x-file-name": "App", "x-line-number": "911", "x-column": "14", "x-component": "div", "x-id": "App_911_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "px-2.5 py-1 rounded-md bg-[#070B19] border border-white/10", "x-file-name": "App", "x-line-number": "912", "x-column": "16", "x-component": "span", "x-id": "App_912_16", "x-dynamic": "false", children: "\u062A\u0635\u0646\u064A\u0641 \u0623\u0648\u0644" }, void 0, false, { fileName: _jsxFileName, lineNumber: 912, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "px-2.5 py-1 rounded-md bg-[#070B19] border border-white/10", "x-file-name": "App", "x-line-number": "913", "x-column": "16", "x-component": "span", "x-id": "App_913_16", "x-dynamic": "false", children: "\u0645\u0639\u062A\u0645\u062F ISO" }, void 0, false, { fileName: _jsxFileName, lineNumber: 913, columnNumber: 17 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 911, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 895, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "space-y-4", "x-file-name": "App", "x-line-number": "918", "x-column": "12", "x-component": "div", "x-id": "App_918_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h4", { className: "text-white font-bold text-base border-r-2 border-[#D4AF37] pr-3", "x-file-name": "App", "x-line-number": "919", "x-column": "14", "x-component": "h4", "x-id": "App_919_14", "x-dynamic": "false", children: "\u0631\u0648\u0627\u0628\u0637 \u0633\u0631\u064A\u0639\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 919, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("ul", { className: "space-y-2.5 text-sm text-slate-300", "x-file-name": "App", "x-line-number": "920", "x-column": "14", "x-component": "ul", "x-id": "App_920_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { "x-file-name": "App", "x-line-number": "921", "x-column": "16", "x-component": "li", "x-id": "App_921_16", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#home", className: "hover:text-[#D4AF37] transition-colors", "x-file-name": "App", "x-line-number": "921", "x-column": "20", "x-component": "a", "x-id": "App_921_20", "x-dynamic": "false", children: "\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 921, columnNumber: 21 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 921, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { "x-file-name": "App", "x-line-number": "922", "x-column": "16", "x-component": "li", "x-id": "App_922_16", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#about", className: "hover:text-[#D4AF37] transition-colors", "x-file-name": "App", "x-line-number": "922", "x-column": "20", "x-component": "a", "x-id": "App_922_20", "x-dynamic": "false", children: "\u0645\u0646 \u0646\u062D\u0646 \u0648\u0627\u0644\u0631\u0633\u0627\u0644\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 922, columnNumber: 21 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 922, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { "x-file-name": "App", "x-line-number": "923", "x-column": "16", "x-component": "li", "x-id": "App_923_16", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#services", className: "hover:text-[#D4AF37] transition-colors", "x-file-name": "App", "x-line-number": "923", "x-column": "20", "x-component": "a", "x-id": "App_923_20", "x-dynamic": "false", children: "\u062E\u062F\u0645\u0627\u062A\u0646\u0627 \u0627\u0644\u0647\u0646\u062F\u0633\u064A\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 923, columnNumber: 21 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 923, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { "x-file-name": "App", "x-line-number": "924", "x-column": "16", "x-component": "li", "x-id": "App_924_16", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#projects", className: "hover:text-[#D4AF37] transition-colors", "x-file-name": "App", "x-line-number": "924", "x-column": "20", "x-component": "a", "x-id": "App_924_20", "x-dynamic": "false", children: "\u0627\u0644\u0645\u0634\u0627\u0631\u064A\u0639 \u0648\u0633\u0627\u0628\u0642\u0629 \u0627\u0644\u0623\u0639\u0645\u0627\u0644" }, void 0, false, { fileName: _jsxFileName, lineNumber: 924, columnNumber: 21 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 924, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { "x-file-name": "App", "x-line-number": "925", "x-column": "16", "x-component": "li", "x-id": "App_925_16", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "#quote", className: "hover:text-[#D4AF37] transition-colors", "x-file-name": "App", "x-line-number": "925", "x-column": "20", "x-component": "a", "x-id": "App_925_20", "x-dynamic": "false", children: "\u0637\u0644\u0628 \u0639\u0631\u0636 \u0633\u0639\u0631" }, void 0, false, { fileName: _jsxFileName, lineNumber: 925, columnNumber: 21 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 925, columnNumber: 17 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 920, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 918, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "space-y-4", "x-file-name": "App", "x-line-number": "930", "x-column": "12", "x-component": "div", "x-id": "App_930_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h4", { className: "text-white font-bold text-base border-r-2 border-[#D4AF37] pr-3", "x-file-name": "App", "x-line-number": "931", "x-column": "14", "x-component": "h4", "x-id": "App_931_14", "x-dynamic": "false", children: "\u062E\u062F\u0645\u0627\u062A\u0646\u0627 \u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 931, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("ul", { className: "space-y-2.5 text-sm text-slate-300", "x-file-name": "App", "x-line-number": "932", "x-column": "14", "x-component": "ul", "x-id": "App_932_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { "x-file-name": "App", "x-line-number": "933", "x-column": "16", "x-component": "li", "x-id": "App_933_16", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "hover:text-[#D4AF37] cursor-pointer", "x-file-name": "App", "x-line-number": "933", "x-column": "20", "x-component": "span", "x-id": "App_933_20", "x-dynamic": "false", children: "\u0627\u0644\u0645\u0642\u0627\u0648\u0644\u0627\u062A \u0627\u0644\u0639\u0627\u0645\u0629 \u0644\u0644\u0645\u0628\u0627\u0646\u064A" }, void 0, false, { fileName: _jsxFileName, lineNumber: 933, columnNumber: 21 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 933, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { "x-file-name": "App", "x-line-number": "934", "x-column": "16", "x-component": "li", "x-id": "App_934_16", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "hover:text-[#D4AF37] cursor-pointer", "x-file-name": "App", "x-line-number": "934", "x-column": "20", "x-component": "span", "x-id": "App_934_20", "x-dynamic": "false", children: "\u0627\u0644\u062A\u0637\u0648\u064A\u0631 \u0627\u0644\u0639\u0642\u0627\u0631\u064A \u0627\u0644\u0645\u0633\u062A\u062F\u0627\u0645" }, void 0, false, { fileName: _jsxFileName, lineNumber: 934, columnNumber: 21 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 934, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { "x-file-name": "App", "x-line-number": "935", "x-column": "16", "x-component": "li", "x-id": "App_935_16", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "hover:text-[#D4AF37] cursor-pointer", "x-file-name": "App", "x-line-number": "935", "x-column": "20", "x-component": "span", "x-id": "App_935_20", "x-dynamic": "false", children: "\u0627\u0644\u062A\u0635\u0645\u064A\u0645 \u0648\u0627\u0644\u0625\u0634\u0631\u0627\u0641 \u0627\u0644\u0647\u0646\u062F\u0633\u064A" }, void 0, false, { fileName: _jsxFileName, lineNumber: 935, columnNumber: 21 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 935, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { "x-file-name": "App", "x-line-number": "936", "x-column": "16", "x-component": "li", "x-id": "App_936_16", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "hover:text-[#D4AF37] cursor-pointer", "x-file-name": "App", "x-line-number": "936", "x-column": "20", "x-component": "span", "x-id": "App_936_20", "x-dynamic": "false", children: "\u0623\u0639\u0645\u0627\u0644 \u0627\u0644\u0628\u0646\u0627\u0621 \u0648\u0627\u0644\u062A\u0634\u0637\u064A\u0628 \u0627\u0644\u0641\u0627\u062E\u0631" }, void 0, false, { fileName: _jsxFileName, lineNumber: 936, columnNumber: 21 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 936, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { "x-file-name": "App", "x-line-number": "937", "x-column": "16", "x-component": "li", "x-id": "App_937_16", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "hover:text-[#D4AF37] cursor-pointer", "x-file-name": "App", "x-line-number": "937", "x-column": "20", "x-component": "span", "x-id": "App_937_20", "x-dynamic": "false", children: "\u0625\u062F\u0627\u0631\u0629 \u0627\u0644\u0645\u0634\u0627\u0631\u064A\u0639 \u0648\u0625\u0634\u0631\u0627\u0641 \u0627\u0644\u0645\u0648\u0627\u0642\u0639" }, void 0, false, { fileName: _jsxFileName, lineNumber: 937, columnNumber: 21 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 937, columnNumber: 17 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 932, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 930, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "space-y-4", "x-file-name": "App", "x-line-number": "942", "x-column": "12", "x-component": "div", "x-id": "App_942_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("h4", { className: "text-white font-bold text-base border-r-2 border-[#D4AF37] pr-3", "x-file-name": "App", "x-line-number": "943", "x-column": "14", "x-component": "h4", "x-id": "App_943_14", "x-dynamic": "false", children: "\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0627\u0644\u062A\u0648\u0627\u0635\u0644" }, void 0, false, { fileName: _jsxFileName, lineNumber: 943, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("ul", { className: "space-y-3 text-sm text-slate-300", "x-file-name": "App", "x-line-number": "944", "x-column": "14", "x-component": "ul", "x-id": "App_944_14", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { className: "flex items-start gap-3", "x-file-name": "App", "x-line-number": "945", "x-column": "16", "x-component": "li", "x-id": "App_945_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_11__["default"], { className: "w-5 h-5 text-[#D4AF37] shrink-0 mt-0.5", "x-file-name": "App", "x-line-number": "946", "x-column": "18", "x-component": "MapPin", "x-id": "App_946_18", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 946, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "https://maps.app.goo.gl/8AM8mV3PJvMNSgHf8", target: "_blank", rel: "noreferrer", className: "hover:text-[#D4AF37] transition-colors", "data-testid": "contact-address-link", "x-file-name": "App", "x-line-number": "947", "x-column": "18", "x-component": "a", "x-id": "App_947_18", "x-dynamic": "false", children: "\u0627\u0644\u0641\u0631\u0639 \u0627\u0644\u0631\u0626\u064A\u0633\u064A \u0644\u0644\u0634\u0631\u0643\u0629: \u0639\u0645\u0627\u0631\u0629 11 \u0628\u0644\u0648\u0643 30\u060C \u0639\u0645\u0627\u0631\u0627\u062A \u0627\u0644\u0646\u0635\u0631\u060C \u0623\u0645\u0627\u0645 \u0627\u0644\u062D\u064A \u0627\u0644\u062B\u0627\u0645\u0646\u060C \u0645\u062F\u064A\u0646\u0629 \u0627\u0644\u0633\u0627\u062F\u0633 \u0645\u0646 \u0623\u0643\u062A\u0648\u0628\u0631 - \u0627\u0644\u062C\u064A\u0632\u0629\u060C \u0645\u0635\u0631 - \u0627\u0644\u0642\u0627\u0647\u0631\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 947, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 945, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { className: "flex items-center gap-3", "x-file-name": "App", "x-line-number": "951", "x-column": "16", "x-component": "li", "x-id": "App_951_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_13__["default"], { className: "w-5 h-5 text-[#D4AF37] shrink-0", "x-file-name": "App", "x-line-number": "952", "x-column": "18", "x-component": "Phone", "x-id": "App_952_18", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 952, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "flex flex-wrap gap-x-2 gap-y-1", "x-file-name": "App", "x-line-number": "953", "x-column": "18", "x-component": "span", "x-id": "App_953_18", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "tel:00238265078", className: "hover:text-[#D4AF37]", "data-testid": "contact-phone-link", "x-file-name": "App", "x-line-number": "954", "x-column": "20", "x-component": "a", "x-id": "App_954_20", "x-dynamic": "false", children: "00238265078" }, void 0, false, { fileName: _jsxFileName, lineNumber: 954, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { "x-file-name": "App", "x-line-number": "955", "x-column": "20", "x-component": "span", "x-id": "App_955_20", "x-dynamic": "false", children: "/" }, void 0, false, { fileName: _jsxFileName, lineNumber: 955, columnNumber: 21 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "tel:01018555961", className: "hover:text-[#D4AF37]", "data-testid": "contact-mobile-link", "x-file-name": "App", "x-line-number": "956", "x-column": "20", "x-component": "a", "x-id": "App_956_20", "x-dynamic": "false", children: "01018555961" }, void 0, false, { fileName: _jsxFileName, lineNumber: 956, columnNumber: 21 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 953, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 951, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { className: "flex items-center gap-3", "x-file-name": "App", "x-line-number": "959", "x-column": "16", "x-component": "li", "x-id": "App_959_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)(lucide_react__WEBPACK_IMPORTED_MODULE_10__["default"], { className: "w-5 h-5 text-[#D4AF37] shrink-0", "x-file-name": "App", "x-line-number": "960", "x-column": "18", "x-component": "Mail", "x-id": "App_960_18", "x-dynamic": "false" }, void 0, false, { fileName: _jsxFileName, lineNumber: 960, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "mailto:info@elessam.com", className: "hover:text-[#D4AF37]", "data-testid": "contact-email-link", "x-file-name": "App", "x-line-number": "961", "x-column": "18", "x-component": "a", "x-id": "App_961_18", "x-dynamic": "false", children: "info@elessam.com" }, void 0, false, { fileName: _jsxFileName, lineNumber: 961, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 959, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { className: "flex items-center gap-3", "x-file-name": "App", "x-line-number": "963", "x-column": "16", "x-component": "li", "x-id": "App_963_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "w-5 h-5 rounded-full border border-[#D4AF37] text-[#D4AF37] flex items-center justify-center text-[10px] font-bold shrink-0", "x-file-name": "App", "x-line-number": "964", "x-column": "18", "x-component": "span", "x-id": "App_964_18", "x-dynamic": "false", children: "W" }, void 0, false, { fileName: _jsxFileName, lineNumber: 964, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "https://www.elessam.com", target: "_blank", rel: "noreferrer", className: "hover:text-[#D4AF37]", "data-testid": "contact-website-link", "x-file-name": "App", "x-line-number": "965", "x-column": "18", "x-component": "a", "x-id": "App_965_18", "x-dynamic": "false", children: "www.elessam.com" }, void 0, false, { fileName: _jsxFileName, lineNumber: 965, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 963, columnNumber: 17 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("li", { className: "flex items-center gap-3", "x-file-name": "App", "x-line-number": "967", "x-column": "16", "x-component": "li", "x-id": "App_967_16", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "w-5 h-5 rounded-full border border-[#D4AF37] text-[#D4AF37] flex items-center justify-center text-[10px] font-bold shrink-0", "x-file-name": "App", "x-line-number": "968", "x-column": "18", "x-component": "span", "x-id": "App_968_18", "x-dynamic": "false", children: "f" }, void 0, false, { fileName: _jsxFileName, lineNumber: 968, columnNumber: 19 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("a", { href: "https://www.facebook.com/alessamrealestate", target: "_blank", rel: "noreferrer", className: "hover:text-[#D4AF37]", "data-testid": "contact-facebook-link", "x-file-name": "App", "x-line-number": "969", "x-column": "18", "x-component": "a", "x-id": "App_969_18", "x-dynamic": "false", children: "\u0641\u064A\u0633\u0628\u0648\u0643: alessamrealestate" }, void 0, false, { fileName: _jsxFileName, lineNumber: 969, columnNumber: 19 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 967, columnNumber: 17 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 944, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 942, columnNumber: 13 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 892, columnNumber: 11 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "pt-8 border-t border-white/10 flex flex-col sm:flex-row items-center justify-between text-xs text-slate-400 gap-4", "x-file-name": "App", "x-line-number": "976", "x-column": "10", "x-component": "div", "x-id": "App_976_10", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("p", { "x-file-name": "App", "x-line-number": "977", "x-column": "12", "x-component": "p", "x-id": "App_977_12", "x-dynamic": "true", "x-source-type": "computed", "x-source-editable": "false", children: ["\u062C\u0645\u064A\u0639 \u0627\u0644\u062D\u0642\u0648\u0642 \u0645\u062D\u0641\u0648\u0638\u0629 \xA9 ", /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { "data-ve-dynamic": "true", "x-excluded": "true", style: { display: "contents" }, "x-file-name": "App", "x-line-number": "977", "x-column": "12", "x-component": "p", "x-id": "App_977_12_expr1", "x-dynamic": "true", "x-source-type": "computed", "x-source-editable": "false", children: new Date().getFullYear() }, void 0, false), " \u0634\u0631\u0643\u0629 \u0622\u0644 \u0639\u0635\u0627\u0645 \u0644\u0644\u0645\u0642\u0627\u0648\u0644\u0627\u062A \u0648\u0627\u0644\u062A\u0637\u0648\u064A\u0631 \u0627\u0644\u0639\u0642\u0627\u0631\u064A."] }, void 0, true, { fileName: _jsxFileName, lineNumber: 977, columnNumber: 13 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("div", { className: "flex items-center gap-6", "x-file-name": "App", "x-line-number": "978", "x-column": "12", "x-component": "div", "x-id": "App_978_12", "x-dynamic": "false", children: [/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "hover:text-slate-200 cursor-pointer", "x-file-name": "App", "x-line-number": "979", "x-column": "14", "x-component": "span", "x-id": "App_979_14", "x-dynamic": "false", children: "\u0633\u064A\u0627\u0633\u0629 \u0627\u0644\u062E\u0635\u0648\u0635\u064A\u0629" }, void 0, false, { fileName: _jsxFileName, lineNumber: 979, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "hover:text-slate-200 cursor-pointer", "x-file-name": "App", "x-line-number": "980", "x-column": "14", "x-component": "span", "x-id": "App_980_14", "x-dynamic": "false", children: "\u0627\u0644\u0634\u0631\u0648\u0637 \u0648\u0627\u0644\u0623\u062D\u0643\u0627\u0645" }, void 0, false, { fileName: _jsxFileName, lineNumber: 980, columnNumber: 15 }, this), /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_18__.jsxDEV)("span", { className: "hover:text-slate-200 cursor-pointer", "x-file-name": "App", "x-line-number": "981", "x-column": "14", "x-component": "span", "x-id": "App_981_14", "x-dynamic": "false", children: "\u0627\u0644\u0627\u0639\u062A\u0645\u0627\u062F\u0627\u062A \u0648\u0627\u0644\u062A\u0631\u0627\u062E\u064A\u0635" }, void 0, false, { fileName: _jsxFileName, lineNumber: 981, columnNumber: 15 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 978, columnNumber: 13 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 976, columnNumber: 11 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 891, columnNumber: 9 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 890, columnNumber: 7 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 237, columnNumber: 5 }, this); } _s(App, "1Nt2y06Jp6BpFRE4msQHSpkoEWs="); _c = App; var _c; __webpack_require__.$Refresh$.register(_c, "App"); const $ReactRefreshModuleId$ = __webpack_require__.$Refresh$.moduleId; const $ReactRefreshCurrentExports$ = __react_refresh_utils__.getModuleExports( $ReactRefreshModuleId$ ); function $ReactRefreshModuleRuntime$(exports) { if (true) { let errorOverlay; if (true) { errorOverlay = false; } let testMode; if (typeof __react_refresh_test__ !== 'undefined') { testMode = __react_refresh_test__; } return __react_refresh_utils__.executeRuntime( exports, $ReactRefreshModuleId$, module.hot, errorOverlay, testMode ); } } if (typeof Promise !== 'undefined' && $ReactRefreshCurrentExports$ instanceof Promise) { $ReactRefreshCurrentExports$.then($ReactRefreshModuleRuntime$); } else { $ReactRefreshModuleRuntime$($ReactRefreshCurrentExports$); } /***/ }, /***/ "./src/index.js" /*!**********************!*\ !*** ./src/index.js ***! \**********************/ (module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ "./node_modules/react-dom/client.js"); /* harmony import */ var _tanstack_react_query__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tanstack/react-query */ "./node_modules/@tanstack/query-core/build/modern/queryClient.js"); /* harmony import */ var _tanstack_react_query__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @tanstack/react-query */ "./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js"); /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/index.css */ "./src/index.css"); /* harmony import */ var _App__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/App */ "./src/App.js"); /* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react/jsx-dev-runtime */ "./node_modules/react/jsx-dev-runtime.js"); /* provided dependency */ var __react_refresh_utils__ = __webpack_require__(/*! ./node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js */ "./node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js"); __webpack_require__.$Refresh$.runtime = __webpack_require__(/*! ./node_modules/react-refresh/runtime.js */ "./node_modules/react-refresh/runtime.js"); var _jsxFileName = "/app/frontend/src/index.js"; const queryClient = new _tanstack_react_query__WEBPACK_IMPORTED_MODULE_2__.QueryClient({ defaultOptions: { queries: { staleTime: 60000, refetchOnWindowFocus: false } } }); const root = react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot(document.getElementById("root")); root.render(/*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxDEV)((react__WEBPACK_IMPORTED_MODULE_0___default().StrictMode), { children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxDEV)(_tanstack_react_query__WEBPACK_IMPORTED_MODULE_3__.QueryClientProvider, { client: queryClient, "x-file-name": "index", "x-line-number": "19", "x-column": "4", "x-component": "QueryClientProvider", "x-id": "index_19_4", "x-dynamic": "false", children: /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxDEV)(_App__WEBPACK_IMPORTED_MODULE_5__["default"], { "x-file-name": "index", "x-line-number": "20", "x-column": "6", "x-component": "App", "x-id": "index_20_6", "x-dynamic": "true" }, void 0, false, { fileName: _jsxFileName, lineNumber: 20, columnNumber: 7 }, undefined) }, void 0, false, { fileName: _jsxFileName, lineNumber: 19, columnNumber: 5 }, undefined) }, void 0, false, { fileName: _jsxFileName, lineNumber: 18, columnNumber: 3 }, undefined)); const $ReactRefreshModuleId$ = __webpack_require__.$Refresh$.moduleId; const $ReactRefreshCurrentExports$ = __react_refresh_utils__.getModuleExports( $ReactRefreshModuleId$ ); function $ReactRefreshModuleRuntime$(exports) { if (true) { let errorOverlay; if (true) { errorOverlay = false; } let testMode; if (typeof __react_refresh_test__ !== 'undefined') { testMode = __react_refresh_test__; } return __react_refresh_utils__.executeRuntime( exports, $ReactRefreshModuleId$, module.hot, errorOverlay, testMode ); } } if (typeof Promise !== 'undefined' && $ReactRefreshCurrentExports$ instanceof Promise) { $ReactRefreshCurrentExports$.then($ReactRefreshModuleRuntime$); } else { $ReactRefreshModuleRuntime$($ReactRefreshCurrentExports$); } /***/ }, /***/ "./node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js" /*!***************************************************************************************!*\ !*** ./node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js ***! \***************************************************************************************/ (module, __unused_webpack_exports, __webpack_require__) { /* global __webpack_require__ */ var Refresh = __webpack_require__(/*! react-refresh/runtime */ "./node_modules/react-refresh/runtime.js"); /** * Extracts exports from a webpack module object. * @param {string} moduleId A Webpack module ID. * @returns {*} An exports object from the module. */ function getModuleExports(moduleId) { if (typeof moduleId === 'undefined') { // `moduleId` is unavailable, which indicates that this module is not in the cache, // which means we won't be able to capture any exports, // and thus they cannot be refreshed safely. // These are likely runtime or dynamically generated modules. return {}; } var maybeModule = __webpack_require__.c[moduleId]; if (typeof maybeModule === 'undefined') { // `moduleId` is available but the module in cache is unavailable, // which indicates the module is somehow corrupted (e.g. broken Webpacak `module` globals). // We will warn the user (as this is likely a mistake) and assume they cannot be refreshed. console.warn('[React Refresh] Failed to get exports for module: ' + moduleId + '.'); return {}; } var exportsOrPromise = maybeModule.exports; if (typeof Promise !== 'undefined' && exportsOrPromise instanceof Promise) { return exportsOrPromise.then(function (exports) { return exports; }); } return exportsOrPromise; } /** * Calculates the signature of a React refresh boundary. * If this signature changes, it's unsafe to accept the boundary. * * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/907d6af22ac6ebe58572be418e9253a90665ecbd/packages/metro/src/lib/polyfills/require.js#L795-L816). * @param {*} moduleExports A Webpack module exports object. * @returns {string[]} A React refresh boundary signature array. */ function getReactRefreshBoundarySignature(moduleExports) { var signature = []; signature.push(Refresh.getFamilyByType(moduleExports)); if (moduleExports == null || typeof moduleExports !== 'object') { // Exit if we can't iterate over exports. return signature; } for (var key in moduleExports) { if (key === '__esModule') { continue; } signature.push(key); signature.push(Refresh.getFamilyByType(moduleExports[key])); } return signature; } /** * Creates a data object to be retained across refreshes. * This object should not transtively reference previous exports, * which can form infinite chain of objects across refreshes, which can pressure RAM. * * @param {*} moduleExports A Webpack module exports object. * @returns {*} A React refresh boundary signature array. */ function getWebpackHotData(moduleExports) { return { signature: getReactRefreshBoundarySignature(moduleExports), isReactRefreshBoundary: isReactRefreshBoundary(moduleExports) }; } /** * Creates a helper that performs a delayed React refresh. * @returns {function(function(): void): void} A debounced React refresh function. */ function createDebounceUpdate() { /** * A cached setTimeout handler. * @type {number | undefined} */ var refreshTimeout; /** * Performs react refresh on a delay and clears the error overlay. * @param {function(): void} callback * @returns {void} */ function enqueueUpdate(callback) { if (typeof refreshTimeout === 'undefined') { refreshTimeout = setTimeout(function () { refreshTimeout = undefined; Refresh.performReactRefresh(); callback(); }, 30); } } return enqueueUpdate; } /** * Checks if all exports are likely a React component. * * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/febdba2383113c88296c61e28e4ef6a7f4939fda/packages/metro/src/lib/polyfills/require.js#L748-L774). * @param {*} moduleExports A Webpack module exports object. * @returns {boolean} Whether the exports are React component like. */ function isReactRefreshBoundary(moduleExports) { if (Refresh.isLikelyComponentType(moduleExports)) { return true; } if (moduleExports === undefined || moduleExports === null || typeof moduleExports !== 'object') { // Exit if we can't iterate over exports. return false; } var hasExports = false; var areAllExportsComponents = true; for (var key in moduleExports) { hasExports = true; // This is the ES Module indicator flag if (key === '__esModule') { continue; } // We can (and have to) safely execute getters here, // as Webpack manually assigns harmony exports to getters, // without any side-effects attached. // Ref: https://github.com/webpack/webpack/blob/b93048643fe74de2a6931755911da1212df55897/lib/MainTemplate.js#L281 var exportValue = moduleExports[key]; if (!Refresh.isLikelyComponentType(exportValue)) { areAllExportsComponents = false; } } return hasExports && areAllExportsComponents; } /** * Checks if exports are likely a React component and registers them. * * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/febdba2383113c88296c61e28e4ef6a7f4939fda/packages/metro/src/lib/polyfills/require.js#L818-L835). * @param {*} moduleExports A Webpack module exports object. * @param {string} moduleId A Webpack module ID. * @returns {void} */ function registerExportsForReactRefresh(moduleExports, moduleId) { if (Refresh.isLikelyComponentType(moduleExports)) { // Register module.exports if it is likely a component Refresh.register(moduleExports, moduleId + ' %exports%'); } if (moduleExports === undefined || moduleExports === null || typeof moduleExports !== 'object') { // Exit if we can't iterate over the exports. return; } for (var key in moduleExports) { // Skip registering the ES Module indicator if (key === '__esModule') { continue; } var exportValue = moduleExports[key]; if (Refresh.isLikelyComponentType(exportValue)) { var typeID = moduleId + ' %exports% ' + key; Refresh.register(exportValue, typeID); } } } /** * Compares previous and next module objects to check for mutated boundaries. * * This implementation is based on the one in [Metro](https://github.com/facebook/metro/blob/907d6af22ac6ebe58572be418e9253a90665ecbd/packages/metro/src/lib/polyfills/require.js#L776-L792). * @param {*} prevSignature The signature of the current Webpack module exports object. * @param {*} nextSignature The signature of the next Webpack module exports object. * @returns {boolean} Whether the React refresh boundary should be invalidated. */ function shouldInvalidateReactRefreshBoundary(prevSignature, nextSignature) { if (prevSignature.length !== nextSignature.length) { return true; } for (var i = 0; i < nextSignature.length; i += 1) { if (prevSignature[i] !== nextSignature[i]) { return true; } } return false; } var enqueueUpdate = createDebounceUpdate(); function executeRuntime(moduleExports, moduleId, webpackHot, refreshOverlay, isTest) { registerExportsForReactRefresh(moduleExports, moduleId); if (webpackHot) { var isHotUpdate = !!webpackHot.data; var prevData; if (isHotUpdate) { prevData = webpackHot.data.prevData; } if (isReactRefreshBoundary(moduleExports)) { webpackHot.dispose( /** * A callback to performs a full refresh if React has unrecoverable errors, * and also caches the to-be-disposed module. * @param {*} data A hot module data object from Webpack HMR. * @returns {void} */ function hotDisposeCallback(data) { // We have to mutate the data object to get data registered and cached data.prevData = getWebpackHotData(moduleExports); }); webpackHot.accept( /** * An error handler to allow self-recovering behaviours. * @param {Error} error An error occurred during evaluation of a module. * @returns {void} */ function hotErrorHandler(error) { if (typeof refreshOverlay !== 'undefined' && refreshOverlay) { refreshOverlay.handleRuntimeError(error); } if (typeof isTest !== 'undefined' && isTest) { if (window.onHotAcceptError) { window.onHotAcceptError(error.message); } } __webpack_require__.c[moduleId].hot.accept(hotErrorHandler); }); if (isHotUpdate) { if (prevData && prevData.isReactRefreshBoundary && shouldInvalidateReactRefreshBoundary(prevData.signature, getReactRefreshBoundarySignature(moduleExports))) { webpackHot.invalidate(); } else { enqueueUpdate( /** * A function to dismiss the error overlay after performing React refresh. * @returns {void} */ function updateCallback() { if (typeof refreshOverlay !== 'undefined' && refreshOverlay) { refreshOverlay.clearRuntimeErrors(); } }); } } } else { if (isHotUpdate && typeof prevData !== 'undefined') { webpackHot.invalidate(); } } } } module.exports = Object.freeze({ enqueueUpdate: enqueueUpdate, executeRuntime: executeRuntime, getModuleExports: getModuleExports, isReactRefreshBoundary: isReactRefreshBoundary, registerExportsForReactRefresh: registerExportsForReactRefresh }); /***/ }, /***/ "./node_modules/ansi-html-community/index.js" /*!***************************************************!*\ !*** ./node_modules/ansi-html-community/index.js ***! \***************************************************/ (module) { "use strict"; module.exports = ansiHTML; // Reference to https://github.com/sindresorhus/ansi-regex var _regANSI = /(?:(?:\u001b\[)|\u009b)(?:(?:[0-9]{1,3})?(?:(?:;[0-9]{0,3})*)?[A-M|f-m])|\u001b[A-M]/; var _defColors = { reset: ['fff', '000'], // [FOREGROUD_COLOR, BACKGROUND_COLOR] black: '000', red: 'ff0000', green: '209805', yellow: 'e8bf03', blue: '0000ff', magenta: 'ff00ff', cyan: '00ffee', lightgrey: 'f0f0f0', darkgrey: '888' }; var _styles = { 30: 'black', 31: 'red', 32: 'green', 33: 'yellow', 34: 'blue', 35: 'magenta', 36: 'cyan', 37: 'lightgrey' }; var _openTags = { '1': 'font-weight:bold', // bold '2': 'opacity:0.5', // dim '3': '', // italic '4': '', // underscore '8': 'display:none', // hidden '9': '' // delete }; var _closeTags = { '23': '', // reset italic '24': '', // reset underscore '29': '' // reset delete }; [0, 21, 22, 27, 28, 39, 49].forEach(function (n) { _closeTags[n] = ''; }); /** * Converts text with ANSI color codes to HTML markup. * @param {String} text * @returns {*} */ function ansiHTML(text) { // Returns the text if the string has no ANSI escape code. if (!_regANSI.test(text)) { return text; } // Cache opened sequence. var ansiCodes = []; // Replace with markup. var ret = text.replace(/\033\[(\d+)m/g, function (match, seq) { var ot = _openTags[seq]; if (ot) { // If current sequence has been opened, close it. if (!!~ansiCodes.indexOf(seq)) { // eslint-disable-line no-extra-boolean-cast ansiCodes.pop(); return ''; } // Open tag. ansiCodes.push(seq); return ot[0] === '<' ? ot : ''; } var ct = _closeTags[seq]; if (ct) { // Pop sequence ansiCodes.pop(); return ct; } return ''; }); // Make sure tags are closed. var l = ansiCodes.length; l > 0 && (ret += Array(l + 1).join('')); return ret; } /** * Customize colors. * @param {Object} colors reference to _defColors */ ansiHTML.setColors = function (colors) { if (typeof colors !== 'object') { throw new Error('`colors` parameter must be an Object.'); } var _finalColors = {}; for (var key in _defColors) { var hex = colors.hasOwnProperty(key) ? colors[key] : null; if (!hex) { _finalColors[key] = _defColors[key]; continue; } if ('reset' === key) { if (typeof hex === 'string') { hex = [hex]; } if (!Array.isArray(hex) || hex.length === 0 || hex.some(function (h) { return typeof h !== 'string'; })) { throw new Error('The value of `' + key + '` property must be an Array and each item could only be a hex string, e.g.: FF0000'); } var defHexColor = _defColors[key]; if (!hex[0]) { hex[0] = defHexColor[0]; } if (hex.length === 1 || !hex[1]) { hex = [hex[0]]; hex.push(defHexColor[1]); } hex = hex.slice(0, 2); } else if (typeof hex !== 'string') { throw new Error('The value of `' + key + '` property must be a hex string, e.g.: FF0000'); } _finalColors[key] = hex; } _setTags(_finalColors); }; /** * Reset colors. */ ansiHTML.reset = function () { _setTags(_defColors); }; /** * Expose tags, including open and close. * @type {Object} */ ansiHTML.tags = {}; if (Object.defineProperty) { Object.defineProperty(ansiHTML.tags, 'open', { get: function () { return _openTags; } }); Object.defineProperty(ansiHTML.tags, 'close', { get: function () { return _closeTags; } }); } else { ansiHTML.tags.open = _openTags; ansiHTML.tags.close = _closeTags; } function _setTags(colors) { // reset all _openTags['0'] = 'font-weight:normal;opacity:1;color:#' + colors.reset[0] + ';background:#' + colors.reset[1]; // inverse _openTags['7'] = 'color:#' + colors.reset[1] + ';background:#' + colors.reset[0]; // dark grey _openTags['90'] = 'color:#' + colors.darkgrey; for (var code in _styles) { var color = _styles[code]; var oriColor = colors[color] || '000'; _openTags[code] = 'color:#' + oriColor; code = parseInt(code); _openTags[(code + 10).toString()] = 'background:#' + oriColor; } } ansiHTML.reset(); /***/ }, /***/ "./node_modules/css-loader/dist/runtime/api.js" /*!*****************************************************!*\ !*** ./node_modules/css-loader/dist/runtime/api.js ***! \*****************************************************/ (module) { "use strict"; /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ module.exports = function (cssWithMappingToString) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { var content = ""; var needLayer = typeof item[5] !== "undefined"; if (item[4]) { content += "@supports (".concat(item[4], ") {"); } if (item[2]) { content += "@media ".concat(item[2], " {"); } if (needLayer) { content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {"); } content += cssWithMappingToString(item); if (needLayer) { content += "}"; } if (item[2]) { content += "}"; } if (item[4]) { content += "}"; } return content; }).join(""); }; // import a list of modules into the list list.i = function i(modules, media, dedupe, supports, layer) { if (typeof modules === "string") { modules = [[null, modules, undefined]]; } var alreadyImportedModules = {}; if (dedupe) { for (var k = 0; k < this.length; k++) { var id = this[k][0]; if (id != null) { alreadyImportedModules[id] = true; } } } for (var _k = 0; _k < modules.length; _k++) { var item = [].concat(modules[_k]); if (dedupe && alreadyImportedModules[item[0]]) { continue; } if (typeof layer !== "undefined") { if (typeof item[5] === "undefined") { item[5] = layer; } else { item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}"); item[5] = layer; } } if (media) { if (!item[2]) { item[2] = media; } else { item[1] = "@media ".concat(item[2], " {").concat(item[1], "}"); item[2] = media; } } if (supports) { if (!item[4]) { item[4] = "".concat(supports); } else { item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}"); item[4] = supports; } } list.push(item); } }; return list; }; /***/ }, /***/ "./node_modules/css-loader/dist/runtime/sourceMaps.js" /*!************************************************************!*\ !*** ./node_modules/css-loader/dist/runtime/sourceMaps.js ***! \************************************************************/ (module) { "use strict"; module.exports = function (item) { var content = item[1]; var cssMapping = item[3]; if (!cssMapping) { return content; } if (typeof btoa === "function") { var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping)))); var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64); var sourceMapping = "/*# ".concat(data, " */"); return [content].concat([sourceMapping]).join("\n"); } return [content].join("\n"); }; /***/ }, /***/ "./node_modules/events/events.js" /*!***************************************!*\ !*** ./node_modules/events/events.js ***! \***************************************/ (module) { "use strict"; // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the // "Software"), to deal in the Software without restriction, including // without limitation the rights to use, copy, modify, merge, publish, // distribute, sublicense, and/or sell copies of the Software, and to permit // persons to whom the Software is furnished to do so, subject to the // following conditions: // // The above copyright notice and this permission notice shall be included // in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE // USE OR OTHER DEALINGS IN THE SOFTWARE. var R = typeof Reflect === 'object' ? Reflect : null; var ReflectApply = R && typeof R.apply === 'function' ? R.apply : function ReflectApply(target, receiver, args) { return Function.prototype.apply.call(target, receiver, args); }; var ReflectOwnKeys; if (R && typeof R.ownKeys === 'function') { ReflectOwnKeys = R.ownKeys; } else if (Object.getOwnPropertySymbols) { ReflectOwnKeys = function ReflectOwnKeys(target) { return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target)); }; } else { ReflectOwnKeys = function ReflectOwnKeys(target) { return Object.getOwnPropertyNames(target); }; } function ProcessEmitWarning(warning) { if (console && console.warn) console.warn(warning); } var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) { return value !== value; }; function EventEmitter() { EventEmitter.init.call(this); } module.exports = EventEmitter; module.exports.once = once; // Backwards-compat with node 0.10.x EventEmitter.EventEmitter = EventEmitter; EventEmitter.prototype._events = undefined; EventEmitter.prototype._eventsCount = 0; EventEmitter.prototype._maxListeners = undefined; // By default EventEmitters will print a warning if more than 10 listeners are // added to it. This is a useful default which helps finding memory leaks. var defaultMaxListeners = 10; function checkListener(listener) { if (typeof listener !== 'function') { throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener); } } Object.defineProperty(EventEmitter, 'defaultMaxListeners', { enumerable: true, get: function () { return defaultMaxListeners; }, set: function (arg) { if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) { throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.'); } defaultMaxListeners = arg; } }); EventEmitter.init = function () { if (this._events === undefined || this._events === Object.getPrototypeOf(this)._events) { this._events = Object.create(null); this._eventsCount = 0; } this._maxListeners = this._maxListeners || undefined; }; // Obviously not all Emitters should be limited to 10. This function allows // that to be increased. Set to zero for unlimited. EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) { if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) { throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.'); } this._maxListeners = n; return this; }; function _getMaxListeners(that) { if (that._maxListeners === undefined) return EventEmitter.defaultMaxListeners; return that._maxListeners; } EventEmitter.prototype.getMaxListeners = function getMaxListeners() { return _getMaxListeners(this); }; EventEmitter.prototype.emit = function emit(type) { var args = []; for (var i = 1; i < arguments.length; i++) args.push(arguments[i]); var doError = type === 'error'; var events = this._events; if (events !== undefined) doError = doError && events.error === undefined;else if (!doError) return false; // If there is no 'error' event listener then throw. if (doError) { var er; if (args.length > 0) er = args[0]; if (er instanceof Error) { // Note: The comments on the `throw` lines are intentional, they show // up in Node's output if this results in an unhandled exception. throw er; // Unhandled 'error' event } // At least give some kind of context to the user var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : '')); err.context = er; throw err; // Unhandled 'error' event } var handler = events[type]; if (handler === undefined) return false; if (typeof handler === 'function') { ReflectApply(handler, this, args); } else { var len = handler.length; var listeners = arrayClone(handler, len); for (var i = 0; i < len; ++i) ReflectApply(listeners[i], this, args); } return true; }; function _addListener(target, type, listener, prepend) { var m; var events; var existing; checkListener(listener); events = target._events; if (events === undefined) { events = target._events = Object.create(null); target._eventsCount = 0; } else { // To avoid recursion in the case that type === "newListener"! Before // adding it to the listeners, first emit "newListener". if (events.newListener !== undefined) { target.emit('newListener', type, listener.listener ? listener.listener : listener); // Re-assign `events` because a newListener handler could have caused the // this._events to be assigned to a new object events = target._events; } existing = events[type]; } if (existing === undefined) { // Optimize the case of one listener. Don't need the extra array object. existing = events[type] = listener; ++target._eventsCount; } else { if (typeof existing === 'function') { // Adding the second element, need to change to array. existing = events[type] = prepend ? [listener, existing] : [existing, listener]; // If we've already got an array, just append. } else if (prepend) { existing.unshift(listener); } else { existing.push(listener); } // Check for listener leak m = _getMaxListeners(target); if (m > 0 && existing.length > m && !existing.warned) { existing.warned = true; // No error code for this since it is a Warning // eslint-disable-next-line no-restricted-syntax var w = new Error('Possible EventEmitter memory leak detected. ' + existing.length + ' ' + String(type) + ' listeners ' + 'added. Use emitter.setMaxListeners() to ' + 'increase limit'); w.name = 'MaxListenersExceededWarning'; w.emitter = target; w.type = type; w.count = existing.length; ProcessEmitWarning(w); } } return target; } EventEmitter.prototype.addListener = function addListener(type, listener) { return _addListener(this, type, listener, false); }; EventEmitter.prototype.on = EventEmitter.prototype.addListener; EventEmitter.prototype.prependListener = function prependListener(type, listener) { return _addListener(this, type, listener, true); }; function onceWrapper() { if (!this.fired) { this.target.removeListener(this.type, this.wrapFn); this.fired = true; if (arguments.length === 0) return this.listener.call(this.target); return this.listener.apply(this.target, arguments); } } function _onceWrap(target, type, listener) { var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener }; var wrapped = onceWrapper.bind(state); wrapped.listener = listener; state.wrapFn = wrapped; return wrapped; } EventEmitter.prototype.once = function once(type, listener) { checkListener(listener); this.on(type, _onceWrap(this, type, listener)); return this; }; EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) { checkListener(listener); this.prependListener(type, _onceWrap(this, type, listener)); return this; }; // Emits a 'removeListener' event if and only if the listener was removed. EventEmitter.prototype.removeListener = function removeListener(type, listener) { var list, events, position, i, originalListener; checkListener(listener); events = this._events; if (events === undefined) return this; list = events[type]; if (list === undefined) return this; if (list === listener || list.listener === listener) { if (--this._eventsCount === 0) this._events = Object.create(null);else { delete events[type]; if (events.removeListener) this.emit('removeListener', type, list.listener || listener); } } else if (typeof list !== 'function') { position = -1; for (i = list.length - 1; i >= 0; i--) { if (list[i] === listener || list[i].listener === listener) { originalListener = list[i].listener; position = i; break; } } if (position < 0) return this; if (position === 0) list.shift();else { spliceOne(list, position); } if (list.length === 1) events[type] = list[0]; if (events.removeListener !== undefined) this.emit('removeListener', type, originalListener || listener); } return this; }; EventEmitter.prototype.off = EventEmitter.prototype.removeListener; EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) { var listeners, events, i; events = this._events; if (events === undefined) return this; // not listening for removeListener, no need to emit if (events.removeListener === undefined) { if (arguments.length === 0) { this._events = Object.create(null); this._eventsCount = 0; } else if (events[type] !== undefined) { if (--this._eventsCount === 0) this._events = Object.create(null);else delete events[type]; } return this; } // emit removeListener for all listeners on all events if (arguments.length === 0) { var keys = Object.keys(events); var key; for (i = 0; i < keys.length; ++i) { key = keys[i]; if (key === 'removeListener') continue; this.removeAllListeners(key); } this.removeAllListeners('removeListener'); this._events = Object.create(null); this._eventsCount = 0; return this; } listeners = events[type]; if (typeof listeners === 'function') { this.removeListener(type, listeners); } else if (listeners !== undefined) { // LIFO order for (i = listeners.length - 1; i >= 0; i--) { this.removeListener(type, listeners[i]); } } return this; }; function _listeners(target, type, unwrap) { var events = target._events; if (events === undefined) return []; var evlistener = events[type]; if (evlistener === undefined) return []; if (typeof evlistener === 'function') return unwrap ? [evlistener.listener || evlistener] : [evlistener]; return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length); } EventEmitter.prototype.listeners = function listeners(type) { return _listeners(this, type, true); }; EventEmitter.prototype.rawListeners = function rawListeners(type) { return _listeners(this, type, false); }; EventEmitter.listenerCount = function (emitter, type) { if (typeof emitter.listenerCount === 'function') { return emitter.listenerCount(type); } else { return listenerCount.call(emitter, type); } }; EventEmitter.prototype.listenerCount = listenerCount; function listenerCount(type) { var events = this._events; if (events !== undefined) { var evlistener = events[type]; if (typeof evlistener === 'function') { return 1; } else if (evlistener !== undefined) { return evlistener.length; } } return 0; } EventEmitter.prototype.eventNames = function eventNames() { return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : []; }; function arrayClone(arr, n) { var copy = new Array(n); for (var i = 0; i < n; ++i) copy[i] = arr[i]; return copy; } function spliceOne(list, index) { for (; index + 1 < list.length; index++) list[index] = list[index + 1]; list.pop(); } function unwrapListeners(arr) { var ret = new Array(arr.length); for (var i = 0; i < ret.length; ++i) { ret[i] = arr[i].listener || arr[i]; } return ret; } function once(emitter, name) { return new Promise(function (resolve, reject) { function errorListener(err) { emitter.removeListener(name, resolver); reject(err); } function resolver() { if (typeof emitter.removeListener === 'function') { emitter.removeListener('error', errorListener); } resolve([].slice.call(arguments)); } ; eventTargetAgnosticAddListener(emitter, name, resolver, { once: true }); if (name !== 'error') { addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true }); } }); } function addErrorHandlerIfEventEmitter(emitter, handler, flags) { if (typeof emitter.on === 'function') { eventTargetAgnosticAddListener(emitter, 'error', handler, flags); } } function eventTargetAgnosticAddListener(emitter, name, listener, flags) { if (typeof emitter.on === 'function') { if (flags.once) { emitter.once(name, listener); } else { emitter.on(name, listener); } } else if (typeof emitter.addEventListener === 'function') { // EventTarget does not have `error` event semantics like Node // EventEmitters, we do not listen for `error` events here. emitter.addEventListener(name, function wrapListener(arg) { // IE does not have builtin `{ once: true }` support so we // have to do it manually. if (flags.once) { emitter.removeEventListener(name, wrapListener); } listener(arg); }); } else { throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter); } } /***/ }, /***/ "./node_modules/lucide-react/dist/esm/Icon.js" /*!****************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/Icon.js ***! \****************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ Icon) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _defaultAttributes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaultAttributes.js */ "./node_modules/lucide-react/dist/esm/defaultAttributes.js"); /* harmony import */ var _shared_src_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared/src/utils.js */ "./node_modules/lucide-react/dist/esm/shared/src/utils.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const Icon = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(({ color = "currentColor", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = "", children, iconNode, ...rest }, ref) => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", { ref, ..._defaultAttributes_js__WEBPACK_IMPORTED_MODULE_1__["default"], width: size, height: size, stroke: color, strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth, className: (0,_shared_src_utils_js__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)("lucide", className), ...(!children && !(0,_shared_src_utils_js__WEBPACK_IMPORTED_MODULE_2__.hasA11yProp)(rest) && { "aria-hidden": "true" }), ...rest }, [...iconNode.map(([tag, attrs]) => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(tag, attrs)), ...(Array.isArray(children) ? children : [children])])); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/createLucideIcon.js" /*!****************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/createLucideIcon.js ***! \****************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ createLucideIcon) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _shared_src_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./shared/src/utils.js */ "./node_modules/lucide-react/dist/esm/shared/src/utils.js"); /* harmony import */ var _Icon_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Icon.js */ "./node_modules/lucide-react/dist/esm/Icon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const createLucideIcon = (iconName, iconNode) => { const Component = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(({ className, ...props }, ref) => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_Icon_js__WEBPACK_IMPORTED_MODULE_2__["default"], { ref, iconNode, className: (0,_shared_src_utils_js__WEBPACK_IMPORTED_MODULE_1__.mergeClasses)(`lucide-${(0,_shared_src_utils_js__WEBPACK_IMPORTED_MODULE_1__.toKebabCase)((0,_shared_src_utils_js__WEBPACK_IMPORTED_MODULE_1__.toPascalCase)(iconName))}`, `lucide-${iconName}`, className), ...props })); Component.displayName = (0,_shared_src_utils_js__WEBPACK_IMPORTED_MODULE_1__.toPascalCase)(iconName); return Component; }; /***/ }, /***/ "./node_modules/lucide-react/dist/esm/defaultAttributes.js" /*!*****************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/defaultAttributes.js ***! \*****************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ defaultAttributes) /* harmony export */ }); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var defaultAttributes = { xmlns: "http://www.w3.org/2000/svg", width: 24, height: 24, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }; /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/arrow-right.js" /*!*****************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/arrow-right.js ***! \*****************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ ArrowRight) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "M5 12h14", key: "1ays0h" }], ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]]; const ArrowRight = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("arrow-right", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/award.js" /*!***********************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/award.js ***! \***********************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ Award) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526", key: "1yiouv" }], ["circle", { cx: "12", cy: "8", r: "6", key: "1vp47v" }]]; const Award = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("award", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/briefcase.js" /*!***************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/briefcase.js ***! \***************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ Briefcase) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16", key: "jecpp" }], ["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }]]; const Briefcase = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("briefcase", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/building-2.js" /*!****************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/building-2.js ***! \****************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ Building2) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z", key: "1b4qmf" }], ["path", { d: "M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2", key: "i71pzd" }], ["path", { d: "M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2", key: "10jefs" }], ["path", { d: "M10 6h4", key: "1itunk" }], ["path", { d: "M10 10h4", key: "tcdvrf" }], ["path", { d: "M10 14h4", key: "kelpxr" }], ["path", { d: "M10 18h4", key: "1ulq68" }]]; const Building2 = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("building-2", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/calculator.js" /*!****************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/calculator.js ***! \****************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ Calculator) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", key: "1nb95v" }], ["line", { x1: "8", x2: "16", y1: "6", y2: "6", key: "x4nwl0" }], ["line", { x1: "16", x2: "16", y1: "14", y2: "18", key: "wjye3r" }], ["path", { d: "M16 10h.01", key: "1m94wz" }], ["path", { d: "M12 10h.01", key: "1nrarc" }], ["path", { d: "M8 10h.01", key: "19clt8" }], ["path", { d: "M12 14h.01", key: "1etili" }], ["path", { d: "M8 14h.01", key: "6423bh" }], ["path", { d: "M12 18h.01", key: "mhygvu" }], ["path", { d: "M8 18h.01", key: "lrp35t" }]]; const Calculator = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("calculator", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/circle-check.js" /*!******************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/circle-check.js ***! \******************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ CircleCheck) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]]; const CircleCheck = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("circle-check", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/compass.js" /*!*************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/compass.js ***! \*************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ Compass) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z", key: "9ktpf1" }], ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]]; const Compass = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("compass", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/hard-hat.js" /*!**************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/hard-hat.js ***! \**************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ HardHat) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5", key: "1p9q5i" }], ["path", { d: "M14 6a6 6 0 0 1 6 6v3", key: "1hnv84" }], ["path", { d: "M4 15v-3a6 6 0 0 1 6-6", key: "9ciidu" }], ["rect", { x: "2", y: "15", width: "20", height: "4", rx: "1", key: "g3x8cw" }]]; const HardHat = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("hard-hat", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/layers.js" /*!************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/layers.js ***! \************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ Layers) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z", key: "zw3jo" }], ["path", { d: "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12", key: "1wduqc" }], ["path", { d: "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17", key: "kqbvx6" }]]; const Layers = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("layers", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/mail.js" /*!**********************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/mail.js ***! \**********************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ Mail) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }], ["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]]; const Mail = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("mail", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/map-pin.js" /*!*************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/map-pin.js ***! \*************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ MapPin) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0", key: "1r0f0z" }], ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }]]; const MapPin = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("map-pin", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/menu.js" /*!**********************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/menu.js ***! \**********************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ Menu) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "M4 12h16", key: "1lakjw" }], ["path", { d: "M4 18h16", key: "19g7jn" }], ["path", { d: "M4 6h16", key: "1o0s65" }]]; const Menu = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("menu", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/phone.js" /*!***********************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/phone.js ***! \***********************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ Phone) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384", key: "9njp5v" }]]; const Phone = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("phone", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/send.js" /*!**********************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/send.js ***! \**********************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ Send) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z", key: "1ffxy3" }], ["path", { d: "m21.854 2.147-10.94 10.939", key: "12cjpa" }]]; const Send = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("send", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/shield-check.js" /*!******************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/shield-check.js ***! \******************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ ShieldCheck) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", key: "oel41y" }], ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]]; const ShieldCheck = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("shield-check", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/icons/x.js" /*!*******************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/x.js ***! \*******************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __iconNode: () => (/* binding */ __iconNode), /* harmony export */ "default": () => (/* binding */ X) /* harmony export */ }); /* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ "./node_modules/lucide-react/dist/esm/createLucideIcon.js"); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const __iconNode = [["path", { d: "M18 6 6 18", key: "1bl5f8" }], ["path", { d: "m6 6 12 12", key: "d8bk6v" }]]; const X = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__["default"])("x", __iconNode); /***/ }, /***/ "./node_modules/lucide-react/dist/esm/shared/src/utils.js" /*!****************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/shared/src/utils.js ***! \****************************************************************/ (__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ hasA11yProp: () => (/* binding */ hasA11yProp), /* harmony export */ mergeClasses: () => (/* binding */ mergeClasses), /* harmony export */ toCamelCase: () => (/* binding */ toCamelCase), /* harmony export */ toKebabCase: () => (/* binding */ toKebabCase), /* harmony export */ toPascalCase: () => (/* binding */ toPascalCase) /* harmony export */ }); /** * @license lucide-react v0.516.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const toKebabCase = string => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(); const toCamelCase = string => string.replace(/^([A-Z])|[\s-_]+(\w)/g, (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()); const toPascalCase = string => { const camelCase = toCamelCase(string); return camelCase.charAt(0).toUpperCase() + camelCase.slice(1); }; const mergeClasses = (...classes) => classes.filter((className, index, array) => { return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index; }).join(" ").trim(); const hasA11yProp = props => { for (const prop in props) { if (prop.startsWith("aria-") || prop === "role" || prop === "title") { return true; } } }; /***/ }, /***/ "./node_modules/react-dom/cjs/react-dom-client.development.js" /*!********************************************************************!*\ !*** ./node_modules/react-dom/cjs/react-dom-client.development.js ***! \********************************************************************/ (__unused_webpack_module, exports, __webpack_require__) { "use strict"; /** * @license React * react-dom-client.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /* Modernizr 3.0.0pre (Custom Build) | MIT */ true && function () { function findHook(fiber, id) { for (fiber = fiber.memoizedState; null !== fiber && 0 < id;) fiber = fiber.next, id--; return fiber; } function copyWithSetImpl(obj, path, index, value) { if (index >= path.length) return value; var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); updated[key] = copyWithSetImpl(obj[key], path, index + 1, value); return updated; } function copyWithRename(obj, oldPath, newPath) { if (oldPath.length !== newPath.length) console.warn("copyWithRename() expects paths of the same length");else { for (var i = 0; i < newPath.length - 1; i++) if (oldPath[i] !== newPath[i]) { console.warn("copyWithRename() expects paths to be the same except for the deepest key"); return; } return copyWithRenameImpl(obj, oldPath, newPath, 0); } } function copyWithRenameImpl(obj, oldPath, newPath, index) { var oldKey = oldPath[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); index + 1 === oldPath.length ? (updated[newPath[index]] = updated[oldKey], isArrayImpl(updated) ? updated.splice(oldKey, 1) : delete updated[oldKey]) : updated[oldKey] = copyWithRenameImpl(obj[oldKey], oldPath, newPath, index + 1); return updated; } function copyWithDeleteImpl(obj, path, index) { var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); if (index + 1 === path.length) return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated; updated[key] = copyWithDeleteImpl(obj[key], path, index + 1); return updated; } function shouldSuspendImpl() { return !1; } function shouldErrorImpl() { return null; } function createFiber(tag, pendingProps, key, mode) { return new FiberNode(tag, pendingProps, key, mode); } function warnInvalidHookAccess() { console.error("Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks"); } function warnInvalidContextAccess() { console.error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."); } function noop$2() {} function warnForMissingKey() {} function setToSortedString(set) { var array = []; set.forEach(function (value) { array.push(value); }); return array.sort().join(", "); } function scheduleRoot(root, element) { root.context === emptyContextObject && (updateContainerSync(element, root, null, null), flushSyncWork$1()); } function scheduleRefresh(root, update) { if (null !== resolveFamily) { var staleFamilies = update.staleFamilies; update = update.updatedFamilies; flushPassiveEffects(); scheduleFibersWithFamiliesRecursively(root.current, update, staleFamilies); flushSyncWork$1(); } } function setRefreshHandler(handler) { resolveFamily = handler; } function isValidContainer(node) { return !(!node || 1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType); } function getIteratorFn(maybeIterable) { if (null === maybeIterable || "object" !== typeof maybeIterable) return null; maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"]; return "function" === typeof maybeIterable ? maybeIterable : null; } function getComponentNameFromType(type) { if (null == type) return null; if ("function" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null; if ("string" === typeof type) return type; switch (type) { case REACT_FRAGMENT_TYPE: return "Fragment"; case REACT_PORTAL_TYPE: return "Portal"; case REACT_PROFILER_TYPE: return "Profiler"; case REACT_STRICT_MODE_TYPE: return "StrictMode"; case REACT_SUSPENSE_TYPE: return "Suspense"; case REACT_SUSPENSE_LIST_TYPE: return "SuspenseList"; } if ("object" === typeof type) switch ("number" === typeof type.tag && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof) { case REACT_CONTEXT_TYPE: return (type.displayName || "Context") + ".Provider"; case REACT_CONSUMER_TYPE: return (type._context.displayName || "Context") + ".Consumer"; case REACT_FORWARD_REF_TYPE: var innerType = type.render; type = type.displayName; type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"); return type; case REACT_MEMO_TYPE: return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo"; case REACT_LAZY_TYPE: innerType = type._payload; type = type._init; try { return getComponentNameFromType(type(innerType)); } catch (x) {} } return null; } function getComponentNameFromOwner(owner) { return "number" === typeof owner.tag ? getComponentNameFromFiber(owner) : "string" === typeof owner.name ? owner.name : null; } function getComponentNameFromFiber(fiber) { var type = fiber.type; switch (fiber.tag) { case 24: return "Cache"; case 9: return (type._context.displayName || "Context") + ".Consumer"; case 10: return (type.displayName || "Context") + ".Provider"; case 18: return "DehydratedFragment"; case 11: return fiber = type.render, fiber = fiber.displayName || fiber.name || "", type.displayName || ("" !== fiber ? "ForwardRef(" + fiber + ")" : "ForwardRef"); case 7: return "Fragment"; case 26: case 27: case 5: return type; case 4: return "Portal"; case 3: return "Root"; case 6: return "Text"; case 16: return getComponentNameFromType(type); case 8: return type === REACT_STRICT_MODE_TYPE ? "StrictMode" : "Mode"; case 22: return "Offscreen"; case 12: return "Profiler"; case 21: return "Scope"; case 13: return "Suspense"; case 19: return "SuspenseList"; case 25: return "TracingMarker"; case 1: case 0: case 14: case 15: if ("function" === typeof type) return type.displayName || type.name || null; if ("string" === typeof type) return type; break; case 29: type = fiber._debugInfo; if (null != type) for (var i = type.length - 1; 0 <= i; i--) if ("string" === typeof type[i].name) return type[i].name; if (null !== fiber.return) return getComponentNameFromFiber(fiber.return); } return null; } function disabledLog() {} function disableLogs() { if (0 === disabledDepth) { prevLog = console.log; prevInfo = console.info; prevWarn = console.warn; prevError = console.error; prevGroup = console.group; prevGroupCollapsed = console.groupCollapsed; prevGroupEnd = console.groupEnd; var props = { configurable: !0, enumerable: !0, value: disabledLog, writable: !0 }; Object.defineProperties(console, { info: props, log: props, warn: props, error: props, group: props, groupCollapsed: props, groupEnd: props }); } disabledDepth++; } function reenableLogs() { disabledDepth--; if (0 === disabledDepth) { var props = { configurable: !0, enumerable: !0, writable: !0 }; Object.defineProperties(console, { log: assign({}, props, { value: prevLog }), info: assign({}, props, { value: prevInfo }), warn: assign({}, props, { value: prevWarn }), error: assign({}, props, { value: prevError }), group: assign({}, props, { value: prevGroup }), groupCollapsed: assign({}, props, { value: prevGroupCollapsed }), groupEnd: assign({}, props, { value: prevGroupEnd }) }); } 0 > disabledDepth && console.error("disabledDepth fell below zero. This is a bug in React. Please file an issue."); } function describeBuiltInComponentFrame(name) { if (void 0 === prefix) try { throw Error(); } catch (x) { var match = x.stack.trim().match(/\n( *(at )?)/); prefix = match && match[1] || ""; suffix = -1 < x.stack.indexOf("\n at") ? " ()" : -1 < x.stack.indexOf("@") ? "@unknown:0:0" : ""; } return "\n" + prefix + name + suffix; } function describeNativeComponentFrame(fn, construct) { if (!fn || reentry) return ""; var frame = componentFrameCache.get(fn); if (void 0 !== frame) return frame; reentry = !0; frame = Error.prepareStackTrace; Error.prepareStackTrace = void 0; var previousDispatcher = null; previousDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = null; disableLogs(); try { var RunInRootFrame = { DetermineComponentFrameRoot: function () { try { if (construct) { var Fake = function () { throw Error(); }; Object.defineProperty(Fake.prototype, "props", { set: function () { throw Error(); } }); if ("object" === typeof Reflect && Reflect.construct) { try { Reflect.construct(Fake, []); } catch (x) { var control = x; } Reflect.construct(fn, [], Fake); } else { try { Fake.call(); } catch (x$0) { control = x$0; } fn.call(Fake.prototype); } } else { try { throw Error(); } catch (x$1) { control = x$1; } (Fake = fn()) && "function" === typeof Fake.catch && Fake.catch(function () {}); } } catch (sample) { if (sample && control && "string" === typeof sample.stack) return [sample.stack, control.stack]; } return [null, null]; } }; RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot"; var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, "name"); namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, "name", { value: "DetermineComponentFrameRoot" }); var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1]; if (sampleStack && controlStack) { var sampleLines = sampleStack.split("\n"), controlLines = controlStack.split("\n"); for (_RunInRootFrame$Deter = namePropDescriptor = 0; namePropDescriptor < sampleLines.length && !sampleLines[namePropDescriptor].includes("DetermineComponentFrameRoot");) namePropDescriptor++; for (; _RunInRootFrame$Deter < controlLines.length && !controlLines[_RunInRootFrame$Deter].includes("DetermineComponentFrameRoot");) _RunInRootFrame$Deter++; if (namePropDescriptor === sampleLines.length || _RunInRootFrame$Deter === controlLines.length) for (namePropDescriptor = sampleLines.length - 1, _RunInRootFrame$Deter = controlLines.length - 1; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter && sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter];) _RunInRootFrame$Deter--; for (; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; namePropDescriptor--, _RunInRootFrame$Deter--) if (sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) { if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) { do if (namePropDescriptor--, _RunInRootFrame$Deter--, 0 > _RunInRootFrame$Deter || sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) { var _frame = "\n" + sampleLines[namePropDescriptor].replace(" at new ", " at "); fn.displayName && _frame.includes("") && (_frame = _frame.replace("", fn.displayName)); "function" === typeof fn && componentFrameCache.set(fn, _frame); return _frame; } while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter); } break; } } } finally { reentry = !1, ReactSharedInternals.H = previousDispatcher, reenableLogs(), Error.prepareStackTrace = frame; } sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(sampleLines) : ""; "function" === typeof fn && componentFrameCache.set(fn, sampleLines); return sampleLines; } function describeFiber(fiber) { switch (fiber.tag) { case 26: case 27: case 5: return describeBuiltInComponentFrame(fiber.type); case 16: return describeBuiltInComponentFrame("Lazy"); case 13: return describeBuiltInComponentFrame("Suspense"); case 19: return describeBuiltInComponentFrame("SuspenseList"); case 0: case 15: return fiber = describeNativeComponentFrame(fiber.type, !1), fiber; case 11: return fiber = describeNativeComponentFrame(fiber.type.render, !1), fiber; case 1: return fiber = describeNativeComponentFrame(fiber.type, !0), fiber; default: return ""; } } function getStackByFiberInDevAndProd(workInProgress) { try { var info = ""; do { info += describeFiber(workInProgress); var debugInfo = workInProgress._debugInfo; if (debugInfo) for (var i = debugInfo.length - 1; 0 <= i; i--) { var entry = debugInfo[i]; if ("string" === typeof entry.name) { var JSCompiler_temp_const = info, env = entry.env; var JSCompiler_inline_result = describeBuiltInComponentFrame(entry.name + (env ? " [" + env + "]" : "")); info = JSCompiler_temp_const + JSCompiler_inline_result; } } workInProgress = workInProgress.return; } while (workInProgress); return info; } catch (x) { return "\nError generating stack: " + x.message + "\n" + x.stack; } } function getCurrentFiberOwnerNameInDevOrNull() { if (null === current) return null; var owner = current._debugOwner; return null != owner ? getComponentNameFromOwner(owner) : null; } function getCurrentFiberStackInDev() { return null === current ? "" : getStackByFiberInDevAndProd(current); } function runWithFiberInDEV(fiber, callback, arg0, arg1, arg2, arg3, arg4) { var previousFiber = current; ReactSharedInternals.getCurrentStack = null === fiber ? null : getCurrentFiberStackInDev; isRendering = !1; current = fiber; try { return callback(arg0, arg1, arg2, arg3, arg4); } finally { current = previousFiber; } // removed by dead control flow } function getNearestMountedFiber(fiber) { var node = fiber, nearestMounted = fiber; if (fiber.alternate) for (; node.return;) node = node.return;else { fiber = node; do node = fiber, 0 !== (node.flags & 4098) && (nearestMounted = node.return), fiber = node.return; while (fiber); } return 3 === node.tag ? nearestMounted : null; } function getSuspenseInstanceFromFiber(fiber) { if (13 === fiber.tag) { var suspenseState = fiber.memoizedState; null === suspenseState && (fiber = fiber.alternate, null !== fiber && (suspenseState = fiber.memoizedState)); if (null !== suspenseState) return suspenseState.dehydrated; } return null; } function assertIsMounted(fiber) { if (getNearestMountedFiber(fiber) !== fiber) throw Error("Unable to find node on an unmounted component."); } function findCurrentFiberUsingSlowPath(fiber) { var alternate = fiber.alternate; if (!alternate) { alternate = getNearestMountedFiber(fiber); if (null === alternate) throw Error("Unable to find node on an unmounted component."); return alternate !== fiber ? null : fiber; } for (var a = fiber, b = alternate;;) { var parentA = a.return; if (null === parentA) break; var parentB = parentA.alternate; if (null === parentB) { b = parentA.return; if (null !== b) { a = b; continue; } break; } if (parentA.child === parentB.child) { for (parentB = parentA.child; parentB;) { if (parentB === a) return assertIsMounted(parentA), fiber; if (parentB === b) return assertIsMounted(parentA), alternate; parentB = parentB.sibling; } throw Error("Unable to find node on an unmounted component."); } if (a.return !== b.return) a = parentA, b = parentB;else { for (var didFindChild = !1, _child = parentA.child; _child;) { if (_child === a) { didFindChild = !0; a = parentA; b = parentB; break; } if (_child === b) { didFindChild = !0; b = parentA; a = parentB; break; } _child = _child.sibling; } if (!didFindChild) { for (_child = parentB.child; _child;) { if (_child === a) { didFindChild = !0; a = parentB; b = parentA; break; } if (_child === b) { didFindChild = !0; b = parentB; a = parentA; break; } _child = _child.sibling; } if (!didFindChild) throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue."); } } if (a.alternate !== b) throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue."); } if (3 !== a.tag) throw Error("Unable to find node on an unmounted component."); return a.stateNode.current === a ? fiber : alternate; } function findCurrentHostFiberImpl(node) { var tag = node.tag; if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node; for (node = node.child; null !== node;) { tag = findCurrentHostFiberImpl(node); if (null !== tag) return tag; node = node.sibling; } return null; } function createCursor(defaultValue) { return { current: defaultValue }; } function pop(cursor, fiber) { 0 > index$jscomp$0 ? console.error("Unexpected pop.") : (fiber !== fiberStack[index$jscomp$0] && console.error("Unexpected Fiber popped."), cursor.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, fiberStack[index$jscomp$0] = null, index$jscomp$0--); } function push(cursor, value, fiber) { index$jscomp$0++; valueStack[index$jscomp$0] = cursor.current; fiberStack[index$jscomp$0] = fiber; cursor.current = value; } function requiredContext(c) { null === c && console.error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."); return c; } function pushHostContainer(fiber, nextRootInstance) { push(rootInstanceStackCursor, nextRootInstance, fiber); push(contextFiberStackCursor, fiber, fiber); push(contextStackCursor, null, fiber); var nextRootContext = nextRootInstance.nodeType; switch (nextRootContext) { case 9: case 11: nextRootContext = 9 === nextRootContext ? "#document" : "#fragment"; nextRootInstance = (nextRootInstance = nextRootInstance.documentElement) ? (nextRootInstance = nextRootInstance.namespaceURI) ? getOwnHostContext(nextRootInstance) : HostContextNamespaceNone : HostContextNamespaceNone; break; default: if (nextRootInstance = 8 === nextRootContext ? nextRootInstance.parentNode : nextRootInstance, nextRootContext = nextRootInstance.tagName, nextRootInstance = nextRootInstance.namespaceURI) nextRootInstance = getOwnHostContext(nextRootInstance), nextRootInstance = getChildHostContextProd(nextRootInstance, nextRootContext);else switch (nextRootContext) { case "svg": nextRootInstance = HostContextNamespaceSvg; break; case "math": nextRootInstance = HostContextNamespaceMath; break; default: nextRootInstance = HostContextNamespaceNone; } } nextRootContext = nextRootContext.toLowerCase(); nextRootContext = updatedAncestorInfoDev(null, nextRootContext); nextRootContext = { context: nextRootInstance, ancestorInfo: nextRootContext }; pop(contextStackCursor, fiber); push(contextStackCursor, nextRootContext, fiber); } function popHostContainer(fiber) { pop(contextStackCursor, fiber); pop(contextFiberStackCursor, fiber); pop(rootInstanceStackCursor, fiber); } function getHostContext() { return requiredContext(contextStackCursor.current); } function pushHostContext(fiber) { null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber, fiber); var context = requiredContext(contextStackCursor.current); var type = fiber.type; var nextContext = getChildHostContextProd(context.context, type); type = updatedAncestorInfoDev(context.ancestorInfo, type); nextContext = { context: nextContext, ancestorInfo: type }; context !== nextContext && (push(contextFiberStackCursor, fiber, fiber), push(contextStackCursor, nextContext, fiber)); } function popHostContext(fiber) { contextFiberStackCursor.current === fiber && (pop(contextStackCursor, fiber), pop(contextFiberStackCursor, fiber)); hostTransitionProviderCursor.current === fiber && (pop(hostTransitionProviderCursor, fiber), HostTransitionContext._currentValue = NotPendingTransition); } function typeName(value) { return "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; } function willCoercionThrow(value) { try { return testStringCoercion(value), !1; } catch (e) { return !0; } } function testStringCoercion(value) { return "" + value; } function checkAttributeStringCoercion(value, attributeName) { if (willCoercionThrow(value)) return console.error("The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.", attributeName, typeName(value)), testStringCoercion(value); } function checkCSSPropertyStringCoercion(value, propName) { if (willCoercionThrow(value)) return console.error("The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.", propName, typeName(value)), testStringCoercion(value); } function checkFormFieldValueStringCoercion(value) { if (willCoercionThrow(value)) return console.error("Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.", typeName(value)), testStringCoercion(value); } function injectInternals(internals) { if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return !1; var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__; if (hook.isDisabled) return !0; if (!hook.supportsFiber) return console.error("The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools"), !0; try { rendererID = hook.inject(internals), injectedHook = hook; } catch (err) { console.error("React instrumentation encountered an error: %s.", err); } return hook.checkDCE ? !0 : !1; } function onCommitRoot$1(root, eventPriority) { if (injectedHook && "function" === typeof injectedHook.onCommitFiberRoot) try { var didError = 128 === (root.current.flags & 128); switch (eventPriority) { case DiscreteEventPriority: var schedulerPriority = ImmediatePriority; break; case ContinuousEventPriority: schedulerPriority = UserBlockingPriority; break; case DefaultEventPriority: schedulerPriority = NormalPriority$1; break; case IdleEventPriority: schedulerPriority = IdlePriority; break; default: schedulerPriority = NormalPriority$1; } injectedHook.onCommitFiberRoot(rendererID, root, schedulerPriority, didError); } catch (err) { hasLoggedError || (hasLoggedError = !0, console.error("React instrumentation encountered an error: %s", err)); } } function setIsStrictModeForDevtools(newIsStrictMode) { "function" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode); if (injectedHook && "function" === typeof injectedHook.setStrictMode) try { injectedHook.setStrictMode(rendererID, newIsStrictMode); } catch (err) { hasLoggedError || (hasLoggedError = !0, console.error("React instrumentation encountered an error: %s", err)); } } function injectProfilingHooks(profilingHooks) { injectedProfilingHooks = profilingHooks; } function markCommitStopped() { null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markCommitStopped && injectedProfilingHooks.markCommitStopped(); } function markComponentRenderStarted(fiber) { null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentRenderStarted && injectedProfilingHooks.markComponentRenderStarted(fiber); } function markComponentRenderStopped() { null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentRenderStopped && injectedProfilingHooks.markComponentRenderStopped(); } function markRenderStarted(lanes) { null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderStarted && injectedProfilingHooks.markRenderStarted(lanes); } function markRenderStopped() { null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderStopped && injectedProfilingHooks.markRenderStopped(); } function markStateUpdateScheduled(fiber, lane) { null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markStateUpdateScheduled && injectedProfilingHooks.markStateUpdateScheduled(fiber, lane); } function clz32Fallback(x) { x >>>= 0; return 0 === x ? 32 : 31 - (log(x) / LN2 | 0) | 0; } function getLabelForLane(lane) { if (lane & 1) return "SyncHydrationLane"; if (lane & 2) return "Sync"; if (lane & 4) return "InputContinuousHydration"; if (lane & 8) return "InputContinuous"; if (lane & 16) return "DefaultHydration"; if (lane & 32) return "Default"; if (lane & 64) return "TransitionHydration"; if (lane & 4194176) return "Transition"; if (lane & 62914560) return "Retry"; if (lane & 67108864) return "SelectiveHydration"; if (lane & 134217728) return "IdleHydration"; if (lane & 268435456) return "Idle"; if (lane & 536870912) return "Offscreen"; if (lane & 1073741824) return "Deferred"; } function getHighestPriorityLanes(lanes) { var pendingSyncLanes = lanes & 42; if (0 !== pendingSyncLanes) return pendingSyncLanes; switch (lanes & -lanes) { case 1: return 1; case 2: return 2; case 4: return 4; case 8: return 8; case 16: return 16; case 32: return 32; case 64: return 64; case 128: case 256: case 512: case 1024: case 2048: case 4096: case 8192: case 16384: case 32768: case 65536: case 131072: case 262144: case 524288: case 1048576: case 2097152: return lanes & 4194176; case 4194304: case 8388608: case 16777216: case 33554432: return lanes & 62914560; case 67108864: return 67108864; case 134217728: return 134217728; case 268435456: return 268435456; case 536870912: return 536870912; case 1073741824: return 0; default: return console.error("Should have found matching lanes. This is a bug in React."), lanes; } } function getNextLanes(root, wipLanes) { var pendingLanes = root.pendingLanes; if (0 === pendingLanes) return 0; var nextLanes = 0, suspendedLanes = root.suspendedLanes, pingedLanes = root.pingedLanes, warmLanes = root.warmLanes; root = 0 !== root.finishedLanes; var nonIdlePendingLanes = pendingLanes & 134217727; 0 !== nonIdlePendingLanes ? (pendingLanes = nonIdlePendingLanes & ~suspendedLanes, 0 !== pendingLanes ? nextLanes = getHighestPriorityLanes(pendingLanes) : (pingedLanes &= nonIdlePendingLanes, 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : root || (warmLanes = nonIdlePendingLanes & ~warmLanes, 0 !== warmLanes && (nextLanes = getHighestPriorityLanes(warmLanes))))) : (nonIdlePendingLanes = pendingLanes & ~suspendedLanes, 0 !== nonIdlePendingLanes ? nextLanes = getHighestPriorityLanes(nonIdlePendingLanes) : 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : root || (warmLanes = pendingLanes & ~warmLanes, 0 !== warmLanes && (nextLanes = getHighestPriorityLanes(warmLanes)))); return 0 === nextLanes ? 0 : 0 !== wipLanes && wipLanes !== nextLanes && 0 === (wipLanes & suspendedLanes) && (suspendedLanes = nextLanes & -nextLanes, warmLanes = wipLanes & -wipLanes, suspendedLanes >= warmLanes || 32 === suspendedLanes && 0 !== (warmLanes & 4194176)) ? wipLanes : nextLanes; } function checkIfRootIsPrerendering(root, renderLanes) { return 0 === (root.pendingLanes & ~(root.suspendedLanes & ~root.pingedLanes) & renderLanes); } function computeExpirationTime(lane, currentTime) { switch (lane) { case 1: case 2: case 4: case 8: return currentTime + 250; case 16: case 32: case 64: case 128: case 256: case 512: case 1024: case 2048: case 4096: case 8192: case 16384: case 32768: case 65536: case 131072: case 262144: case 524288: case 1048576: case 2097152: return currentTime + 5e3; case 4194304: case 8388608: case 16777216: case 33554432: return -1; case 67108864: case 134217728: case 268435456: case 536870912: case 1073741824: return -1; default: return console.error("Should have found matching lanes. This is a bug in React."), -1; } } function claimNextTransitionLane() { var lane = nextTransitionLane; nextTransitionLane <<= 1; 0 === (nextTransitionLane & 4194176) && (nextTransitionLane = 128); return lane; } function claimNextRetryLane() { var lane = nextRetryLane; nextRetryLane <<= 1; 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304); return lane; } function createLaneMap(initial) { for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial); return laneMap; } function markRootUpdated$1(root, updateLane) { root.pendingLanes |= updateLane; 268435456 !== updateLane && (root.suspendedLanes = 0, root.pingedLanes = 0, root.warmLanes = 0); } function markRootFinished(root, finishedLanes, remainingLanes, spawnedLane, updatedLanes, suspendedRetryLanes) { var previouslyPendingLanes = root.pendingLanes; root.pendingLanes = remainingLanes; root.suspendedLanes = 0; root.pingedLanes = 0; root.warmLanes = 0; root.expiredLanes &= remainingLanes; root.entangledLanes &= remainingLanes; root.errorRecoveryDisabledLanes &= remainingLanes; root.shellSuspendCounter = 0; var entanglements = root.entanglements, expirationTimes = root.expirationTimes, hiddenUpdates = root.hiddenUpdates; for (remainingLanes = previouslyPendingLanes & ~remainingLanes; 0 < remainingLanes;) { var index = 31 - clz32(remainingLanes), lane = 1 << index; entanglements[index] = 0; expirationTimes[index] = -1; var hiddenUpdatesForLane = hiddenUpdates[index]; if (null !== hiddenUpdatesForLane) for (hiddenUpdates[index] = null, index = 0; index < hiddenUpdatesForLane.length; index++) { var update = hiddenUpdatesForLane[index]; null !== update && (update.lane &= -536870913); } remainingLanes &= ~lane; } 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0); 0 !== suspendedRetryLanes && 0 === updatedLanes && 0 !== root.tag && (root.suspendedLanes |= suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes)); } function markSpawnedDeferredLane(root, spawnedLane, entangledLanes) { root.pendingLanes |= spawnedLane; root.suspendedLanes &= ~spawnedLane; var spawnedLaneIndex = 31 - clz32(spawnedLane); root.entangledLanes |= spawnedLane; root.entanglements[spawnedLaneIndex] = root.entanglements[spawnedLaneIndex] | 1073741824 | entangledLanes & 4194218; } function markRootEntangled(root, entangledLanes) { var rootEntangledLanes = root.entangledLanes |= entangledLanes; for (root = root.entanglements; rootEntangledLanes;) { var index = 31 - clz32(rootEntangledLanes), lane = 1 << index; lane & entangledLanes | root[index] & entangledLanes && (root[index] |= entangledLanes); rootEntangledLanes &= ~lane; } } function addFiberToLanesMap(root, fiber, lanes) { if (isDevToolsPresent) for (root = root.pendingUpdatersLaneMap; 0 < lanes;) { var index = 31 - clz32(lanes), lane = 1 << index; root[index].add(fiber); lanes &= ~lane; } } function movePendingFibersToMemoized(root, lanes) { if (isDevToolsPresent) for (var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap, memoizedUpdaters = root.memoizedUpdaters; 0 < lanes;) { var index = 31 - clz32(lanes); root = 1 << index; index = pendingUpdatersLaneMap[index]; 0 < index.size && (index.forEach(function (fiber) { var alternate = fiber.alternate; null !== alternate && memoizedUpdaters.has(alternate) || memoizedUpdaters.add(fiber); }), index.clear()); lanes &= ~root; } } function lanesToEventPriority(lanes) { lanes &= -lanes; return 0 !== DiscreteEventPriority && DiscreteEventPriority < lanes ? 0 !== ContinuousEventPriority && ContinuousEventPriority < lanes ? 0 !== (lanes & 134217727) ? DefaultEventPriority : IdleEventPriority : ContinuousEventPriority : DiscreteEventPriority; } function resolveUpdatePriority() { var updatePriority = ReactDOMSharedInternals.p; if (0 !== updatePriority) return updatePriority; updatePriority = window.event; return void 0 === updatePriority ? DefaultEventPriority : getEventPriority(updatePriority.type); } function runWithPriority(priority, fn) { var previousPriority = ReactDOMSharedInternals.p; try { return ReactDOMSharedInternals.p = priority, fn(); } finally { ReactDOMSharedInternals.p = previousPriority; } } function detachDeletedInstance(node) { delete node[internalInstanceKey]; delete node[internalPropsKey]; delete node[internalEventHandlersKey]; delete node[internalEventHandlerListenersKey]; delete node[internalEventHandlesSetKey]; } function getClosestInstanceFromNode(targetNode) { var targetInst = targetNode[internalInstanceKey]; if (targetInst) return targetInst; for (var parentNode = targetNode.parentNode; parentNode;) { if (targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey]) { parentNode = targetInst.alternate; if (null !== targetInst.child || null !== parentNode && null !== parentNode.child) for (targetNode = getParentSuspenseInstance(targetNode); null !== targetNode;) { if (parentNode = targetNode[internalInstanceKey]) return parentNode; targetNode = getParentSuspenseInstance(targetNode); } return targetInst; } targetNode = parentNode; parentNode = targetNode.parentNode; } return null; } function getInstanceFromNode(node) { if (node = node[internalInstanceKey] || node[internalContainerInstanceKey]) { var tag = node.tag; if (5 === tag || 6 === tag || 13 === tag || 26 === tag || 27 === tag || 3 === tag) return node; } return null; } function getNodeFromInstance(inst) { var tag = inst.tag; if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return inst.stateNode; throw Error("getNodeFromInstance: Invalid argument."); } function getResourcesFromRoot(root) { var resources = root[internalRootNodeResourcesKey]; resources || (resources = root[internalRootNodeResourcesKey] = { hoistableStyles: new Map(), hoistableScripts: new Map() }); return resources; } function markNodeAsHoistable(node) { node[internalHoistableMarker] = !0; } function registerTwoPhaseEvent(registrationName, dependencies) { registerDirectEvent(registrationName, dependencies); registerDirectEvent(registrationName + "Capture", dependencies); } function registerDirectEvent(registrationName, dependencies) { registrationNameDependencies[registrationName] && console.error("EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.", registrationName); registrationNameDependencies[registrationName] = dependencies; var lowerCasedName = registrationName.toLowerCase(); possibleRegistrationNames[lowerCasedName] = registrationName; "onDoubleClick" === registrationName && (possibleRegistrationNames.ondblclick = registrationName); for (registrationName = 0; registrationName < dependencies.length; registrationName++) allNativeEvents.add(dependencies[registrationName]); } function checkControlledValueProps(tagName, props) { hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || null == props.value || ("select" === tagName ? console.error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set `onChange`.") : console.error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")); props.onChange || props.readOnly || props.disabled || null == props.checked || console.error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`."); } function isAttributeNameSafe(attributeName) { if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) return !0; if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1; if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) return validatedAttributeNameCache[attributeName] = !0; illegalAttributeNameCache[attributeName] = !0; console.error("Invalid attribute name: `%s`", attributeName); return !1; } function getValueForAttributeOnCustomComponent(node, name, expected) { if (isAttributeNameSafe(name)) { if (!node.hasAttribute(name)) { switch (typeof expected) { case "symbol": case "object": return expected; case "function": return expected; case "boolean": if (!1 === expected) return expected; } return void 0 === expected ? void 0 : null; } node = node.getAttribute(name); if ("" === node && !0 === expected) return !0; checkAttributeStringCoercion(expected, name); return node === "" + expected ? expected : node; } } function setValueForAttribute(node, name, value) { if (isAttributeNameSafe(name)) if (null === value) node.removeAttribute(name);else { switch (typeof value) { case "undefined": case "function": case "symbol": node.removeAttribute(name); return; case "boolean": var prefix = name.toLowerCase().slice(0, 5); if ("data-" !== prefix && "aria-" !== prefix) { node.removeAttribute(name); return; } } checkAttributeStringCoercion(value, name); node.setAttribute(name, "" + value); } } function setValueForKnownAttribute(node, name, value) { if (null === value) node.removeAttribute(name);else { switch (typeof value) { case "undefined": case "function": case "symbol": case "boolean": node.removeAttribute(name); return; } checkAttributeStringCoercion(value, name); node.setAttribute(name, "" + value); } } function setValueForNamespacedAttribute(node, namespace, name, value) { if (null === value) node.removeAttribute(name);else { switch (typeof value) { case "undefined": case "function": case "symbol": case "boolean": node.removeAttribute(name); return; } checkAttributeStringCoercion(value, name); node.setAttributeNS(namespace, name, "" + value); } } function getToStringValue(value) { switch (typeof value) { case "bigint": case "boolean": case "number": case "string": case "undefined": return value; case "object": return checkFormFieldValueStringCoercion(value), value; default: return ""; } } function isCheckable(elem) { var type = elem.type; return (elem = elem.nodeName) && "input" === elem.toLowerCase() && ("checkbox" === type || "radio" === type); } function trackValueOnNode(node) { var valueField = isCheckable(node) ? "checked" : "value", descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField); checkFormFieldValueStringCoercion(node[valueField]); var currentValue = "" + node[valueField]; if (!node.hasOwnProperty(valueField) && "undefined" !== typeof descriptor && "function" === typeof descriptor.get && "function" === typeof descriptor.set) { var get = descriptor.get, set = descriptor.set; Object.defineProperty(node, valueField, { configurable: !0, get: function () { return get.call(this); }, set: function (value) { checkFormFieldValueStringCoercion(value); currentValue = "" + value; set.call(this, value); } }); Object.defineProperty(node, valueField, { enumerable: descriptor.enumerable }); return { getValue: function () { return currentValue; }, setValue: function (value) { checkFormFieldValueStringCoercion(value); currentValue = "" + value; }, stopTracking: function () { node._valueTracker = null; delete node[valueField]; } }; } } function track(node) { node._valueTracker || (node._valueTracker = trackValueOnNode(node)); } function updateValueIfChanged(node) { if (!node) return !1; var tracker = node._valueTracker; if (!tracker) return !0; var lastValue = tracker.getValue(); var value = ""; node && (value = isCheckable(node) ? node.checked ? "true" : "false" : node.value); node = value; return node !== lastValue ? (tracker.setValue(node), !0) : !1; } function getActiveElement(doc) { doc = doc || ("undefined" !== typeof document ? document : void 0); if ("undefined" === typeof doc) return null; try { return doc.activeElement || doc.body; } catch (e) { return doc.body; } } function escapeSelectorAttributeValueInsideDoubleQuotes(value) { return value.replace(escapeSelectorAttributeValueInsideDoubleQuotesRegex, function (ch) { return "\\" + ch.charCodeAt(0).toString(16) + " "; }); } function validateInputProps(element, props) { void 0 === props.checked || void 0 === props.defaultChecked || didWarnCheckedDefaultChecked || (console.error("%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components", getCurrentFiberOwnerNameInDevOrNull() || "A component", props.type), didWarnCheckedDefaultChecked = !0); void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue$1 || (console.error("%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components", getCurrentFiberOwnerNameInDevOrNull() || "A component", props.type), didWarnValueDefaultValue$1 = !0); } function updateInput(element, value, defaultValue, lastDefaultValue, checked, defaultChecked, type, name) { element.name = ""; null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type ? (checkAttributeStringCoercion(type, "type"), element.type = type) : element.removeAttribute("type"); if (null != value) { if ("number" === type) { if (0 === value && "" === element.value || element.value != value) element.value = "" + getToStringValue(value); } else element.value !== "" + getToStringValue(value) && (element.value = "" + getToStringValue(value)); } else "submit" !== type && "reset" !== type || element.removeAttribute("value"); null != value ? setDefaultValue(element, type, getToStringValue(value)) : null != defaultValue ? setDefaultValue(element, type, getToStringValue(defaultValue)) : null != lastDefaultValue && element.removeAttribute("value"); null == checked && null != defaultChecked && (element.defaultChecked = !!defaultChecked); null != checked && (element.checked = checked && "function" !== typeof checked && "symbol" !== typeof checked); null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name ? (checkAttributeStringCoercion(name, "name"), element.name = "" + getToStringValue(name)) : element.removeAttribute("name"); } function initInput(element, value, defaultValue, checked, defaultChecked, type, name, isHydrating) { null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type && (checkAttributeStringCoercion(type, "type"), element.type = type); if (null != value || null != defaultValue) { if (!("submit" !== type && "reset" !== type || void 0 !== value && null !== value)) return; defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : ""; value = null != value ? "" + getToStringValue(value) : defaultValue; isHydrating || value === element.value || (element.value = value); element.defaultValue = value; } checked = null != checked ? checked : defaultChecked; checked = "function" !== typeof checked && "symbol" !== typeof checked && !!checked; element.checked = isHydrating ? element.checked : !!checked; element.defaultChecked = !!checked; null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name && (checkAttributeStringCoercion(name, "name"), element.name = name); } function setDefaultValue(node, type, value) { "number" === type && getActiveElement(node.ownerDocument) === node || node.defaultValue === "" + value || (node.defaultValue = "" + value); } function validateOptionProps(element, props) { null == props.value && ("object" === typeof props.children && null !== props.children ? React.Children.forEach(props.children, function (child) { null == child || "string" === typeof child || "number" === typeof child || "bigint" === typeof child || didWarnInvalidChild || (didWarnInvalidChild = !0, console.error("Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to