PageSourceSearch

https://odigos.io/_next/static/chunks/b6b06464cbaa01b6.js

js odigos.io collected 2026-09-24 11:15:31 UTC 47,082 bytes, 3 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,488143,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:o,objectFit:i}){let s=r?40*r:e,a=n?40*n:t,l=s&&a?`viewBox='0 0 ${s} ${a}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${l}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${l?"none":"contain"===i?"xMidYMid":"cover"===i?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${o}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},987690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return i},imageConfigDefault:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=["default","imgix","cloudinary","akamai","custom"],s={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},908927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return l}}),e.r(233525);let n=e.r(488143),o=e.r(987690),i=["-moz-initial","fill","none","scale-down",void 0];function s(e){return void 0!==e.default}function a(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function l({src:e,sizes:t,unoptimized:r=!1,priority:l=!1,preload:c=!1,loading:u,className:d,quality:p,width:g,height:f,fill:m=!1,style:h,overrideSrc:y,onLoad:b,onLoadingComplete:v,placeholder:w="empty",blurDataURL:O,fetchPriority:_,decoding:S="async",layout:P,objectFit:C,objectPosition:E,lazyBoundary:I,lazyRoot:T,...k},x){var A;let j,R,M,{imgConf:N,showAltText:L,blurComplete:B,defaultLoader:z}=x,D=N||o.imageConfigDefault;if("allSizes"in D)j=D;else{let e=[...D.deviceSizes,...D.imageSizes].sort((e,t)=>e-t),t=D.deviceSizes.sort((e,t)=>e-t),r=D.qualities?.sort((e,t)=>e-t);j={...D,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===z)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let F=k.loader||z;delete k.loader,delete k.srcSet;let U="__next_img_default"in F;if(U){if("custom"===j.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=F;F=t=>{let{config:r,...n}=t;return e(n)}}if(P){"fill"===P&&(m=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[P];e&&(h={...h,...e});let r={responsive:"100vw",fill:"100vw"}[P];r&&!t&&(t=r)}let K="",$=a(g),W=a(f);if((A=e)&&"object"==typeof A&&(s(A)||void 0!==A.src)){let t=s(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}
2`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(R=t.blurWidth,M=t.blurHeight,O=O||t.blurDataURL,K=t.src,!m)if($||W){if($&&!W){let e=$/t.width;W=Math.round(t.height*e)}else if(!$&&W){let e=W/t.height;$=Math.round(t.width*e)}}else $=t.width,W=t.height}let H=!l&&!c&&("lazy"===u||void 0===u);(!(e="string"==typeof e?e:K)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,H=!1),j.unoptimized&&(r=!0),U&&!j.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let G=a(p),V=Object.assign(m?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:C,objectPosition:E}:{},L?{}:{color:"transparent"},h),q=B||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,n.getImageBlurSvg)({widthInt:$,heightInt:W,blurWidth:R,blurHeight:M,blurDataURL:O||"",objectFit:V.objectFit})}")`:`url("${w}")`,Y=i.includes(V.objectFit)?"fill"===V.objectFit?"100% 100%":"cover":V.objectFit,J=q?{backgroundSize:Y,backgroundPosition:V.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:q}:{},Q=function({config:e,src:t,unoptimized:r,width:n,quality:o,sizes:i,loader:s}){if(r)return{src:t,srcSet:void 0,sizes:void 0};let{widths:a,kind:l}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,o=[];for(let e;e=r.exec(n);)o.push(parseInt(e[2]));if(o.length){let r=.01*Math.min(...o);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,n,i),c=a.length-1;return{sizes:i||"w"!==l?i:"100vw",srcSet:a.map((r,n)=>`${s({config:e,src:t,quality:o,width:r})} ${"w"===l?r:n+1}${l}`).join(", "),src:s({config:e,src:t,quality:o,width:a[c]})}}({config:j,src:e,unoptimized:r,width:$,quality:G,sizes:t,loader:F}),X=H?"lazy":u;return{props:{...k,loading:X,fetchPriority:_,width:$,height:W,decoding:S,className:d,style:{...V,...J},sizes:Q.sizes,srcSet:Q.srcSet,src:y||Q.src},meta:{unoptimized:r,preload:c||l,placeholder:w,fill:m}}}},898879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(271645),o="undefined"==typeof window,i=o?()=>{}:n.useLayoutEffect,s=o?()=>{}:n.useEffect;function a(e){let{headManager:t,reduceComponentsToState:r}=e;function a(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return o&&(t?.mountedInstances?.add(e.children),a()),i(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),i(()=>(t&&(t._pendingUpdate=a),()=>{t&&(t._pendingUpdate=a)})),s(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},325633,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return m},defaultHead:function(){return d}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(555682),s=e.r(190809),a=e.r(843476),l=s._(e.r(271645)),c=i._(e.r(898879)),u=e.r(742732);function d(){return[(0,a.jsx)("meta",{charSet:"utf-8"},"charset"),(0,a.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function p(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(233525);let g=["name","httpEquiv","charSet","itemProp"];function f(e){let t,r,n,o;return e.reduce(p,[]).reverse().concat(d().reverse()).filter((t=new Set,r=new Set,n=new Set,o={},e=>{let i=!0,s=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){s=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?i=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?i=!1:r.add(e.type);break;case"meta":for(let t=0,r=g.length;t<r;t++){let r=g[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?i=!1:n.add(r);else{let t=e.props[r],n=o[r]||new Set;("name"!==r||!s)&&n.has(t)?i=!1:(n.add(t),o[r]=n)}}}return i})).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let m=function({children:e}){let t=(0,l.useContext)(u.HeadManagerContext);return(0,a.jsx)(c.default,{reduceComponentsToState:f,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esMo
2dule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},918556,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return i}});let n=e.r(555682)._(e.r(271645)),o=e.r(987690),i=n.default.createContext(o.imageConfigDefault)},65856,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(555682)._(e.r(271645)).default.createContext(null)},670965,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},1948,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return i}});let n=e.r(670965);function o({config:e,src:t,width:r,quality:o}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let i=(0,n.findClosestQuality)(o,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${i}${t.startsWith("/_next/static/media/"),""}`}o.__next_img_default=!0;let i=o},605500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return w}});let n=e.r(555682),o=e.r(190809),i=e.r(843476),s=o._(e.r(271645)),a=n._(e.r(174080)),l=n._(e.r(325633)),c=e.r(908927),u=e.r(987690),d=e.r(918556);e.r(233525);let p=e.r(65856),g=n._(e.r(1948)),f=e.r(818581),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function h(e,t,r,n,o,i,s){let a=e?.src;e&&e["data-loaded-src"]!==a&&(e["data-loaded-src"]=a,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&o(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,o=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>o,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{o=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function y(e){return s.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,s.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:o,decoding:a,className:l,style:c,fetchPriority:u,placeholder:d,loading:p,unoptimized:g,fill:m,onLoadRef:b,onLoadingCompleteRef:v,setBlurComplete:w,setShowAltText:O,sizesInput:_,onLoad:S,onError:P,...C},E)=>{let I=(0,s.useCallback)(e=>{e&&(P&&(e.src=e.src),e.complete&&h(e,d,b,v,w,g,_))},[e,d,b,v,w,P,g,_]),T=(0,f.useMergedRef)(E,I);return(0,i.jsx)("img",{...C,...y(u),loading:p,width:o,height:n,decoding:a,"data-nimg":m?"fill":"1",className:l,style:c,sizes:r,srcSet:t,src:e,ref:T,onLoad:e=>{h(e.currentTarget,d,b,v,w,g,_)},onError:e=>{O(!0),"empty"!==d&&w(!0),P&&P(e)}})});function v({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...y(t.fetchPriority)};return e&&a.default.preload?(a.default.preload(t.src,r),null):(0,i.jsx)(l.default,{children:(0,i.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let w=(0,s.forwardRef)((e,t)=>{let r=(0,s.useContext)(p.RouterContext),n=(0,s.useContext)(d.ImageConfigContext),o=(0,s.useMemo)(()=>{let e=m||n||u.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>
3e-t),r=e.deviceSizes.sort((e,t)=>e-t),o=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:o,localPatterns:"undefined"==typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:a,onLoadingComplete:l}=e,f=(0,s.useRef)(a);(0,s.useEffect)(()=>{f.current=a},[a]);let h=(0,s.useRef)(l);(0,s.useEffect)(()=>{h.current=l},[l]);let[y,w]=(0,s.useState)(!1),[O,_]=(0,s.useState)(!1),{props:S,meta:P}=(0,c.getImgProps)(e,{defaultLoader:g.default,imgConf:o,blurComplete:y,showAltText:O});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b,{...S,unoptimized:P.unoptimized,placeholder:P.placeholder,fill:P.fill,onLoadRef:f,onLoadingCompleteRef:h,setBlurComplete:w,setShowAltText:_,sizesInput:e.sizes,ref:t}),P.preload?(0,i.jsx)(v,{isAppRouter:!r,imgAttributes:S}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},794909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return u},getImageProps:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(555682),s=e.r(908927),a=e.r(605500),l=i._(e.r(1948));function c(e){let{props:t}=(0,s.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let u=a.Image},657688,(e,t,r)=>{t.exports=e.r(794909)},233525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},998183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function i(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,s(e));else t.set(r,s(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},195057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return a},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(190809)._(e.r(998183)),s=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",a=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(i.urlQueryToSearchParams(l)));let u=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||s.test(n))&&!1!==c?(c="//"+(c||""),o&&"/"!==o[0]&&(o="/"+o)):c||(c=""),a&&"#"!==a[0]&&(a="#"+a),u&&"?"!==u[0]&&(u="?"+u),o=o.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${c}${o}${u}${a}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return a(e)}},818581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(271645);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=i(e,n)),t&&(o.current=i(t,n))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esMo
3dule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},718967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return O},MissingStaticPage:function(){return w},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return m},ST:function(){return h},WEB_VITALS:function(){return i},execOnce:function(){return s},getDisplayName:function(){return d},getLocationOrigin:function(){return c},getURL:function(){return u},isAbsoluteUrl:function(){return l},isResSent:function(){return p},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return g},stringifyError:function(){return _}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let a=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>a.test(e);function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=c();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function p(e){return e.finished||e.headersSent}function g(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&p(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let m="undefined"!=typeof performance,h=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class b extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class w extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class O extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function _(e){return JSON.stringify({message:e.message,stack:e.stack})}},573668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return i}});let n=e.r(718967),o=e.r(652817);function i(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},284508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},522016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return v}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(190809),s=e.r(843476),a=i._(e.r(271645)),l=e.r(195057),c=e.r(8372),u=e.r(818581),d=e.r(718967),p=e.r(405550);e.r(233525);let g=e.r(91949),f=e.r(573668),m=e.r(509396);function h(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function y(t){var r;let n,o,i,[l,y]=(0,a.useOptimistic)(g.IDLE_LINK_STATUS),v=(0,a.useRef)(null),{href:w,as:O,children:_,prefetch:S=null,passHref:P,replace:C,shallow:E,scroll:I,onClick:T,onMouseEnter:k,onTouchStart:x,legacyBehavior:A=!1,onNavigate:j,ref:R,unstable_dynamicOnHover:M,...N}=t;n=_,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,s.jsx)("a",{children:n}));let L=a.default.useContext(c.AppRouterContext),B=!1!==S,z=!1!==S?null===(r=S)||"auto"===r?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,{href:D,as:F}=a.default.useMemo(()=>{let e=h(w);return{href:e,as:O?h(O):e}},[w,O]);if(A){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>
3` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=a.default.Children.only(n)}let U=A?o&&"object"==typeof o&&o.ref:R,K=a.default.useCallback(e=>(null!==L&&(v.current=(0,g.mountLinkInstance)(e,D,L,z,B,y)),()=>{v.current&&((0,g.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,g.unmountPrefetchableInstance)(e)}),[B,D,L,z,y]),$={ref:(0,u.useMergedRef)(K,U),onClick(t){A||"function"!=typeof T||T(t),A&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!L||t.defaultPrevented||function(t,r,n,o,i,s,l){if("undefined"!=typeof window){let c,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,f.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(699781);a.default.startTransition(()=>{d(n||r,i?"replace":"push",s??!0,o.current)})}}(t,D,F,v,C,I,j)},onMouseEnter(e){A||"function"!=typeof k||k(e),A&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),L&&B&&(0,g.onNavigationIntent)(e.currentTarget,!0===M)},onTouchStart:function(e){A||"function"!=typeof x||x(e),A&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),L&&B&&(0,g.onNavigationIntent)(e.currentTarget,!0===M)}};return(0,d.isAbsoluteUrl)(F)?$.href=F:A&&!P&&("a"!==o.type||"href"in o.props)||($.href=(0,p.addBasePath)(F)),i=A?a.default.cloneElement(o,$):(0,s.jsx)("a",{...N,...$,children:n}),(0,s.jsx)(b.Provider,{value:l,children:i})}e.r(284508);let b=(0,a.createContext)(g.IDLE_LINK_STATUS),v=()=>(0,a.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},816790,30647,531018,207022,709694,593524,875564,274493,28479,505826,622290,80666,345412,308645,e=>{"use strict";e.i(247167),e.s(["IS_DEV",0,!1],30647);let t=[{slug:"odigos-vs-obi",href:"/comparisons/odigos-vs-obi",competitorName:"OpenTelemetry eBPF Instrumentation (OBI)",competitorShort:"OBI",title:"Odigos vs OBI",subtitle:"Application-level eBPF instrumentation vs network level visibility",description:"Compare Odigos userspace eBPF instrumentation with OpenTelemetry eBPF Instrumentation (OBI). See how library-level probes, encrypted traffic, pipeline management, and dynamic instrumentation differ.",logos:[{src:"/assets/odigos/logo_white.svg",alt:"Odigos"},{src:"/assets/opentelemetry.svg",alt:"OpenTelemetry"}],odigos:{name:"Odigos",tagline:"Application-level eBPF platform",description:"Instrument real application functions at runtime. No code changes or restarts required.",points:[{title:"Library-level probes",body:"Uprobes on all application and library functions, not just syscalls.",icon:"/assets/icons/comparisons/probe.svg"},{title:"OSS and Custom Code Support",body:"Instrument custom code live, no redeploys or importing SDKs.",icon:"/assets/icons/comparisons/code.svg"},{title:"Encrypted Traffic & mesh-aware",body:"TLS context propagation and service-mesh context.",icon:"/assets/icons/comparisons/lock.svg"},{title:"Automated OpenTelemetry Pipeline + AI Native",body:"Managed OTEL collectors, RBAC, SSO, built-in MCP Server, and live OTTL.",icon:"/assets/icons/comparisons/pipeline.svg"}]},competitor:{name:"OBI",tagline:"Syscall & network eBPF",description:"Language-agnostic tracing via syscalls for broad but shallow coverage.",docsUrl:"https://opentelemetry.io/
3docs/zero-code/obi/",docsLabel:"OpenTelemetry OBI docs",points:[{title:"Syscall / network only",body:"Kernel-level visibility without library context.",icon:"/assets/icons/comparisons/network.svg"},{title:"No encrypted traffic",body:"Broken trace context propagation across load-balancers and encrypted traffic.",icon:"/assets/icons/comparisons/lock-off.svg"},{title:"Limited app depth",body:"No stack traces, HTTP payloads, JVM metrics, or internal DB spans.",icon:"/assets/icons/comparisons/shallow.svg"},{title:"Instrumentation only",body:"No pipeline management, RBAC/SSO, or MCP Server.",icon:"/assets/icons/comparisons/agent.svg"}]},matrixIntro:"Detailed capability comparison for production observability",matrix:[{feature:"Library-level instrumentation (vs syscalls)",odigos:!0,competitor:"Syscalls / network only"},{feature:"Custom code instrumentation without code changes",odigos:!0,competitor:!1},{feature:"CPU and memory profiling",odigos:!0,competitor:!1},{feature:"MCP server & dynamic instrumentation / sampling",odigos:!0,competitor:!1},{feature:"Load-balancer / service mesh context propagation",odigos:!0,competitor:!1},{feature:"Encrypted traffic visibility",odigos:!0,competitor:!1},{feature:"Kafka message payloads",odigos:!0,competitor:!1},{feature:"Code attributes (stack traces, line numbers)",odigos:!0,competitor:!1},{feature:"Custom HTTP headers, requests & responses",odigos:!0,competitor:!1},{feature:"Internal DB spans (locks, unlocks, etc.)",odigos:!0,competitor:!1},{feature:"Full RBAC and SSO through a UI",odigos:!0,competitor:!1},{feature:"Automatic OpenTelemetry pipeline management",odigos:!0,competitor:!1},{feature:"JVM Metrics",odigos:!0,competitor:!1},{feature:"Log Capture",odigos:!0,competitor:!1}]}];e.s(["COMPARISONS",0,t,"getComparisonBySlug",0,e=>t.find(t=>t.slug===e)],531018),e.s(["FAQ",0,[{title:"How does an agent know which function to ask about?",description:"It does not have to guess from 40,000. Odigos already maps every service, the calls between them and the functions on the path of a request, so the agent narrows the way a person would: the failing endpoint, then the slow span, then the functions inside it. Capture is the last step, on a handful of candidates, not a fishing expedition across the fleet."},{title:"Where does the captured data go?",description:"Wherever you send it. Odigos runs inside your cluster and exports as OpenTelemetry to the destinations you configure, so captured data can stay entirely within your own infrastructure. Values are shaped before they leave: PII masking, attribute deletion and sampling all run in flight, in your cluster."},{title:"Who can capture argument values, and how is that audited?",description:"Capture is a governed action, not a developer convenience. RBAC controls who can request it and on which w
3orkloads, policy controls limit what may be captured at all, and every capture is scoped to the workload it was requested for. Teams handling card or patient data typically mask at the source and allow capture only on named services."},{title:"Can our agents ask for data nobody set up to collect?",description:"Yes. That is the point of the platform. An agent (or an engineer) can point at a function, a query, or a service that nobody ever set up to be watched, and Odigos attaches the capture live in running production. The answer comes back in seconds, as OpenTelemetry, with no code change and no redeploy."},{title:"Is capturing new data in live production safe?",description:"It runs out of process in eBPF, under 1% CPU. It never loads into your application, so a bad release of ours stops at our sensor. What may be captured, and by whom, is governed by RBAC and policy controls, and every capture is scoped to the workload you point it at."},{title:"How does Odigos work?",description:"Odigos runs out-of-process eBPF and starts capturing from every service the moment it comes up. You get distributed traces, metrics, and logs with no code changes and no redeploys. It detects the language of each application and picks the right approach on its own."},{title:"Do I need to replace my current APM?",description:"Not on day one. Odigos runs alongside Datadog, New Relic, Honeycomb, Grafana Cloud, and the open source stack (Jaeger, Tempo, Loki, SigNoz). It captures what they never reach. Most teams start there. Many end up replacing them."},{title:"Which programming languages are supported?",description:"Go, Java, Python, .NET, JavaScript, PHP, and Ruby, with more landing constantly, including the compiled runtimes most tools skip."},{title:"Does Odigos add performance overhead?",description:"No. eBPF runs in the kernel, outside your process. CPU impact stays under 1% and added latency is effectively zero, even at high throughput."}
3]],207022),e.s(["HOW_TO_START",0,[{title:"1. Install Odigos",description:"Install Odigos on your Kubernetes cluster by executing a single command.",image:"/assets/renders/install_odigos.svg",imageWidth:116,imageHeight:107},{title:"2. Select Applications",description:"Select target applications: choose specific applications, or let Odigos instrument everything automatically.",image:"/assets/renders/select_applications.svg",imageWidth:243,imageHeight:116},{title:"3. Choose Destinations",description:"Choose where to send the observability data. Both managed vendors and open source solutions are supported.",image:"/assets/renders/choose_destinations.svg",imageWidth:258,imageHeight:136}]],709694);let r="https://docs.odigos.io",n=`${r}/quickstart/introduction`,o=`${r}/setup/system-requirements`,i=`${r}/setup/installation`,s=`${r}/benchmarks`,a=`${r}/features/central`,l=`${r}/pipeline/actions/introduction`,c="https://comeet.com/jobs/odigos/5A.001";e.s(["ACTIONS_LINK",0,l,"BENCHMARKS_LINK",0,s,"CAREERS_LINK",0,c,"CONTACT_API_URL",0,"https://0w1e28hzsj.execute-api.us-east-2.amazonaws.com/default/putContactFormItem","CONTACT_SALES_LINK",0,"https://cta-service-cms2.hubspot.com/web-interactives/public/v1/track/redirect?encryptedPayload=AVxigLKKpYFkaGHLV2SjisuKL8vGZv8GBmHLZBbEO8WEPKpvVFGLbCJ75h5TYp0EunqgNph6y6otczaQIcIVW%2Bjg6QKGujbcqjfJbc0ppMX0vfLpYVru76VnnU3%2FWnz91xJehZPt8GVQCH9oQWAKvhLTOMypjCua0VKp16%2Bf%2BFCDMSrqktcXUfrk&webInteractiveContentId=208657275164&portalId=50932826","DEMO_VIDEO_LINK",0,"https://odigos-videos.s3.us-east-2.amazonaws.com/Odigos+Demo.mp4","DOCS_LINK",0,r,"GITHUB_LINK",0,"https://github.com/odigos-io/odigos","INSTALL_LINK",0,i,"MULTI_CLUSTER_LINK",0,a,"PRIVACY_POLICY_LINK",0,"https://odigos-privacy-policy.s3.us-east-2.amazonaws.com/Odigos+-+Privacy+Policy.pdf","QUICKSTART_LINK",0,n,"SLACK_CONTACT_API_URL",0,"https://zogs1txbee.execute-api.us-east-2.amazonaws.com/default/contact-form-post-slack-channel-message","SLACK_INVITE_LINK",0,"https://join.slack.com/t/odigos/shared_invite/zt-1d7egaz29-Rwv2T8kyzc3mWP8qKobz~A","SOC_LINK",0,"http://aicpa.org/soc4so","SYSTEM_REQUIREMENTS_LINK",0,o,"TRUST_CENTER_LINK",0,"https://trust.odigos.io"],593524);let u=[{title:"Eliminate Blind Spots Everywhere",descriptions:["Odigos captures traces from every service automatically. No code, no coverage gaps. Even hard-to-instrument environments like Go, Rust, C++, and databases are fully visible from day one."],threeDAsset:"https://prod.spline.design/HxLeZ864BgWEnGgs/scene.splinecode",buttonText:"Deploy Instantly",buttonHref:i},{title:"Blazing Fast, Zero Overhead",descriptions:["Using eBPF, Odigos instruments every service with <1% CPU impact with no latency penalties. Built for scale, it runs safely in production without slowing apps down, even in the most demanding, high-throughput environments."],threeDAsset:"https://prod.spline.design/nqKNxeSS9qMxOg66/scene.splinecode",buttonText:"See Benchmarks",buttonHref:s},{title:"Zero-Code, Full-Stack Observability in Minutes",descriptions:["Leverages eBPF technology to automatically instrument applications without modifying codebase
3s or redeploying services."],threeDAsset:"https://prod.spline.design/SqXWN3hHsZO4jX5f/scene.splinecode",buttonText:"Explore Insights",buttonHref:o},{title:"Multi-Cluster Visibility & Centralized Management",descriptions:["Managing observability across multiple Kubernetes clusters shouldn't be painful. Odigos Enterprise includes first-class multi-cluster support, allowing centralized policy management, global observability rollouts, and real-time instrumentation visibility across environments."],threeDAsset:"https://prod.spline.design/jTFjyYgXvk1UplHI/scene.splinecode",buttonText:"Automate Setup",buttonHref:a},{title:"Flexible Telemetry Pipelines with Odigos Actions",descriptions:["Odigos Actions let you enrich, route, and transform telemetry on the fly-without code. Customize pipelines, apply filters, and fan out OTLP data to multiple destinations instantly, all through declarative YAML policies."],threeDAsset:"https://prod.spline.design/C-LbCsM9zsBwo-oQ/scene.splinecode",buttonText:"Choose Freely",buttonHref:l}];e.s(["INFO_SECTIONS_1",0,u,"INFO_SECTIONS_2",0,[{title:"See everything. Change nothing.",descriptions:["No code edits. No redeploys. No restarts. Install Odigos and every service starts reporting."],bullets:["<strong>Metrics, Traces, and Logs:</strong> Real-time health, performance, and full incident analysis","<strong>Full Context Propagation:</strong> End-to-end traces across services, protocols, and infrastructure, even without headers","<strong>Deep Coverage, Any Stack:</strong> Modern and legacy environments, every major language and runtime"],imageSrc:"/assets/renders/product_section_1.png"},{title:"Tracing for the runtimes nobody else can reach.",descriptions:["Automatic distributed tracing for the languages, platforms, and services other tools give up on."],bullets:["eBPF auto-instrumented languages: <strong>Go, Java, Python, NodeJS, Rust, C++</strong>","Native support for <strong>Kubernetes, Virtual Machines & Bare Metal</strong>","eBPF-powered tracing for <strong>microservices, monoliths, and databases</strong>"],imageSrc:"/assets/renders/product_section_2.png"},{title:"Out of your process. Out of your way.",descriptions:["Deep visibility with the overhead of a rounding error."],bullets:["<strong><1% CPU overhead</strong> and virtually zero added latency","<strong>Scales effortlessly</strong> in Kubernetes and bare-metal deployments","<strong>Safe for production</strong> without compromising performance"],imageSrc:"/assets/renders/product_section_3.png"},{title:"Odigos Central: one control plane for every fleet.",descriptions:["Manage, scale, and govern your entire OpenTelemetry pipeline without touching application code."],bullets:["Apply instrumentation policies across the organization","Centralized control across Kubernetes, Virtual Machines, and Bare Metal","Centralized authentication and RBAC"],imageSrc:"/assets/renders/product_section_4.png"},{title:"Odigos Pipeline: your telemetry, your rules.",descriptions:["Shape every signal and send it anywhere. No vendor owns your data again."],bullets:["<strong>Enrich & Transform</strong> data with custom attributes, masking, and aggregation","<strong>Smart Sampling:</strong> Cut data volume and cost by keeping only what matters","<strong>Send Anywhere:</strong> Any OpenTelemetry-compatible backend, zero lock-in","<strong>No Hassle Setup:</strong> GitOps-friendly YAML or UI"],imageSrc:"/assets/renders/product_section_5.png"},{title:"Odigos Autofocus: capture what matters, the moment it matters.",descriptions:["Turn deep tracing on for a critical path in real time. No code changes. No redeploy."],bullets:["<strong>Real-time Adjustments:</strong> React to changing needs on the fly","<strong>Zero Downtime:</strong> Change anything without interrupting a service","<strong>Effortless Management:</strong> Manage it all centrally via UI or files"],imageSrc:"/assets/renders/product_section_6.png"}]],875564),e.s(["GOOGLE_MAPS_API_KEY",0,"AIzaSyByY4QARl8IPJOz4BerFkcBeaKWbsYbeh8"],274493);let d=[{label:"Security",href:"/security"},{label:"About",href:"/about"},{label:"Comparisons",href:"/comparisons"},{label:"Pricing",href:"/pricing"},{label:"Blog",href:"/blog"},{label:"Events",href:"/events"},{label:"Careers",href:c},{label:"Documentation",href:r},{label:"ROI Calculator",href:"/roi-calculator"}],p=[{label:"Platform",items:[{label:"Observability",href:"/observability",blurb
3:"Give investigations the evidence they are missing"},{label:"Security",href:"/security",blurb:"Understand attacks, assess exposure and contain threats"},{label:"Coding Agents",href:"/coding-agents",blurb:"Investigate production, fix code and verify"},{label:"Technology",href:"/technology",blurb:"The runtime access behind AI investigations"},{label:"Comparisons",href:"/comparisons",blurb:"How the approaches differ"}]},{label:"Pricing",items:[{label:"Plans",href:"/pricing",blurb:"What it costs and what is included"},{label:"ROI calculator",href:"/roi-calculator",blurb:"What it saves against what you run today"}]},{label:"Resources",items:[{label:"Documentation",href:r,blurb:"Install, configure and operate",external:!0},{label:"Blog",href:"/blog",blurb:"eBPF, OpenTelemetry and production debugging"},{label:"Events",href:"/events",blurb:"Where to find us"}]},{label:"Company",items:[{label:"About",href:"/about",blurb:"Who we are and what we are building"},{label:"Careers",href:c,blurb:"Open roles",external:!0}]}];e.s(["HEADER_HEIGHT_DESKTOP",0,91,"HEADER_HEIGHT_MOBILE",0,75,"NAVIGATION",0,d,"NAV_GROUPS",0,p],28479),e.s(["CUSTOMERS",0,[{src:"/assets/partners/t_mobile.svg",alt:"t-mobile",href:"https://t-mobile.com",width:126,height:39},{src:"/assets/partners/csaa.svg",alt:"csaa",href:"https://csaa-insurance.aaa.com",width:66,height:39},{src:"/assets/partners/merck.svg",alt:"merck",href:"https://merck.com",width:116,height:30},{src:"/assets/partners/avodaq.svg",alt:"avodaq",href:"https://avodaq.com",width:100,height:32},{src:"/assets/partners/avetta.svg",alt:"avetta",href:"https://avetta.com",width:130,height:20},{src:"/assets/partners/hpe.png",alt:"hp enterprise",href:"https://hpe.com",width:70,height:32},{src:"/assets/partners/inpost.svg",alt:"inpost",href:"https://inpost.pl",width:90,height:54},{src:"/assets/partners/deephealth.png",alt:"deephealth",href:"https://deephealth.com",width:131,height:29},{src:"/assets/partners/omnissa.png",alt:"omnissa",href:"https://omnissa.com",width:138,height:29}],"INVESTORS",0,[{name:"Mango capital",description:"Mango Capital backs our growth with deep expertise in infrastructure and developer tools.",url:"https://mangocapitalinc.com",image:"/assets/partners/mango_capital.svg"},{name:"Salesforce Ventures",description:"As a leader in B2B enterprise investments, Salesforce Ventures provides invaluable knowledge, resources, and connections to accelerate our success.",url:"https://salesforceventures.com",image:"/assets/partners/salesforce.svg"},{name:"Venture Guides",description:"Venture Guides invests in early-stage tech startups, offering financial support and strategic expertise to fuel innovation and build transformative businesses.",image:"/assets/partners/venture_guides.svg",url:"https://ventureguides.com",imageWidth:122,imageHeight:57},{name:"Y Combinator",description:"Y Combinator is a startup accelerator that provides funding, resources, and support to early-stage startups.",url:"https://ycombinator.com",image:"/assets/partners/ycombinator.svg"}]],505826),e.s(["PLANS",0,{base:[{label:"Zero-Code OTEL Tracing",oss:!0,enterprise:!0},{label:"Odigos Collector Sampling Actions",oss:!0,enterprise:!0},{label:"Odigos Instrumentation Actions",oss:!0,enterprise:!0},{label:"Multi Cluster Distributed Tracing",oss:!0,enterprise:!0},{label:"Kubernetes Tracing",oss:!0,enterprise:!0},{label:"Linux VM/Cloud VM Tracing",oss:!1,enterprise:!0},{label:"Linux Bare Metal Tracing",oss:!1,enterprise:!0}],ebpf:[{label:"Go",oss:!0,enterprise:!0},{label:"Java, Python, NodeJS",oss:"OTEL Based",enterprise:!0},{label:".NET, PHP, Ruby",oss:"OTEL Based",enterprise:!0},{label:"Custom Instrumentation",oss:"DIY",enterprise:!0}],databases:[{label:"MySQL",oss:!1,enterprise:!0},{label:"Postgres",oss:!1,enterprise:!0},{label:"Oracle",oss:!1,enterprise:"Coming Soon"},{label:"Multi Cluster Administration",oss:!1,enterprise:!0},{label:"Supported OTEL Instrumentation",oss:"DIY",enterprise:"24/7 Premium"},{label:"Support",oss:"Odigos Community Support",enterprise:"24/7 Premium"}]}],622290),e.s(["PRINCIPLES",0,[{title:"Innovation",description:"We embrace technology and innovation, constantly exploring new ideas to deliver forward-thinking solutions.",icon:"/assets/icons/galaxy.svg"},{title:"Open Source",description:"We actively contribute to open source, encouraging collaboration and shared growth within the community.",icon:"/assets/icons/folder.svg"},{title:"Customer Focus",description:"Our customers are central to everything we do. We listen closely to their needs and deliver solutions that empower their success.",icon:"/assets/icons/face_id.svg"},{title:"Team Spirit",description:"Our energetic team thrives on creativity and collaboration. We value every idea and empower each team member to make an impact.",icon:"/assets/icons/team.svg"},{title:"Excellence",description:"We set high standards in all we do, ensuring quality, reliability, and scalability at an enterprise level.",icon:"/assets/icons/ai_sparkles.svg"},{title:"Simplicity",description:"We design solutions that are simple and intuitive, remov
3ing complexity to make technology accessible for everyone.",icon:"/assets/icons/target.svg"}]],80666),e.s(["TEAM",0,[{name:"Ari Recht",title:"Co-Founder & CEO",description:"Ari brings over 20+ years of experience across tech, software, finance, and energy, combining strategic insight with hands-on leadership.\n\nAs Co-Founder & CEO of Odigos, he leads with a passion for innovation and a deep understanding of the global and Israeli tech ecosystems.",image:"/assets/team/ari_recht.jpg",linkedin:"https://www.linkedin.com/in/arirecht"},{name:"Eden Federman",title:"Co-Founder & CTO",description:"Eden is a seasoned Co-Founder & CTO of Odigos, leading the company's technical vision with deep expertise as an OpenTelemetry maintainer and eBPF innovator.\n\nWith a background spanning major engineering roles, including contributions at Verizon Media, Taboola, and OpenTelemetry, Eden leads development of Odigos's fully automated, code-free distributed tracing platform.",image:"/assets/team/eden_federman.jpg",linkedin:"https://www.linkedin.com/in/edenfed"},{name:"Gerry Sengendo",title:"VP Sales",description:"Gerry is a seasoned sales executive with extensive experience leading GTM, enterprise, and channel sales across performance, observability, and software domains including leadership roles at Turbonomic, Elastio, Dynatrace, and OPNET.\n\nAs VP Sales at Odigos, Gerry drives customer adoption and strategic growth by aligning Odigos's eBPF and OpenTelemetry-powered observability platform with enterprise needs and modern infrastructure.",image:"/assets/team/gerry_sengendo.jpg",linkedin:"https://www.linkedin.com/in/gerry-sengendo-b6829a9"},{name:"Ktora Tsur",title:"HR Manager",description:"Ktora is the HR Manager at Odigos, bringing over 8 years of experience in Human Resources, with a strong background in building tech teams across EMEA and the US from early-stage startups to large enterprises.\n\nAt Odigos, Ktora leads all HR functions, including people experience, talent acquisition, and people operations, and is actively involved in nurturing the company culture as Odigos continues to grow globally.",image:"/assets/team/ktora_tsur.jpg",linkedin:"https://www.linkedin.com/in/ktora-tsur-9487331b0"},{name:"Alon Braymok",title:"Frontend Lead",description:"Alon leads frontend development at Odigos, crafting user-centric interfaces that make distributed tracing via eBPF and OpenTelemetry intuitive and accessible.\n\nWith a strong background in full-stack web engineering and a passion for React and modern JavaScript frameworks, he enhances user experience by blending performance, clarity, and elegance in Odigos's UI.",image:"/assets/team/alon_braymok.jpg",linkedin:"https://www.linkedin.com/in/alon-braymok"},{name:"Saar Jacob",title:"Design Lead",description:"Saar is the Product & Marketing Design Lead at Odigos, shaping both product vision and go-to-market strategy with design-first thinking.\n\nWith 10+ years of experience as a team lead in product & marketing design departments, and visual communication training from Shenkar College, Saar blends intuitive UX de
3sign with impactful branding to elevate Odigos's observability experiences.",image:"/assets/team/saar_jacob.jpg",linkedin:"https://www.linkedin.com/in/saar-jacob-0a5079151"}]],345412),e.s(["TESTIMONIALS",0,[{quote:"“Odigos has proven to be a game-changer for us. With its ability to generate distributed traces instantly, Odigos has streamlined our process of identifying and resolving performance issues, pinpointing bottlenecks within microservices communication, and enhancing the overall reliability of our applications.”",authorName:"Tolu Aina",authorPosition:"Access Bank"},{quote:"“eBPF-based instrumentation is clearly the future for observability. It brings composability to the observability stack and a is much faster way to get metrics, logs, and traces to different data platforms and gives us more control over our overall observability strategy. With Odigos we make the lives of our development teams dramatically/so much easier. Odigos integrates seamlessly with our existing stack, sending traces, metrics, and logs straight into Splunk. It’s been a great way to expand observability across our services with almost zero developer overhead.”",authorName:"Sebastian Bonk",authorPosition:"Avodaq"}]],308645),e.s([],816790)}]);

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.