1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,678745,e=>{"use strict";let t=(0,e.i(475254).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",0,t])},643531,e=>{"use strict";var t=e.i(678745);e.s(["Check",()=>t.default])},373375,e=>{"use strict";let t=(0,e.i(475254).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",0,t],373375)},599945,e=>{"use strict";var t=e.i(843476);e.s(["CarouselDots",0,function({count:e,activeIndex:r,onSelect:a,activeColorClass:s="bg-slate-800 dark:bg-white",inactiveColorClass:n="bg-slate-300 dark:bg-slate-600",labelPrefix:l="Go to slide",className:i="",interactive:o=!0,maxVisible:c}){if(e<=1)return null;let d=0,u=e;c&&e>c&&(u=(d=Math.max(0,Math.min(r-Math.floor(c/2),e-c)))+c);let h={minWidth:0,minHeight:0,padding:0,border:0,flex:"0 0 auto",appearance:"none",WebkitAppearance:"none"},m={...h,width:5,height:5},g={...h,width:3,height:3};return(0,t.jsx)("div",{className:`flex items-center justify-center gap-1.5 ${i}`,role:"tablist",children:Array.from({length:u-d}).map((i,c)=>{let h=d+c,f=h===r,x=0===c&&d>0,p=c===u-d-1&&u<e,b=!f&&(x||p)?g:m,v=`block shrink-0 rounded-full transition-all duration-200 ${f?s:n}`;return o&&a?(0,t.jsx)("button",{type:"button",role:"tab","aria-selected":f,"aria-label":`${l} ${h+1}`,onClick:()=>a(h),className:v,style:b},h):(0,t.jsx)("span",{role:"tab","aria-selected":f,"aria-hidden":!o,className:v,style:b},h)})})}])},701013,e=>{"use strict";var t=e.i(271645);e.s(["useMobileAutoSlide",0,function(e,r,a,{enabled:s=!0,intervalMs:n=5e3,resumeMs:l=2e3,mobileMaxWidth:i=768,enableOnDesktop:o=!1}={}){let c=(0,t.useRef)(a);c.current=a,(0,t.useEffect)(()=>{if(!s||n<=0)return;let t=e.current,a=r.current;if(!t||!a)return;let d=window.matchMedia(`(min-width: ${i}px)`),u=!o&&d.matches,h=!1,m=!1,g=null,f=null,x=()=>{null!==g||u||(g=window.setInterval(()=>{!m&&h&&c.current()},n))},p=()=>{null!==g&&(window.clearInterval(g),g=null)},b=()=>{(u=!o&&d.matches)?p():h&&x()};d.addEventListener("change",b);let v=new IntersectionObserver(e=>{for(let t of e)h=t.isIntersecting,t.isIntersecting?x():p()},{rootMargin:"0px"});v.observe(t);let y=()=>{m=!0,null!==f&&(window.clearTimeout(f),f=null)},w=()=>{null!==f&&window.clearTimeout(f),f=window.setTimeout(()=>{m=!1,f=null},l)},k=()=>{m=!0,null!==f&&(window.clearTimeout(f),f=null)},S=()=>{null!==f&&(window.clearTimeout(f),f=null),m=!1};return a.addEventListener("mouseenter",k),a.addEventListener("mouseleave",S),a.addEventListener("touchstart",y,{passive:!0}),a.addEventListener("touchend",w,{passive:!0}),a.addEventListener("touchcancel",w,{passive:!0}),a.addEventListener("pointerdown",y),a.addEventListener("pointerup",w),a.addEventListener("pointercancel",w),()=>{p(),null!==f&&window.clearTimeout(f),v.disconnect(),d.removeEventListener("change",b),a.removeEventListener("mouseenter",k),a.removeEventListener("mouseleave",S),a.removeEventListener("touchstart",y),a.removeEventListener("touchend",w),a.removeEventListener("touchcancel",w),a.removeEventListener("pointerdown",y),a.removeEventListener("pointerup",w),a.removeEventListener("pointercancel",w)}},[s,n,l,i,o,e,r])}])},167755,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(373375),s=e.i(463059),n=e.i(599945),l=e.i(701013);e.s(["default",0,({children:e,ariaLabel:i,cardWidthClass:o="w-[85vw] md:w-[320px]",pxPerSec:c=40,showDots:d=!0,activeDotClass:u="bg-cyan-500",className:h="",showArrows:m=!0,duplicateItems:g=!0,arrowsOnDesktop:f=!1,equalHeight:x=!0,adaptiveHeight:p=!1,mobileAutoSlideMs:b=0,autoScrollDesktop:v=!0,autoSlideDesktop:y=!1})=>{let w=r.default.Children.toArray(e),k=w.length,S=k>0?g?[...w,...w]:w:[],j=(0,r.useRef)(null),E=(0,r.useRef)(null),N=(0,r.useRef)([]),[L,C]=(0,r.useState)(!1),[M,_]=(0,r.useState)(0),[A,T]=(0,r.useState)([]),[V,R]=(0,r.useState)(!1),[$,z]=(0,r.useState)(k>1),P=(0,r.useCallback)(()=>{let e=E.current;if(!e)return;let t=g?e.scrollWidth/2:e.scrollWidth-e.clientWidth;R(e.scrollLeft>4),t<=0&&k>1?z(!0):z(e.scrollLeft<t-4)},[g,k]);(0,r.useEffect)(()=>{let e=E.current;if(!e)return;let t=requestAnimationFrame(P);e.addEventListener("scroll",P,{passive:!0}),window.addEventListener("resize",P);let r="u">typeof ResizeObserver?new ResizeObserver(P):null;return r?.observe(e),()=>{cancelAnimationFrame(t),e.removeEventListener("scroll",P),window.removeEventListener("resize",P),r?.disconnect()}},[P,k]);let O=(0,r.useRef)(null),I=(0,r.useCallback)(e=>{let t=E.current;if(!t)return;
1let r=t.getBoundingClientRect(),a=r.left+r.width/2,s=N.current.slice(0,k).filter(e=>null!==e);if(0===s.length)return;let n=0,l=1/0;s.forEach((e,t)=>{let r=e.getBoundingClientRect(),s=Math.abs(r.left+r.width/2-a);s<l&&(l=s,n=t)});let i=Math.max(0,Math.min(g?N.current.length-1:s.length-1,n+e)),o=N.current[i];if(!o)return;let c=Math.max(0,o.offsetLeft-(t.clientWidth-o.offsetWidth)/2);null!==O.current&&(cancelAnimationFrame(O.current),O.current=null);let d=t.scrollLeft,u=c-d;if(0===u)return;let h=t.style.scrollSnapType;t.style.scrollSnapType="none";let m=performance.now(),f=e=>{let r=Math.min(1,(e-m)/350);t.scrollLeft=d+u*(r<.5?2*r*r:1-Math.pow(-2*r+2,2)/2),r<1?O.current=requestAnimationFrame(f):(O.current=null,t.style.scrollSnapType=h)};O.current=requestAnimationFrame(f)},[k,g]);(0,r.useEffect)(()=>()=>{null!==O.current&&cancelAnimationFrame(O.current)},[]);let W=(0,r.useCallback)(()=>{let e=E.current;if(e){if(g){let t=e.scrollWidth/2;t>0&&e.scrollLeft>=t-4&&(e.scrollLeft=e.scrollLeft-t)}else{let t=e.scrollWidth-e.clientWidth;if(t>0&&e.scrollLeft>=t-4)return void e.scrollTo({left:0,behavior:"smooth"})}I(1)}},[g,I]);(0,l.useMobileAutoSlide)(j,E,W,{enabled:b>0&&k>1,intervalMs:b,resumeMs:2e3,enableOnDesktop:y}),(0,r.useEffect)(()=>{let e=window.matchMedia("(min-width: 768px)"),t=()=>C(e.matches);return t(),e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,r.useEffect)(()=>{if(!d||0===k)return;let e=new IntersectionObserver(e=>{let t={ratio:0,idx:-1};for(let r of e){if(!r.isIntersecting)continue;let e=N.current.findIndex(e=>e===r.target);e>=0&&r.intersectionRatio>t.ratio&&(t={ratio:r.intersectionRatio,idx:e})}t.idx>=0&&_(t.idx)},{threshold:[.5,.75,1]});return N.current.slice(0,k).forEach(t=>t&&e.observe(t)),()=>e.disconnect()},[k,d]),(0,r.useEffect)(()=>{if(!L||!v||window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;let e=E.current,t=j.current;if(!e||!t)return;let r=!1,a=!0,s=null,n=0,l=0,i=t=>{l||(l=t);let s=Math.min(.1,(t-l)/1e3);if(l=t,!r&&a){let t=e.scrollWidth/2;t>0&&e.scrollLeft>=t&&(e.scrollLeft-=t),e.scrollLeft+=c*s}n=requestAnimationFrame(i)},o=()=>{n||(l=0,n=requestAnimationFrame(i))},d=()=>{n&&cancelAnimationFrame(n),n=0},u=new IntersectionObserver(e=>{for(let t of e)a=t.isIntersecting,t.isIntersecting?o():d()},{rootMargin:"200px 0px"});u.observe(t);let h=()=>{r=!0,s&&window.clearTimeout(s)},m=()=>{s&&window.clearTimeout(s),s=window.setTimeout(()=>{r=!1},1500)};return e.addEventListener("mouseenter",h),e.addEventListener("mouseleave",m),e.addEventListener("pointerdown",h),e.addEventListener("pointerup",m),e.addEventListener("pointercancel",m),e.addEventListener("touchstart",h,{passive:!0}),e.addEventListener("touchend",m,{passive:!0}),()=>{d(),u.disconnect(),e.removeEventListener("mouseenter",h),e.removeEventListener("mouseleave",m),e.removeEventListener("pointerdown",h),e.removeEventListener("pointerup",m),e.removeEventListener("pointercancel",m),e.removeEventListener("touchstart",h),e.removeEventListener("touchend",m),s&&window.clearTimeout(s)}},[L,c,v]),(0,r.useEffect)(()=>{if(!p||L)return void T([]);let e=N.current.slice(0,k).filter(e=>null!==e);if(0===e.length||"u"<typeof ResizeObserver)return;let t=()=>{T(t=>{let r=e.map(e=>e.offsetHeight);return t.length===r.length&&t.every((e,t)=>e===r[t])?t:r})};t();let r=new ResizeObserver(t);e.forEach(e=>r.observe(e));let a=E.current,s=()=>{requestAnimationFrame(()=>requestAnimationFrame(t))};return a?.addEventListener("click",s),()=>{r.disconnect(),a?.removeEventListener("click",s)}},[p,L,k]);let B=p&&!L&&null!=A[M]?A[M]+24:null;if(0===k)return null;let q=m&&k>1,U=d&&k>1;return(0,t.jsxs)("div",{ref:j,className:`relative w-full ${h}`,children:[(0,t.jsx)("div",{ref:E,role:"region","aria-roledescription":"carousel","aria-label":i,className:`flex ${x?"items-stretch":"items-start"} gap-4 overflow-x-auto overscroll-x-contain scroll-smooth md:gap-6 ${p?"overflow-y-clip":"overflow-y-visible"} hide-scrollbar -mx-4 snap-x snap-mandatory scroll-px-[7.5vw] px-[7.5vw] py-3 sm:scroll-px-4 sm:px-4 md:snap-none`,style:{touchAction:"pan-x pan-y",WebkitOverflowScrolling:"touch",scrollPaddingInline:"7.5vw",...p&&null!==B?{height:B}:null},children:S.map((e,r)=>{let a=r<k;return(0,t.jsx)("div",{ref:e=>{N.current[r]=e},role:a?"group":void 0,"aria-roledescription":a?"slide":void 0,"aria-label":a?`${r+1} of ${k}`:void 0,"aria-hidden":!a||void 0,className:`${o} flex-shrink-0 snap-center snap-always md:snap-align-none ${x?"self-stretch [&>*]:h-full":""}`,children:e},r)})}),q&&f&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",onClick:()=>I(-1),disabled:!V,"aria-label":"Previous card",className:`absolute top-1/2 left-2 z-20 hidden h-12 w-12 -translate-y-1/2 items-center justify-center rounded-full bg-white text-slate-900 shadow-xl ring-1 ring-slate-200 transition-all duration-200 hover:scale-110 hover:bg-orange-50 active:scale-95 md:flex lg:-left-4 dark:bg-slate-800 dark:text-white dark:ring-slate-700 dark:hover:bg-slate-700 ${V?"opacity-100":"cursor-not-allowed opacity-30"}`,children:(0,t.jsx)(a.ChevronLeft,{className:"h-6 w-6",strokeWidth:2.5})}),(0,t.jsx)("button",{type:"button",onClick:()=>I(1),disabled:!$,"aria-label":"Next card",className:`absolute top-1/2 right-2 z-20 hidden h-12 w-12 -translate-y-1/2 items-center justify-center rounded-full bg-white text-slate-900 shadow-xl ring-1 ring-slate-200 transition-all duration-200 hover:scale-110 hover:bg-orange-50 active:scale-95 md:flex lg:-right-4 dark:bg-slate-800 dark:text-white dark:ring-slate-700 dark:hover:bg-slate-700 ${$?"opacity-100":"cursor-not-allowed opacity-30"}`,children:(0,t.jsx)(s.ChevronRight,{className:"h-6 w-6",strokeWidth:2.5})})]}),(q||U)&&(0,t.jsxs)("div",{className:"mt-5 flex items-center justify-between gap-3 px-4 md:hidden",children:[q?(0,t.jsxs)("button",{type:"button",onClick:()=>I(-1),disabled:!V,"aria-label":"Previous card",className:`group relative flex h-11 w-11 shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 text-white shadow-[0_8px_20px_-6px_rgba(15,23,42,0.55),inset_0_1px_0_rgba(255,255,255,0.18)] ring-1 ring-white/10 transition-all duration-200 ease-out hover:-translate-x-0.5 hover:shadow-[0_10px_24px_-6px_rgba(15,23,42,0.6),inset_0_1px_0_rgba(255,255,255,0.22)] active:scale-90 dark:from-white dark:via-slate-100 dar
1k:to-white dark:text-slate-900 dark:shadow-[0_8px_20px_-6px_rgba(15,23,42,0.35),inset_0_1px_0_rgba(255,255,255,0.7)] dark:ring-slate-900/10 ${V?"opacity-100":"cursor-not-allowed opacity-40"}`,children:[(0,t.jsx)("span",{className:"pointer-events-none absolute inset-0.5 rounded-full bg-gradient-to-b from-white/10 to-transparent dark:from-white/40","aria-hidden":"true"}),(0,t.jsx)(a.ChevronLeft,{className:"relative h-5 w-5 drop-shadow-sm",strokeWidth:2.75})]}):null,U&&(0,t.jsx)(n.CarouselDots,{count:w.length,activeIndex:M,interactive:!1,activeColorClass:u??"bg-slate-800 dark:bg-white",inactiveColorClass:"bg-slate-300 dark:bg-slate-700",className:"hide-scrollbar min-w-0 flex-1 overflow-x-auto"}),q?(0,t.jsxs)("button",{type:"button",onClick:()=>I(1),disabled:!$,"aria-label":"Next card",className:`group relative flex h-11 w-11 shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 text-white shadow-[0_8px_20px_-6px_rgba(15,23,42,0.55),inset_0_1px_0_rgba(255,255,255,0.18)] ring-1 ring-white/10 transition-all duration-200 ease-out hover:translate-x-0.5 hover:shadow-[0_10px_24px_-6px_rgba(15,23,42,0.6),inset_0_1px_0_rgba(255,255,255,0.22)] active:scale-90 dark:from-white dark:via-slate-100 dark:to-white dark:text-slate-900 dark:shadow-[0_8px_20px_-6px_rgba(15,23,42,0.35),inset_0_1px_0_rgba(255,255,255,0.7)] dark:ring-slate-900/10 ${$?"opacity-100":"cursor-not-allowed opacity-40"}`,children:[(0,t.jsx)("span",{className:"pointer-events-none absolute inset-0.5 rounded-full bg-gradient-to-b from-white/10 to-transparent dark:from-white/40","aria-hidden":"true"}),(0,t.jsx)(s.ChevronRight,{className:"relative h-5 w-5 drop-shadow-sm",strokeWidth:2.75})]}):null]})]})}])},557487,e=>{"use strict";let t=(0,e.i(475254).default)("laptop",[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]]);e.s(["Laptop",0,t],557487)},488400,e=>{"use strict";var t=e.i(843476),r=e.i(271645);let a=(0,r.createContext)(void 0);e.s(["BlogTranslationContext",0,a,"BlogTranslationProvider",0,({children:e})=>{let[s,n]=(0,r.useState)("en"),[l,i]=(0,r.useState)({}),[o,c]=(0,r.useState)(!1),d=(0,r.useCallback)(e=>{n(e);try{localStorage.setItem("language-blog",e)}catch{}"en"===e&&(i({}),c(!1))},[]),u=(0,r.useCallback)(e=>{i(t=>({...t,...e}))},[]),h=(0,r.useCallback)(()=>{i({})},[]);return(0,t.jsx)(a.Provider,{value:{language:s,translations:l,isTranslating:o,setLanguage:d,mergeTranslations:u,setIsTranslating:c,resetTranslations:h},children:e})}])},253677,e=>{"use strict";var t=e.i(271645),r=e.i(488400);e.s(["useBlogTranslation",0,()=>{let e=(0,t.useContext)(r.BlogTranslationContext);if(!e)throw Error("useBlogTranslation must be used inside BlogTranslationProvider");return e}])},515602,e=>{"use strict";var t=e.i(843476),r=e.i(253677),a=e.i(573322);e.s(["default",0,()=>{let{language:e,setLanguage:s,isTranslating:n}=(0,r.useBlogTranslation)();return(0,t.jsx)("div",{className:"relative",children:(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-1",children:[(0,t.jsx)("label",{className:"text-xs font-semibold flex items-center justify-center text-slate-500 dark:text-slate-400 mb-1",htmlFor:"blog-language-selector",children:"Translate"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[n&&(0,t.jsx)("div",{className:"w-4 h-4 border-2 border-slate-400 border-t-transparent rounded-full animate-spin",role:"status","aria-live":"polite","aria-label":"Translating"}),(0,t.jsx)("select",{id:"blog-language-selector",value:e,onChange:e=>s(e.target.value),disabled:n,className:"glass-select cursor-pointer rounded-full bg-white dark:bg-slate-800 backdrop-blur-lg pl-4 pr-10 py-2 text-sm font-medium text-slate-700 dark:text-slate-200 border border-slate-300 dark:border-slate-600 focus:outline-none focus:ring-2 focus:ring-violet-400","aria-label":"Select article language",children:a.LANGUAGE_OPTIONS.map(e=>(0,t.jsx)("option",{value:e.code,className:"bg-white dark:bg-slate-800 text-slate-800 dark:text-slate-200",children:e.name},e.code))})]})]})})}])},534507,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(253677),s=e.i(809051);let n=new Set(["CODE","PRE","KBD","SCRIPT","STYLE","NOSCRIPT"]),l=/^(https?:|mailto:|tel:|\/)/i,i=/^[\d\s\W_]+$/,o=e=>{let t=e.match(/^\s*/),r=e.match(/\s*$/),a=t?t[0]:"",s=r?r[0]:"",n=e.slice(a.length,e.length-s.length);return{lead:a,trimmed:n,trail:s}},c=(e,t)=>{let r=e;for(;r&&r!==t;){if(n.has(r.tagName)||r.hasAttribute("data-no-translate"))return!0;r=r.parentElement}return!1},d=e=>!(e.length<3||i.test(e)||l.test(e)),u=(e,t,r)=>{for(let[a,s]of e.entries()){let e=t[a];if(e)for(let t of s){let a=r?.get(t);t.nodeValue=(a?a[0]:"")+e+(a?a[1]:"")}}},h=(e,t,r)=>{for(let a of e.values())for(let e of a){let a=t?.get(e);if(void 0===a)continue;let s=r?.get(e);e.nodeValue=(s?s[0]:"")+a+(s?s[1]:"")}};var m=e.i(429116);let g=async(e,t,r)=>{let a=await fetch("/api/translate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keys:e,targetLanguage:t}),signal:r});if(!a.ok)throw Error(`Translation API ${a.status}`);let s=await a.json();if(s&&"object"==typeof s&&"error"in s&&s.error)throw Error(String(s.error));return s},f=async(e,t,r,a)=>{for(let s=1;s<=3;s++)try{let n=await g(e,r,a),l=Object.values(n).filter(e=>"string"==typeof e).slice(0,5),i=l.join(" ");if(l.length>0&&!(0,m.scriptOk)(i,t)){if(s<3)continue;return e}return{...e,...n}}catch(e){if("AbortError"===e.name)throw e;if(s>=3)break}return e},x=async(e,t,r={})=>
1{if("en"===t||!m.LANGUAGE_NAMES[t])return{};let a=Object.entries(e);if(0===a.length)return{};let s=[];for(let e=0;e<a.length;e+=80)s.push(Object.fromEntries(a.slice(e,e+80)));let n=(0,m.languageName)(t),l={};for(let e=0;e<s.length;e+=3){if(r.signal?.aborted)throw new DOMException("Aborted","AbortError");let a=s.slice(e,e+3),i=await Promise.all(a.map(e=>f(e,t,n,r.signal))),o={};for(let e of i)Object.assign(o,e);Object.assign(l,o),r.onRound?.(o)}return l},p=(e,t)=>`blog-tx-v2-${e}-${t}`,b=(e,t,r)=>{if("u">typeof sessionStorage)try{sessionStorage.setItem(p(e,t),JSON.stringify(r))}catch{}};e.s(["default",0,({slug:e,children:n})=>{let{language:l,setLanguage:i,mergeTranslations:m,setIsTranslating:g,resetTranslations:f}=(0,a.useBlogTranslation)(),v=(0,r.useRef)(null),y=(0,r.useRef)(null),w=(0,r.useRef)(null),k=(0,r.useRef)(!1);return(0,r.useEffect)(()=>{if(k.current)return;k.current=!0;let e=null;try{e=localStorage.getItem("language-blog")}catch{}e&&"en"!==e&&i(e)},[i]),(0,r.useEffect)(()=>{if(w.current?.abort(),w.current=null,!v.current)return;if("en"===l){let e=y.current;e&&h(e.nodes,e.originals,e.whitespace);return}y.current||(y.current=(e=>{let t=[],r=new Set,a=new Map,n=new WeakMap,l=new WeakMap,i=e.ownerDocument.createTreeWalker(e,4),u=[],h=i.nextNode();for(;h;)u.push(h),h=i.nextNode();for(let i of u){let u=i.parentElement;if(!u||c(u,e))continue;let{lead:h,trimmed:m,trail:g}=o(i.nodeValue||"");if(!d(m))continue;let f=(0,s.hashReviewText)(m);n.set(i,m),l.set(i,[h,g]);let x=a.get(f);x?x.push(i):a.set(f,[i]),r.has(m)||(r.add(m),t.push(m))}return{strings:t,nodes:a,originals:n,whitespace:l}})(v.current));let t=y.current;if(0===t.strings.length)return;h(t.nodes,t.originals,t.whitespace);let r=((e,t)=>{if("u"<typeof sessionStorage)return null;try{let r=sessionStorage.getItem(p(e,t));if(!r)return null;let a=JSON.parse(r);if(!a||"object"!=typeof a)return null;return a}catch{return null}})(e,l);if(r){u(t.nodes,r,t.whitespace),m(r);return}let a=new AbortController;return w.current=a,g(!0),(async()=>{try{let r=await fetch(`/locales-blog/${e}/${l}.json`,{cache:"force-cache",signal:a.signal});if(r.ok){let s=await r.json();if(s&&"object"==typeof s&&!Array.isArray(s)&&!a.signal.aborted){u(t.nodes,s,t.whitespace),m(s),b(e,l,s),g(!1);return}}}catch(e){if("AbortError"===e.name)return}a.signal.aborted||(()=>{let r={};for(let[e,a]of t.nodes.entries()){let s=t.originals.get(a[0]);s&&(r[e]=s)}x(r,l,{signal:a.signal,onRound:e=>{a.signal.aborted||(u(t.nodes,e,t.whitespace),m(e))}}).then(t=>{a.signal.aborted||b(e,l,t)}).catch(e=>{"AbortError"!==e.name&&console.error("[blog-translator] translation failed",e)}).finally(()=>{a.signal.aborted||g(!1)})})()})(),()=>{a.abort()}},[l,e]),(0,r.useEffect)(()=>()=>{f()},[f]),(0,t.jsx)("div",{ref:v,"data-blog-body":!0,children:n})}],534507)},865960,e=>{"use strict";let t=(0,e.i(475254).default)("quote",[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]]);e.s(["Quote",0,t],865960)},367911,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(657688),s=e.i(778917),n=e.i(865960),l=e.i(664659),i=e.i(989970),o=e.i(434381),c=e.i(617454);let d={source:"Source",read_more:"Read more",show_less:"Show less",google_review:"Google Review",via:"via"},u={"coaching-ielts":"IELTS Student","coaching-cd-ielts":"CD IELTS Student","coaching-ielts-life-skills":"IELTS Life Skills","coaching-pte":"PTE Student","coaching-pte-core":"PTE Core Student","coaching-toefl":"TOEFL Student","coaching-gre":"GRE Student","coaching-sat":"SAT Student","coaching-duolingo":"Duolingo Student","coaching-celpip":"CELPIP Student","coaching-languagecert":"LanguageCert Student","coaching-oet":"OET Student","coaching-oxford-ellt":"Oxford ELLT Student","coaching-cael":"CAEL Student","coaching-spanish":"Spanish Student","coaching-german-language":"German Language","coaching-french-language":"French Language","coaching-general":"Test Prep","spoken-english":"Spoken English","premium-mba":"MBA Aspirant","premium-mbbs":"MBBS Abroad","premium-ms":"MS/PhD Aspirant","premium-undergrad":"Undergrad Abroad","visa-tourist":"Tourist Visa","visa-spouse":"Spouse/Dependent Visa","visa-work":"Work Visa/PR","visa-general":"Visa Success","study-abroad-uk":"UK Visa Success","study-abroad-canada":"Canada Visa
1Success","study-abroad-australia":"Australia Visa Success","study-abroad-new-zealand":"New Zealand Visa Success","study-abroad-germany":"Germany Visa Success","study-abroad-usa":"USA Visa Success","study-abroad-uae":"UAE Visa Success","study-abroad-malta":"Malta Visa Success","study-abroad-ireland":"Ireland Visa Success","study-abroad-italy":"Italy Visa Success","study-abroad-france":"France Visa Success","study-abroad-singapore":"Singapore Visa Success","study-abroad-netherlands":"Netherlands Visa Success","study-abroad-switzerland":"Switzerland Visa Success","study-abroad-japan":"Japan Visa Success","study-abroad-south-korea":"South Korea Visa Success","study-abroad-spain":"Spain Visa Success","study-abroad-sweden":"Sweden Visa Success","study-abroad-denmark":"Denmark Visa Success","study-abroad-norway":"Norway Visa Success","study-abroad-finland":"Finland Visa Success","study-abroad-austria":"Austria Visa Success","study-abroad-belgium":"Belgium Visa Success","study-abroad-poland":"Poland Visa Success","study-abroad-czech":"Czech Republic Visa Success","study-abroad-hungary":"Hungary Visa Success","study-abroad-portugal":"Portugal Visa Success","study-abroad-greece":"Greece Visa Success","study-abroad-cyprus":"Cyprus Visa Success","study-abroad-luxembourg":"Luxembourg Visa Success","study-abroad-iceland":"Iceland Visa Success","study-abroad-estonia":"Estonia Visa Success","study-abroad-latvia":"Latvia Visa Success","study-abroad-lithuania":"Lithuania Visa Success","study-abroad-slovenia":"Slovenia Visa Success","study-abroad-slovakia":"Slovakia Visa Success","study-abroad-croatia":"Croatia Visa Success","study-abroad-romania":"Romania Visa Success","study-abroad-bulgaria":"Bulgaria Visa Success","study-abroad-russia":"Russia Visa Success","study-abroad-georgia":"Georgia Study Abroad","study-abroad-general":"Study Abroad","service-education-loan":"Education Loan","service-sop-lor":"SOP/LOR Help","service-forex":"Forex Service","service-accommodation":"Accommodation","service-scholarship":"Scholarship",general:"Student"},h="bg-slate-100 dark:bg-slate-800 text-slate-600 dark:text-slate-300",m=({photoUrl:e,name:s,size:n="md",colorClass:l})=>{let[i,o]=(0,r.useState)(!1),[c,d]=(0,r.useState)(!1),u=s.charAt(0).toUpperCase(),h="sm"===n?"w-11 h-11 text-xs":"lg"===n?"w-14 h-14 text-lg":"w-11 h-11 text-sm";return((0,r.useEffect)(()=>{if(!e||i||c)return;let t=setTimeout(()=>{c||o(!0)},3e3);return()=>clearTimeout(t)},[e,i,c]),e&&!i)?(0,t.jsxs)("div",{className:`${h} relative flex-shrink-0 rounded-full`,children:[(0,t.jsx)("div",{className:`absolute inset-0 rounded-full bg-gradient-to-br ${l} flex items-center justify-center font-bold text-white`,children:u}),(0,t.jsx)(a.default,{src:e,alt:`${s} - EEC student review profile photo`,width:56,height:56,sizes:"56px",unoptimized:!0,loading:"eager",className:`${h} relative z-10 rounded-full object-cover ring-2 ring-white/20 transition-opacity duration-300 motion-reduce:transition-none ${c?"opacity-100":"opacity-0"}`,referrerPolicy:"no-referrer",onLoad:()=>d(!0),onError:()=>o(!0)})]}):(0,t.jsx)("div",{className:`${h} rounded-full bg-gradient-to-br ${l} flex flex-shrink-0 items-center justify-center font-bold text-white`,children:u})},g=({category:e,labels:r})=>{if(!e||"general"===e)return null;let a=r?.[e]||u[e]||"Student",s=e?e.startsWith("coaching")?"bg-violet-100 dark:bg-violet-900/50 text-violet-700 dark:text-violet-300":e.startsWith("study-abroad")?"bg-emerald-100 dark:bg-emerald-900/50 text-emerald-700 dark:text-emerald-300":"spoken-english"===e?"bg-cyan-100 dark:bg-cyan-900/50 text-cyan-700 dark:text-cyan-300":e.startsWith("visa-")?"bg-amber-100 dark:bg-amber-900/50 text-amber-700 dark:text-amber-300":e.startsWith("premium-")?"bg-rose-100 dark:bg-rose-900/50 text-rose-700 dark:text-rose-300":e.startsWith("service-")?"bg-blue-100 dark:bg-blue-900/50 text-blue-700 dark:text-blue-300":h:h;return(0,t.jsx)("span",{className:`inline-flex items-center ${s} rounded-full px-2 py-0.5 text-xs font-bold tracking-wider uppercase`,children:a})};e.s(["CATEGORY_LABELS",0,u,"ReviewerAvatar",0,m,"ServiceBadge",0,g,"default",0,({review:e,variant:a="light",className:u="",showBranch:h=!0,showServiceBadge:f=!1,maxTextLength:x=280,labels:p,tReview:b,registerReviewText:v})=>{let y,w,k,S={...d,...p},[j,E]=(0,r.useState)(!1),{cardRef:N,onMouseEnter:L,onMouseLeave:C}=(y=(0,r.useRef)(null),w=(0,r.useCallback)(()=>{y.current&&i.default.to(y.current,{borderColor:"rgba(139, 92, 246, 0.5)",backgroundColor:"rgba(139, 92, 246, 0.08)",duration:.3,ease:"power2.out"})},[]),k=(0,r.useCallback)(()=>{y.current&&i.default.to(y.current,{borderColor:"",backgroundColor:"",duration:.3,ease:"power2.out",clearProps:"borderColor,backgroundColor"})},[]),{cardRef:y,onMouseEnter:w,onMouseLeave:k});(0,r.useEffect)(()=>{v?.(e.text)},[e.text,v]);let M=b?b(e.text):e.text,_=M.length>x,A=j||!_?M:`${M.slice(0,x)}...`,T=["from-blue-500 to-blue-600","from-purple-500 to-purple-600","from-emerald-500 to-emerald-600","from-amber-500 to-amber-600","from-rose-500 to-rose-600","from-indigo-500 to-indigo-600","from-teal-500 to-teal-600","from-orange-500 to-orange-600"],V=e.authorName.charCodeAt(0)%T.length;return"light"===a?(0,t.jsxs)("div",{ref:N,onMouseEnter:L,onMouseLeave:C,className:`flex h-full flex-col rounded-2xl border border-gray-100 bg-white p-5 shadow-sm will-change-transform dark:bg-slate-800 dark:shadow-slate-900/50 ${u}`,children:[(0,t.jsxs)("div",{className:"mb-3 flex items-start gap-3",children:[(0,t.jsx)(m,{photoUrl:e.profilePhotoUrl,name:e.authorName,colorClass:T[V]}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"truncate text-sm font-semibold text-gray-900 dark:text-white",children:e.authorName}),h&&e.city&&(0,t.jsxs)("p",{className:"truncate text-xs text-gray-500 dark:text-gray-400",children:[e.city,e.branchName?` \xb7 ${e.branchName.replace("EEC ","")}`:""]})]}),(0,t.jsx)("div",{className:"flex-shrink-0",children:(0,t.jsx)(o.GoogleLogo,{size:18})})]}),(0,t.jsxs)("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:[(0,t.jsx)(o.StarRating,{rating:e.rating,size:14}),(0,t.jsx)("span",{className:"text-xs text-gray-400 dark:text-gray-500",suppressHydrationWarning:!0,children:(0,c.formatReviewDate)(e.date)}
1),f&&(0,t.jsx)(g,{category:e.serviceCategory,labels:S.category_labels})]}),(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsxs)("p",{className:`text-sm leading-relaxed text-gray-700 dark:text-gray-200 ${!j?"line-clamp-5":""}`,children:["â",A,"â"]}),_&&(0,t.jsxs)("button",{type:"button",onClick:()=>E(!j),className:"mt-1.5 inline-flex items-center gap-1 text-xs font-medium text-blue-600 transition-colors motion-reduce:transition-none md:hover:text-blue-800 dark:text-blue-400",children:[j?S.show_less:S.read_more,(0,t.jsx)(l.ChevronDown,{className:`h-3 w-3 transition-transform motion-reduce:transition-none ${j?"rotate-180":""}`})]})]}),(0,t.jsxs)("div",{className:"mt-4 flex items-center justify-between border-t border-gray-100 pt-3 dark:border-slate-700",children:[(0,t.jsx)("span",{className:"text-xs font-medium tracking-wider text-gray-400 uppercase dark:text-gray-500",children:S.google_review}),e.sourceUrl&&(0,t.jsxs)("a",{href:e.sourceUrl,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-xs font-medium text-blue-500 md:hover:text-blue-700 dark:text-blue-300",children:[S.source," ",(0,t.jsx)(s.ExternalLink,{className:"h-2.5 w-2.5"})]})]})]}):"dark"===a?(0,t.jsxs)("div",{ref:N,onMouseEnter:L,onMouseLeave:C,className:`flex h-full flex-col rounded-2xl border border-white/10 bg-white/5 p-5 backdrop-blur-sm will-change-transform ${u}`,children:[(0,t.jsxs)("div",{className:"mb-3 flex items-start gap-3",children:[(0,t.jsx)(m,{photoUrl:e.profilePhotoUrl,name:e.authorName,colorClass:T[V]}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"truncate text-sm font-semibold text-white",children:e.authorName}),h&&e.city&&(0,t.jsxs)("p",{className:"truncate text-xs text-white/50",children:[e.city,e.branchName?` \xb7 ${e.branchName.replace("EEC ","")}`:""]})]}),(0,t.jsx)(o.GoogleLogo,{size:18})]}),(0,t.jsxs)("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:[(0,t.jsx)(o.StarRating,{rating:e.rating,size:14}),(0,t.jsx)("span",{className:"text-xs text-white/40",suppressHydrationWarning:!0,children:(0,c.formatReviewDate)(e.date)}),f&&(0,t.jsx)(g,{category:e.serviceCategory,labels:S.category_labels})]}),(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsxs)("p",{className:`text-sm leading-relaxed text-white/80 ${!j?"line-clamp-5":""}`,children:["â",A,"â"]}),_&&(0,t.jsxs)("button",{type:"button",onClick:()=>E(!j),className:"mt-1.5 inline-flex items-center gap-1 text-xs font-medium text-blue-400 transition-colors motion-reduce:transition-none md:hover:text-blue-300",children:[j?S.show_less:S.read_more,(0,t.jsx)(l.ChevronDown,{className:`h-3 w-3 transition-transform motion-reduce:transition-none ${j?"rotate-180":""}`})]})]}),(0,t.jsxs)("div",{className:"mt-4 flex items-center justify-between border-t border-white/15 pt-3",children:[(0,t.jsx)("span",{className:"text-xs font-medium tracking-wider text-white/50 uppercase",children:S.google_review}),e.sourceUrl&&(0,t.jsxs)("a",{href:e.sourceUrl,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-xs font-medium text-blue-400 md:hover:text-blue-300",children:[S.source," ",(0,t.jsx)(s.ExternalLink,{className:"h-2.5 w-2.5"})]})]})]}):(0,t.jsxs)("div",{ref:N,onMouseEnter:L,onMouseLeave:C,className:`flex h-full flex-col rounded-2xl border border-slate-200 bg-slate-100/80 p-5 backdrop-blur-xl will-change-transform dark:border-white/20 dark:bg-white/10 ${u}`,children:[(0,t.jsx)(n.Quote,{className:"mb-2 h-8 w-8 shrink-0 text-slate-400 dark:text-white/20"}),(0,t.jsxs)("div",{className:"min-h-0 flex-1",children:[(0,t.jsxs)("p",{className:`text-sm leading-relaxed font-medium text-slate-800 dark:text-white/90 ${!j?"line-clamp-5":""}`,children:["â",A,"â"]}),_&&(0,t.jsxs)("button",{type:"button",onClick:()=>E(!j),className:"mt-1.5 inline-flex items-center gap-1 text-xs font-medium text-blue-600 transition-colors motion-reduce:transition-none md:hover:text-blue-800 dark:text-blue-300 dark:md:hover:text-blue-200",children:[j?"Show less":"Read more",(0,t.jsx)(l.ChevronDown,{className:`h-3 w-3 transition-transform motion-reduce:transition-none ${j?"rotate-180":""}`})]})]}),(0,t.jsxs)("div",{className:"mt-4 flex items-center gap-3",children:[(0,t.jsx)(m,{photoUrl:e.profilePhotoUrl,name:e.authorName,size:"sm",colorClass:T[V]}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"truncate text-sm font-semibold text-slate-900 dark:text-white",children:e.authorName}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(o.StarRating,{rating:e.rating,size:11}),(0,t.jsxs)("span",{className:"text-xs text-slate-500 dark:text-white/40",children:[S.via," ",(0,t.jsx)(o.GoogleLogo,{size:10})]}
1),f&&(0,t.jsx)(g,{category:e.serviceCategory,labels:S.category_labels})]})]})]})]})}])},423609,e=>{"use strict";let t=(0,e.i(475254).default)("landmark",[["path",{d:"M10 18v-7",key:"wt116b"}],["path",{d:"M11.12 2.198a2 2 0 0 1 1.76.006l7.866 3.847c.476.233.31.949-.22.949H3.474c-.53 0-.695-.716-.22-.949z",key:"1m329m"}],["path",{d:"M14 18v-7",key:"vav6t3"}],["path",{d:"M18 18v-7",key:"aexdmj"}],["path",{d:"M3 22h18",key:"8prr45"}],["path",{d:"M6 18v-7",key:"1ivflk"}]]);e.s(["Landmark",0,t],423609)},623385,e=>{"use strict";let t=(0,e.i(475254).default)("brain-circuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);e.s(["BrainCircuit",0,t],623385)},296139,e=>{"use strict";let t=(0,e.i(475254).default)("coffee",[["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M14 2v2",key:"6buw04"}],["path",{d:"M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1",key:"pwadti"}],["path",{d:"M6 2v2",key:"colzsn"}]]);e.s(["Coffee",0,t],296139)},223622,e=>{"use strict";let t=(0,e.i(475254).default)("ban",[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Ban",0,t],223622)},523348,e=>{"use strict";var t=e.i(843476),r=e.i(488400);e.s(["Providers",0,({children:e})=>(0,t.jsx)(r.BlogTranslationProvider,{children:e})])},227516,e=>{"use strict";let t=(0,e.i(475254).default)("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);e.s(["History",0,t],227516)},784875,e=>{"use strict";let t=(0,e.i(475254).default)("scan-search",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m16 16-1.9-1.9",key:"1dq9hf"}]]);e.s(["ScanSearch",0,t],784875)},618393,e=>{"use strict";let t=(0,e.i(475254).default)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);e.s(["Server",0,t],618393)},695298,e=>{"use strict";var t=e.i(843476),r=e.i(271645);e.s(["default",0,function({children:a,selector:s="[data-reveal]",reveal:n="fade-up",className:l}){let i=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let t;if(!i.current||window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;let r=!1;return(async()=>{if(r)return;let[{gsap:a},{ScrollTrigger:l}]=await Promise.all([e.A(216495),e.A(296349)]);if(r||!i.current)return;a.registerPlugin(l);let o=i.current.querySelectorAll(s);if(!o.length)return;let c=[];o.forEach(e=>{let t=a.from(e,{..."fade-up"===n?{y:24,opacity:0}:"scale"===n?{scale:.95,opacity:0}:{opacity:0},duration:.4,ease:"power2.out",scrollTrigger:{trigger:e,start:"top 95%",toggleActions:"play none none none"}});t.scrollTrigger&&c.push(t.scrollTrigger)}),t=()=>c.forEach(e=>e.kill())})(),()=>{r=!0,t?.()}},[s,n]),(0,t.jsx)("div",{ref:i,className:l,children:a})}])},216495,e=>{e.v(t=>Promise.all(["static/chunks/10tn6z9g0fyl6.js"].map(t=>e.l(t))).then(()=>t(520697)))},296349,e=>{e.v(e=>Promise.resolve().then(()=>e(883495)))}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.