PageSourceSearch

https://hcmute.edu.vn/_next/static/chunks/app/(public)/layout-1c850ba72ca16ddd.js

js hcmute.edu.vn collected 2026-10-02 14:56:05 UTC 52,017 bytes, 8 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1816,5486],{4009:(e,t,r)=>{"use strict";r.d(t,{YD:()=>d});var n=r(32275),a=r(67813),i=r(26995),o=r(40176),s=r(84340);function l(e){var t;if(!e)return null;let r=e.analyticsWebsiteId||e.umamiWebsiteId,n=(t=e.umamiScriptUrl||"https://umami.hcmutertic.com/script.js","string"!=typeof t)?"":t.trim().replace(/([^:]\/)\/+/g,"$1");return r&&n?{scriptUrl:n,websiteId:r}:null}function d({initialConfig:e,tenantCode:t}){let[r,d]=(0,n.useState)(()=>l(e));return((0,n.useEffect)(()=>{let t=l(e);if(t)return void d(e=>e?.scriptUrl===t.scriptUrl&&e?.websiteId===t.websiteId?e:t);if(r)return;let n=!0;return s.tenantsApi.getPublicTenantConfig().then(e=>{if(!n)return;let t=l(e);t&&d(t)}).catch(e=>{}),()=>{n=!1}},[e,r]),!function({tenantCode:e,threshold:t=.5,selector:r=".content-section, [data-section-name]"}={}){(0,n.useEffect)(()=>{if(!("IntersectionObserver"in window))return;let n=new Set,i=new IntersectionObserver(t=>{t.forEach(t=>{if(t.isIntersecting){let r=t.target,i=r.id||r.getAttribute("data-section-id")||"unknown-section",o=r.getAttribute("data-section-name")||r.getAttribute("aria-label")||i,s=`${i}:${o}`;n.has(s)||(n.add(s),(0,a.Ni)("Section Focus",{section_id:i,section_name:o,tenant:e||"default"}))}})},{threshold:t});return document.querySelectorAll(r).forEach(e=>i.observe(e)),()=>{i.disconnect()}},[e,t,r])}({tenantCode:t}),r?.scriptUrl&&r?.websiteId)?(0,i.jsx)(o.default,{src:r.scriptUrl,"data-website-id":r.websiteId,strategy:"afterInteractive"}):null}},9532:(e,t,r)=>{"use strict";r.d(t,{A7:()=>h,FN:()=>f,Oj:()=>x,Q8:()=>p,Wk:()=>g,gU:()=>m});var n=r(26995),a=r(32275),i=r(5528),o=r(21247),s=r(35278),l=r(95511),d=r(30189),c=r(85122);let u=a.createContext(null);function m(){let e=a.useContext(u);if(!e)throw Error("useCarousel must be used within a <Carousel />");return e}let f=a.forwardRef(({orientation:e="horizontal",opts:t,setApi:r,plugins:s,enableWheelGestures:l=!0,className:c,children:m,...f},g)=>{let h=a.useMemo(()=>{let t=Array.isArray(s)?[...s]:s?[s]:[];return l&&t.push((0,o.J)({forceWheelAxis:"horizontal"===e?"x":"y"})),t},[s,l,e]),[p,x]=(0,i.A)({...t,axis:"horizontal"===e?"x":"y"},h),[b,v]=a.useState(!1),[y,w]=a.useState(!1),j=a.useCallback(e=>{e&&(v(e.canScrollPrev()),w(e.canScrollNext()))},[]),N=a.useCallback(()=>{x?.scrollPrev()},[x]),k=a.useCallback(()=>{x?.scrollNext()},[x]),z=a.useCallback(e=>{"ArrowLeft"===e.key?(e.preventDefault(),N()):"ArrowRight"===e.key&&(e.preventDefault(),k())},[N,k]);return a.useEffect(()=>{x&&r&&r(x)},[x,r]),a.useEffect(()=>{if(x)return j(x),x.on("reInit",j),x.on("select",j),()=>{x?.off("select",j)}},[x,j]),(0,n.jsx)(u.Provider,{value:{carouselRef:p,api:x,opts:t,orientation:e||(t?.axis==="y"?"vertical":"horizontal"),scrollPrev:N,scrollNext:k,canScrollPrev:b,canScrollNext:y},children:(0,n.jsx)("div",{ref:g,onKeyDownCapture:z,className:(0,d.cn)("relative",c),role:"region","aria-label":"Carousel",...f,children:m})})});f.displayName="Carousel";let g=a.forwardRef(({className:e,...t},r)=>{let{carouselRef:a,orientation:i}=m();return(0,n.jsx)("div",{ref:a,className:"overflow-hidden",children:(0,n.jsx)("div",{ref:r,className:(0,d.cn)("flex","horizontal"===i?"-ml-4":"-mt-4 flex-col",e),...t})})});g.displayName="CarouselContent";let h=a.forwardRef(({className:e,...t},r)=>{let{orientation:a}=m();return(0,n.jsx)("div",{ref:r,role:"group","aria-roledescription":"slide",className:(0,d.cn)("min-w-0 shrink-0 grow-0 basis-full","horizontal"===a?"pl-4":"pt-4",e),...t})});h.displayName="CarouselItem";let p=a.forwardRef(({className:e,variant:t="outline",size:r="icon",...a},i)=>{let{orientation:o,scrollPrev:l,canScrollPrev:u}=m();return(0,n.jsxs)(c.$,{ref:i,variant:t,size:r,className:(0,d.cn)("absolute h-8 w-8 rounded-full","horizontal"===o?"-left-12 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!u,onClick:l,...a,children:[(0,n.jsx)(s.A,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Previous slide"})]})});p.displayName="CarouselPrevious";let x=a.forwardRef(({className:e,variant:t="outline",size:r="icon",...a},i)=>{let{orientation:o,scrollNext:s,canScrollNext:u}=m();return(0,n.jsxs)(c.$,{ref:i,variant:t,size:r,className:(0,d.cn)("absolute h-8 w-8 rounded-full","horizontal"===o?"-right-12 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!u,onClick:s,...a,children:[(0,n.jsx)(l.A,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Next slide"})]})});
1x.displayName="CarouselNext"},15731:(e,t,r)=>{"use strict";r.d(t,{BD:()=>o,UL:()=>i,uW:()=>s});var n=r(23175),a=r(94117);function i(){let{locale:e}=(0,n.s9)();return function(t){return t?"string"==typeof t?t:t[e]||t.vi||"":""}}function o(){let{locale:e}=(0,n.s9)();return e}function s(){let{locale:e}=(0,n.s9)();return function(t){if(!t)return"#";let r=t?"string"==typeof t?t:"object"==typeof t&&null!==t&&(t[e]||t.vi||t.en)||"#":"#";return!r||"#"===r||r.startsWith("http")||r.startsWith("mailto:")||r.startsWith("tel:")?r||"#":(0,a.lF)(r,e)}}},20603:(e,t,r)=>{"use strict";r.d(t,{Bc:()=>o,ZI:()=>d,k$:()=>l,m_:()=>s});var n=r(26995);r(32275);var a=r(63335),i=r(30189);function o({delayDuration:e=0,...t}){return(0,n.jsx)(a.Kq,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function s({...e}){return(0,n.jsx)(o,{children:(0,n.jsx)(a.bL,{"data-slot":"tooltip",...e})})}function l({...e}){return(0,n.jsx)(a.l9,{"data-slot":"tooltip-trigger",...e})}function d({className:e,sideOffset:t=0,children:r,...o}){let s=(0,n.jsx)(a.UC,{"data-slot":"tooltip-content",sideOffset:t,className:(0,i.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...o,children:r});return(0,n.jsx)(a.ZL,{children:s})}},28165:(e,t,r)=>{"use strict";r.d(t,{a:()=>l});var n=r(26995),a=r(3268),i=r(11565),o=r(504),s=r(30189);function l({direction:e,onClick:t,onMouseEnter:r,onMouseLeave:l,className:d,size:c="md",variant:u="light",disabled:m=!1}){let f="prev"===e?a.A:i.A;return(0,n.jsxs)("button",{onClick:t,onMouseEnter:r,onMouseLeave:l,disabled:m,className:(0,s.cn)("group/nav relative overflow-hidden rounded-full border transition-all duration-300 flex items-center justify-center cursor-pointer hover:scale-110 active:scale-95","sm"===c?"p-2":"p-2.5 sm:p-3","glass"===u?"bg-white/10 hover:bg-white/25 backdrop-blur-xl border-white/20 hover:border-white/40 shadow-lg hover:shadow-xl":"bg-white dark:bg-card hover:bg-blue-50 dark:hover:bg-muted border-border/80 hover:border-primary/40 shadow-sm hover:shadow-lg hover:shadow-primary/15",m&&"opacity-40 pointer-events-none cursor-not-allowed",d),children:[(0,n.jsx)("span",{className:(0,s.cn)("absolute inset-0 rounded-full opacity-0 group-hover/nav:opacity-100 transition-opacity duration-500 pointer-events-none","glass"===u?"bg-[radial-gradient(circle,rgba(255,255,255,0.15)_0%,transparent_70%)]":"bg-[radial-gradient(circle,rgba(59,130,246,0.12)_0%,transparent_70%)]")}),(0,n.jsx)("span",{className:"absolute -right-2 -bottom-2 w-10 h-10 opacity-0 group-hover/nav:opacity-25 transition-all duration-500 ease-out group-hover/nav:rotate-45 group-hover/nav:scale-110 pointer-events-none",children:(0,n.jsx)(o.default,{src:"glass"===u?"/assets/flower-ute-white.png":"/assets/flower-blue-gradient.png",alt:"",fill:!0,className:"object-contain"})}),(0,n.jsx)("span",{className:(0,s.cn)("absolute inset-0 -translate-x-full group-hover/nav:translate-x-full transition-transform duration-600 ease-out pointer-events-none","glass"===u?"bg-gradient-to-r from-transparent via-white/20 to-transparent":"bg-gradient-to-r from-transparent via-blue-300/30 to-transparent")}),(0,n.jsx)(f,{className:(0,s.cn)("relative z-10 transition-all duration-300 group-hover/nav:drop-shadow-sm","glass"===u?"text-white group-hover/nav:text-white":"text-foreground group-hover/nav:text-primary","sm"===c?"w-4 h-4":"w-5 h-5 sm:w-6 sm:h-6")})]})}},30522:(e,t,r)=>{"use strict";r.d(t,{q:()=>l});var n=r(26995),a=r(32275),i=r(37750),o=r(30189);function s(e){let t=1e4*Math.sin(e);return t-Math.floor(t)}function l({width:e=16,height:t=16,x:r=0,y:l=0,cx:d=1,cy:c=1,cr:u=1,className:m,glow:f=!1,id:g,...h}){let p=(0,a.useId)(),x=g||p,b=(0,a.useRef)(null),[v,y]=(0,a.useState)({width:0,height:0});(0,a.useEffect)(()=>{let e=()=>{if(b.current){let{width:e,height:t}=b.current.getBoundingClientRect();y({width:e,height:t})}};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let w=(0,a.useMemo)(()=>Array.from({length:Math.ceil(v.width/e)*Math.ceil(v.height/t)},(r,n)=>{let a=n%Math.ceil(v.width/e),i=Math.floor(n/Math.ceil(v.width/e));return{x:a*e+d,y:i*t+c,delay:5*s(13*n),duration:3*s(17*n)+2}}),[v.width,v.height,e,t,d,c]);return(0,n.jsxs)("svg",{ref:b,id:g,"aria-hidden":"true",className:(0,o.cn)("pointer-events-none absolute inset-0 h-full w-full text-neutral-400/80",m),...h,children:[f&&(0,n.jsx)("defs",{children:(0,n.jsxs)("radialGradient",{id:`${x}
1-gradient`,suppressHydrationWarning:!0,children:[(0,n.jsx)("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:"1"}),(0,n.jsx)("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:"0"})]})}),w.map(e=>(0,n.jsx)(i.P.circle,{cx:e.x,cy:e.y,r:u,fill:f?`url(#${x}-gradient)`:"currentColor",initial:f?{opacity:.4,scale:1}:{},animate:f?{opacity:[.4,1,.4],scale:[1,1.5,1]}:{},transition:f?{duration:e.duration,repeat:1/0,repeatType:"reverse",delay:e.delay,ease:"easeInOut"}:{}},`${e.x}-${e.y}`))]})}},35822:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>ei});var n=r(26995),a=r(32275),i=r(7637),o=r(40176),s=r(74577),l=r(94547),d=r(2441),c=r(7434),u=r(504),m=r(78555),f=r(37750),g=r(646),h=r(93589),p=r(59431),x=r(39952),b=r(82165),v=r(77692),y=r(98252),w=r(44226),j=r(60512),N=r(32597),k=r(67725),z=r(27640),C=r(2133),U=r(41839),S=r(79393),A=r(39004),L=r(76639),_=r(11565),E=r(95511),I=r(49039),T=r(30189),M=r(92659),W=r(23175),$=r(94117),q=r(36783),P=r(45686),R=r(30696),D=r(84340),O=r(60177),F=r(65486),K=r(28356),V=r(31711),B=r(30522),J=r(9532),H=r(28165),Y=r(75186);function Q(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/đ/g,"d").replace(/Đ/g,"D").toLowerCase().trim()}function Z(){let{canScrollNext:e,canScrollPrev:t}=(0,J.gU)();return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:(0,T.cn)("pointer-events-none absolute inset-y-0 left-0 z-10 w-8 sm:w-12 bg-gradient-to-r from-white dark:from-zinc-950 to-transparent transition-opacity duration-300",t?"opacity-100":"opacity-0")}),(0,n.jsx)("div",{className:(0,T.cn)("pointer-events-none absolute inset-y-0 right-0 z-10 w-8 sm:w-12 bg-gradient-to-l from-white dark:from-zinc-950 to-transparent transition-opacity duration-300",e?"opacity-100":"opacity-0")})]})}function X({visible:e}){let{scrollPrev:t,scrollNext:r,canScrollPrev:a,canScrollNext:i}=(0,J.gU)();return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:(0,T.cn)("absolute left-2 sm:left-3 top-1/2 z-30 -translate-y-1/2 transition-all duration-300",a?"opacity-100 pointer-events-auto scale-100":"opacity-0 pointer-events-none scale-90"),children:(0,n.jsx)(H.a,{direction:"prev",onClick:t,size:"sm",variant:"light",className:"shadow-xl border border-border/80 bg-white/95 dark:bg-zinc-900/95 backdrop-blur-md hover:bg-neutral-100 dark:hover:bg-zinc-800"})}),(0,n.jsx)("div",{className:(0,T.cn)("absolute right-2 sm:right-3 top-1/2 z-30 -translate-y-1/2 transition-all duration-300",i?"opacity-100 pointer-events-auto scale-100":"opacity-0 pointer-events-none scale-90"),children:(0,n.jsx)(H.a,{direction:"next",onClick:r,size:"sm",variant:"light",className:"shadow-xl border border-border/80 bg-white/95 dark:bg-zinc-900/95 backdrop-blur-md hover:bg-neutral-100 dark:hover:bg-zinc-800"})})]})}function G({title:e,count:t,countLabel:r,titleClassName:i,layout:o="carousel",children:s}){let{locale:l}=(0,W.s9)(),d="en"===l,[c,u]=(0,a.useState)(!1),[g,h]=(0,a.useState)(!0);return(0,n.jsxs)("section",{className:"w-full space-y-3 sm:space-y-4",onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),children:[(0,n.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>h(e=>!e),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),h(e=>!e))},className:"relative w-full overflow-hidden flex items-center justify-between rounded-xl sm:rounded-2xl px-4 sm:px-6 py-3.5 sm:py-4 bg-primary text-primary-foreground shadow-xs cursor-pointer select-none transition-all hover:bg-primary/95 focus:outline-none focus:ring-2 focus:ring-primary/40",children:[(0,n.jsx)("div",{className:"pointer-events-none absolute inset-y-0 right-0 h-full w-56 sm:w-80 overflow-hidden select-none [mask-image:radial-gradient(ellipse_at_top_right,white_45%,transparent_85%)]",children:(0,n.jsx)(V.b,{width:24,height:24,className:"absolute inset-0 h-full w-full stroke-white/20 fill-transparent pointer-events-none select-none"})}),(0,n.jsx)("div",{className:"relative z-10 flex items-center text-left min-w-0 pr-2 sm:pr-4 flex-1 py-0.5",children:(0,n.jsx)("h3",{className:(0,T.cn)("text-lg sm:text-2xl font-bold tracking-normal text-white truncate leading-normal sm:leading-relaxed drop-shadow-2xs",i),children:e})}),(0,n.jsxs)("div",{className:"relative z-10 flex items-center gap-2 sm:gap-3 shrink-0",children:[(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 sm:gap-1.5 px-3 sm:px-4 py-1 sm:py-1.5 rounded-full text-xs sm:text-sm font-semibold bg-white/20 text-white border border-white/30 backdrop-blur-xs shadow-xs whitespace-nowrap shrink-0",children:[(0,n.jsx)("span",{className:"font-extrabold whitespace-nowrap shrink-0",children:t}),(0,n.jsx)("span",{className:"whitespace-nowrap shrink-0",children:r})]}),(0,n.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),h(e=>!e)},"aria-label":g?d?"Collapse section":"Thu gọn phần n\xe0y":d?"Expand section":"Mở rộng phần n\xe0y",className:"size-8 sm:size-9 rounded-full bg-white/20 hover:bg-white/30 active:bg-white/40 border border-white/30 text-white flex items-center justify-center transition-colors cursor-pointer",children:g?(0,n.jsx)(z.A,{className:"size-4 sm:size-4.5"}):(0,n.jsx)(C.A,{className:"size-4 sm:size-4.5"})})]})]}),(0,n.jsx)(m.N,{initial:!1,children:g&&(0,n.jsx)(f.P.div,{initial:{opacity:0,height:0}
1,animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.22,ease:"easeInOut"},className:"overflow-hidden",children:"grid"===o?(0,n.jsx)("div",{className:"w-full py-2",children:s}):(0,n.jsx)("div",{className:"relative w-full",children:(0,n.jsxs)(J.FN,{opts:{align:"start",loop:!1,dragFree:!0},className:"w-full",children:[(0,n.jsx)(J.Wk,{className:"-ml-3 sm:-ml-4 items-stretch py-2 cursor-grab active:cursor-grabbing",children:s}),(0,n.jsx)(Z,{}),(0,n.jsx)(X,{visible:c})]})})})})]})}function ee(){return(0,n.jsxs)("div",{className:"relative flex h-full w-full flex-col overflow-hidden rounded-2xl border border-border/70 bg-card shadow-xs animate-pulse select-none",children:[(0,n.jsx)("div",{className:"p-3 pb-0",children:(0,n.jsx)("div",{className:"aspect-[16/10] w-full rounded-xl bg-muted/60 dark:bg-zinc-800/60"})}),(0,n.jsxs)("div",{className:"flex flex-1 flex-col justify-between p-3.5 sm:p-4 space-y-4",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("div",{className:"h-3 w-1/3 rounded-md bg-muted/50 dark:bg-zinc-800/50"}),(0,n.jsx)("div",{className:"h-4 w-4/5 rounded-md bg-muted/80 dark:bg-zinc-800/80"}),(0,n.jsx)("div",{className:"h-4 w-3/5 rounded-md bg-muted/70 dark:bg-zinc-800/70"})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between pt-1",children:[(0,n.jsx)("div",{className:"h-3 w-20 rounded-md bg-muted/50 dark:bg-zinc-800/50"}),(0,n.jsx)("div",{className:"size-3.5 rounded-full bg-muted/50 dark:bg-zinc-800/50"})]})]})]})}function et({title:e,subtitle:t,description:r,badge:i,actionLabel:o,actionIcon:s,visual:l,visualContainerClassName:d,textCenter:c,hideFlower:m,titleClassName:f,onClick:g}){let h=(0,a.useRef)(null);return(0,n.jsxs)("div",{onPointerDown:e=>{h.current={x:e.clientX,y:e.clientY}},onClick:e=>{if(h.current){let t=Math.abs(e.clientX-h.current.x),r=Math.abs(e.clientY-h.current.y);if(t>6||r>6)return}g()},onDragStart:e=>e.preventDefault(),draggable:!1,className:(0,T.cn)("group/card relative flex h-full w-full flex-col overflow-hidden rounded-2xl","border border-border/80 dark:border-border/60 bg-card shadow-xs","transition-all duration-300 ease-out cursor-pointer select-none","hover:bg-primary hover:border-primary hover:shadow-xl"),children:[!m&&(0,n.jsx)(u.default,{src:"/assets/flower-ute-white.png",alt:"",width:176,height:176,unoptimized:!0,className:"pointer-events-none absolute -bottom-12 -right-12 z-[2] select-none opacity-0 transition-opacity duration-300 ease-out group-hover/card:opacity-[0.16]","aria-hidden":"true"}),(0,n.jsx)("div",{className:"relative p-3 pb-0 z-[3]",children:(0,n.jsxs)("div",{className:(0,T.cn)("relative aspect-[16/10] w-full overflow-hidden rounded-xl flex items-center justify-center transition-colors duration-300",d??"bg-slate-100/70 dark:bg-zinc-900/70 group-hover/card:bg-white/10"),children:[l,i&&(0,n.jsx)("span",{className:"absolute bottom-2 right-2 z-10 inline-flex items-center rounded-md bg-primary/90 text-white backdrop-blur-xs px-2 py-0.5 text-[11px] font-semibold shadow-xs group-hover/card:bg-white group-hover/card:text-primary transition-colors",children:i})]})}),(0,n.jsxs)("div",{className:(0,T.cn)("relative z-[3] flex flex-1 flex-col justify-between p-3.5 sm:p-4",c&&"items-center text-center"),children:[(0,n.jsxs)("div",{className:(0,T.cn)("w-full",c&&"flex flex-col items-center text-center"),children:[t&&(0,n.jsx)("p",{className:(0,T.cn)("mb-1 text-[11px] font-medium text-muted-foreground group-hover/card:text-white/80 transition-colors truncate leading-none",c&&"text-center"),children:t}),(0,n.jsx)("h4",{className:(0,T.cn)("text-[12.6px] sm:text-[14.7px] font-bold text-foreground group-hover/card:text-white transition-colors line-clamp-2 leading-snug",c&&"text-center",f),children:e}),r&&(0,n.jsx)("p",{className:(0,T.cn)("mt-1 text-[11px] sm:text-xs text-muted-foreground group-hover/card:text-white/85 transition-colors line-clamp-2 leading-relaxed",c&&"text-center"),children:r})]}),o&&(0,n.jsxs)("div",{className:(0,T.cn)("mt-3 pt-2 flex items-center justify-between text-[11px] font-semibold text-muted-foreground group-hover/card:text-white transition-colors w-full",c&&"justify-center gap-1.5"),children:[(0,n.jsx)("span",{children:o}),(0,n.jsx)("span",{className:"group-hover/card:text-white transition-colors",children:s})]})]})]})}function er(){let{isOpen:e,query:t,activeCategory:r,closeSearch:o,setQuery:s,setActiveCategory:l}=(0,Y.y)(),{locale:d}=(0,W.s9)(),c=(0,i.useRouter)(),z=(0,a.useRef)(null),C="en"===d,[V,H]=(0,a.useState)(()=>(0,R.g)(d)),[Z,X]=(0,a.useState)([]),[er,en]=(0,a.useState)(!1),[ea,ei]=(0,a.useState)(t),[eo,es]=(0,a.useState)(!1);(0,a.useEffect)(()=>
1{if(!t.trim()){ei(""),es(!1);return}es(!0);let e=setTimeout(()=>{ei(t),es(!1)},350);return()=>clearTimeout(e)},[t]),(0,a.useEffect)(()=>(e?(document.body.style.overflow="hidden",setTimeout(()=>z.current?.focus(),60)):document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),(0,a.useEffect)(()=>{let t=t=>{(t.metaKey||t.ctrlKey)&&"k"===t.key.toLowerCase()?(t.preventDefault(),Y.y.getState().openSearch()):"Escape"===t.key&&e&&(t.preventDefault(),o())};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e,o]);let el=(0,O.useMenuConfigStore)(e=>e.items),ed=(0,O.useMenuConfigStore)(e=>e.getFullItem),ec=(0,O.useMenuConfigStore)(e=>e.builderConfig),eu=(0,O.useMenuConfigStore)(e=>e.loaded),em=(0,O.useMenuConfigStore)(e=>e.loadConfig),ef=(0,F.useLayoutConfigStore)(e=>e.config);(0,a.useEffect)(()=>{eu||em()},[eu,em]),(0,a.useEffect)(()=>{let e=!0;return D.Ip.getPublicCatalog(d).then(t=>{if(e)if(Array.isArray(t)&&t.some(e=>Array.isArray(e.items)&&e.items.length>0)){let e=t.filter(e=>Array.isArray(e.items)&&e.items.length>0);H(e.length>0?e:(0,R.g)(d))}else H((0,R.g)(d))}).catch(()=>{e&&H((0,R.g)(d))}),()=>{e=!1}},[d]);let eg=(0,a.useMemo)(()=>{let e=[],t=new Set,r=C?"en":"vi";function n(e,t){return e?"string"==typeof e?e:"object"==typeof e?e[t]||("en"===t?e.vi:e.en)||"":String(e):""}function a(e){if(!e)return[];if("string"==typeof e)return[e];if("object"==typeof e){let t=[];for(let r of(e.vi&&t.push(String(e.vi)),e.en&&t.push(String(e.en)),Object.keys(e)))"vi"!==r&&"en"!==r&&"string"==typeof e[r]&&t.push(e[r]);return t}return[String(e)]}let i=(i,o,s,l,d,c,u=[])=>{let m=l?"string"==typeof l?l:"object"==typeof l&&null!==l&&(l[r]||l.vi||l.en)||"":"";if(!m||"#"===m)return;let{href:f,isExternal:g}=m&&"#"!==m?m.startsWith("http://")||m.startsWith("https://")||m.startsWith("mailto:")||m.startsWith("tel:")?{href:m,isExternal:!0}:{href:(0,$.lF)(m,r),isExternal:!1}:{href:"",isExternal:!1};if(!f)return;let h=n(o,r)||m,p=n(s,r)||void 0,x=c.join(" > "),b=`${f.toLowerCase()}::${Q(h)}`;if(t.has(b))return;t.add(b);let v=[...a(o),...a(s),...c,...u,m,f].map(e=>Q(e)).filter(Boolean).join(" ");e.push({id:i,title:h,description:p,path:x,href:f,isExternal:!!(d??g),searchIndex:v})},o=(e,t)=>{if(!e)return;let a=n(e.label||e.title,r),s=a?[...t,a]:t;if("link"!==e.type&&"tin-tuc"!==e.id&&(e.children?.length||e.columns?.length||e.links?.length||!e.href)||!e.href||i(e.id||a,e.label||e.title,e.description,e.href,e.isExternal,t),e.promoCard?.href&&e.promoCard?.title&&i(`${e.id||"promo"}-spotlight`,e.promoCard.title,e.promoCard.description,e.promoCard.href,e.promoCard.href?.startsWith?.("http"),[...s,C?"Spotlight":"Ti\xeau điểm"]),Array.isArray(e.children))for(let t of e.children)o(t,s);if(Array.isArray(e.columns))for(let t of e.columns){let e=n(t.title||t.label,r),a=e?[...s,e]:s;if(t.promoCard?.href&&t.promoCard?.title&&i(`${t.id||"col-promo"}-spotlight`,t.promoCard.title,t.promoCard.description,t.promoCard.href,t.promoCard.href?.startsWith?.("http"),[...a,C?"Spotlight":"Ti\xeau điểm"]),Array.isArray(t.links))for(let e of t.links)o(e,a);if(Array.isArray(t.children))for(let e of t.children)o(e,a)}if(Array.isArray(e.links))for(let t of e.links)o(t,s)};for(let e of el&&el.length>0?el.map(ed):q.K)o(e,[]);let s=ec?.topBar||ef.headerConfig?.topBar,l=s?.quickLinks?.length?s.quickLinks:P.h.topBar.links;if(Array.isArray(l)){let e=C?"Quick Links":"Li\xean kết nhanh";for(let t of l)i(t.id||`quick-link-${t.href}`,t.label,void 0,t.href,t.isExternal,[e])}return e},[el,ed,ec,ef,C,d]),eh=(0,a.useMemo)(()=>{let e=[];for(let t of V)if(Array.isArray(t.items))for(let r of t.items){let n=R.A.find(e=>Q(e.name.vi)===Q(t.name)||Q(e.name.en)===Q(t.name)),a=n?.items.find(e=>Q(e.name.vi)===Q(r.name)||Q(e.name.en)===Q(r.name)||e.url===r.url),i=[r.name,r.description||"",t.name,a?.name.vi,a?.name.en,a?.description.vi,a?.description.en,n?.name.vi,n?.name.en].filter(Boolean).map(e=>Q(e)).join(" ");e.push({id:r.id,name:r.name,description:r.description,url:r.url,iconUrl:r.iconUrl,groupName:t.name,target:r.target,searchIndex:i})}return e},[V]),ep=(0,a.useMemo)(()=>
1{if(!ea.trim())return eg.slice(0,12);let e=Q(ea);return eg.filter(t=>Q(t.title).includes(e)||Q(t.description||"").includes(e)||Q(t.path).includes(e)||!!t.searchIndex&&t.searchIndex.includes(e))},[eg,ea]),ex=(0,a.useMemo)(()=>{if(!ea.trim())return eh;let e=Q(ea);return eh.filter(t=>Q(t.name).includes(e)||Q(t.description||"").includes(e)||Q(t.groupName).includes(e)||!!t.searchIndex&&t.searchIndex.includes(e))},[eh,ea]);(0,a.useEffect)(()=>{let e=ea.trim();if(!e){X([]),en(!1);return}let t=!0;return en(!0),D.M5.getPublishedPosts({title:e,size:12},d).then(e=>{t&&X(e.content||[])}).catch(()=>{t&&X([])}).finally(()=>{t&&en(!1)}),()=>{t=!1}},[ea,d]);let eb=eo||er,ev=ep.length+ex.length+Z.length;return e?(0,n.jsx)(m.N,{children:(0,n.jsxs)(f.P.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:"fixed inset-0 z-[100] bg-white dark:bg-zinc-950 flex flex-col text-foreground overflow-hidden",children:[(0,n.jsx)("div",{className:"pointer-events-none fixed inset-y-0 z-30 w-px bg-border",style:{left:"max(0px, calc((100% - var(--site-width)) / 2))"},"aria-hidden":"true"}),(0,n.jsx)("div",{className:"pointer-events-none fixed inset-y-0 z-30 w-px bg-border",style:{right:"max(0px, calc((100% - var(--site-width)) / 2))"},"aria-hidden":"true"}),(0,n.jsxs)("div",{className:"w-full bg-white/95 dark:bg-zinc-950/95 backdrop-blur-md shrink-0",children:[(0,n.jsx)(M.m,{className:"pt-4 sm:pt-6 pb-3 sm:pb-4",children:(0,n.jsxs)("div",{className:"max-w-[760px] sm:max-w-3xl mx-auto flex flex-col gap-3 sm:gap-4",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2.5 sm:gap-3 w-full",children:[(0,n.jsxs)("div",{className:"relative flex-1 flex items-center",children:[(0,n.jsx)(U.A,{className:"absolute left-4 size-5 text-muted-foreground pointer-events-none shrink-0"}),(0,n.jsx)("input",{ref:z,type:"text",value:t,onChange:e=>s(e.target.value),placeholder:C?"Search pages, services, LMS, portal, news...":"T\xecm kiếm trang th\xf4ng tin, tiện \xedch số, LMS, tin tức...",className:"w-full h-12 sm:h-14 pl-12 pr-11 rounded-full border border-border/90 bg-slate-50/90 dark:bg-zinc-900 text-base font-medium focus:outline-none focus:bg-white dark:focus:bg-zinc-900 focus:border-primary focus:ring-2 focus:ring-primary/20 transition-all shadow-inner placeholder:text-muted-foreground/70 touch-manipulation"}),t&&(0,n.jsx)("button",{type:"button",onClick:()=>{s(""),z.current?.focus()},className:"absolute right-3.5 size-7 rounded-full bg-muted/80 hover:bg-muted text-muted-foreground hover:text-foreground flex items-center justify-center transition-colors cursor-pointer","aria-label":C?"Clear search query":"X\xf3a nội dung t\xecm kiếm",children:(0,n.jsx)(S.A,{className:"size-4"})})]}),(0,n.jsx)("button",{type:"button",onClick:o,className:"size-12 sm:size-14 rounded-full border border-border/80 hover:border-border hover:bg-slate-100 dark:hover:bg-zinc-800 text-muted-foreground hover:text-foreground flex items-center justify-center transition-colors cursor-pointer shrink-0","aria-label":C?"Minimize / Close search (ESC)":"Thu nhỏ / Đ\xf3ng t\xecm kiếm (ESC)",title:C?"Minimize / Close search (ESC)":"Thu nhỏ / Đ\xf3ng t\xecm kiếm (ESC)",children:(0,n.jsx)(A.A,{className:"size-5 sm:size-5.5"})})]}),(0,n.jsx)("div",{className:"w-full overflow-x-auto py-1 scrollbar-none touch-pan-x",children:(0,n.jsxs)("div",{className:"min-w-full w-max flex items-center justify-start sm:justify-center gap-2 px-1",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>l("all"),className:(0,T.cn)("shrink-0 rounded-full px-4 sm:px-5 py-2 sm:py-2.5 text-xs sm:text-sm font-semibold transition-all cursor-pointer select-none flex items-center gap-1.5 sm:gap-2","all"===r?"bg-primary text-primary-foreground shadow-xs":"bg-white dark:bg-zinc-900 text-neutral-600 dar
1k:text-zinc-400 border border-neutral-200 dark:border-zinc-800 hover:bg-neutral-100 dark:hover:bg-zinc-800"),children:[(0,n.jsx)("span",{children:C?"All Results":"Tất cả"}),t.trim()&&(0,n.jsx)("span",{className:"text-[11px] sm:text-xs px-2 sm:px-2.5 py-0.5 rounded-full bg-muted/50 font-bold",children:eo?"...":ev})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>l("pages"),className:(0,T.cn)("shrink-0 rounded-full px-4 sm:px-5 py-2 sm:py-2.5 text-xs sm:text-sm font-semibold transition-all cursor-pointer select-none flex items-center gap-1.5 sm:gap-2","pages"===r?"bg-primary text-primary-foreground shadow-xs":"bg-white dark:bg-zinc-900 text-neutral-600 dark:text-zinc-400 border border-neutral-200 dark:border-zinc-800 hover:bg-neutral-100 dark:hover:bg-zinc-800"),children:[(0,n.jsx)("span",{children:C?"Pages & Navigation":"Trang & Điều hướng"}),(0,n.jsx)("span",{className:"text-[11px] sm:text-xs px-2 sm:px-2.5 py-0.5 rounded-full bg-muted/50 font-bold",children:t.trim()?eo?"...":ep.length:eg.length})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>l("extensions"),className:(0,T.cn)("shrink-0 rounded-full px-4 sm:px-5 py-2 sm:py-2.5 text-xs sm:text-sm font-semibold transition-all cursor-pointer select-none flex items-center gap-1.5 sm:gap-2","extensions"===r?"bg-primary text-primary-foreground shadow-xs":"bg-white dark:bg-zinc-900 text-neutral-600 dar
1k:text-zinc-400 border border-neutral-200 dark:border-zinc-800 hover:bg-neutral-100 dark:hover:bg-zinc-800"),children:[(0,n.jsx)("span",{children:C?"Utilities & Services":"Tiện \xedch số"}),(0,n.jsx)("span",{className:"text-[11px] sm:text-xs px-2 sm:px-2.5 py-0.5 rounded-full bg-muted/50 font-bold",children:t.trim()?eo?"...":ex.length:eh.length})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>l("posts"),className:(0,T.cn)("shrink-0 rounded-full px-4 sm:px-5 py-2 sm:py-2.5 text-xs sm:text-sm font-semibold transition-all cursor-pointer select-none flex items-center gap-1.5 sm:gap-2","posts"===r?"bg-primary text-primary-foreground shadow-xs":"bg-white dark:bg-zinc-900 text-neutral-600 dark:text-zinc-400 border border-neutral-200 dark:border-zinc-800 hover:bg-neutral-100 dark:hover:bg-zinc-800"),children:[(0,n.jsx)("span",{children:C?"News & Articles":"Tin tức & B\xe0i viết"}),(t.trim()||Z.length>0)&&(0,n.jsx)("span",{className:"text-[11px] sm:text-xs px-2 sm:px-2.5 py-0.5 rounded-full bg-muted/50 font-bold",children:eb?"...":Z.length})]})]})})]})}),(0,n.jsx)("div",{className:"w-full h-px bg-border/80 dark:bg-border/60"})]}),(0,n.jsx)("div",{className:"flex-1 overflow-y-auto w-full",children:(0,n.jsx)(M.m,{className:"py-6 sm:py-8",children:t.trim()&&0===ev&&!eb?(0,n.jsxs)("div",{className:"py-12 sm:py-16 text-center max-w-md mx-auto flex flex-col items-center select-none",children:[(0,n.jsxs)("div",{className:"relative flex flex-col items-center justify-center mb-3",children:[(0,n.jsx)(f.P.div,{animate:{y:[-6,6,-6],rotate:[-1,1,-1]},transition:{duration:4,repeat:1/0,ease:"easeInOut"},className:"relative size-36 sm:size-44 drop-shadow-xl z-10",children:(0,n.jsx)(u.default,{src:"/assets/3d-icons/empty-state__hcmute-3d-icon.png",alt:C?"No results found":"Kh\xf4ng t\xecm thấy kết quả",fill:!0,unoptimized:!0,className:"object-contain pointer-events-none",priority:!0})}),(0,n.jsx)(f.P.div,{animate:{scale:[1,.85,1],opacity:[.25,.12,.25]},transition:{duration:4,repeat:1/0,ease:"easeInOut"},className:"w-24 sm:w-28 h-3.5 rounded-full bg-neutral-900/25 dark:bg-black/40 blur-xs -mt-2.5 z-0 pointer-events-none"})]}),(0,n.jsx)("h3",{className:"text-base sm:text-lg font-bold text-foreground tracking-tight mt-1",children:C?"No results found":"Kh\xf4ng t\xecm thấy kết quả"}),(0,n.jsx)("p",{className:"text-xs sm:text-sm text-muted-foreground mt-1.5 max-w-sm leading-relaxed",children:C?`We couldn't find anything matching "${t}". Try different keywords.`:`Kh\xf4ng c\xf3 kết quả n\xe0o khớp với "${t}". Vui l\xf2ng thử từ kh\xf3a kh\xe1c.`})]}):(0,n.jsxs)("div",{className:"space-y-8 sm:space-y-10",children:[("all"===r||"pages"===r)&&ep.length>0&&(0,n.jsx)(G,{title:C?"Pages & Navigation":"Trang & Điều hướng",count:ep.length,countLabel:C?"pages":"trang",children:ep.map(e=>{let t,r=(t=((e.title||"")+" "+(e.path||"")).toLowerCase()).includes("tuyển sinh")||t.includes("admission")?g.A:t.includes("đ\xe0o tạo")||t.includes("academic")||t.includes("khoa")?h.A:t.includes("nghi\xean cứu")||t.includes("research")||t.includes("khoa học")||t.includes("lab")?p.A:t.includes("quốc tế")||t.includes("hợp t\xe1c")||t.includes("global")||t.includes("international")?x.A:t.includes("sinh vi\xean")||t.includes("student")||t.includes("đo\xe0n")||t.includes("hội")?b.A:t.includes("giới thiệu")||t.includes("about")||t.includes("tổng quan")?v.A:t.includes("tiện \xedch")||t.includes("dịch vụ")||t.includes("portal")?y.A:t.includes("tin tức")||t.includes("sự kiện")||t.includes("news")||t.includes("th\xf4ng b\xe1o")?w.A:t.includes("li\xean hệ")||t.includes("contact")||t.includes("g\xf3p \xfd")?j.A:t.includes("chủ")||t.includes("home")?N.A:k.A;return(0,n.jsx)(J.A7,{className:"basis-[80%] sm:basis-[48%] md:basis-[36%] lg:basis-[28%] xl:basis-[22%] pl-3 sm:pl-4 flex",children:(0,n.jsx)(et,{title:e.title,subtitle:e.path||(C?"Navigation":"Điều hướng"),description:e.description,badge:e.isExternal?C?"External":"Li\xean kết":void 0,actionLabel:C?"Go to page":"Truy cập",actionIcon:e.isExternal?(0,n.jsx)(L.A,{className:"size-3.5 transition-transform duration-200 group-hover/card:translate-x-0.5"}):(0,n.jsx)(_.A,{className:"size-3.5 transition-transform duration-200 group-hover/card:translate-x-0.5"}),visual:(0,n.jsxs)("div",{className:"relative size-full flex items-center justify-center overflow-hidden bg-slate-50 dark:bg-zinc-900/50 group-hover/card:bg-white/10 transition-colors duration-300",children:[(0,n.jsx)(B.q,{width:12,height:12,cx:1.5,cy:1.5,cr:1.5,className:"pointer-events-none absolute inset-0 text-primary/30 dark:text-white/20 [mask-image:radial-gradient(ellipse_75%_75%_at_bottom_right,white_40%,transparent_100%)] transition-opacity duration-300 group-hover/card:opacity-0"}),(0,n.jsx)("div",{className:"relative z-10 size-16 flex items-center justify-center text-primary group-hover/card:text-white transition-all duration-300 ease-out group-hover/card:scale-110",children:(0,n.jsx)(r,{className:"size-10 sm:size-12 stroke-[1.8]"})})]}),onClick:()=>{var t,r;return t=e.href,r=e.isExternal,void(o(),r?window.open(t,"_blank","noopener,noreferrer"):c.push(t))}})},`${e.id}-${e.href}`)})}),("all"===r||"extensions"===r)&&ex.length>0&&(0,n.jsx)(G,{title:C?"Digital Utilities & Services":"Hệ sinh th\xe1i Tiện \xedch UTE",count:ex.length,countLabel:C?"utilities":"tiện \xedch",t
1itleClassName:"capitalize",layout:"grid",children:(0,n.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6 gap-3 sm:gap-4",children:ex.map(e=>(0,n.jsx)("a",{href:e.url,target:e.target||"_blank",rel:"noopener noreferrer",onClick:t=>{var r,n;t.metaKey||t.ctrlKey||t.shiftKey||1===t.button?o():(t.preventDefault(),r=e.url,n=e.target,o(),window.open(r,n||"_blank","noopener,noreferrer"))},className:"group block focus:outline-hidden focus-visible:ring-2 focus-visible:ring-primary rounded-xl sm:rounded-2xl h-full w-full select-none",children:(0,n.jsxs)("div",{className:(0,T.cn)("relative flex flex-col items-center text-center px-2.5 py-3.5 sm:px-3 sm:py-4 rounded-xl sm:rounded-2xl transition-all duration-200 overflow-hidden h-full w-full select-none cursor-pointer","bg-white dark:bg-card border border-border/80 dark:border-border/60 shadow-xs hover:shadow-md","hover:border-primary/50 hover:bg-primary/[0.03] dark:hover:bg-primary/[0.06]"),children:[(0,n.jsx)("div",{className:"shrink-0 mb-3 sm:mb-3.5 flex items-center justify-center",children:(0,n.jsx)(K.UtilityIcon,{iconUrl:e.iconUrl,name:e.name,containerClassName:"size-20 sm:size-24 md:size-28 bg-transparent border-0 p-0 shadow-none flex items-center justify-center shrink-0",className:"size-full max-h-full max-w-full object-contain drop-shadow-sm transition-transform duration-300 ease-out group-hover:scale-110"})}),(0,n.jsx)("h4",{className:"text-xs sm:text-sm font-bold text-foreground group-hover:text-primary transition-colors text-center line-clamp-2 w-full leading-snug",title:e.name,children:e.name}),e.description&&(0,n.jsx)("p",{className:"mt-1.5 text-[10px] sm:text-[11px] text-muted-foreground text-center line-clamp-2 w-full leading-tight sm:leading-snug",title:e.description,children:e.description})]})},`${e.id}-${e.url}`))})}),("all"===r||"posts"===r)&&(Z.length>0||eb)&&(0,n.jsx)(G,{title:C?"News & Articles":"Tin tức & B\xe0i viết",count:eb?Z.length>0?Z.length:"...":Z.length,countLabel:C?"posts":"b\xe0i viết",children:eb?Array.from({length:4}).map((e,t)=>(0,n.jsx)(J.A7,{className:"basis-[80%] sm:basis-[48%] md:basis-[36%] lg:basis-[28%] xl:basis-[22%] pl-3 sm:pl-4 flex",children:(0,n.jsx)(ee,{})},`post-skeleton-${t}`)):Z.map(e=>(0,n.jsx)(J.A7,{className:"basis-[80%] sm:basis-[48%] md:basis-[36%] lg:basis-[28%] xl:basis-[22%] pl-3 sm:pl-4 flex",children:(0,n.jsx)(et,{title:e.title,subtitle:e.publishedAt?new Date(e.publishedAt).toLocaleDateString(C?"en-US":"vi-VN"):C?"Article":"B\xe0i viết",actionLabel:C?"Read article":"Đọc b\xe0i viết",actionIcon:(0,n.jsx)(E.A,{className:"size-3.5 transition-transform duration-200 group-hover/card:translate-x-0.5"}),visual:e.coverImageUrl?(0,n.jsx)("img",{src:e.coverImageUrl,alt:e.title,draggable:!1,onDragStart:e=>e.preventDefault(),className:"size-full object-cover pointer-events-none select-none transition-transform duration-500 ease-out group-hover/card:scale-105"}):(0,n.jsx)("div",{className:"relative size-full flex items-center justify-center bg-gradient-to-br from-primary/10 to-slate-100 dark:from-primary/20 dark:to-zinc-900",children:(0,n.jsx)(I.A,{className:"size-10 sm:size-12 text-primary/70 group-hover/card:text-white transition-colors duration-300"})}),onClick:()=>{var t;return t=e.slug,void(o(),c.push((0,$.us)(t,d)))}})},e.id))})]})})})]})}):null}function en(){let e=(0,i.usePathname)(),t=(0,i.useSearchParams)();return(0,a.useEffect)(()=>{"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual")},[]),(0,a.useEffect)(()=>{if(window.location.hash)return;window.scrollTo({top:0,left:0,behavior:"instant"}),document.documentElement.scrollTop=0,document.body.scrollTop=0;let e=requestAnimationFrame(()=>{window.scrollTo({top:0,left:0,behavior:"instant"}),document.documentElement.scrollTop=0,document.body.scrollTop=0});return()=>{cancelAnimationFrame(e)}},[e,t]),null}var ea=r(4009);let ei=({children:e})=>{let t=(0,i.usePathname)(),r="/en"===t||t.startsWith("/en/")?"en":"vi",{loaded:u,loadConfig:m,config:f}=(0,F.useLayoutConfigStore)(),{loaded:g,loadConfig:h}=(0,O.useMenuConfigStore)();(0,a.useEffect)(()=>{u||m(),g||h()},[u,g,m,h]);let p="minimal"===f.footerVariant||"simple"===f.footerVariant?d.A:l.A,x=f.metadata?.googleAnalyticsId;return(0,n.jsxs)(W.CY,{forceLocale:r,children:[x&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.default,{src:`https://www.googletagmanager.com/gtag/js?i
1d=${x}`,strategy:"afterInteractive"}),(0,n.jsx)(o.default,{id:"google-analytics",strategy:"afterInteractive",children:`
2              window.dataLayer = window.dataLayer || [];
3              function gtag(){dataLayer.push(arguments);}
4              gtag('js', new Date());
5              gtag('config', '${x}', {
6                page_path: window.location.pathname,
7              });
8            `})]}),(0,n.jsx)(ea.YD,{initialConfig:f}),(0,n.jsx)(a.Suspense,{fallback:null,children:(0,n.jsx)(en,{})}),(0,n.jsxs)("div",{className:"page-border-x min-h-[100dvh] flex flex-col relative text-[15px]",children:[(0,n.jsx)(s.F,{}),(0,n.jsx)("main",{className:"flex-1 relative",children:e}),(0,n.jsx)(p,{}),(0,n.jsx)(c.mD,{}),(0,n.jsx)(er,{})]})]})}},39539:(e,t,r)=>{Promise.resolve().then(r.bind(r,35822))},54143:(e,t,r)=>{"use strict";r.d(t,{E:()=>i});var n=r(26995),a=r(30189);function i({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"skeleton",className:(0,a.cn)("bg-accent animate-pulse rounded-md",e),...t})}},57275:(e,t,r)=>{"use strict";r.d(t,{hf:()=>n.hf,sb:()=>a.sb,nv:()=>a.nv});var n=r(23289);r(16705);var a=r(75439)},58799:(e,t,r)=>{"use strict";r.d(t,{M5:()=>x,SQ:()=>c,_2:()=>u,hO:()=>m,lp:()=>f,lv:()=>h,mB:()=>g,nV:()=>p,rI:()=>l,ty:()=>d});var n=r(26995);r(32275);var a=r(55602),i=r(11017),o=r(11565),s=r(30189);function l({...e}){return(0,n.jsx)(a.bL,{"data-slot":"dropdown-menu",...e})}function d({...e}){return(0,n.jsx)(a.l9,{"data-slot":"dropdown-menu-trigger",...e})}function c({className:e,sideOffset:t=4,...r}){return(0,n.jsx)(a.ZL,{children:(0,n.jsx)(a.UC,{"data-slot":"dropdown-menu-content",sideOffset:t,className:(0,s.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",e),...r})})}function u({className:e,inset:t,variant:r="default",...i}){return(0,n.jsx)(a.q7,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":r,className:(0,s.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...i})}function m({className:e,children:t,checked:r,...o}){return(0,n.jsxs)(a.H_,{"data-slot":"dropdown-menu-checkbox-item",className:(0,s.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),checked:r,...o,children:[(0,n.jsx)("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:(0,n.jsx)(a.VF,{children:(0,n.jsx)(i.A,{className:"size-4"})})}),t]})}function f({className:e,inset:t,...r}){return(0,n.jsx)(a.JU,{"data-slot":"dropdown-menu-label","data-inset":t,className:(0,s.cn)("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",e),...r})}function g({className:e,...t}){return(0,n.jsx)(a.wv,{"data-slot":"dropdown-menu-separator",className:(0,s.cn)("bg-border my-1 h-px w-full",e),...t})}function h({...e}){return(0,n.jsx)(a.Pb,{"data-slot":"dropdown-menu-sub",...e})}function p({className:e,inset:t,children:r,...i}){return(0,n.jsxs)(a.ZP,{"data-slot":"dropdown-menu-sub-trigger","data-inset":t,className:(0,s.cn)("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...i,children:[r,(0,n.jsx)(o.A,{className:"ml-auto size-4"})]})}function x({className:e,...t}){return(0,n.jsx)(a.G5,{"data-slot":"dropdown-menu-sub-content",className:(0,s.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:sli
8de-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",e),...t})}},63471:(e,t,r)=>{"use strict";r.d(t,{w:()=>o});var n=r(26995);r(32275);var a=r(97676),i=r(30189);function o({className:e,orientation:t="horizontal",decorative:r=!0,...o}){return(0,n.jsx)(a.b,{"data-slot":"separator",decorative:r,orientation:t,className:(0,i.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...o})}},65486:(e,t,r)=>{"use strict";r.d(t,{II:()=>o,useLayoutConfigStore:()=>d});var n=r(68181),a=r(84340);let i={headerVariant:"centered",footerVariant:"standard",notificationText:"Cổng th\xf4ng tin ch\xednh thức Trường Đại học C\xf4ng nghệ Kỹ thuật TP. HCM theo Quyết định số 2809/QĐ-TTg k\xfd ng\xe0y 26/12/2025 bởi Ph\xf3 Thủ tướng L\xea Th\xe0nh Long.",metadata:{favicon:"",logoSquareUrl:"/logo/square-logo.png",logoRectangleUrl:"/logo/rectangle-logo.png",logoUrl:"/logo/rectangle-logo.png"}};function o(e){if(!e)return null;let t=e;if("string"==typeof t)try{t=JSON.parse(t)}catch{return null}if(t&&"object"==typeof t&&(void 0!==t.vi||void 0!==t.en)){let e=t.vi??t.en;if("string"==typeof e)try{t=JSON.parse(e)}catch{}else e&&"object"==typeof e&&(t=e)}if("string"==typeof t)try{t=JSON.parse(t)}catch{return null}return t}let s="hcmute_site_layout_config";function l(){{let e=(localStorage.getItem("hcmute-active-tenant")||"main").toLowerCase();return`${s}_${e}`}}let d=(0,n.v)((e,t)=>({config:i,loaded:!1,setConfig:t=>e(e=>{let r=t.metadata?{...e.config.metadata||{},...t.metadata}:e.config.metadata;if(r)for(let e of Object.keys(r))"string"==typeof r[e]&&r[e].startsWith("blob:")&&delete r[e];let n={...e.config,...t,metadata:r};try{let e=l();localStorage.setItem(e,JSON.stringify(n))}catch{}return{config:n}}),loadConfig:async(r=!1)=>{if(!r)try{let t=l(),r=localStorage.getItem(t)||localStorage.getItem(s);if(r){let t=JSON.parse(r);t&&"object"==typeof t&&e(e=>({config:{...e.config,...t,metadata:{...e.config.metadata||{},...t.metadata||{}}}}))}else{let t=localStorage.getItem("hcmute_site_builder_layout_config");if(t){let r=o(t);r&&e(e=>({config:{...e.config,headerVariant:r.variant||e.config.headerVariant,headerConfig:r,metadata:{...e.config.metadata||{},...r.metadata||{},...r.logoUrl?{logoUrl:r.logoUrl}:{},...r.mobileLogoUrl?{mobileLogoUrl:r.mobileLogoUrl}:{}}}}))}}}catch(e){}if(!t().loaded||r)try{let n=await a.tenantsApi.getPublicTenantConfig(r?{force:!0}:void 0),s=i.headerVariant,d=i.footerVariant,c=i.notificationText,u=null,m=null;n?.headerConfig&&(u=o(n.headerConfig),u?.variant&&(s=u.variant)),n?.footerConfig&&(m=o(n.footerConfig),m?.variant&&(d=m.variant),m?.notificationText&&(c=m.notificationText));let f=n?.metadata||{},g=u?.metadata||{},h=t().config.metadata||{},p={...g,...f};for(let e of(f.logoUrl?p.logoUrl=f.logoUrl:g.logoUrl?p.logoUrl=g.logoUrl:u?.logoUrl&&(p.logoUrl=u.logoUrl),f.logoRectangleUrl?p.logoRectangleUrl=f.logoRectangleUrl:p.logoUrl?p.logoRectangleUrl=p.logoUrl:g.logoRectangleUrl&&(p.logoRectangleUrl=g.logoRectangleUrl),f.logoSquareUrl?p.logoSquareUrl=f.logoSquareUrl:g.logoSquareUrl&&(p.logoSquareUrl=g.logoSquareUrl),f.logoWhiteUrl?p.logoWhiteUrl=f.logoWhiteUrl:g.logoWhiteUrl&&(p.logoWhiteUrl=g.logoWhiteUrl),f.mobileLogoUrl?p.mobileLogoUrl=f.mobileLogoUrl:p.logoSquareUrl?p.mobileLogoUrl=p.logoSquareUrl:g.mobileLogoUrl?p.mobileLogoUrl=g.mobileLogoUrl:u?.mobileLogoUrl&&(p.mobileLogoUrl=u.mobileLogoUrl),f.favicon?p.favicon=f.favicon:u?.favicon?p.favicon=u.favicon:g.favicon?p.favicon=g.favicon:h.favicon&&"/favicon.svg"!==h.favicon&&(p.favicon=h.favicon),!p.logoSquareUrl&&h.logoSquareUrl&&(p.logoSquareUrl=h.logoSquareUrl),!p.logoRectangleUrl&&h.logoRectangleUrl&&(p.logoRectangleUrl=h.logoRectangleUrl),!p.logoUrl&&h.logoUrl&&(p.logoUrl=h.logoUrl),!p.mobileLogoUrl&&h.mobileLogoUrl&&(p.mobileLogoUrl=h.mobileLogoUrl),Object.keys(p)))"string"==typeof p[e]&&p[e].startsWith("blob:")&&delete p[e];let x={headerVariant:s,footerVariant:d,notificationText:c,metadata:p,headerConfig:u,mobileHeader:u?.mobileHeader,footerConfig:m,analyticsWebsiteId:n?.analyticsWebsiteId,umamiWebsiteId:n?.umamiWebsiteId,umamiScriptUrl:n?.umamiScriptUrl};try{let e=l();localStorage.setItem(e,JSON.stringify(x))}catch{}e({config:x,loaded:!0})}catch(t){console.error("Failed to load public tenant configuration:",t),e({loaded:!0})}},saveConfig:async r=>{let n={...t().config,...r};try{localStorage.setItem(s,JSON.stringify(n))}catch{}e({config:n})}}));window.addEventListener("hcmute:layout-updated",()=>{d.getState().loadConfig(!0)})},67537:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,Wv:()=>s,dT:()=>d,hl:()=>l});var n=r(26995);r(32275);var a=r(2378),i=r(30189);function o({...e}){return(0,n.jsx)(a.bL,{"data-slot":"popover",...e})}function s({...e}){return(0,n.jsx)(a.l9,{"data-slot":"popover-trigger",...e})}function l({className:e,align:t="center",sideOffset:r=4,usePortal:o=!0,...s}){let l=(0,n.jsx)(a.UC,{"data-slot":"popover-content",align:t,sideOffset:r,className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:sli
8de-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...s});return o?(0,n.jsx)(a.ZL,{children:l}):l}function d({...e}){return(0,n.jsx)(a.Mz,{"data-slot":"popover-anchor",...e})}},67813:(e,t,r)=>{"use strict";function n(e,t){if(window.umami&&"function"==typeof window.umami.track)try{window.umami.track(e,t)}catch(t){console.warn("[Umami] Failed to track event:",e,t)}}function a(e,t,r){n("Audience Survey Selection",{audience_type:e,audience_label:t,...r}),n(`Khảo s\xe1t: ${t}`,{type:e,...r})}r.d(t,{Ni:()=>n,Y$:()=>a})},73990:(e,t,r)=>{"use strict";r.d(t,{c:()=>a});var n=r(32275);function a(){let[e,t]=(0,n.useState)("unknown"),[r,a]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e,r;t((e=(void 0)??("u">typeof navigator?navigator.userAgent:"")??"",r=(void 0)??("u">typeof navigator&&(navigator.userAgentData?.platform||navigator.platform)||""),/android/i.test(e)?"android":/ipad|iphone|ipod/i.test(e)||"MacIntel"===r&&"u">typeof navigator&&navigator.maxTouchPoints>1?"ios":/macintosh|mac os x/i.test(e)||/mac/i.test(r)?"macos":/windows|win32|win64/i.test(e)||/win/i.test(r)?"windows":/linux/i.test(e)||/linux/i.test(r)?"linux":"unknown")),a(!0)},[]);let i="macos"===e,o="android"===e||"ios"===e;return{os:e,isMac:i,isWindows:"windows"===e,isLinux:"linux"===e,isMobile:o,modifier:i?"⌘":o?"":"Ctrl",modifierName:i?"Cmd":o?"":"Ctrl",formatShortcut:t=>!r||o||"unknown"===e?null:i?`⌘${t}`:`Ctrl+${t}`,searchShortcut:r&&!o&&"unknown"!==e?i?"⌘K":"Ctrl+K":null,isMounted:r}}},86891:(e,t,r)=>{"use strict";r.d(t,{E:()=>l});var n=r(26995);r(32275);var a=r(43697),i=r(74138),o=r(30189);let s=(0,i.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function l({className:e,variant:t="default",asChild:r=!1,...i}){let l=r?a.DX:"span";return(0,n.jsx)(l,{"data-slot":"badge","data-variant":t,className:(0,o.cn)(s({variant:t}),e),...i})}}},e=>{e.O(0,[1558,4139,4129,7750,2693,9195,4471,2507,5886,5441,5602,7520,7933,9368,9324,4845,3175,267,7230,9519,6939,5404,2115,2717,8898,7358],()=>e(e.s=39539)),_N_E=e.O()}]);

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.