1import{a as L}from"./chunk-YNVOQY5L.js";import{$ as O,A as v,B as n,C as r,D as i,I as C,K as s,L as y,R as b,T as x,V as M,X as c,_ as T,aa as P,ea as S,fa as _,ga as w,ha as I,ja as N,ka as A,l as f,la as D,ma as R,na as k,oa as E,pa as z,t as g,u,v as p,w as h,y as d}from"./chunk-6P6XIBWS.js";var F=[{path:"",loadComponent:()=>import("./chunk-USSE2IY5.js").then(t=>t.DashboardComponent)},{path:"blog/:slug",loadComponent:()=>import("./chunk-SZL2B7B4.js").then(t=>t.BlogArticleComponent)},{path:"blog",loadComponent:()=>import("./chunk-IU5UOUPS.js").then(t=>t.BlogComponent)},{path:"privacy",loadComponent:()=>import("./chunk-7SM45S3X.js").then(t=>t.PrivacyComponent)},{path:"about",loadComponent:()=>import("./chunk-YAOUOZCZ.js").then(t=>t.AboutComponent)},{path:"contact",loadComponent:()=>import("./chunk-6UDR2PQX.js").then(t=>t.ContactComponent)},{path:"**",redirectTo:"",pathMatch:"full"}];var j={providers:[{provide:z,useValue:"en"},b({eventCoalescing:!0}),R(F,k({scrollPositionRestoration:"disabled"})),_(S()),T(O())]};function U(t,o){if(t&1&&(n(0,"div",1),i(1,"i"),n(2,"span"),s(3),r()()),t&2){let e=C();d("ngClass",e.toastClass),g(),v(e.iconClass),g(2),y(e.message)}}var m=class t{constructor(o){this.toastService=o}visible=!1;message="";toastType="success";subscription;hideTimeout;ngOnInit(){this.subscription=this.toastService.toast$.subscribe(o=>{this.showToast(o)})}ngOnDestroy(){this.subscription?.unsubscribe(),clearTimeout(this.hideTimeout)}get toastClass(){return`toast-${this.toastType}`}get iconClass(){switch(this.toastType){case"success":return"fas fa-check-circle";case"error":return"fas fa-times-circle";case"warning":return"fas fa-exclamation-triangle"}}showToast(o){clearTimeout(this.hideTimeout),this.visible=!1,setTimeout(()=>{this.message=o.text,this.toastType=o.type,this.visible=!0,this.hideTimeout=setTimeout(()=>{this.visible=!1},3e3)},50)}static \u0275fac=function(e){return new(e||t)(u(L))};static \u0275cmp=p({type:t,selectors:[["app-toast"]],decls:1,vars:1,consts:[["class","global-toast","role","alert",3,"ngClass",4,"ngIf"],["role","alert",1,"global-toast",3,"ngClass"]],template:function(e,a){e&1&&h(0,U,4,4,"div",0),e&2&&d("ngIf",a.visible)},dependencies:[c,x,M],styles:[".global-toast[_ngcontent-%COMP%]{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;align-items:center;gap:10px;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;color:#fff;box-shadow:0 4px 12px #0003;animation:_ngcontent-%COMP%_slideIn .3s ease-out,_ngcontent-%COMP%_fadeOut .3s ease-in 2.7s forwards;max-width:400px}.toast-success[_ngcontent-%COMP%]{background-color:#28a745}.toast-error[_ngcontent-%COMP%]{background-color:#dc3545}.toast-warning[_ngcontent-%COMP%]{background-color:#ffc107;color:#212529}@keyframes _ngcontent-%COMP%_slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _ngcontent-%COMP%_fadeOut{0%{opacity:1}to{opacity:0}}"]})};var l=class t{navigationTrigger;previousPath;constructor(){f(A).events.subscribe(e=>{if(e instanceof w&&(this.navigationTrigger=e.navigationTrigger),e instanceof I){let a=e.urlAfterRedirects.split("?")[0],B=a===this.previousPath;if(this.previousPath=a,typeof window>"u"||e.id===1||this.navigationTrigger==="popstate"||this.navigationTrigger==="hashchange"||B)return;window.scrollTo(0,0)}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=p({type:t,selectors:[["app-root"]],decls:11,vars:0,consts:[[1,"navbar"],[1,"nav-inner"],["routerLink","/",1,"logo"],[1,"fas","fa-envelope","logo-icon"],[1,"logo-text"],[1,"logo-highlight"]],template:function(e,a){e&1&&(n(0,"nav",0)(1,"div",1)(2,"a",2),i(3,"i",3),n(4,"span",4),s(5,"Temp"),n(6,"span",5),s(7,"Email"),r()()()()(),n(8,"main"),i(9,"router-outlet"),r(),i(10,"app-toast"))},dependencies:[E,N,D,c,m],styles:[".navbar[_ngcontent-%COMP%]{background:#111;height:48px;display:flex;align-items:center;padding:0 24px}.nav-inner[_ngcontent-%COMP%]{max-width:100%;width:100%;margin:0 auto;display:flex;align-items:center}.logo[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;text-decoration:none}.logo-icon[_ngcontent-%COMP%]{color:#22c55e;font-size:1.2rem}.logo-text[_ngcontent-%COMP%]{font-size:1.1rem;font-weight:800;color:#fff;letter-spacing:.3px;font-family:Segoe UI,Arial,sans-serif}.logo-highlight[_ngcontent-%COMP%]{color:#22c55e}main[_ngcontent-%COMP%]{min-height:calc(100vh - 48px)}@media (max-width: 768px){.navbar[_ngcontent-%COMP%]{height:44px;padding:0 12px}.logo-text[_ngcontent-%COMP%]{font-size:.95rem}.nav-tagline[_ngcontent-%COMP%]{display:none}main[_ngcontent-%COMP%]{min-height:calc(100vh - 44px)}}"]})};P(l,j).catch(t=>console.error(t));
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.