1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/images/landing/shared/footer/gdpr_compliant.svg" as="image" imageSizes="45px"/><link rel="preload" href="/images/landing/shared/footer/aicpa_soc2.svg" as="image" imageSizes="50px"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/nexity.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/nexa.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/bouygues-telecom.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/efs.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/laforet.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/cai.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/acadomia.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/medicis.svg" as="image"/><link rel="stylesheet" href="/_next/static/chunks/0yp-4issojtp-.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/15n50a9j53ish.js"/>
1<script src="/_next/static/chunks/2bez02m2_ism3.js" async=""></script>
1<script src="/_next/static/chunks/29k31qfocu9mr.js" async=""></script>
1<script src="/_next/static/chunks/0cox5p6dusudz.js" async=""></script>
1<script src="/_next/static/chunks/1a07628bnsmhd.js" async=""></script>
1<script src="/_next/static/chunks/3oxlmz4-fflsx.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-3-wpj7avmkn5j.js" async=""></script>
1<script src="/_next/static/chunks/3un94oci5j8ip.js" async=""></script>
1<script src="/_next/static/chunks/1cj-1wqdkbwn2.js" async=""></script>
1<script src="/_next/static/chunks/1zt7viddtwj87.js" async=""></script>
1<script src="/_next/static/chunks/0qi1z29nzjxlt.js" async=""></script>
1<script src="/_next/static/chunks/1hy89eddmuwbx.js" async=""></script>
1<script src="/_next/static/chunks/04a36i6s48ix2.js" async=""></script>
1<script src="/_next/static/chunks/3o3mk_9650n8z.js" async=""></script>
1<script src="/_next/static/chunks/1wx250emb4xiv.js" async=""></script>
1<script src="/_next/static/chunks/383fbap92kbwn.js" async=""></script>
1<script src="/_next/static/chunks/1piubskebzqkn.js" async=""></script>
1<script src="/_next/static/chunks/2581pizx2_x-m.js" async=""></script>
1<script src="/_next/static/chunks/0rt5anpxssa_u.js" async=""></script>
1<script src="/_next/static/chunks/23pmsrkea80hb.js" async=""></script>
1<script src="https://clerk.pinpo.ai/npm/@clerk/clerk-js@6/dist/clerk.browser.js" data-clerk-js-script="true" async="" crossorigin="anonymous" data-clerk-publishable-key="pk_live_Y2xlcmsucGlucG8uYWkk"></script>
1<link rel="preload" href="/images/landing/shared/client-logo-scroll/abrisud.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/akena.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/bienici.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/ynov.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/icade.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/pichet.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/pap.svg" as="image"/><link rel="preload" href="/images/landing/shared/client-logo-scroll/letudiant.svg" as="image"/><link rel="preload" href="/images/logo/pinpo-ai_white.svg" as="image" imageSizes="94px"/><link rel="preload" href="/images/landing/security/showcase-1.svg" as="image"/><link rel="preload" href="/images/landing/shared/cta-block/cta-block-pattern-top-right.svg" as="image"/><link rel="preload" href="/images/landing/shared/cta-block/cta-block-pattern-bottom-left.svg" as="image"/><link rel="preload" href="/images/landing/security/showcase-2.svg" as="image"/><link rel="preload" href="/images/landing/security/showcase-3.svg" as="image"/><link rel="preload" href="/images/landing/security/showcase-4.svg" as="image"/><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-1LF7XY0CMR" as="script"/><title>Security, GDPR & AI Compliance | Pinpo</title><meta name="description" content="Enterprise-grade security with GDPR compliance, EU data hosting, MFA, audit logs and AI governance. Built for demanding environments."/><link rel="manifest" href="/manifest.webmanifest"/><meta name="robots" content="index, follow, nocache"/><link rel="canonical" href="https://www.pinpo.ai"/><meta property="og:title" content="AI Sales Agents for Lead Qualification & Conversion | Pinpo"/><meta property="og:description" content="Double your sales capacity without hiring. Pinpo AI agents qualify leads, follow up and book appointments via SMS, WhatsApp and RCS, 24/7."/><meta property="og:image" content="https://www.pinpo.ai/social-media/opengraph-image.jpg"/><meta property="og:image:alt" content="Pinpo - AI agents for lead qualification and conversion"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="AI Sales Agents for Lead Qualification & Conversion | Pinpo"/><meta name="twitter:description" content="Double your sales capacity without hiring. Pinpo AI agents qualify leads, follow up and book appointments via SMS, WhatsApp and RCS, 24/7."/><meta name="twitter:image" content="https://www.pinpo.ai/social-media/twitter-image.jpg"/><meta name="twitter:image:alt" content="Pinpo - AI agents for lead qualification and conversion"/><link rel="icon" href="/favicon/favicon.ico"/><link rel="apple-touch-icon" href="/favicon/apple-icon.png"/><meta name="next-size-adjust" content=""/><link rel="preload" href="https://clerk.pinpo.ai/npm/@clerk/ui@1/dist/ui.browser.js" as="script" crossorigin="anonymous"/>
1<script>(self.__next_s=self.__next_s||[]).push([0,{"children":"window.NREUM||(NREUM={});NREUM.info = {\"agent\":\"\",\"beacon\":\"bam.eu01.nr-data.net\",\"errorBeacon\":\"bam.eu01.nr-data.net\",\"licenseKey\":\"NRJS-9b5a49162ed6d8ff2b6\",\"applicationID\":\"410569525\"}; (window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:[\"bam.eu01.nr-data.net\"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:\"538838108\",accountID:\"3352559\",trustKey:\"3352559\",xpid:\"VwUCU1NWARAEVVFXAQgCVFE=\",licenseKey:\"NRJS-9b5a49162ed6d8ff2b6\",applicationID:\"410569525\",browserID:\"538838108\"};;/*! For license information please see nr-loader-spa-1.323.0.min.js.LICENSE.txt */\n(()=\u003e{var e={8122(e,t,r){\"use strict\";r.d(t,{a:()=\u003ei});var n=r(944);function i(e,t){try{if(!e||\"object\"!=typeof e)return(0,n.R)(3);if(!t||\"object\"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])\u0026\u0026Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:\"object\"==typeof e[a]\u0026\u0026null!==t[a]\u0026\u0026\"object\"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){\"use strict\";r.d(t,{f:()=\u003ea});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey\u0026\u0026!!e.errorBeacon\u0026\u0026!!e.applicationID}catch(e){return!1}}r.d(t,[\"D\",0,e=\u003e(0,i.a)(e,s)])},7699(e,t,r){\"use strict\";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,[\"It\",0,1e6,\"KC\",0,i,\"qh\",0,\"SESSION_ERROR\"])},9324(e,t,r){\"use strict\";r.d(t,[\"A\",0,\"@newrelic/rrweb\",\"x\",0,\"1.323.0\"])},981(e,t,r){\"use strict\";r.d(t,[\"R\",0,{AJAX:\"AjaxRequest\",PA:\"PageAction\",UA:\"UserAction\",BP:\"BrowserPerformance\",WS:\"WebSocket\",SPV:\"SecurityPolicyViolation\",JSE:\"JavaScriptError\",LOG:\"Log\",PVE:\"PageView\",PVT:\"PageViewTiming\",SR:\"SessionReplay\",ST:\"SessionTrace\",BI:\"BrowserInteraction\"}])},9752(e,t,r){\"use strict\";const n=\"newrelic-iframe-\",i=n+\"timing-update\",s=n+\"api\",a=n+\"api-response\",o=n+\"vitals-update\",c=n+\"ajax\";r.d(t,[\"$8\",0,o,\"Gi\",0,a,\"KU\",0,c,\"Pl\",0,n,\"cS\",0,s,\"cr\",0,i])},6154(e,t,r){\"use strict\";var n=r(1863);const i=\"undefined\"!=typeof window\u0026\u0026!!window.document,s=\"undefined\"!=typeof WorkerGlobalScope\u0026\u0026(\"undefined\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self.navigator instanceof WorkerNavigator||\"undefined\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis.navigator instanceof WorkerNavigator),a=i?window:\"undefined\"!=typeof WorkerGlobalScope\u0026\u0026(\"undefined\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self||\"undefined\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis),o=Boolean(\"hidden\"===a?.document?.visibilityState),c=\"\"+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d\u0026\u0026\"undefined\"==typeof SharedWorker,l=(()=\u003e{const e=a.navigator?.userAgent?.match(/Firefox[/\\s](\\d+\\.\\d+)/);return Array.isArray(e)\u0026\u0026e.length\u003e=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,[\"OF\",0,d,\"RI\",0,i,\"WN\",0,f,\"bv\",0,s,\"gm\",0,a,\"lR\",0,l,\"m\",0,c,\"mw\",0,o,\"sb\",0,u,\"zk\",0,()=\u003e{const e=a?.performance?.getEntriesByType?.(\"navigation\")?.[0];if(e\u0026\u0026e.responseStart\u003e0\u0026\u0026e.responseStart\u003ca.performance.now())return e}])},7295(e,t,r){\"use strict\";r.d(t,{Xv:()=\u003ea,gX:()=\u003ei,iW:()=\u003es});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;
1if(\"*\"===n[0].hostname)return!1;for(var t=0;t\u003cn.length;t++){var r=n[t];if(r.hostname.test(e.hostname)\u0026\u0026r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e\u0026\u0026e.length)for(var t=0;t\u003ce.length;t++){let r=e[t];if(!r)continue;if(\"*\"===r)return void(n=[{hostname:\"*\"}]);0===r.indexOf(\"http://\")?r=r.substring(7):0===r.indexOf(\"https://\")\u0026\u0026(r=r.substring(8));const i=r.indexOf(\"/\");let s,a;i\u003e0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a=\"*\");let[c]=s.split(\":\");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\\]\\\\]/g,e=\u003e\"\\\\\"+e).replace(/\\*/g,\".*?\");return new RegExp((t?\"^\":\"\")+r+\"$\")}},3241(e,t,r){\"use strict\";r.d(t,{W:()=\u003ei});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent(\"newrelic\",{detail:e}))}catch(e){}}},1687(e,t,r){\"use strict\";r.d(t,{Ak:()=\u003eo,Ze:()=\u003ed,x3:()=\u003ec});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r\u0026\u0026(r.get(t)\u0026\u0026r.delete(t),l(e,t,!1),r.size\u0026\u0026u(e))}function d(e,t=\"feature\",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=\u003et.staged)\u0026\u0026(t.sort((e,t)=\u003ee[1].priority-t[1].priority),t.forEach(([t])=\u003e{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s\u0026\u0026!s.aborted\u0026\u0026s.backlog\u0026\u0026o){if((0,n.W)({type:\"lifecycle\",name:\"drain\",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e\u0026\u0026t\u003ce.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=\u003e{Object.values(t||{}).forEach(t=\u003e{t[0]?.on\u0026\u0026t[0].context()instanceof a.y\u0026\u0026!t[0].listeners(e).includes(t[1])\u0026\u0026t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit(\"drain-\"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=\u003e{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){\"use strict\";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o=\"nr@context:\".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length\u0026\u0026d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i\u003cr.length;i++)r[i]===t\u0026\u0026r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s\u0026\u0026(s=!0);if(c.aborted\u0026\u0026!i)return;t\u0026\u0026s\u0026\u0026t.emit(e,r,n);var o=h(n);g(e).forEach(e=\u003e{e.apply(o,r)});var d=v()[a[e]];d\u0026\u0026d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||\"feature\",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=\u003e{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=\u003e{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t\u0026\u0026\"object\"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,\"aborted\",{get:()=\u003e{let e=f._aborted||!1;return e||(t\u0026\u0026(e=t.aborted),e)}}),f;function h(e){return e\u0026\u0026e instanceof s.y?e:e?(0,i.I)(e,o,()=\u003enew s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,\"globalEE\"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,[\"P\",0,o,\"ee\",0,c])},2646(e,t,r){\"use strict\";r.d(t,{y:()=\u003en});class n{constructor(e){this.contextId=e}}},9908(e,t,r){\"use strict\";r.d(t,{d:()=\u003en,p:()=\u003ei});var n=r(7836).ee.get(\"handle\");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){\"use strict\";r.d(t,{i:()=\u003es});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s=\"feature\"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){\"use strict\";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=\u003es,jT:()=\u003en,sp:()=\u003ei})},5607(e,t,r){\"use strict\";const n=(0,r(9566).bz)();r.d(t,[\"W\",0,n])},9566(e,t,r){\"use strict\";r.d(t,{LA:()=\u003ea,ZF:()=\u003eo,bz:()=\u003es,el:()=\u003ec});var n=r(6154);function i(e,t){return e?15\u0026e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e\u0026\u0026e.getRandomValues\u0026\u0026(t=e.getRandomValues(new Uint8Array(30))),\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".split(\"\").map(e=\u003e\"x\"===e?i(t,r++).toString(16):\"y\"===e?(3\u0026i()|8).toString(16):e).join(\"\")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t\u0026\u0026t.getRandomValues\u0026\u0026(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o\u003ce;o++)a.push(i(r,s++).toString(16));return a.join(\"\")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){\"use strict\";r.d(t,[\"BB\",0,18e5,\"Wt\",0,\"NRBA_SESSION::\",\"g\",0,{OFF:0,FULL:1,ERROR:2},\"iL\",0,{SAME_TAB:\"same-tab\",CROSS_TAB:\"cross-tab\"},\"tS\",0,{STARTED:\"session-started\",PAUSE:\"session-pause\",RESET:\"session-reset\",RESUME:\"session-resume\",UPDATE:\"session-update\"},\"wk\",0,144e5])},733(e,t,r){\"use strict\";function n(e,t){return function(e){let t=2166136261;for(let r=0;r\u003ce.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t\u003e\u003e\u003e0).toString(16).padStart(8,\"0\")}
1(\"\".concat(String(e),\":\").concat(String(t)))}r.d(t,{Y:()=\u003en})},1863(e,t,r){\"use strict\";function n(){return Math.floor(performance.now())}r.d(t,{t:()=\u003en})},9119(e,t,r){\"use strict\";r.d(t,{L:()=\u003es});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,\"$1$2\"):e}},7485(e,t,r){\"use strict\";r.d(t,{D:()=\u003ei});var n=r(6154);function i(e){if(0===(e||\"\").indexOf(\"data:\"))return{protocol:\"data\"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(\":\")),sameOrigin:t.protocol===n.gm?.location?.protocol\u0026\u0026t.host===n.gm?.location?.host};return r.port\u0026\u0026\"\"!==r.port||(\"http:\"===t.protocol\u0026\u0026(r.port=\"80\"),\"https:\"===t.protocol\u0026\u0026(r.port=\"443\")),r.pathname\u0026\u0026\"\"!==r.pathname?r.pathname.startsWith(\"/\")||(r.pathname=\"/\".concat(r.pathname)):r.pathname=\"/\",r}catch(e){return{}}}},7866(e,t,r){\"use strict\";r.d(t,[\"Nc\",0,/^\\s*at Function code \\(Function code:\\d+:\\d+\\)\\s*/i,\"cn\",0,/^\\s*(?:([^@]*)(?:\\(.*?\\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\\d+)(?::(\\d+))?\\s*$/i,\"fL\",0,/^\\s*at .+ \\(eval at \\S+ \\((?:(?:file|http|https):[^)]+)?\\)(?:, [^:]*:\\d+:\\d+)?\\)$/i,\"h3\",0,/function (.+?)\\s*\\(/,\"hB\",0,/^\\s*at (?:((?:\\[object object\\])?(?:[^(]*\\([^)]*\\))*[^()]*(?: \\[as \\S+\\])?) )?\\(?((?:file|http|https|chrome-extension):.*?)?:(\\d+)(?::(\\d+))?\\)?\\s*$/i])},944(e,t,r){\"use strict\";r.d(t,{R:()=\u003ei});var n=r(3241);function i(e,t){\"function\"==typeof console.debug\u0026\u0026(console.debug(\"New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#\".concat(e),t),(0,n.W)({drained:null,type:\"data\",name:\"warn\",feature:\"warn\",data:{code:e,secondary:t}}))}},8990(e,t,r){\"use strict\";r.d(t,{I:()=\u003ei});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty\u0026\u0026Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){\"use strict\";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=\u003e{n\u0026\u0026void 0===i\u0026\u0026(e.apply(this,r),i=setTimeout(()=\u003e{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=\u003e{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=\u003e{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=\u003ei,s:()=\u003en})},1910(e,t,r){\"use strict\";r.d(t,{i:()=\u003es});var n=r(944);const i=new Map;function s(...e){return e.every(e=\u003e{if(i.has(e))return i.get(e);const t=\"function\"==typeof e?e.toString():\"\",r=t.includes(\"[native code]\"),s=t.includes(\"nrWrapper\");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){\"use strict\";r.d(t,{A:()=\u003ei});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=\u003e{const e=new WeakSet;return(t,r)=\u003e{if(\"object\"==typeof r\u0026\u0026null!==r){if(e.has(r))return;e.add(r)}return r}})())??\"\"}catch(e){try{n.ee.emit(\"internal-error\",[e])}catch(e){}return\"\"}}},9232(e,t,r){\"use strict\";r.d(t,[\"f\",0,{MFE:\"MFE\",BA:\"BA\"}])},7560(e,t,r){\"use strict\";r.d(t,{N:()=\u003ea,j:()=\u003ec});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=\u003e(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=\u003ee.isScript)}:void 0}function o(e){if(!e||\"object\"!=typeof e)return;const{matcher:t,type:r}=e;let i=\"string\"==typeof t\u0026\u0026t.endsWith(\".js\");return void 0!==r\u0026\u0026(!function(e){return\"script\"===e||\"asset\"===e}(r)?s(r):i=function(e){return\"script\"===e}(r)),a=t,\"[object RegExp]\"===Object.prototype.toString.call(a)?{pattern:t,test:e=\u003e(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:\"string\"==typeof t\u0026\u0026t.length\u003e0?{pattern:t,test:e=\u003e(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=\u003ee.test(t))}},5718(e,t,r){\"use strict\";r.d(t,{xo:()=\u003eT,AZ:()=\u003ev,cI:()=\u003eg,Qr:()=\u003eA,QL:()=\u003ey});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=\u003e{},t){return{get:()=\u003evoid 0!==t?t:e(),set:e=\u003e{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=\u003e{t\u0026\u0026(e.scriptStart=e.scriptStart\u003e0?Math.min(e.scriptStart,t):t),r\u0026\u0026(e.scriptEnd=e.scriptEnd\u003e0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
1if(t)return t;const r=new o(e);if(l.set(e,r),l.size\u003e1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver\u0026\u0026n.gm.document){new MutationObserver(e=\u003e{e.forEach(e=\u003e{e.addedNodes.forEach(e=\u003e{if(\"SCRIPT\"===e.nodeName\u0026\u0026e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=\u003e{t.dom.end=(0,i.t)()};[\"load\",\"error\"].forEach(t=\u003ee.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes(\"resource\")){new PerformanceObserver(e=\u003e{e.getEntries().forEach(e=\u003e{if((e=\u003e\"script\"===e.initiatorType||[\"link\",\"fetch\"].includes(e.initiatorType)\u0026\u0026(0,s.L)(e.name).endsWith(\".js\"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=\u003e{(r(e)||(0,i.t)()-n\u003e1e4)\u0026\u0026t.push(s)}),f=f.filter((e,r)=\u003e!t.includes(r))})}).observe({type:\"resource\",buffered:!0})}function v(e){if(!e||\"string\"!=typeof e)return[];const t=new Set,r=e.split(\"\\n\");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r\u0026\u0026r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\\(([^)]+\\.js):\\d+:\\d+\\)/)||e.match(/^\\s+at\\s+([^\\s(]+\\.js):\\d+:\\d+/);r\u0026\u0026r[1]\u0026\u0026t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),\"blocking\"===t.renderBlockingStatus?e.renderBlocking=!0:\"non-blocking\"===t.renderBlockingStatus\u0026\u0026!0!==e.renderBlocking\u0026\u0026(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),\"scripts\"!==i\u0026\u0026\"all\"!==i)return;if(\"all\"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart\u003e0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd\u003e0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=\u003e{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end\u0026\u0026r.dom.value\u0026\u0026[\"load\",\"error\"].forEach(e=\u003er.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType(\"resource\")||[]).forEach(r=\u003e{const n=[...a].find(e=\u003ee.test(r.name));n\u0026\u0026(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size\u0026\u0026function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes(\"resource\")\u0026\u0026f.push({addedAt:(0,i.t)(),test:n=\u003e{const i=[...t].find(e=\u003ee.test(n.name));return i\u0026\u0026(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:\"unknown\",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType(\"navigation\")?.[0]?.name||\"\";try{const e=v(a),c=(e.length\u003e1?e.filter(e=\u003eu!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type=\"inline\",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType(\"resource\")?.find(e=\u003eb(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel=\"preload\"][as=\"script\"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)\u0026\u0026(r.asset=c,r.type=\"preload\"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes(\"resource\")\u0026\u0026f.push({addedAt:(0,i.t)(),test:r=\u003e!!b(r,t)\u0026\u0026(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t\u0026\u0026!!h?.claimedBy.has(t);h\u0026\u0026t\u0026\u0026h.claimedBy.add(t);const y=()=\u003e{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e\u003e1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=\u003e{e\u0026\u0026(w=w\u003e0?Math.min(w,e):e),t\u0026\u0026(R=R\u003e0?Math.max(R,t):t)},Object.defineProperty(r,\"scriptStart\",d(()=\u003e{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w\u003e0?Math.min(e,w):e})),Object.defineProperty(r,\"scriptEnd\",d(()=\u003e{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R\u003e0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){\"use strict\";r.d(t,{$5:()=\u003em,B5:()=\u003eg,K6:()=\u003eu,M$:()=\u003eo,Ms:()=\u003ed,NG:()=\u003ec,Ux:()=\u003eh,YA:()=\u003ep,yx:()=\u003el});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}
1function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=\u003et.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=\u003eString(t.metadata.target.id)===String(e)).map(e=\u003ee.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=\u003e{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset\u0026\u0026(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=\u003ee.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=\u003e{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=\u003ee.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i=\"\".concat(e,\"::\").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked\u0026\u0026!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e\u0026\u0026(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{\"child.id\":e.id,\"child.type\":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)\u0026\u0026!!v(t)\u0026\u0026t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e\u0026\u0026!!t?.init.api.register.enabled}},5289(e,t,r){\"use strict\";r.d(t,{GG:()=\u003ea,Qr:()=\u003ec,sB:()=\u003eo});var n=r(3878),i=r(6389);function s(){return\"undefined\"==typeof document||\"complete\"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=\u003e{s()\u0026\u0026(clearInterval(a),r())},500);(0,n.sp)(\"load\",r,t)}function o(e){if(s())return e();(0,n.DD)(\"DOMContentLoaded\",e)}function c(e){if(s())return e();(0,n.sp)(\"popstate\",e)}},384(e,t,r){\"use strict\";r.d(t,{Zm:()=\u003ec,bQ:()=\u003eu,dV:()=\u003ed,pV:()=\u003el});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:\"bam.nr-data.net\",errorBeacon:\"bam.nr-data.net\"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic\u0026\u0026(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length\u0026\u0026(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,[\"NT\",0,o])},2843(e,t,r){\"use strict\";r.d(t,{G:()=\u003es,u:()=\u003ei});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)(\"visibilitychange\",function(){if(t)return void(\"hidden\"===document.visibilityState\u0026\u0026e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)(\"pagehide\",e,t,r)}},8139(e,t,r){\"use strict\";r.d(t,{u:()=\u003ef});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d=\"addEventListener\",u=\"removeEventListener\",l=\"nr@wrapped:\".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get(\"events\")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],\"-\",g)}function g(e,t){return e[1]}return\"getPrototypeOf\"in Object\u0026\u0026(a.RI\u0026\u0026h(document,p),c\u0026\u0026h(c.prototype,p),h(a.gm,p)),r.on(d+\"-start\",function(e,t){var r=e[1];if(null!==r\u0026\u0026(\"function\"==typeof r||\"object\"==typeof r)\u0026\u0026\"newrelic\"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if(\"function\"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,\"fn-\",null,e.name||\"anonymous\"):r});this.wrapped=e[1]=n}}),r.on(u+\"-start\",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;\"object\"==typeof n\u0026\u0026!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n\u0026\u0026t(n,...r)}},3434(e,t,r){\"use strict\";r.d(t,{YM:()=\u003ed});var n=r(7836),i=r(5607),s=r(5732);const a=\"nr@original:\".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r=\"\");const o=\"-\"===r.charAt(0);for(let c=0;c\u003ct.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=\"\"),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty\u0026\u0026Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)\u0026\u0026(t[n]=e[n])}
1(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l=\"function\"==typeof i?i(a,o):i||{}}catch(t){u([t,\"\",[a,o,c],l],e)}d(n+\"start\",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+\"err\",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e\u003e=50,methodName:c,thrownError:g};t.isLongTask\u0026\u0026d(\"long-task\",[t,o,m],l,f),d(n+\"end\",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit(\"internal-error\",e)}catch(e){}}function l(e){return!(e\u0026\u0026\"function\"==typeof e\u0026\u0026e.apply\u0026\u0026!e[a])}r.d(t,[\"Jt\",0,a])},9300(e,t,r){\"use strict\";const n=r(860).K7.ajax;r.d(t,[\"TZ\",0,n,\"f5\",0,\"ajaxRequest.id\",\"mo\",0,{NONE:\"none\",FAILURES:\"failures\",ALL:\"all\"}])},3333(e,t,r){\"use strict\";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,[\"$v\",0,{RESOURCES:\"experimental.resources\",REGISTER:\"register\"},\"TZ\",0,i,\"Zp\",0,[\"auxclick\",\"click\",\"copy\",\"keydown\",\"paste\",\"scrollend\"],\"kd\",0,s,\"qN\",0,[\"focus\",\"blur\"]])},6774(e,t,r){\"use strict\";const n=r(860).K7.jserrors;r.d(t,[\"T\",0,n])},993(e,t,r){\"use strict\";const n=r(860).K7.logging;r.d(t,[\"A$\",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},\"TZ\",0,n,\"p_\",0,{ERROR:\"ERROR\",WARN:\"WARN\",INFO:\"INFO\",DEBUG:\"DEBUG\",TRACE:\"TRACE\"}])},3785(e,t,r){\"use strict\";r.d(t,{R:()=\u003ec,b:()=\u003ed});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,[\"API/logging/\".concat(c.toLowerCase(),\"/called\")],void 0,s.K7.metrics,e),(0,n.p)(\"log\",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return\"string\"==typeof e\u0026\u0026Object.values(o.p_).some(t=\u003et===e.toUpperCase().trim())}},3969(e,t,r){\"use strict\";const n=r(860).K7.metrics;r.d(t,[\"TZ\",0,n,\"XG\",0,\"storeEventMetrics\",\"xV\",0,\"storeSupportabilityMetrics\"])},6630(e,t,r){\"use strict\";const n=r(860).K7.pageViewEvent;r.d(t,[\"T\",0,n])},782(e,t,r){\"use strict\";const n=r(860).K7.pageViewTiming;r.d(t,[\"T\",0,n])},6344(e,t,r){\"use strict\";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
1;r.d(t,[\"Qb\",0,{API:\"api\",RESUME:\"resume\",SWITCH_TO_FULL:\"switchToFull\",INITIALIZE:\"initialize\",PRELOAD:\"preload\"},\"TZ\",0,i,\"Vh\",0,\"errorDuringReplay\",\"_s\",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},\"bc\",0,{RESET:{message:\"Session was reset\",sm:\"Reset\"},IMPORT:{message:\"Recorder failed to import\",sm:\"Import\"},TOO_MANY:{message:\"429: Too Many Requests\",sm:\"Too-Many\"},TOO_BIG:{message:\"Payload was too large\",sm:\"Too-Big\"},CROSS_TAB:{message:\"Session Entity was set to OFF on another tab\",sm:\"Cross-Tab\"},ENTITLEMENTS:{message:\"Session Replay is not allowed and will not be started\",sm:\"Entitlement\"}},\"yP\",0,s])},5270(e,t,r){\"use strict\";r.d(t,{Aw:()=\u003ea,SR:()=\u003es,rF:()=\u003eo});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO\u0026\u0026(0,i.V)(e)\u0026\u0026!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload\u0026\u0026s(e)}function o(e,t){try{if(\"string\"==typeof t?.type\u0026\u0026\"password\"===t.type.toLowerCase())return\"*\".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains(\"nr-unmask\"))return e}catch(e){}return\"string\"==typeof e?e.replace(/[\\S]/g,\"*\"):\"*\".repeat(e?.length||0)}},3738(e,t,r){\"use strict\";const n=r(860).K7.sessionTrace,i=\"-start\",s=\"-end\",a=\"fn\"+i,o=\"fn\"+s;r.d(t,[\"He\",0,\"bstResource\",\"Kp\",0,s,\"Lc\",0,o,\"Rz\",0,\"pushState\",\"TZ\",0,n,\"bD\",0,\"resource\",\"bc\",0,{CROSS_TAB:{message:\"Session Entity was set to OFF on another tab\"},ENTITLEMENTS:{message:\"Session Trace is not allowed and will not be started\"},RESET:{message:\"Session was reset\"},SESSION_CHANGED:{message:\"Session identifier changed unexpectedly\"}},\"d3\",0,i,\"uP\",0,a])},3962(e,t,r){\"use strict\";const n=r(860).K7.softNav;r.d(t,[\"O2\",0,{INITIAL_PAGE_LOAD:\"\",ROUTE_CHANGE:1,UNSPECIFIED:2},\"OV\",0,\"popstate\",\"Qu\",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},\"TZ\",0,n,\"ih\",0,{IP:\"in progress\",PF:\"pending finish\",FIN:\"finished\",CAN:\"cancelled\"},\"pP\",0,\"initialPageLoad\",\"tC\",0,[\"click\",\"keydown\",\"submit\"]])},4234(e,t,r){\"use strict\";r.d(t,{W:()=\u003ei});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){\"use strict\";var n=r(6154);r.d(t,[\"V\",0,e=\u003en.RI\u0026\u0026!0===e?.privacy.cookies_enabled])},8362(e,t,r){\"use strict\";r.d(t,{d:()=\u003es});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){\"use strict\";r.d(t,{W:()=\u003es});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e(\"log\",e,t)}start(){return this.#e(\"start\")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){\"use strict\";r.d(t,[\"BL\",0,\"finished\",\"CH\",0,\"recordReplay\",\"Dl\",0,\"setUserId\",\"Fw\",0,\"setPageViewName\",\"PA\",0,\"setCurrentRouteName\",\"Pv\",0,\"consent\",\"Tb\",0,\"pauseReplay\",\"U2\",0,\"addToTrace\",\"V1\",0,\"measure\",\"Wb\",0,\"wrapLogger\",\"bt\",0,\"setErrorHandler\",\"cD\",0,\"setCustomAttribute\",\"dT\",0,\"interaction\",\"eY\",0,\"register\",\"fF\",0,\"recordCustomEvent\",\"hG\",0,\"addPageAction\",\"hw\",0,\"api-ixn-\",\"k6\",0,\"addRelease\",\"nb\",0,\"setApplicationVersion\",\"o5\",0,\"
1noticeError\"])},1738(e,t,r){\"use strict\";r.d(t,{U:()=\u003el,Y:()=\u003eu});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]\u0026\u0026u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,[\"API/\"+e+\"/called\"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:\"data\",name:\"api\",feature:\"api-\"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)\u0026\u0026(0,i.p)(\"api-\"+n,[(0,s.t)(),t,r],void 0,\"session\",e.ee)}},8374(e,t,r){r.nc=(()=\u003e{try{return document?.currentScript?.nonce}catch(e){}return\"\"})()},860(e,t,r){\"use strict\";const n=\"events\",i=\"jserrors\",s=\"browser/blobs\",a=\"browser/logs\",o={ajax:\"ajax\",genericEvents:\"generic_events\",jserrors:i,logging:\"logging\",metrics:\"metrics\",pageAction:\"page_action\",pageViewEvent:\"page_view_event\",pageViewTiming:\"page_view_timing\",sessionReplay:\"session_replay\",sessionTrace:\"session_trace\",softNav:\"soft_navigations\"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:\"rum\",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:\"ins\"};r.d(t,[\"$J\",0,d,\"K7\",0,o,\"P3\",0,c,\"XX\",0,i,\"Yy\",0,a,\"df\",0,s,\"hg\",0,\"connect\"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=\u003e{if(Array.isArray(t))for(var n=0;n\u003ct.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s\u0026\u0026n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)\u0026\u0026!r.o(e,i)\u0026\u0026Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=\u003ePromise.all(Object.keys(r.f).reduce((t,n)=\u003e(r.f[n](e,t),t),[])),r.u=e=\u003e({212:\"nr-spa-compressor\",238:\"nr-spa-iframe-message-handler\",249:\"nr-spa-recorder\",478:\"nr-spa\"}[e]+\"-1.323.0.min.js\"),r.o=(e,t)=\u003eObject.prototype.hasOwnProperty.call(e,t),(()=\u003e{const e={},t=\"NRBA-1.323.0.PROD:\";r.l=(n,i,s,a)=\u003e{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName(\"script\");for(var d=0;d\u003ce.length;d++){const r=e[d];if(r.getAttribute(\"src\")==n||r.getAttribute(\"data-webpack\")==t+s){o=r;break}}}if(!o){c=!0;var u={478:\"sha512-ORjtmy+nQMgxbu0os8+oTRa5sPzbinyuWSvpZrrstVLIaHofRRlfODdH+oUmkIgeQpM+vPf3vG/4RzvCsFVh1A==\",249:\"sha512-o7+K6xC0z3TqynjVxpd+jgiSgqy8rrPeRcUSqt5J0Rqg5Su5CycLMYfpwiM3WBCHiNDrG5aZoXJQ6HRc335XYQ==\",212:\"sha512-kRvBt1IYQDBnClTEWNaE8sDFqbXXM3Vdyf972Uf4MFbJxl7u3KmdO+jdB1H4achPEoT9YtNXHswaESey6sCH0A==\",238:\"sha512-U5EGmyYbFVR2UMNAuZJ7fTgVVtPa5b8RPMySDwXo7z3frRdkUJ2x1VAQTLQCeBab8VlGVGRV8FiSHIn/pwN72A==\"};o=document.createElement(\"script\"),o.charset=\"utf-8\",r.nc\u0026\u0026o.setAttribute(\"nonce\",r.nc),o.setAttribute(\"data-webpack\",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+\"/\")\u0026\u0026(o.crossOrigin=\"anonymous\"),u[a]\u0026\u0026(o.integrity=u[a])}e[n]=[i];const l=(t,r)=\u003e{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=\u003ee(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:\"timeout\",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c\u0026\u0026document.head.appendChild(o)}})(),r.r=e=\u003e{Symbol.toStringTag\u0026\u0026Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.p=\"https://js-agent.newrelic.com/\",(()=\u003e{const e={38:0,788:0};r.f.j=(t,n)=\u003e{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=\u003ei=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=\u003e{if(r.o(e,t)\u0026\u0026(i=e[t],0!==i\u0026\u0026(e[t]=void 0),i)){const e=n\u0026\u0026(\"load\"===n.type?\"missing\":n.type),r=n\u0026\u0026n.target\u0026\u0026n.target.src;o.message=\"Loading chunk \"+t+\" failed: (\"+e+\": \"+r+\")\",o.name=\"ChunkLoadError\",o.type=e,o.request=r,i[1](o)}};r.l(a,c,\"chunk-\"+t,t)}};const t=(t,n)=\u003e{let[i,s,a]=n;var o,c,d=0;if(i.some(t=\u003e0!==e[t])){for(o in s)r.o(s,o)\u0026\u0026(r.m[o]=s[o]);if(a)a(r)}for(t\u0026\u0026t(n);d\u003ci.length;d++)c=i[d],r.o(e,c)\u0026\u0026e[c]\u0026\u0026e[c][0](),e[c]=0},n=self[\"webpackChunk:NRBA-1.323.0.PROD\"]=self[\"webpackChunk:NRBA-1.323.0.PROD\"]||[];
1n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=\u003e{\"use strict\";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=\u003e{if(!e||\"string\"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h=\"[data-nr-mask]\",p=e=\u003e(0,f.a)(e,(()=\u003e{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:\"*\",block_selector:\"[data-nr-block]\",mask_input_options:{color:!1,date:!1,\"datetime-local\":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector=\"\".concat(t,\",\").concat(h):\"\"===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return\"nr-block\"},get ignore_class(){return\"nr-ignore\"},get mask_text_class(){return\"nr-mask\"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=\",\".concat(t):\"\"!==t\u0026\u0026(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t\u0026\u0026\"object\"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:[\"id\",\"className\",\"tagName\",\"type\"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:\"PROD\",distMethod:\"CDN\",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv\u0026\u0026(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=\u003e{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=\u003e(e[t]={value:y[t],writable:!1,
1configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{\"entity.guid\":this.id,appId:e.info.applicationID}}},v.proxy.assets\u0026\u0026(e=\u003e{const t=e.startsWith(\"http\");e+=\"/\",r.p=t?e:\"https://\"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,\"beacons\",{get:()=\u003e[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,\"denyList\",{get:()=\u003e[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=\u003e{const n=s.W.prototype[r];if(\"function\"!=typeof n||\"constructor\"===n)return;let i=t[r];e[r]\u0026\u0026!1!==e.exposed\u0026\u0026\"micro-agent\"!==e.runtime?.loaderType\u0026\u0026(t[r]=(...t)=\u003e{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:\"lifecycle\",name:\"initialize\",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge\u0026\u0026g.gm.addEventListener(\"message\",t=\u003e{\"string\"==typeof t.data?.type\u0026\u0026t.data.type.startsWith(x.Pl)\u0026\u0026(0,S.p)(\"iframe-message\",[t],void 0,\"IFRAME\",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=\u003e{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=\u003e{this.ee.on(\"manual-start-all\",(0,C.J)(()=\u003e{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=\u003e{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=\u003e{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit(\"internal-error\",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=\u003ee.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=\u003ee.onAggregateImported)).then(()=\u003ee.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=\u003ei(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)\u0026\u0026!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)\u0026\u0026(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){\"string\"
1==typeof e\u0026\u0026(\"/\"!==e.charAt(0)\u0026\u0026(e=\"/\"+e),t.runtime.customTransaction=(r||\"http://custom.transaction\")+e,(0,S.p)(\"api-\"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=\u003ee.init.feature_flags.includes(\"rum_v2\")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=\u003e{e\u0026\u0026(0,T.W)({timeStamp:e.timeStamp,loaded:\"complete\"===e.target.readyState,type:\"window\",name:t,data:e.target.location+\"\"})};(0,P.sB)(t=\u003e{e(t,\"DOMContentLoaded\")}),(0,P.GG)(t=\u003e{e(t,\"load\")}),(0,P.Qr)(t=\u003e{e(t,\"navigate\")}),this.ee.on(u.tS.UPDATE,(e,t)=\u003e{(0,T.W)({type:\"lifecycle\",name:\"session\",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||\"agent\"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if(\"string\"==typeof e){if([\"string\",\"number\",\"boolean\"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if(\"string\"!=typeof t\u0026\u0026null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes[\"enduser.id\"];r\u0026\u0026null!=n\u0026\u0026n!==t?(0,S.p)(\"api-setUserIdAndResetSession\",[t],void 0,\"session\",e.ee):(0,N.U)(e,\"enduser.id\",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if(\"string\"==typeof t||null===t)return(0,N.U)(e,\"application.version\",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)(\"start\",function(){e.ee.emit(\"manual-start-all\")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if(\"boolean\"==typeof t){if((0,S.p)(\"api-\"+k.Pv,[t],void 0,\"session\",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=\u003e{const r=t.featAggregate;e\u0026\u0026!r.sentRum\u0026\u0026r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=\u003e{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes(\"rum_v2\");r.sort((e,r)=\u003et.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=\u003e{if(!e[r.featureName]\u0026\u0026(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=\u003e!(e in this.features));n.length\u003e0\u0026\u0026(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI\u0026\u0026((0,V.u)(()=\u003e(0,S.p)(\"docHidden\",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=\u003e(0,S.p)(\"winPagehide\",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name=\"UncaughtError\",this.message=\"string\"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t=\"Unhandled Promise Rejection: \";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||\"\").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError\u0026\u0026!/:\\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error\u0026\u0026!!e.stack}
1function ie(e,r,n,i,s=(0,_.t)()){\"string\"==typeof e\u0026\u0026(e=new Error(e)),(0,S.p)(\"err\",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)(\"uaErr\",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)(\"api-\"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if(\"object\"!=typeof d.customAttributes||\"string\"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=\u003enull==e?t:\"number\"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration\u003c0))return(0,S.p)(\"api-\"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)(\"api-\"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=\u003ee?.nrMfeId===t.id\u0026\u0026(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=\u003e{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=\u003e{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=\u003e{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id=\"'.concat(he(e.id),'\"]')),n=(Array.from(r)||[]).find(t=\u003efe(t.dataset,e));let i=!!n;i\u0026\u0026(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=\u003e{r.forEach(r=\u003e{r.addedNodes.forEach(r=\u003e{const n=1===r.nodeType?r:null;!i\u0026\u0026fe(n?.dataset,e)\u0026\u0026(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=\u003e{try{return e?.textContent?.trim()||[\"img\",\"video\",\"canvas\",\"svg\"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)\u0026\u0026(i||pe(r,e))\u0026\u0026t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=\u003e{try{const n=new g.gm.PerformanceObserver(e=\u003e{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=\u003enull==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e\u003e1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=\u003e{}};if(!(e\u0026\u0026g.RI\u0026\u0026g.gm.MutationObserver\u0026\u0026g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=\u003e{r||a.disconnect()},1e4);const c=()=\u003e{if(!i){if(null==r){const e=(0,_.t)();if(s(e)\u003e1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=\u003e{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=\u003e{i||e.forEach(e=\u003e{try{const t=e.contentRect.width*e.contentRect.height;t\u003eu\u0026\u0026(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=\u003e{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t\u0026\u0026!f.has(t)\u0026\u0026(f.add(t),\"IMG\"===t.tagName?t.complete?l.observe(t):t.addEventListener(\"load\",()=\u003e{l.observe(t)},{once:!0}):\"VIDEO\"===t.tagName?t.readyState\u003e=2?l.observe(t):t.addEventListener(\"loadeddata\",()=\u003e{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l\u0026\u0026o.push(l),o.push(h),me(o,{type:\"layout-shift\",buffered:!0},t=\u003e{i||t.hadRecentInput||(t.sources||[]).some(r=\u003e!!pe(r.node,e)\u0026\u0026(c(),a.cls.value+=t.value,!0))}),me(o,{type:\"event\",buffered:!0,durationThreshold:40},t=\u003e{!i\u0026\u0026t.interactionId\u0026\u0026pe(t.target,e)\u0026\u0026(void 0===a.inp.value||t.duration\u003ea.inp.value)\u0026\u0026(c(),a.inp.value=t.duration)});
1const p=[\"pointerdown\",\"keydown\"],m=()=\u003e{p.forEach(e=\u003e{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=\u003e{i=!0,o.forEach(e=\u003e{try{e?.disconnect()}catch(e){}}),m(),[\"visibilitychange\",\"pagehide\"].forEach(e=\u003e{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=\u003e{pe(t?.target,e)\u0026\u0026((()=\u003e{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=\u003e{g.gm.addEventListener(e,v,{passive:!0})}),[\"visibilitychange\",\"pagehide\"].forEach(e=\u003e{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id=\"'.concat(he(e.id),'\"]'));return Array.from(y||[]).some(t=\u003efe(t.dataset,e))\u0026\u0026c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=[\"entry\",\"scripts\",\"all\"],Re=[\"name\",\"id\",\"type\"],Te=new Map([[ce,\"addPageAction\"],[oe,\"log\"],[de,\"measure\"],[ie,\"noticeError\"],[ue,\"recordCustomEvent\"]]),Ae={experimental:(0,C.J)(()=\u003e(0,l.R)(54,\"newrelic.register\")),disabled:(0,C.J)(()=\u003e(0,l.R)(55)),invalidTarget:(0,C.J)(e=\u003e(0,l.R)(48,e)),deregistered:(0,C.J)(()=\u003e(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=\u003e(0,l.R)(80,e)),duplicateName:(0,C.J)(e=\u003e(0,l.R)(81,e)),duplicateId:(0,C.J)(e=\u003e(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,(\"object\"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))\u0026\u0026(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invalidTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest\u0026\u0026(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(\"\"+location),a={};Object.prototype.hasOwnProperty.call(r,\"attributes\")||Object.defineProperty(r,\"attributes\",{get:()=\u003e({...a,\"source.id\":r.id,\"source.name\":r.name,\"source.type\":r.type,\"parent.type\":r.parent?.type||w.f.BA,\"parent.id\":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=\u003e{Re.includes(e)||(a[\"source.\".concat(e)]=t)});let o=()=\u003e{};const c=e.runtime.registeredEntities,d=e=\u003e{r.blocked=!0,o=e};function u(e){return\"string\"==typeof e\u0026\u0026!!e.trim()\u0026\u0026e.trim().length\u003c501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)\u0026\u0026u(r.name)||d(()=\u003eAe.invalidTarget(r)),c.forEach(e=\u003e{try{const{name:t,id:n}=e.metadata.target;t===r.name\u0026\u0026n!==r.id\u0026\u0026Ae.duplicateName(r),n===r.id\u0026\u0026t!==r.name\u0026\u0026Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=\u003em(ce,[t,{...a,...n},e],r),deregister:()=\u003e{p(),d(Ae.deregistered)},log:(t,n={})=\u003em(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=\u003em(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=\u003em(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=\u003em(ue,[t,{...a,...n},e],r),setApplicationVersion:e=\u003eg(\"application.version\",e),setCustomAttribute:(e,t)=\u003eg(e,t),setUserId:e=\u003eg(\"enduser.id\",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=\u003e(r.blocked\u0026\u0026o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(\"\"+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
1imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking\u0026\u0026{renderBlocking:n.renderBlocking},...i.fcp.value\u003e=0\u0026\u0026{\"vitals.fcp.value\":i.fcp.value},...i.lcp.value\u003e=0\u0026\u0026{\"vitals.lcp.value\":i.lcp.value},...i.cls.value\u003e=0\u0026\u0026{\"vitals.cls.value\":i.cls.value},...i.inp.value\u003e=0\u0026\u0026{\"vitals.inp.value\":i.inp.value}};f.recordCustomEvent(\"MicroFrontEndTiming\",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=\u003e{h()||(a[e]=t)},m=(r,n,i)=\u003e{if(h()\u0026\u0026r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||\"unknown\";(0,S.p)(q.xV,[\"API/register/\".concat(a,\"/called\")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=\u003eie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t\u003e10||(this.runtime.releaseIds[e.slice(-200)]=(\"\"+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on(\"internal-error\",(t,r)=\u003e{this.abortHandler\u0026\u0026(0,S.p)(\"ierr\",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener(\"unhandledrejection\",t=\u003e{this.abortHandler\u0026\u0026(0,S.p)(\"err\",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener(\"error\",t=\u003e{this.abortHandler\u0026\u0026(0,S.p)(\"err\",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||\"object\"!==t\u0026\u0026\"function\"!==t?-1:e===g.gm?0:(0,_e.I)(e,\"nr@id\",function(){return ke++})}function Le(e){if(\"string\"==typeof e)return e.length;if(\"object\"==typeof e){if(\"undefined\"!=typeof ArrayBuffer\u0026\u0026e instanceof ArrayBuffer\u0026\u0026e.byteLength)return e.byteLength;if(\"undefined\"!=typeof Blob\u0026\u0026e instanceof Blob\u0026\u0026e.size)return e.size;if(!(\"undefined\"!=typeof FormData\u0026\u0026e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=[\"open\",\"send\",\"setRequestHeader\"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get(\"xhr\")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d=\"readystatechange\",u=[\"onload\",\"onerror\",\"onabort\",\"onloadstart\",\"onloadend\",\"onprogress\",\"ontimeout\"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit(\"new-xhr\",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState\u003e3\u0026\u0026!o.resolved\u0026\u0026(o.resolved=!0,n.emit(\"xhr-resolved\",[],e)),i.inPlace(e,u,\"fn-\",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit(\"internal-error\",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,[\"onreadystatechange\"],\"fn-\",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,\"-xhr-\",E),n.on(\"send-xhr-start\",function(e,t){p(e,t),function(e){f.push(e),a\u0026\u0026(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on(\"open-xhr-start\",p),a){var m=o\u0026\u0026o.resolve();if(!c\u0026\u0026!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on(\"fn-end\",function(e){e[0]\u0026\u0026e[0].type===d||b()});function b(){for(var e=0;e\u003cf.length;e++)p(0,f[e]);f.length\u0026\u0026(f=[])}function E(e,t){return t}return n}var Be=\"fetch-\",He=Be+\"body-\",We=[\"arrayBuffer\",\"blob\",\"json\",\"text\",\"formData\"],Ue=g.gm.Request,Ke=g.gm.Response,Fe=\"prototype\";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get(\"fetch\")}(e);if(!(Ue\u0026\u0026Ke\u0026\u0026g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];\"function\"==typeof s\u0026\u0026(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+\"before-start\",[e],n),n[R.P]\u0026\u0026n[R.P].dt\u0026\u0026(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+\"start\",[e,o],c),c.then(function(e){return r.emit(i+\"end\",[null,e,a],c),e},function(e){throw r.emit(i+\"end\",[e,void 0,a],c),e})})}
1return Ve[r.debugId]=1,We.forEach(e=\u003e{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,\"fetch\",Be),r.on(Be+\"end\",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get(\"content-length\");null!==a\u0026\u0026(s.rxSize=a),r.emit(Be+\"done\",[null,n],s)}else r.emit(Be+\"done\",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||\"\").toString()||null,n=(t.agentID||\"\").toString()||null,i=(t.trustKey||\"\").toString()||null;if(!r||!n)return null;var s,a=(0,ye.ZF)(),o=(0,ye.el)(),c=Date.now();this.agentRef.runtime?.timeKeeper?.ready\u0026\u0026(s=Math.floor(this.agentRef.runtime.timeKeeper.correctAbsoluteTimestamp(c)));var d={spanId:a,traceId:o,timestamp:c,timestampCorrected:s};return(e.sameOrigin||this.isAllowedOrigin(e)\u0026\u0026this.useTraceContextHeadersForCors())\u0026\u0026(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,o),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,s??c,r,n,i)),(e.sameOrigin\u0026\u0026!this.excludeNewrelicHeader()||!e.sameOrigin\u0026\u0026this.isAllowedOrigin(e)\u0026\u0026this.useNewrelicHeaderForCors())\u0026\u0026(d.newrelicHeader=this.generateTraceHeader(a,o,s??c,r,n,i)),d}generateTraceContextParentHeader(e,t){return\"00-\"+t+\"-\"+e+\"-01\"}generateTraceContextStateHeader(e,t,r,n,i){return i+\"@nr=0-1-\"+r+\"-\"+n+\"-\"+e+\"----\"+t}generateTraceHeader(e,t,r,n,i,s){if(!(\"function\"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:\"Browser\",ac:n,ap:i,id:e,tr:t,ti:r}};return s\u0026\u0026n!==s\u0026\u0026(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled\u0026\u0026this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n\u003cr.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname\u0026\u0026e.protocol===i.protocol\u0026\u0026e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e\u0026\u0026!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e\u0026\u0026!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e\u0026\u0026!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return\"string\"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL\u0026\u0026e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+\":\"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=[\"load\",\"error\",\"abort\",\"timeout\"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt=\"X-NewRelic-App-Data\",rt=\"internal-error\";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=\u003e(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:\"xhr\",fetch:\"fetch\",beacon:\"beacon\"};g.gm?.performance?.getEntriesByType(\"resource\").forEach(r=\u003e{if(r.initiatorType in e\u0026\u00260!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler(\"xhr\",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener(\"load\",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener(\"progress\",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid\u0026\u0026this.sameOrigin\u0026\u0026r.setRequestHeader(\"X-NewRelic-ID\",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader\u0026\u0026(r.setRequestHeader(\"newrelic\",n.newrelicHeader),s=!0),n.traceContextParentHeader\u0026\u0026(r.setRequestHeader(\"traceparent\",n.traceContextParentHeader),n.traceContextStateHeader\u0026\u0026r.setRequestHeader(\"tracestate\",n.traceContextStateHeader),s=!0),s\u0026\u0026(this.dt=n)}}function u(e,t){s\u0026\u0026e.length\u003e=2\u0026\u0026(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n\u0026\u0026i){var a=Le(i);a\u0026\u0026(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{\"abort\"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),(\"load\"!==e.type||s.called===s.totalCbs\u0026\u0026(s.onloadCalled||\"function\"!=typeof t.onload)\u0026\u0026\"function\"==typeof s.end)\u0026\u0026s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o\u003cXe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled\u0026\u0026\"function\"==typeof r.onload||\"function\"!=typeof this.end||this.end(r)}function h(e,t){var r=\"\"+Ne(e)+!!t;this.xhrGuids\u0026\u0026!this.xhrGuids[r]\u0026\u0026(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=\"\"+Ne(e)+!!t;this.xhrGuids\u0026\u0026this.xhrGuids[r]\u0026\u0026(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et\u0026\u0026\"load\"===e[0]\u0026\u0026r.emit(\"xhr-load-added\",[e[1],e[2]],t)}function y(e,t){t instanceof et\u0026\u0026\"load\"===e[0]\u0026\u0026r.emit(\"xhr-load-removed\",[e[1],e[2]],t)}function b(e,t,r){t instanceof et\u0026\u0026(\"onload\"===r\u0026\u0026(this.onload=!0),(\"load\"===(e[0]\u0026\u0026e[0].type)||this.onload)\u0026\u0026(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart\u0026\u0026r.emit(\"xhr-cb-time\",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};
1if(\"string\"==typeof e[0]?0===(t=e[0]).length\u0026\u0026g.RI\u0026\u0026(t=\"\"+g.gm.location.href):e[0]\u0026\u0026e[0].url?t=e[0].url:g.gm?.URL\u0026\u0026e[0]\u0026\u0026e[0]instanceof URL?t=e[0].href:\"function\"==typeof e[0].toString\u0026\u0026(t=e[0].toString()),\"string\"==typeof t\u0026\u00260!==t.length){t\u0026\u0026(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n\u0026\u0026(n.newrelicHeader||n.traceContextParentHeader))if(e[0]\u0026\u0026e[0].headers)o(e[0].headers,n)\u0026\u0026(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)\u0026\u0026(this.dt=n),e.length\u003e1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader\u0026\u0026(e.set(\"newrelic\",t.newrelicHeader),r=!0),t.traceContextParentHeader\u0026\u0026(e.set(\"traceparent\",t.traceContextParentHeader),t.traceContextStateHeader\u0026\u0026e.set(\"tracestate\",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(\"\"+(r\u0026\u0026r instanceof Qe\u0026\u0026r.method||n.method||\"GET\")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s\u0026\u0026a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if(\"object\"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=\u003e{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,\"fetch\"];this.targets.forEach(e=\u003ex(n,this,e))};t\u0026\u0026s?t.clone().text().then(e=\u003e{this.responseBody=e,this.rxSize\u0026\u0026\"0\"!==this.rxSize\u0026\u00260!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers\u0026\u0026(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=\u003e{r.emit(rt,[e])}).finally(()=\u003e{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t\u003cXe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status\u0026\u0026(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)\u0026\u0026void 0!==this.responseBody\u0026\u00260!==t.status){const e=Le(this.responseBody);void 0!==e\u0026\u0026(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split(\"\\r\\n\").forEach(function(e){const r=e.indexOf(\": \");if(r\u003e0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,\"xhr\"];this.targets.forEach(e=\u003ex(i,this,e))}function x(e,r,i){n(\"xhr\",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return\"json\"===r\u0026\u0026null!==t?t:\"arraybuffer\"===r||\"blob\"===r||\"json\"===r?Le(e.response):\"text\"===r||\"\"===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i\u0026\u00260!==n.status\u0026\u0026(e.metrics.rxSize=i),e.sameOrigin\u0026\u0026n.getAllResponseHeaders().indexOf(tt)\u003e=0){var s=n.getResponseHeader(tt);s\u0026\u0026((0,S.p)(\"sm\",[\"Ajax/CrossApplicationTracing/Header/Seen\"],void 0,t.K7.metrics,r),e.params.cat=s.split(\", \").pop())}e.loadCaptureCalled=!0}r.on(\"new-xhr\",a),r.on(\"open-xhr-start\",o),r.on(\"open-xhr-end\",d),r.on(\"send-xhr-start\",l),r.on(\"setRequestHeader-xhr-start\",u),r.on(\"xhr-cb-time\",f),r.on(\"xhr-load-added\",h),r.on(\"xhr-load-removed\",p),r.on(\"xhr-resolved\",m),r.on(\"addEventListener-end\",v),r.on(\"removeEventListener-end\",y),r.on(\"fn-end\",E),r.on(\"fetch-before-start\",w),r.on(\"fetch-start\",R),r.on(\"fn-start\",b),r.on(\"fetch-done\",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,3845)))}}const it={},st=[\"pushState\",\"replaceState\"];function at(e,t){const r=function(e){return(e||R.ee).get(\"history\")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,\"-\")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n\u003c0\u0026\u0026(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:\"nr\"}),(0,S.p)(\"api-\"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e\u0026\u0026\"object\"==typeof e\u0026\u0026e.name\u0026\u0026e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||\"\",t:\"api\"};r.s\u003c0||r.e\u003c0||r.e\u003cr.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)(\"bstApi\",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
1if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)(\"bst\",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)(\"bstHist\",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=\u003e{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s=\"\".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)\u0026\u0026this.ee.on(k.CH,()=\u003ethis.#s()),this.#a(i)\u0026\u0026this.importRecorder().then(e=\u003e{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=\u003er.e(478).then(r.bind(r,6167)),this),this.ee.on(\"err\",e=\u003e{this.blocked||this.agentRef.runtime.isRecording\u0026\u0026(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e\u0026\u0026(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=\u003e(this.recorder=new e(this),this.recorder)).catch(e=\u003e{throw this.ee.emit(\"internal-error\",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL\u0026\u0026this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=\u003e{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get(\"tracer\");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get(\"object\"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o=\"function\"==typeof i;return(0,S.p)(q.xV,[\"API/createTracer/called\"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?\"\":\"no-\")+\"fn-start\",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t=\"string\"==typeof e?new Error(e):e;throw r.emit(\"fn-err\",[arguments,this,t],s),t}finally{r.emit(\"fn-end\",[(0,_.t)()],s)}}}};[\"actionText\",\"setName\",\"setAttribute\",\"save\",\"ignore\",\"onEnd\",\"getContext\",\"end\",\"get\"].forEach(r=\u003e{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+\"routeName\",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=\u003e{(0,J.sp)(e,e=\u003e{c(e)},!0,this.removeOnAbort?.signal)}
1);const s=()=\u003e(0,S.p)(\"newURL\",[(0,_.t)(),\"\"+window.location],void 0,this.featureName,this.ee);n.on(\"pushState-end\",s),n.on(\"replaceState-end\",s),(0,J.sp)(wt.OV,e=\u003e{c(e),(0,S.p)(\"newURL\",[e.timeStamp,\"\"+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=\u003e{a||(a=!0,requestAnimationFrame(()=\u003e{(0,S.p)(\"newDom\",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=\u003e{\"loading\"!==document.readyState\u0026\u0026((0,S.p)(\"newUIEvent\",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return\"string\"==typeof e?{type:\"string\",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:\"ArrayBuffer\",size:e.byteLength}:e instanceof Blob?{type:\"Blob\",size:e.size}:e instanceof DataView?{type:\"DataView\",size:e.byteLength}:ArrayBuffer.isView(e)?{type:\"TypedArray\",size:e.byteLength}:{type:\"unknown\",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(\",\"):t||\"\",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason=\"unknown\",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes(\"websockets\")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes(\"no_spv\"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=\u003ece(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=\u003eue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=\u003ede(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=\u003e{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get(\"websockets\");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=\u003e{const e=(0,_.t)();St.forEach(t=\u003e{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason=\"Page navigating away\",t.nrData.closeWasClean=!1,t.nrData.openedAt\u0026\u0026(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit(\"ws\",[t.nrData,t.targets],t)})});
1class n extends WebSocket{static name=Tt.R.WS;static toString(){return\"function WebSocket() { [native code] }\"}toString(){return\"[object WebSocket]\"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener(\"open\",()=\u003e{this.nrData.openedAt=(0,_.t)(),[\"protocol\",\"extensions\",\"binaryType\"].forEach(e=\u003e{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener(\"message\",e=\u003e{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??\"\").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?\"\".concat(this.nrData.messageTypes,\",\").concat(t):t)}),this.addEventListener(\"close\",e=\u003e{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason\u0026\u0026(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit(\"ws\",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i=\"function\"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??\"\").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?\"\".concat(this.nrData.sendTypes,\",\").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on(\"ws\",(e,t)=\u003e{(0,S.p)(\"ws-complete\",[e,t],void 0,this.featureName,this.ee)})}if(s){if(\"function\"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=\u003e{e.forEach(e=\u003e{(0,S.p)(\"spv\",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:[\"csp-violation\"],buffered:!0});l.observe()}g.gm.addEventListener(\"securitypolicyviolation\",e=\u003e{(0,S.p)(\"spv\",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+\":\"+r.port)}function h(){d.emit(\"navChange\")}o.Zp.forEach(e=\u003e(0,J.sp)(e,e=\u003e(0,S.p)(\"ua\",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
1h(e=\u003e{const t=(0,C.s)(e=\u003e{(0,S.p)(\"ua\",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener(\"error\",()=\u003e{(0,S.p)(\"uaErr\",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on(\"open-xhr-start\",(e,r)=\u003e{f(e[1])||r.addEventListener(\"readystatechange\",()=\u003e{2===r.readyState\u0026\u0026(0,S.p)(\"uaXhr\",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on(\"fetch-start\",e=\u003e{e.length\u003e=1\u0026\u0026!f(Ze(e[0]))\u0026\u0026(0,S.p)(\"uaXhr\",[],void 0,t.K7.genericEvents,this.ee)}),d.on(\"pushState-end\",h),d.on(\"replaceState-end\",h),window.addEventListener(\"hashchange\",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener(\"popstate\",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled\u0026\u0026g.gm.PerformanceObserver?.supportedEntryTypes.includes(\"resource\")){new PerformanceObserver(e=\u003e{e.getEntries().forEach(e=\u003e{(0,S.p)(\"browserPerformance.resource\",[e],void 0,this.featureName,this.ee)})}).observe({type:\"resource\",buffered:!0})}}a.some(e=\u003ee)?this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:\"reporting\"===t.disposition?\"report\":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if(\"object\"!=typeof t||!t||\"string\"!=typeof r||!r||\"function\"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get(\"logger\")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],\"wrap-logger-\",()=\u003eLt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)(\"log\",(e,r)=\u003eoe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=\u003e{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;[\"log\",\"error\",\"warn\",\"info\",\"debug\",\"trace\"].forEach(t=\u003e{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:\"log\"===t?\"info\":t},void 0,e)}),this.ee.on(\"wrap-logger-end\",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=\u003e{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:\"spa\"})})()})();","id":"nr-browser-agent"}])</script>
1<script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script>
1</head><body class="urbanist_75951769-module__e4Avoa__className antialiased"><div hidden=""><!--$--><!--/$--></div><div class="w-full min-h-screen bg-solid-dark-soul overflow-x-clip"><div class="w-full min-h-screen bg-gradient-landing bg-scroll bg-center bg-no-repeat" style="background-size:100% 485vh;background-position:center top"><div class="sticky top-0 z-50 bg-transparent"><div class="max-w-[1312px] mx-auto px-5 md:px-8 navbar-container pt-8"><div class="w-full sticky top-0 px-8 py-4 bg-white flex flex-col items-center rounded-4xl shadow-nav z-50"><div class="w-full items-center" style="display:grid;grid-template-columns:37% 1fr"><div><a href="/"><img alt="Pinpo logo" loading="lazy" width="123" height="33" decoding="async" data-nimg="1" style="color:transparent;height:auto" srcSet="/_next/image?url=%2Fimages%2Flogo%2Fpinpo-ai-colored.png&w=128&q=75 1x, /_next/image?url=%2Fimages%2Flogo%2Fpinpo-ai-colored.png&w=256&q=75 2x" src="/_next/image?url=%2Fimages%2Flogo%2Fpinpo-ai-colored.png&w=256&q=75"/></a></div><div class="flex items-center gap-4"><div class="hidden lg:flex justify-between items-center gap-4 xl:gap-28 flex-1"><div class="hidden lg:flex justify-start items-center gap-3 xl:gap-6"><a class="text-sm text-solid-minsk hover:font-medium" href="/integrations">Integrations</a><a class="text-sm text-solid-minsk hover:font-medium" href="/pricing">Pricing</a><a class="text-sm text-solid-minsk font-bold pointer-events-none" href="/security">Security</a><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="relative z-10 flex max-w-max flex-1 items-center justify-center"><div style="position:relative"><ul data-orientation="horizontal" class="group flex flex-1 list-none items-center justify-center space-x-1" dir="ltr"><li><button id="radix-_R_25ipftb_-trigger-radix-_R_e5ipftb_" data-state="closed" aria-expanded="false" class="group inline-flex h-10 w-max items-center justify-center rounded-3xl bg-background text-sm font-medium text-solid-minsk font-normal hover:font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50 group" data-radix-collection-item="">Ressources<!-- --> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" width="1em" height="1em" class="inline-flex items-center justify-center transition-colors duration-150 group-hover:fill-current group-hover:bg-accent group-hover:text-accent-foreground relative top-[1px] ml-1 h-3 w-3 transition-transform duration-200 group-data-[state=open]:rotate-180" fill="currentColor" stroke="currentColor" aria-hidden="true"><path d="M480-380 276-584l20-20 184 184 184-184 20 20z"></path></svg></button></li></ul></div><div class="absolute right-0 top-full flex justify-center"></div></nav></div><div class="hidden lg:flex justify-start items-center gap-4"><a class="text-sm text-solid-minsk hover:font-medium" href="/signin">Log in</a><a href="/ask-demo"><button data-slot="button" class="group inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-2xl text-sm transition-all disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-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 cursor-pointer border bg-background border-solid-minsk text-solid-minsk hover:bg-minsk-50 dark:bg-input/30 dark:border-input dark:hover:bg-input/50 disabled:text-gray-400 disabled:border-gray-400 disabled:shadow-none disabled:bg-transparent h-9 px-4 py-[5px] has-[>svg]:px-3">Demo</button></a><a href="/signup"><button data-slot="button" class="group inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm transition-all disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-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 cursor-pointer bg-solid-minsk text-white hover:bg-solid-dark-soul rounded-2xl hover:shadow-button disabled:bg-gray-400 disabled:shadow-none h-9 px-4 py-[5px] has-[>svg]:px-3">Free trial</button></a></div></div><div class="ml-auto"><div class="lg:hidden"><button>
1<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" width="1em" height="1em" class="inline-flex items-center justify-center transition-colors duration-150 group-hover:fill-current group-hover:bg-accent group-hover:text-accent-foreground w-10 h-10 text-solid-minsk" fill="currentColor" stroke="currentColor"><path d="M 172 -278 v -28 h 616 v 28 H 172 Z m 0 -188 v -28 h 616 v 28 H 172 Z m 0 -188 v -28 h 616 v 28 H 172 Z"></path></svg></button></div></div></div></div></div></div></div><main class="w-full flex flex-col"><section class="w-full"><div class="flex flex-col items-center content-center gap-14 md:gap-18 w-full max-w-[1312px] mx-auto py-14 lg:py-30 px-5 md:px-8 navbar-container"><div class="flex flex-col items-center content-center text-center gap-8"><h1 class="text-[39px] md:text-5xl font-normal text-white leading-[46px] md:leading-[56px]">Designed for the most demanding environments</h1><p class="text-xl text-white font-light leading-[24px] whitespace-pre-line">Data security and privacy are at the heart of Pinpo. 2We protect them at every step, so you can focus on what matters most: your business.</p></div><div class="flex flex-col items-center content-center gap-6 px-14 py-4 rounded-2xl border border-white/30 bg-gradient-operating-block shadow-operating-block backdrop-blur-operating"><span class="text-white text-center text-xl font-light">Certified and compliant</span><div class="flex items-center" style="min-width:151px;justify-content:space-between"><img src="/images/landing/shared/footer/gdpr_compliant.svg" width="45" height="60" sizes="45px" style="width:100%;max-width:45px;height:auto" alt="GDPR Compliant"/><img src="/images/landing/shared/footer/aicpa_soc2.svg" width="50" height="50" sizes="50px" style="width:100%;max-width:50px;height:auto" alt="AICPA SOC 2"/></div></div></div></section><section class="w-full bg-white"><div class="flex flex-col items-center justify-center py-10 md:py-18 gap-2 min-h-[107px] overflow-hidden w-full"><div class="flex items-center animate-scroll w-max will-change-transform [backface-visibility:hidden]"><img src="/images/landing/shared/client-logo-scroll/nexity.svg" alt="nexity logo" width="111" height="20" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/nexa.svg" alt="nexa logo" width="67" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/bouygues-telecom.svg" alt="bouygues telecom logo" width="97" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/efs.svg" alt="efs logo" width="35" height="35" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/laforet.svg" alt="laforet logo" width="35" height="35" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/cai.svg" alt="cai logo" width="135" height="20" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/acadomia.svg" alt="acadomia logo" width="122" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/medicis.svg" alt="medicis logo" width="84" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/abrisud.svg" alt="abrisud logo" width="58" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/akena.svg" alt="akena logo" width="42" height="35" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/bienici.svg" alt="bienici logo" width="95" height="20" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/ynov.svg" alt="ynov logo" width="73" height="29" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/icade.svg" alt="icade logo" width="89" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/pichet.svg" alt="pichet logo" width="163" height="22" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/pap.svg" alt="pap logo" width="121" height="25" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/letudiant.svg" alt="letudiant logo" width="156" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/nexity.svg" alt="nexity logo" width="111" height="20" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/nexa.svg" alt="nexa logo" width="67" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/bouygues-telecom.svg" alt="bouygues telecom logo" width="97" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/efs.svg" alt="efs logo" width="35" height="35" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/laforet.svg" alt="laforet logo" width="35" height="35" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/cai.svg" alt="cai logo" width="135" height="20" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/acadomia.svg" alt="acadomia logo" width="122" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/medicis.svg" alt="medicis logo" width="84" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/abrisud.svg" alt="abrisud logo" width="58" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/akena.svg" alt="akena logo" width="42" height="35" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/bienici.svg" alt="bienici logo" width="95" height="20" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/ynov.svg" alt="ynov logo" width="73" height="29" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/icade.svg" alt="icade logo" width="89" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/pichet.svg" alt="pichet logo" width="163" height="22" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/pap.svg" alt="pap logo" width="121" height="25" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/letudiant.svg" alt="letudiant logo" width="156" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/nexity.svg" alt="nexity logo" width="111" height="20" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/nexa.svg" alt="nexa logo" width="67" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/bouygues-telecom.svg" alt="bouygues telecom logo" width="97" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/efs.svg" alt="efs logo" width="35" height="35" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/laforet.svg" alt="laforet logo" width="35" height="35" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/cai.svg" alt="cai logo" width="135" height="20" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/acadomia.svg" alt="acadomia logo" width="122" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/medicis.svg" alt="medicis logo" width="84" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/abrisud.svg" alt="abrisud logo" width="58" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/akena.svg" alt="akena logo" width="42" height="35" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/bienici.svg" alt="bienici logo" width="95" height="20" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/ynov.svg" alt="ynov logo" width="73" height="29" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/icade.svg" alt="icade logo" width="89" height="30" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/pichet.svg" alt="pichet logo" width="163" height="22" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/pap.svg" alt="pap logo" width="121" height="25" class="flex-shrink-0 mr-20"/><img src="/images/landing/shared/client-logo-scroll/letudiant.svg" alt="letudiant logo" width="156" height="30" class="flex-shrink-0 mr-20"/></div></div></section><section class="w-full bg-gray-75"><div class="flex flex-col items-center content-center gap-14 w-full max-w-[1312px] mx-auto py-14 lg:py-24 px-5 md:px-8 navbar-container"><div class="flex flex-col w-full gap-14"><div class="flex flex-col w-full items-start gap-10"><span class="text-dark-soul text-4xl font-medium">Data Sovereignty</span><div class="flex flex-col w-full items-start gap-4"><div class="flex flex-col lg:flex-row w-full items-center content-center gap-24 rounded-2xl border border-gray-300 bg-white p-6"><div class="flex flex-col items-start gap-6"><span class="text-dark-soul text-3xl font-medium">Data hosted in the European Union</span><span class="text-secondary text-base font-normal whitespace-pre-line">
2Pinpo is hosted in France at Scaleway, on an infrastructure certified ISO 27001 and compliant with European regulations. 3Your data remains located in the chosen region and is never transferred without your agreement. We guarantee full transparency on our infrastructure and subcontractors, to give you complete control over the location and processing of your data.</span></div><img src="/images/landing/security/showcase-1.svg" alt="Data Sovereignty" class="rounded-2xl items-center content-center"/></div><div class="flex flex-col md:flex-row items-stretch gap-6"><div class="flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6"><span class="text-dark-soul text-2xl font-medium">Data privacy</span><span class="text-secondary text-base font-normal whitespace-pre-line">Prompts and workspace data are never used to train our models. Our AI subcontractors are bound by strict contractual obligations limiting the use and retention of client data. Your data belongs to you and remains under your control.</span></div><div class="flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6"><span class="text-dark-soul text-2xl font-medium">GDPR compliance & data processing</span><span class="text-secondary text-base font-normal whitespace-pre-line">A Data Processing Agreement (DPA) is systematically concluded with each client. We ensure complete transparency on the treatments carried out on your behalf and on our subcontractors, selected according to strict criteria. Any incident is reported in accordance with regulatory requirements.</span></div></div></div></div></div><div class="flex flex-col w-full gap-14"><div class="flex flex-col w-full py-2 items-start gap-2"><div class="w-full h-1 flex items-center"><svg width="100%" height="1" style="display:block"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-dark-soul-300)" stroke-dasharray="5 4" stroke-width="1"></line></svg></div></div><div class="flex flex-col w-full items-start gap-10"><span class="text-dark-soul text-4xl font-medium">Access & Control</span><div class="flex flex-col w-full items-start gap-4"><div class="flex flex-col lg:flex-row w-full items-center content-center gap-24 rounded-2xl border border-gray-300 bg-white p-6"><div class="flex flex-col items-start gap-6"><span class="text-dark-soul text-3xl font-medium">Enhanced authentication and granular access control</span><span class="text-secondary text-base font-normal whitespace-pre-line">Multi-factor authentication (MFA) is enabled by default for all users. Access is managed granularly by role and systematically verified server-side. Sessions are secured with configurable expiration rules. 4Inactive accounts are automatically deactivated or deleted according to defined policies.</span></div><img src="/images/landing/security/showcase-2.svg" alt="Enhanced authentication" class="rounded-2xl items-center content-center"/></div><div class="flex flex-col md:flex-row items-stretch gap-6"><div class="flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6"><span class="text-dark-soul text-2xl font-medium">Isolation by design</span><span class="text-secondary text-base font-normal whitespace-pre-line">Each workspace and project is logically isolated. 5Client data is strictly compartmentalized and inaccessible between accounts. 6Environments are clearly separated and verified before any production release.</span></div><div class="flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6"><span class="text-dark-soul text-2xl font-medium">Complete traceability of all actions</span><span class="text-secondary text-base font-normal whitespace-pre-line">Every connection, modification and export is recorded in timestamped and non-modifiable audit logs. Administrators access the complete history of actions by user, agent or organization.</span></div></div></div></div></div><div class="flex flex-col w-full gap-14"><div class="flex flex-col w-full py-2 items-start gap-2"><div class="w-full h-1 flex items-center"><svg width="100%" height="1" style="display:block"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-dark-soul-300)" stroke-dasharray="5 4" stroke-width="1"></line></svg></div></div><div class="flex flex-col w-full items-start gap-10"><span class="text-dark-soul text-4xl font-medium">Compliance & AI Governance</span><div class="flex flex-col w-full items-start gap-4"><div class="flex flex-col lg:flex-row w-full items-center content-center gap-24 rounded-2xl border border-gray-300 bg-white p-6"><div class="flex flex-col items-start gap-6"><span class="text-dark-soul text-3xl font-medium">A supervised, transparent AI under your control</span><span class="text-secondary text-base font-normal whitespace-pre-line">
6Compliant with the AI Act, the Pinpo system is neither prohibited (article 5) nor classified as « high risk » (Title III), and falls under a low-risk level. 7AI agents operate within a strictly defined framework, with human supervision at all times. A compliance audit is available upon request for Enterprise clients.</span></div><img src="/images/landing/security/showcase-3.svg" alt="Compliance & AI Governance" class="rounded-2xl items-center content-center"/></div><div class="flex flex-col md:flex-row items-stretch gap-6"><div class="flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6"><span class="text-dark-soul text-2xl font-medium">Strict control of AI agent actions</span><span class="text-secondary text-base font-normal whitespace-pre-line">AI agents intervene only within the perimeter you have defined. No action outside the framework nor escalation without explicit validation. 8You keep total control and can intervene or suspend an agent at any time.</span></div><div class="flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6"><span class="text-dark-soul text-2xl font-medium">Consent management and anonymization</span><span class="text-secondary text-base font-normal whitespace-pre-line">Any request to opt out (e.g. âSTOPâ) will result in conversations being stopped immediately and your status being updated in your CRM. 9Rules for anonymising personal data can be configured at organisation-wide level, in line with your regulatory requirements.</span></div></div></div></div></div><div class="flex flex-col w-full gap-14"><div class="flex flex-col w-full py-2 items-start gap-2"><div class="w-full h-1 flex items-center"><svg width="100%" height="1" style="display:block"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-dark-soul-300)" stroke-dasharray="5 4" stroke-width="1"></line></svg></div></div><div class="flex flex-col w-full items-start gap-10"><span class="text-dark-soul text-4xl font-medium">Continuous Monitoring</span><div class="flex flex-col w-full items-start gap-4"><div class="flex flex-col lg:flex-row w-full items-center content-center gap-24 rounded-2xl border border-gray-300 bg-white p-6"><div class="flex flex-col items-start gap-6"><span class="text-dark-soul text-3xl font-medium">Continuous monitoring and abuse detection</span><span class="text-secondary text-base font-normal whitespace-pre-line">The platform is continuously monitored to identify abnormal usage, abusive or any compromise attempts. 10Automated mechanisms apply rate limits (rate limiting) and detect suspicious behaviors across all users and environments. 11Risky activities are analyzed by our dedicated security and compliance teams.</span></div><img src="/images/landing/security/showcase-4.svg" alt="Continuous Monitoring" class="rounded-2xl items-center content-center"/></div><div class="flex flex-col md:flex-row items-stretch gap-6"><div class="flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6"><span class="text-dark-soul text-2xl font-medium">Automated security analysis</span><span class="text-secondary text-base font-normal whitespace-pre-line">The generated code, dependencies and configurations are updated regularly to eliminate any risks. 12Independent security audits and regular assessments further strengthen our controls over time.</span></div><div class="flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6"><span class="text-dark-soul text-2xl font-medium">Secured infrastructure</span><span class="text-secondary text-base font-normal whitespace-pre-line">Pinpo's infrastructure is built on advanced security standards: data encryption, adaptive rate limiting and network segmentation. All exchanges are secured via HTTPS (TLS 1.3), critical accesses are strictly controlled, and all activities are continuously monitored to detect and prevent any anomaly.</span></div></div></div></div></div></div></section><section class="w-full bg-white"><div class="flex items-center justify-center bg-white w-full max-w-[1312px] mx-auto py-18 px-5 md:px-8 navbar-container"><div class="rounded-2xl p-6 border-[1px] border-gray-75 shadow-card relative flex flex-col w-full content-center items-center gap-10 px-6 py-18 bg-gradient-landing2"><img src="/images/landing/shared/cta-block/cta-block-pattern-top-right.svg" alt="cta-block-pattern-top-right" width="180" height="180" class="hidden xl:block absolute right-0 top-0"/><img src="/images/landing/shared/cta-block/cta-block-pattern-bottom-left.svg" alt="cta-block-pattern-bottom-left" width="250" height="250" class="hidden xl:block absolute left-0 bottom-0"/><img src="/images/landing/shared/cta-block/cta-block-pattern-top-right.svg" alt="cta-block-pattern-top-right" width="120" height="122" class="block xl:hidden absolute right-0 top-0"/><img src="/images/landing/shared/cta-block/cta-block-pattern-bottom-left.svg" alt="cta-block-pattern-bottom-left" width="140" height="142" class="block xl:hidden absolute left-0 bottom-0"/><div class="w-full flex flex-col items-center gap-6"><p class="text-[31px] md:text-[39px] font-medium leading-[38px] md:leading-[46px] text-center text-white">Ready to welcome your new team of AI agents?</p><p class="text-[20px] font-normal leading-[24px] text-center text-white">Join the leaders who are automating their growth</p></div><a href="/ask-demo"><button data-slot="button" class="group inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-2xl text-sm transition-all disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg:not([class*='
12size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-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 cursor-pointer border bg-transparent border-white text-white hover:bg-[#ffffff2b] h-9 px-4 py-[5px] has-[>svg]:px-3">Book a demo</button></a></div></div></section><!--$--><!--/$--></main></div><div class="w-full min-h-[401px] max-w-[1312px] mx-auto py-18 px-5 md:px-8 navbar-container flex flex-col gap-6"><div class="flex flex-col gap-5 md:gap-0 md:flex-row justify-between"><div class="flex flex-col gap-6 max-w-[80%] md:max-w-[50%]"><div class="flex flex-col gap-4"><img src="/images/logo/pinpo-ai_white.svg" width="94" height="25" sizes="94px" style="width:100%;max-width:94px;height:auto" alt="Pinpo logo"/><p class="text-sm text-white font-light">Pinpo helps teams transform every conversation into measurable performance â to engage faster, qualify better and convert sustainably.</p></div><div class="flex items-center gap-6"><img src="/images/landing/shared/footer/gdpr_compliant.svg" width="45" height="60" sizes="45px" style="width:100%;max-width:45px;height:auto" alt="GDPR Compliant"/><img src="/images/landing/shared/footer/aicpa_soc2.svg" width="50" height="50" sizes="50px" style="width:100%;max-width:50px;height:auto" alt="AICPA SOC 2"/></div><div class="flex items-start gap-4 p-2"><button class="flex cursor-pointer items-center text-sm hover:font-bold text-white"><span>Français</span></button><button class="flex cursor-pointer items-center text-sm hover:font-bold text-secondary cursor-not-allowed pointer-events-none" disabled=""><span>English</span></button></div></div><div class="flex items-start gap-[100px]"><div class="flex flex-col items-start gap-4"><p class="text-sm text-white font-bold">Product</p><a href="/"><p class="text-sm font-normal text-white">Why Pinpo</p></a><a href="/integrations"><p class="text-sm font-normal text-white">Integrations</p></a><a href="/pricing"><p class="text-sm font-normal text-white">Pricing</p></a><a href="/security"><p class="text-sm font-normal text-white">Security</p></a></div><div class="flex flex-col items-start gap-4"><p class="text-sm text-white font-bold">Resources</p><a href="https://www.help.pinpo.ai/fr"><p class="text-sm font-normal text-white">Documentation</p></a><a href="https://api.pinpo.com/api"><p class="text-sm font-normal text-white">API</p></a><a href="https://www.help.pinpo.ai/fr"><p class="text-sm font-normal text-white">Helpdesk</p></a></div><div class="hidden md:flex flex-col items-start gap-4"><p class="text-sm text-white font-bold"> <!-- -->Company</p>
12<a href="https://www.welcometothejungle.com/fr/companies/pinpo/jobs"><p class="text-sm font-normal text-white">Recruitment</p></a><a href="/ask-demo"><p class="text-sm font-normal text-white">Contact</p></a></div></div></div><div class="flex flex-col gap-2 md:gap-0 md:flex-row justify-between pt-8 border-t border-solid border-[rgba(255_255_255/0.3)]"><div><p class="text-sm font-normal text-white">© 2026 Pinpo. All rights reserved.</p></div><div class="flex items-center gap-14"><a href="/legal-notices"><p class="text-sm font-normal text-white underline">Legal notice</p></a><a href="/terms-of-service"><p class="text-sm font-normal text-white underline">Terms of use</p></a></div></div></div></div>
12<script src="/_next/static/chunks/15n50a9j53ish.js" id="_R_" async=""></script>
12<script>(self.__next_f=self.__next_f||[]).push([0])</script>
12<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[685424,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\",\"/_next/static/chunks/1wx250emb4xiv.js\",\"/_next/static/chunks/383fbap92kbwn.js\",\"/_next/static/chunks/1piubskebzqkn.js\",\"/_next/static/chunks/2581pizx2_x-m.js\",\"/_next/static/chunks/0rt5anpxssa_u.js\",\"/_next/static/chunks/23pmsrkea80hb.js\"],\"default\"]\n4:I[883643,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\"],\"default\"]\n5:I[274001,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\"],\"default\"]\n7:I[604288,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\",\"/_next/static/chunks/1wx250emb4xiv.js\",\"/_next/static/chunks/383fbap92kbwn.js\",\"/_next/static/chunks/1piubskebzqkn.js\",\"/_next/static/chunks/2581pizx2_x-m.js\",\"/_next/static/chunks/0rt5anpxssa_u.js\",\"/_next/static/chunks/23pmsrkea80hb.js\"],\"\"]\n37:I[344302,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0yp-4issojtp-.css\",\"style\"]\n:HL[\"/_next/static/media/5c8bbc89ca099f34-s.p.2qijkc4_gtkq0.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/images/landing/shared/client-logo-scroll/nexity.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/nexa.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/bouygues-telecom.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/efs.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/laforet.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/cai.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/acadomia.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/medicis.svg\",\"image\"]\n35:X\n0:{\"P\":null,\"c\":[\"\",\"security\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(landing)\",{\"children\":[\"security\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4096]},\"$undefined\",\"$undefined\",4096]},\"$undefined\",\"$undefined\",4096]},\"$undefined\",\"$undefined\",4112],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0yp-4issojtp-.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3un94oci5j8ip.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/1zt7viddtwj87.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/1hy89eddmuwbx.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/chunks/04a36i6s48ix2.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/_next/static/chunks/3o3mk_9650n8z.js\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/1wx250emb4xiv.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/383fbap92kbwn.js\",\"async\":true,\"nonce\":\"$undefined\"}
12],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/1piubskebzqkn.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/2581pizx2_x-m.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/0rt5anpxssa_u.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/chunks/23pmsrkea80hb.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"div\",null,{\"className\":\"w-full min-h-screen bg-solid-dark-soul overflow-x-clip\",\"children\":[[\"$\",\"$L3\",null,{\"children\":[\"$\",\"main\",null,{\"className\":\"w-full flex flex-col\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$L6\",[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[[\"$\",\"$L7\",null,{\"src\":\"https://www.googletagmanager.com/gtag/js?id=G-1LF7XY0CMR\",\"strategy\":\"afterInteractive\"}],[\"$\",\"$L7\",null,{\"id\":\"google-analytics\",\"strategy\":\"afterInteractive\",\"children\":\"\\n window.dataLayer = window.dataLayer || [];\\n function gtag(){dataLayer.push(arguments);}\\n gtag('js', new Date());\\n gtag('config', 'G-1LF7XY0CMR');\\n \"}]],\"$L8\"]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"section\",null,{\"className\":\"w-full\",\"children\":\"$L9\"}],[\"$\",\"section\",null,{\"className\":\"w-full bg-white\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center justify-center py-10 md:py-18 gap-2 min-h-[107px] overflow-hidden w-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex items-center animate-scroll w-max will-change-transform [backface-visibility:hidden]\",\"children\":[[[\"$\",\"img\",\"logo-1-0\",{\"src\":\"/images/landing/shared/client-logo-scroll/nexity.svg\",\"alt\":\"nexity logo\",\"width\":111,\"height\":20,\"className\":\"flex-shrink-0 mr-20\"}],[\"$\",\"img\",\"logo-1-1\",{\"src\":\"/images/landing/shared/client-logo-scroll/nexa.svg\",\"alt\":\"nexa logo\",\"width\":67,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}],[\"$\",\"img\",\"logo-1-2\",{\"src\":\"/images/landing/shared/client-logo-scroll/bouygues-telecom.svg\",\"alt\":\"bouygues telecom logo\",\"width\":97,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}],[\"$\",\"img\",\"logo-1-3\",{\"src\":\"/images/landing/shared/client-logo-scroll/efs.svg\",\"alt\":\"efs logo\",\"width\":35,\"height\":35,\"className\":\"flex-shrink-0 mr-20\"}],[\"$\",\"img\",\"logo-1-4\",{\"src\":\"/images/landing/shared/client-logo-scroll/laforet.svg\",\"alt\":\"laforet logo\",\"width\":35,\"height\":35,\"className\":\"flex-shrink-0 mr-20\"}],[\"$\",\"img\",\"logo-1-5\",{\"src\":\"/images/landing/shared/client-logo-scroll/cai.svg\",\"alt\":\"cai logo\",\"width\":135,\"height\":20,\"className\":\"flex-shrink-0 mr-20\"}],[\"$\",\"img\",\"logo-1-6\",{\"src\":\"/images/landing/shared/client-logo-scroll/acadomia.svg\",\"alt\":\"acadomia logo\",\"width\":122,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}],[\"$\",\"img\",\"logo-1-7\",{\"src\":\"/images/landing/shared/client-logo-scroll/medicis.svg\",\"alt\":\"medicis logo\",\"width\":84,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}],\"$La\",\"$Lb\",\"$Lc\",\"$Ld\",\"$Le\",\"$Lf\",\"$L10\",\"$L11\"],[\"$L12\",\"$L13\",\"$L14\",\"$L15\",\"$L16\",\"$L17\",\"$L18\",\"$L19\",\"$L1a\",\"$L1b\",\"$L1c\",\"$L1d\",\"$L1e\",\"$L1f\",\"$L20\",\"$L21\"],[\"$L22\",\"$L23\",\"$L24\",\"$L25\",\"$L26\",\"$L27\",\"$L28\",\"$L29\",\"$L2a\",\"$L2b\",\"$L2c\",\"$L2d\",\"$L2e\",\"$L2f\",\"$L30\",\"$L31\"]]}]}]}],\"$L32\",\"$L33\"],null,\"$L34\"]}],{}
12,null,false,null]},null,false,\"$35\"]},null,false,null]},null,false,null],\"$L36\",false]],\"m\":\"$undefined\",\"G\":[\"$37\",[\"$L38\"]],\"S\":false,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"16GKkrcIMVfT3MxSinpYM\"}\n6:E{\"digest\":\"NEXT_REDIRECT;replace;/;307;\"}\n3b:I[636895,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\"],\"OutletBoundary\"]\n3c:\"$Sreact.suspense\"\n3e:I[636895,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\"],\"ViewportBoundary\"]\n40:I[636895,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\"],\"MetadataBoundary\"]\n:HL[\"/images/landing/shared/client-logo-scroll/abrisud.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/akena.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/bienici.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/ynov.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/icade.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/pichet.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/pap.svg\",\"image\"]\n:HL[\"/images/landing/shared/client-logo-scroll/letudiant.svg\",\"image\"]\na:[\"$\",\"img\",\"logo-1-8\",{\"src\":\"/images/landing/shared/client-logo-scroll/abrisud.svg\",\"alt\":\"abrisud logo\",\"width\":58,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\nb:[\"$\",\"img\",\"logo-1-9\",{\"src\":\"/images/landing/shared/client-logo-scroll/akena.svg\",\"alt\":\"akena logo\",\"width\":42,\"height\":35,\"className\":\"flex-shrink-0 mr-20\"}]\nc:[\"$\",\"img\",\"logo-1-10\",{\"src\":\"/images/landing/shared/client-logo-scroll/bienici.svg\",\"alt\":\"bienici logo\",\"width\":95,\"height\":20,\"className\":\"flex-shrink-0 mr-20\"}]\nd:[\"$\",\"img\",\"logo-1-11\",{\"src\":\"/images/landing/shared/client-logo-scroll/ynov.svg\",\"alt\":\"ynov logo\",\"width\":73,\"height\":29,\"className\":\"flex-shrink-0 mr-20\"}]\ne:[\"$\",\"img\",\"logo-1-12\",{\"src\":\"/images/landing/shared/client-logo-scroll/icade.svg\",\"alt\":\"icade logo\",\"width\":89,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\nf:[\"$\",\"img\",\"logo-1-13\",{\"src\":\"/images/landing/shared/client-logo-scroll/pichet.svg\",\"alt\":\"pichet logo\",\"width\":163,\"height\":22,\"className\":\"flex-shrink-0 mr-20\"}]\n10:[\"$\",\"img\",\"logo-1-14\",{\"src\":\"/images/landing/shared/client-logo-scroll/pap.svg\",\"alt\":\"pap logo\",\"width\":121,\"height\":25,\"className\":\"flex-shrink-0 mr-20\"}]\n11:[\"$\",\"img\",\"logo-1-15\",{\"src\":\"/images/landing/shared/client-logo-scroll/letudiant.svg\",\"alt\":\"letudiant logo\",\"width\":156,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\n12:[\"$\",\"img\",\"logo-2-0\",{\"src\":\"/images/landing/shared/client-logo-scroll/nexity.svg\",\"alt\":\"nexity logo\",\"width\":111,\"height\":20,\"className\":\"flex-shrink-0 mr-20\"}]\n13:[\"$\",\"img\",\"logo-2-1\",{\"src\":\"/images/landing/shared/client-logo-scroll/nexa.svg\",\"alt\":\"nexa logo\",\"width\":67,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}
12]\n14:[\"$\",\"img\",\"logo-2-2\",{\"src\":\"/images/landing/shared/client-logo-scroll/bouygues-telecom.svg\",\"alt\":\"bouygues telecom logo\",\"width\":97,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\n15:[\"$\",\"img\",\"logo-2-3\",{\"src\":\"/images/landing/shared/client-logo-scroll/efs.svg\",\"alt\":\"efs logo\",\"width\":35,\"height\":35,\"className\":\"flex-shrink-0 mr-20\"}]\n16:[\"$\",\"img\",\"logo-2-4\",{\"src\":\"/images/landing/shared/client-logo-scroll/laforet.svg\",\"alt\":\"laforet logo\",\"width\":35,\"height\":35,\"className\":\"flex-shrink-0 mr-20\"}]\n17:[\"$\",\"img\",\"logo-2-5\",{\"src\":\"/images/landing/shared/client-logo-scroll/cai.svg\",\"alt\":\"cai logo\",\"width\":135,\"height\":20,\"className\":\"flex-shrink-0 mr-20\"}]\n18:[\"$\",\"img\",\"logo-2-6\",{\"src\":\"/images/landing/shared/client-logo-scroll/acadomia.svg\",\"alt\":\"acadomia logo\",\"width\":122,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\n19:[\"$\",\"img\",\"logo-2-7\",{\"src\":\"/images/landing/shared/client-logo-scroll/medicis.svg\",\"alt\":\"medicis logo\",\"width\":84,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\n1a:[\"$\",\"img\",\"logo-2-8\",{\"src\":\"/images/landing/shared/client-logo-scroll/abrisud.svg\",\"alt\":\"abrisud logo\",\"width\":58,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\n1b:[\"$\",\"img\",\"logo-2-9\",{\"src\":\"/images/landing/shared/client-logo-scroll/akena.svg\",\"alt\":\"akena logo\",\"width\":42,\"height\":35,\"className\":\"flex-shrink-0 mr-20\"}]\n1c:[\"$\",\"img\",\"logo-2-10\",{\"src\":\"/images/landing/shared/client-logo-scroll/bienici.svg\",\"alt\":\"bienici logo\",\"width\":95,\"height\":20,\"className\":\"flex-shrink-0 mr-20\"}]\n1d:[\"$\",\"img\",\"logo-2-11\",{\"src\":\"/images/landing/shared/client-logo-scroll/ynov.svg\",\"alt\":\"ynov logo\",\"width\":73,\"height\":29,\"className\":\"flex-shrink-0 mr-20\"}]\n1e:[\"$\",\"img\",\"logo-2-12\",{\"src\":\"/images/landing/shared/client-logo-scroll/icade.svg\",\"alt\":\"icade logo\",\"width\":89,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\n1f:[\"$\",\"img\",\"logo-2-13\",{\"src\":\"/images/landing/shared/client-logo-scroll/pichet.svg\",\"alt\":\"pichet logo\",\"width\":163,\"height\":22,\"className\":\"flex-shrink-0 mr-20\"}]\n20:[\"$\",\"img\",\"logo-2-14\",{\"src\":\"/images/landing/shared/client-logo-scroll/pap.svg\",\"alt\":\"pap logo\",\"width\":121,\"height\":25,\"className\":\"flex-shrink-0 mr-20\"}]\n21:[\"$\",\"img\",\"logo-2-15\",{\"src\":\"/images/landing/shared/client-logo-scroll/letudiant.svg\",\"alt\":\"letudiant logo\",\"width\":156,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\n22:[\"$\",\"img\",\"logo-3-0\",{\"src\":\"/images/landing/shared/client-logo-scroll/nexity.svg\",\"alt\":\"nexity logo\",\"width\":111,\"height\":20,\"className\":\"flex-shrink-0 mr-20\"}]\n23:[\"$\",\"img\",\"logo-3-1\",{\"src\":\"/images/landing/shared/client-logo-scroll/nexa.svg\",\"alt\":\"nexa logo\",\"width\":67,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\n24:[\"$\",\"img\",\"logo-3-2\",{\"src\":\"/images/landing/shared/client-logo-scroll/bouygues-telecom.svg\",\"alt\":\"bouygues telecom logo\",\"width\":97,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\n25:[\"$\",\"img\",\"logo-3-3\",{\"src\":\"/images/landing/shared/client-logo-scroll/efs.svg\",\"alt\":\"efs logo\",\"width\":35,\"height\":35,\"className\":\"flex-shrink-0 mr-20\"}]\n26:[\"$\",\"img\",\"logo-3-4\",{\"src\":\"/images/landing/shared/client-logo-scroll/laforet.svg\",\"alt\":\"laforet logo\",\"width\":35,\"height\":35,\"className\":\"flex-shrink-0 mr-20\"}]\n27:[\"$\",\"img\",\"logo-3-5\",{\"src\":\"/images/landing/shared/client-logo-scroll/cai.svg\",\"alt\":\"cai logo\",\"width\":135,\"height\":20,\"className\":\"flex-shrink-0 mr-20\"}]\n28:[\"$\",\"img\",\"logo-3-6\",{\"src\":\"/images/landing/shared/client-logo-scroll/acadomia.svg\",\"alt\":\"acadomia logo\",\"width\":122,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\n29:[\"$\",\"img\",\"logo-3-7\",{\"src\":\"/images/landing/shared/client-logo-scroll/medicis.svg\",\"alt\":\"medicis logo\",\"width\":84,\"height\"
12:30,\"className\":\"flex-shrink-0 mr-20\"}]\n2a:[\"$\",\"img\",\"logo-3-8\",{\"src\":\"/images/landing/shared/client-logo-scroll/abrisud.svg\",\"alt\":\"abrisud logo\",\"width\":58,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\n2b:[\"$\",\"img\",\"logo-3-9\",{\"src\":\"/images/landing/shared/client-logo-scroll/akena.svg\",\"alt\":\"akena logo\",\"width\":42,\"height\":35,\"className\":\"flex-shrink-0 mr-20\"}]\n2c:[\"$\",\"img\",\"logo-3-10\",{\"src\":\"/images/landing/shared/client-logo-scroll/bienici.svg\",\"alt\":\"bienici logo\",\"width\":95,\"height\":20,\"className\":\"flex-shrink-0 mr-20\"}]\n2d:[\"$\",\"img\",\"logo-3-11\",{\"src\":\"/images/landing/shared/client-logo-scroll/ynov.svg\",\"alt\":\"ynov logo\",\"width\":73,\"height\":29,\"className\":\"flex-shrink-0 mr-20\"}]\n2e:[\"$\",\"img\",\"logo-3-12\",{\"src\":\"/images/landing/shared/client-logo-scroll/icade.svg\",\"alt\":\"icade logo\",\"width\":89,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\n2f:[\"$\",\"img\",\"logo-3-13\",{\"src\":\"/images/landing/shared/client-logo-scroll/pichet.svg\",\"alt\":\"pichet logo\",\"width\":163,\"height\":22,\"className\":\"flex-shrink-0 mr-20\"}]\n30:[\"$\",\"img\",\"logo-3-14\",{\"src\":\"/images/landing/shared/client-logo-scroll/pap.svg\",\"alt\":\"pap logo\",\"width\":121,\"height\":25,\"className\":\"flex-shrink-0 mr-20\"}]\n31:[\"$\",\"img\",\"logo-3-15\",{\"src\":\"/images/landing/shared/client-logo-scroll/letudiant.svg\",\"alt\":\"letudiant logo\",\"width\":156,\"height\":30,\"className\":\"flex-shrink-0 mr-20\"}]\n32:[\"$\",\"section\",null,{\"className\":\"w-full bg-gray-75\",\"children\":\"$L39\"}]\n33:[\"$\",\"section\",null,{\"className\":\"w-full bg-white\",\"children\":\"$L3a\"}]\n34:[\"$\",\"$L3b\",null,{\"children\":[\"$\",\"$3c\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@3d\"}]}]\n36:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L3e\",null,{\"children\":\"$L3f\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L40\",null,{\"children\":[\"$\",\"$3c\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L41\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n38:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0yp-4issojtp-.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n42:I[818116,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\",\"/_next/static/chunks/1wx250emb4xiv.js\",\"/_next/static/chunks/383fbap92kbwn.js\",\"/_next/static/chunks/1piubskebzqkn.js\",\"/_next/static/chunks/2581pizx2_x-m.js\",\"/_next/static/chunks/0rt5anpxssa_u.js\",\"/_next/static/chunks/23pmsrkea80hb.js\"],\"default\"]\n43:I[438239,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\",\"/_next/static/chunks/1wx250emb4xiv.js\",\"/_next/static/chunks/383fbap92kbwn.js\",\"/_next/static/chunks/1piubskebzqkn.js\",\"/_next/static/chunks/2581pizx2_x-m.js\",\"/_next/static/chunks/0rt5anpxssa_u.js\",\"/_next/static/chunks/23pmsrkea80hb.js\"],\"\"]\n49:I[726287,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\",\"/_next/static/chunks/1wx250emb4xiv.js\",\"/_next/static/chunks/383fbap92kbwn.js\",\"/_next/static/chunks/1piubskebzqkn.js\",\"/_next/static/chunks/2581pizx2_x-m.js\",\"/_next/static/chunks/0rt5anpxssa_u.js\",\"/_next/static/chunks/23pmsrkea80hb.js\"],\"Button\"]\n:HL[\"/images/logo/pinpo-ai_white.svg\",\"image\",{\"imageSizes\":\"94px\"}]\n:HL[\"/images/landing/shared/footer/gdpr_compliant.svg\",\"image\",{\"imageSizes\":\"45px\"}]\n:HL[\"/images/landing/shared/footer/aicpa_soc2.svg\",\"image\",{\"imageSizes\":\"50px\"}]\n:HL[\"/images/landing/security/showcase-1.svg\",\"image\"]\n:HL[\"/images/landing/shared/cta-block/cta-block-pattern-top-right.svg\",\"image\"]\n:HL[\"/images/landing/shared/cta-block/cta-block-pattern-bottom-left.svg\",\"image\"]\n35:C\n8:[\"$\",\"div\",null,{\"className\":\"w-full min-h-[401px] max-w-[1312px] mx-auto py-18 px-5 md:px-8 navbar-container flex flex-col gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-5 md:gap-0 md:flex-row justify-between\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-6 max-w-[80%] md:max-w-[50%]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-4\",\"children\":[[\"$\",\"img\",null,{\"src\":\"/images/logo/pinpo-ai_white.svg\",\"width\":94,\"height\"
12:25,\"sizes\":\"94px\",\"style\":{\"width\":\"100%\",\"maxWidth\":\"94px\",\"height\":\"auto\"},\"alt\":\"Pinpo logo\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-white font-light\",\"children\":\"Pinpo helps teams transform every conversation into measurable performance â to engage faster, qualify better and convert sustainably.\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-6\",\"children\":[[\"$\",\"img\",null,{\"src\":\"/images/landing/shared/footer/gdpr_compliant.svg\",\"width\":45,\"height\":60,\"sizes\":\"45px\",\"style\":{\"width\":\"100%\",\"maxWidth\":\"45px\",\"height\":\"auto\"},\"alt\":\"GDPR Compliant\"}],[\"$\",\"img\",null,{\"src\":\"/images/landing/shared/footer/aicpa_soc2.svg\",\"width\":50,\"height\":50,\"sizes\":\"50px\",\"style\":{\"width\":\"100%\",\"maxWidth\":\"50px\",\"height\":\"auto\"},\"alt\":\"AICPA SOC 2\"}]]}],[\"$\",\"$L42\",null,{}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-start gap-[100px]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-start gap-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-sm text-white font-bold\",\"children\":\"Product\"}],[\"$\",\"$L43\",null,{\"href\":\"/\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-sm font-normal text-white\",\"children\":\"Why Pinpo\"}]}],[\"$\",\"$L43\",null,{\"href\":\"/integrations\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-sm font-normal text-white\",\"children\":\"Integrations\"}]}],[\"$\",\"$L43\",null,{\"href\":\"/pricing\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-sm font-normal text-white\",\"children\":\"Pricing\"}]}],[\"$\",\"$L43\",null,{\"href\":\"/security\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-sm font-normal text-white\",\"children\":\"Security\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col items-start gap-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-sm text-white font-bold\",\"children\":\"Resources\"}],[\"$\",\"$L43\",null,{\"href\":\"https://www.help.pinpo.ai/fr\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-sm font-normal text-white\",\"children\":\"Documentation\"}]}],[\"$\",\"$L43\",null,{\"href\":\"https://api.pinpo.com/api\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-sm font-normal text-white\",\"children\":\"API\"}]}],[\"$\",\"$L43\",null,{\"href\":\"https://www.help.pinpo.ai/fr\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-sm font-normal text-white\",\"children\":\"Helpdesk\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"hidden md:flex flex-col items-start gap-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-sm text-white font-bold\",\"children\":[\" \",\"Company\"]}
12],[\"$\",\"$L43\",null,{\"href\":\"https://www.welcometothejungle.com/fr/companies/pinpo/jobs\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-sm font-normal text-white\",\"children\":\"Recruitment\"}]}],[\"$\",\"$L43\",null,{\"href\":\"/ask-demo\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-sm font-normal text-white\",\"children\":\"Contact\"}]}]]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2 md:gap-0 md:flex-row justify-between pt-8 border-t border-solid border-[rgba(255_255_255/0.3)]\",\"children\":[[\"$\",\"div\",null,{\"children\":[\"$\",\"p\",null,{\"className\":\"text-sm font-normal text-white\",\"children\":\"© 2026 Pinpo. All rights reserved.\"}]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-14\",\"children\":[[\"$\",\"$L43\",null,{\"href\":\"/legal-notices\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-sm font-normal text-white underline\",\"children\":\"Legal notice\"}]}],[\"$\",\"$L43\",null,{\"href\":\"/terms-of-service\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-sm font-normal text-white underline\",\"children\":\"Terms of use\"}]}]]}]]}]]}]\n9:[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center content-center gap-14 md:gap-18 w-full max-w-[1312px] mx-auto py-14 lg:py-30 px-5 md:px-8 navbar-container\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center content-center text-center gap-8\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-[39px] md:text-5xl font-normal text-white leading-[46px] md:leading-[56px]\",\"children\":\"Designed for the most demanding environments\"}],[\"$\",\"p\",null,{\"className\":\"text-xl text-white font-light leading-[24px] whitespace-pre-line\",\"children\":\"Data security and privacy are at the heart of Pinpo.\\nWe protect them at every step, so you can focus on what matters most: your business.\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center content-center gap-6 px-14 py-4 rounded-2xl border border-white/30 bg-gradient-operating-block shadow-operating-block backdrop-blur-operating\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-white text-center text-xl font-light\",\"children\":\"Certified and compliant\"}],[\"$\",\"div\",null,{\"className\":\"flex items-center\",\"style\":{\"minWidth\":\"151px\",\"justifyContent\":\"space-between\"},\"children\":[[\"$\",\"img\",null,{\"src\":\"/images/landing/shared/footer/gdpr_compliant.svg\",\"width\":45,\"height\":60,\"sizes\":\"45px\",\"style\":{\"width\":\"100%\",\"maxWidth\":\"45px\",\"height\":\"auto\"},\"alt\":\"GDPR Compliant\"}],[\"$\",\"img\",null,{\"src\":\"/images/landing/shared/footer/aicpa_soc2.svg\",\"width\":50,\"height\":50,\"sizes\":\"50px\",\"style\":{\"width\":\"100%\",\"maxWidth\":\"50px\",\"height\":\"auto\"},\"alt\":\"AICPA SOC 2\"}]]}]]}]]}]\n39:[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center content-center gap-14 w-full max-w-[1312px] mx-auto py-14 lg:py-24 px-5 md:px-8 navbar-container\",\"children\":[[\"$\",\"div\",\"dataSovereignty\",{\"className\":\"flex flex-col w-full gap-14\",\"children\":[false,[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start gap-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-4xl font-medium\",\"children\":\"Data Sovereignty\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col lg:flex-row w-full items-center content-center gap-24 rounded-2xl border border-gray-300 bg-white p-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-start gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-3xl font-medium\",\"children\":\"Data hosted in the European Union\"}],[\"$\",\"span\",null,{\"className\":\"text-secondary text-base font-normal whitespace-pre-line\",\"children\":\"Pinpo is hosted in France at Scaleway, on an infrastructure certified ISO 27001 and compliant with European regulations.\\nYour data remains located in the chosen region and is never transferred without your agreement. We guarantee full transparency on our infrastru
12cture and subcontractors, to give you complete control over the location and processing of your data.\"}]]}],[\"$\",\"img\",null,{\"src\":\"/images/landing/security/showcase-1.svg\",\"alt\":\"Data Sovereignty\",\"className\":\"rounded-2xl items-center content-center\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col md:flex-row items-stretch gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-2xl font-medium\",\"children\":\"Data privacy\"}],[\"$\",\"span\",null,{\"className\":\"text-secondary text-base font-normal whitespace-pre-line\",\"children\":\"Prompts and workspace data are never used to train our models. Our AI subcontractors are bound by strict contractual obligations limiting the use and retention of client data. Your data belongs to you and remains under your control.\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-2xl font-medium\",\"children\":\"GDPR compliance \u0026 data processing\"}],[\"$\",\"span\",null,{\"className\":\"text-secondary text-base font-normal whitespace-pre-line\",\"children\":\"A Data Processing Agreement (DPA) is systematically concluded with each client. We ensure complete transparency on the treatments carried out on your behalf and on our subcontractors, selected according to strict criteria. Any incident is reported in accordance with regulatory requirements.\"}]]}]]}]]}]]}]]}],[\"$\",\"div\",\"accessControl\",{\"className\":\"flex flex-col w-full gap-14\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full py-2 items-start gap-2\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full h-1 flex items-center\",\"children\":[\"$\",\"svg\",null,{\"width\":\"100%\",\"height\":\"1\",\"style\":{\"display\":\"block\"},\"children\":[\"$\",\"line\",null,{\"x1\":\"0\",\"y1\":\"0.5\",\"x2\":\"100%\",\"y2\":\"0.5\",\"stroke\":\"var(--color-dark-soul-300)\",\"strokeDasharray\":\"5 4\",\"strokeWidth\":\"1\"}]}]}]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start gap-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-4xl font-medium\",\"children\":\"Access \u0026 Control\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col lg:flex-row w-full items-center content-center gap-24 rounded-2xl border border-gray-300 bg-white p-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-start gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-3xl font-medium\",\"children\":\"Enhanced authentication and granular access control\"}],\"$L44\"]}],\"$L45\"]}],\"$L46\"]}]]}]]}],\"$L47\",\"$L48\"]}]\n3a:[\"$\",\"div\",null,{\"className\":\"flex items-center justify-center bg-white w-full max-w-[1312px] mx-auto py-18 px-5 md:px-8 navbar-container\",\"children\":[\"$\",\"div\",null,{\"className\":\"rounded-2xl p-6 border-[1px] border-gray-75 shadow-card relative flex flex-col w-full content-center items-center gap-10 px-6 py-18 bg-gradient-landing2\",\"children\":[[[\"$\",\"img\",null,{\"src\":\"/images/landing/shared/cta-block/cta-block-pattern-top-right.svg\",\"alt\":\"cta-block-pattern-top-right\",\"width\":180,\"height\":180,\"className\":\"hidden xl:block absolute right-0 top-0\"}],[\"$\",\"img\",null,{\"src\":\"/images/landing/shared/cta-block/cta-block-pattern-bottom-left.svg\",\"alt\":\"cta-block-pattern-bottom-left\",\"width\":250,\"height\":250,\"className\":\"hidden xl:block absolute left-0 bottom-0\"}],[\"$\",\"img\",null,{\"src\":\"/images/landing/shared/cta-block/cta-block-pattern-top-right.svg\",\"alt\":\"cta-block-pattern-top-right\",\"width\":120,\"height\":122,\"className\":\"block xl:hidden absolute right-0 top-0\"}],[\"$\",\"img\",null,{\"src\":\"/images/landing/shared/cta-block/cta-block-pattern-bottom-left.svg\",\"alt\":\"cta-block-pattern-bottom-left\",\"width\":140,\"height\"
12:142,\"className\":\"block xl:hidden absolute left-0 bottom-0\"}]],[\"$\",\"div\",null,{\"className\":\"w-full flex flex-col items-center gap-6\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[31px] md:text-[39px] font-medium leading-[38px] md:leading-[46px] text-center text-white\",\"children\":\"Ready to welcome your new team of AI agents?\"}],[\"$\",\"p\",null,{\"className\":\"text-[20px] font-normal leading-[24px] text-center text-white\",\"children\":\"Join the leaders who are automating their growth\"}]]}],[\"$\",\"$L43\",null,{\"href\":\"/ask-demo\",\"children\":[\"$\",\"$L49\",null,{\"variant\":\"white\",\"children\":\"Book a demo\"}]}]]}]}]\n:HL[\"/images/landing/security/showcase-2.svg\",\"image\"]\n:HL[\"/images/landing/security/showcase-3.svg\",\"image\"]\n:HL[\"/images/landing/security/showcase-4.svg\",\"image\"]\n44:[\"$\",\"span\",null,{\"className\":\"text-secondary text-base font-normal whitespace-pre-line\",\"children\":\"Multi-factor authentication (MFA) is enabled by default for all users. Access is managed granularly by role and systematically verified server-side. Sessions are secured with configurable expiration rules.\\nInactive accounts are automatically deactivated or deleted according to defined policies.\"}]\n45:[\"$\",\"img\",null,{\"src\":\"/images/landing/security/showcase-2.svg\",\"alt\":\"Enhanced authentication\",\"className\":\"rounded-2xl items-center content-center\"}]\n46:[\"$\",\"div\",null,{\"className\":\"flex flex-col md:flex-row items-stretch gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-2xl font-medium\",\"children\":\"Isolation by design\"}],[\"$\",\"span\",null,{\"className\":\"text-secondary text-base font-normal whitespace-pre-line\",\"children\":\"Each workspace and project is logically isolated.\\nClient data is strictly compartmentalized and inaccessible between accounts.\\nEnvironments are clearly separated and verified before any production release.\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-2xl font-medium\",\"children\":\"Complete traceability of all actions\"}],[\"$\",\"span\",null,{\"className\":\"text-secondary text-base font-normal whitespace-pre-line\",\"children\":\"Every connection, modification and export is recorded in timestamped and non-modifiable audit logs. Administrators access the complete history of actions by user, agent or organization.\"}]]}]]}]\n47:[\"$\",\"div\",\"complianceGovernance\",{\"className\":\"flex flex-col w-full gap-14\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full py-2 items-start gap-2\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full h-1 flex items-center\",\"children\":[\"$\",\"svg\",null,{\"width\":\"100%\",\"height\":\"1\",\"style\":{\"display\":\"block\"},\"children\":[\"$\",\"line\",null,{\"x1\":\"0\",\"y1\":\"0.5\",\"x2\":\"100%\",\"y2\":\"0.5\",\"stroke\":\"var(--color-dark-soul-300)\",\"strokeDasharray\":\"5 4\",\"strokeWidth\":\"1\"}]}]}]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start gap-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-4xl font-medium\",\"children\":\"Compliance \u0026 AI Governance\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col lg:flex-row w-full items-center content-center gap-24 rounded-2xl border border-gray-300 bg-white p-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-start gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-3xl font-medium\",\"children\":\"A supervised, transparent AI under your control\"}],[\"$\",\"span\",null,{\"className\":\"text-secondary text-base font-normal whitespace-pre-line\",\"children\":\"Compliant with the AI Act, the Pinpo system is neither prohibited (article 5) nor classified as « high risk » (Title III), and falls under a low-risk level.\\nAI agents operate within a strictly defined framework, with human supervision at all times. A compliance audit is available upon request for Enterprise clients.\"}]]}],[\"$\",\"img\",null,{\"src\":\"/images/landing/security/showcase-3.svg\",\"alt\":\"Compliance \u0026 AI Governance\",\"className\":\"rounded-2xl items-center content-center\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col md:flex-row items-stretch gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-2xl font-medium\",\"children\":\"Strict control of AI agent actions\"}],[\"$\",\"span\",null,{\"className\":\"text-secondary text-base font-normal whitespace-pre-line\",\"children\":\"AI agents intervene only within the perimeter you have defined. No action outside the framework nor escalation without explicit validation.\\nYou keep total control and can intervene or suspend an agent at any time.\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-2xl font-medium\",\"children\":\"Consent management and anonymization\"}],[\"$\",\"span\",null,{\"className\":\"text-secondary text-base font-normal whitespace-pre-line\",\"children\":\"Any request to opt out (e.g. âSTOPâ) will result in conversations being stopped immediately and your status being updated in your CRM.\\nRules for anonymising personal data can be configured at organisation-wide level, in line with your regulatory requirements.\"}]]}]]}]]}]]}]]}]\n48:[\"$\",\"div\",\"continuousMonitoring\",{\"className\":\"flex flex-col w-full gap-14\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full py-2 items-start gap-2\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full h-1 flex items-center\",\"children\":[\"$\",\"svg\",null,{\"width\":\"100%\",\"height\"
12:\"1\",\"style\":{\"display\":\"block\"},\"children\":[\"$\",\"line\",null,{\"x1\":\"0\",\"y1\":\"0.5\",\"x2\":\"100%\",\"y2\":\"0.5\",\"stroke\":\"var(--color-dark-soul-300)\",\"strokeDasharray\":\"5 4\",\"strokeWidth\":\"1\"}]}]}]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start gap-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-4xl font-medium\",\"children\":\"Continuous Monitoring\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col lg:flex-row w-full items-center content-center gap-24 rounded-2xl border border-gray-300 bg-white p-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-start gap-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-3xl font-medium\",\"children\":\"Continuous monitoring and abuse detection\"}],[\"$\",\"span\",null,{\"className\":\"text-secondary text-base font-normal whitespace-pre-line\",\"children\":\"The platform is continuously monitored to identify abnormal usage, abusive or any compromise attempts.\\nAutomated mechanisms apply rate limits (rate limiting) and detect suspicious behaviors across all users and environments.\\nRisky activities are analyzed by our dedicated security and compliance teams.\"}]]}],[\"$\",\"img\",null,{\"src\":\"/images/landing/security/showcase-4.svg\",\"alt\":\"Continuous Monitoring\",\"className\":\"rounded-2xl items-center content-center\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col md:flex-row items-stretch gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-2xl font-medium\",\"children\":\"Automated security analysis\"}],[\"$\",\"span\",null,{\"className\":\"text-secondary text-base font-normal whitespace-pre-line\",\"children\":\"The generated code, dependencies and configurations are updated regularly to eliminate any risks.\\nIndependent security audits and regular assessments further strengthen our controls over time.\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full items-start content-start gap-6 rounded-2xl border border-gray-300 bg-white p-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-dark-soul text-2xl font-medium\",\"children\":\"Secured infrastructure\"}],[\"$\",\"span\",null,{\"className\":\"text-secondary text-base font-normal whitespace-pre-line\",\"children\":\"Pinpo's infrastructure is built on advanced security standards: data encryption, adaptive rate limiting and network segmentation. All exchanges are secured via HTTPS (TLS 1.3), critical accesses are strictly controlled, and all activities are continuously monitored to detect and prevent any anomaly.\"}]]}]]}]]}]]}]]}]\n4a:T13cc0,window.NREUM||(NREUM={});NREUM.info = {\"agent\":\"\",\"beacon\":\"bam.eu01.nr-data.net\",\"errorBeacon\":\"bam.eu01.nr-data.net\",\"licenseKey\":\"NRJS-9b5a49162ed6d8ff2b6\",\"applicationID\":\"410569525\"}; (window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:[\"bam.eu01.nr-data.net\"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:\"538838108\",accountID:\"3352559\",trustKey:\"3352559\",xpid:\"VwUCU1NWARAEVVFXAQgCVFE=\",licenseKey:\"NRJS-9b5a49162ed6d8ff2b6\",applicationID:\"410569525\",browserID:\"538838108\"};;/*! For license information please see nr-loader-spa-1.323.0.min.js.LICENSE.txt */\n(()=\u003e{var e={8122(e,t,r){\"use strict\";r.d(t,{a:()=\u003ei});var n=r(944);function i(e,t){try{if(!e||\"object\"!=typeof e)return(0,n.R)(3);if(!t||\"object\"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])\u0026\u0026Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a
12]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:\"object\"==typeof e[a]\u0026\u0026null!==t[a]\u0026\u0026\"object\"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){\"use strict\";r.d(t,{f:()=\u003ea});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey\u0026\u0026!!e.errorBeacon\u0026\u0026!!e.applicationID}catch(e){return!1}}r.d(t,[\"D\",0,e=\u003e(0,i.a)(e,s)])},7699(e,t,r){\"use strict\";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,[\"It\",0,1e6,\"KC\",0,i,\"qh\",0,\"SESSION_ERROR\"])},9324(e,t,r){\"use strict\";r.d(t,[\"A\",0,\"@newrelic/rrweb\",\"x\",0,\"1.323.0\"])},981(e,t,r){\"use strict\";r.d(t,[\"R\",0,{AJAX:\"AjaxRequest\",PA:\"PageAction\",UA:\"UserAction\",BP:\"BrowserPerformance\",WS:\"WebSocket\",SPV:\"SecurityPolicyViolation\",JSE:\"JavaScriptError\",LOG:\"Log\",PVE:\"PageView\",PVT:\"PageViewTiming\",SR:\"SessionReplay\",ST:\"SessionTrace\",BI:\"BrowserInteraction\"}])},9752(e,t,r){\"use strict\";const n=\"newrelic-iframe-\",i=n+\"timing-update\",s=n+\"api\",a=n+\"api-response\",o=n+\"vitals-update\",c=n+\"ajax\";r.d(t,[\"$8\",0,o,\"Gi\",0,a,\"KU\",0,c,\"Pl\",0,n,\"cS\",0,s,\"cr\",0,i])},6154(e,t,r){\"use strict\";var n=r(1863);const i=\"undefined\"!=typeof window\u0026\u0026!!window.document,s=\"undefined\"!=typeof WorkerGlobalScope\u0026\u0026(\"undefined\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self.navigator instanceof WorkerNavigator||\"undefined\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis.navigator instanceof WorkerNavigator),a=i?window:\"undefined\"!=typeof WorkerGlobalScope\u0026\u0026(\"undefined\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self||\"undefined\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis),o=Boolean(\"hidden\"===a?.document?.visibilityState),c=\"\"+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d\u0026\u0026\"undefined\"==typeof SharedWorker,l=(()=\u003e{const e=a.navigator?.userAgent?.match(/Firefox[/\\s](\\d+\\.\\d+)/);return Array.isArray(e)\u0026\u0026e.length\u003e=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,[\"OF\",0,d,\"RI\",0,i,\"WN\",0,f,\"bv\",0,s,\"gm\",0,a,\"lR\",0,l,\"m\",0,c,\"mw\",0,o,\"sb\",0,u,\"zk\",0,()=\u003e{const e=a?.performance?.getEntriesByType?.(\"navigation\")?.[0];if(e\u0026\u0026e.responseStart\u003e0\u0026\u0026e.responseStart\u003ca.performance.now())return e}])},7295(e,t,r){\"use strict\";r.d(t,{Xv:()=\u003ea,gX:()=\u003ei,iW:()=\u003es});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if(\"*\"===n[0].hostname)return!1;for(var t=0;t\u003cn.length;t++){var r=n[t];if(r.hostname.test(e.hostname)\u0026\u0026r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e\u0026\u0026e.length)for(var t=0;t\u003ce.length;t++){let r=e[t];if(!r)continue;if(\"*\"===r)return void(n=[{hostname:\"*\"}]);0===r.indexOf(\"http://\")?r=r.substring(7):0===r.indexOf(\"https://\")\u0026\u0026(r=r.substring(8));const i=r.indexOf(\"/\");let s,a;i\u003e0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a=\"*\");let[c]=s.split(\":\");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\\]\\\\]/g,e=\u003e\"\\\\\"+e).replace(/\\*/g,\".*?\");return new RegExp((t?\"^\":\"\")+r+\"$\")}},3241(e,t,r){\"use strict\";r.d(t,{W:()=\u003ei});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent(\"newrelic\",{detail:e}))}catch(e){}}},1687(e,t,r){\"use strict\";r.d(t,{Ak:()=\u003eo,Ze:()=\u003ed,x3:()=\u003ec});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
12e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r\u0026\u0026(r.get(t)\u0026\u0026r.delete(t),l(e,t,!1),r.size\u0026\u0026u(e))}function d(e,t=\"feature\",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=\u003et.staged)\u0026\u0026(t.sort((e,t)=\u003ee[1].priority-t[1].priority),t.forEach(([t])=\u003e{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s\u0026\u0026!s.aborted\u0026\u0026s.backlog\u0026\u0026o){if((0,n.W)({type:\"lifecycle\",name:\"drain\",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e\u0026\u0026t\u003ce.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=\u003e{Object.values(t||{}).forEach(t=\u003e{t[0]?.on\u0026\u0026t[0].context()instanceof a.y\u0026\u0026!t[0].listeners(e).includes(t[1])\u0026\u0026t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit(\"drain-\"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=\u003e{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){\"use strict\";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o=\"nr@context:\".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length\u0026\u0026d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i\u003cr.length;i++)r[i]===t\u0026\u0026r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s\u0026\u0026(s=!0);if(c.aborted\u0026\u0026!i)return;t\u0026\u0026s\u0026\u0026t.emit(e,r,n);var o=h(n);g(e).forEach(e=\u003e{e.apply(o,r)});var d=v()[a[e]];d\u0026\u0026d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||\"feature\",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=\u003e{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=\u003e{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t\u0026\u0026\"object\"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,\"aborted\",{get:()=\u003e{let e=f._aborted||!1;return e||(t\u0026\u0026(e=t.aborted),e)}}),f;function h(e){return e\u0026\u0026e instanceof s.y?e:e?(0,i.I)(e,o,()=\u003enew s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,\"globalEE\"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,[\"P\",0,o,\"ee\",0,c])},2646(e,t,r){\"use strict\";r.d(t,{y:()=\u003en});class n{constructor(e){this.contextId=e}}},9908(e,t,r){\"use strict\";r.d(t,{d:()=\u003en,p:()=\u003ei});var n=r(7836).ee.get(\"handle\");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){\"use strict\";r.d(t,{i:()=\u003es});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s=\"feature\"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){\"use strict\";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=\u003es,jT:()=\u003en,sp:()=\u003ei})},5607(e,t,r){\"use strict\";const n=(0,r(9566).bz)();r.d(t,[\"W\",0,n])},9566(e,t,r){\"use strict\";r.d(t,{LA:()=\u003ea,ZF:()=\u003eo,bz:()=\u003es,el:()=\u003ec});var n=r(6154);function i(e,t){return e?15\u0026e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e\u0026\u0026e.getRandomValues\u0026\u0026(t=e.getRandomValues(new Uint8Array(30))),\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".split(\"\").map(e=\u003e\"x\"===e?i(t,r++).toString(16):\"y\"===e?(3\u0026i()|8).toString(16):e).join(\"\")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t\u0026\u0026t.getRandomValues\u0026\u0026(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o\u003ce;o++)a.push(i(r,s++).toString(16));return a.join(\"\")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){\"use strict\";r.d(t,[\"BB\",0,18e5,\"Wt\",0,\"NRBA_SESSION::\",\"g\",0,{OFF:0,FULL:1,ERROR:2},\"iL\",0,{SAME_TAB:\"same-tab\",CROSS_TAB:\"cross-tab\"},\"tS\",0,{STARTED:\"session-started\",PAUSE:\"session-pause\",RESET:\"session-reset\",RESUME:\"session-resume\",UPDATE:\"session-update\"},\"wk\",0,144e5])},733(e,t,r){\"use strict\";function n(e,t){return function(e){let t=2166136261;for(let r=0;r\u003ce.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t\u003e\u003e\u003e0).toString(16).padStart(8,\"0\")}
12(\"\".concat(String(e),\":\").concat(String(t)))}r.d(t,{Y:()=\u003en})},1863(e,t,r){\"use strict\";function n(){return Math.floor(performance.now())}r.d(t,{t:()=\u003en})},9119(e,t,r){\"use strict\";r.d(t,{L:()=\u003es});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,\"$1$2\"):e}},7485(e,t,r){\"use strict\";r.d(t,{D:()=\u003ei});var n=r(6154);function i(e){if(0===(e||\"\").indexOf(\"data:\"))return{protocol:\"data\"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(\":\")),sameOrigin:t.protocol===n.gm?.location?.protocol\u0026\u0026t.host===n.gm?.location?.host};return r.port\u0026\u0026\"\"!==r.port||(\"http:\"===t.protocol\u0026\u0026(r.port=\"80\"),\"https:\"===t.protocol\u0026\u0026(r.port=\"443\")),r.pathname\u0026\u0026\"\"!==r.pathname?r.pathname.startsWith(\"/\")||(r.pathname=\"/\".concat(r.pathname)):r.pathname=\"/\",r}catch(e){return{}}}},7866(e,t,r){\"use strict\";r.d(t,[\"Nc\",0,/^\\s*at Function code \\(Function code:\\d+:\\d+\\)\\s*/i,\"cn\",0,/^\\s*(?:([^@]*)(?:\\(.*?\\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\\d+)(?::(\\d+))?\\s*$/i,\"fL\",0,/^\\s*at .+ \\(eval at \\S+ \\((?:(?:file|http|https):[^)]+)?\\)(?:, [^:]*:\\d+:\\d+)?\\)$/i,\"h3\",0,/function (.+?)\\s*\\(/,\"hB\",0,/^\\s*at (?:((?:\\[object object\\])?(?:[^(]*\\([^)]*\\))*[^()]*(?: \\[as \\S+\\])?) )?\\(?((?:file|http|https|chrome-extension):.*?)?:(\\d+)(?::(\\d+))?\\)?\\s*$/i])},944(e,t,r){\"use strict\";r.d(t,{R:()=\u003ei});var n=r(3241);function i(e,t){\"function\"==typeof console.debug\u0026\u0026(console.debug(\"New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#\".concat(e),t),(0,n.W)({drained:null,type:\"data\",name:\"warn\",feature:\"warn\",data:{code:e,secondary:t}}))}},8990(e,t,r){\"use strict\";r.d(t,{I:()=\u003ei});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty\u0026\u0026Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){\"use strict\";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=\u003e{n\u0026\u0026void 0===i\u0026\u0026(e.apply(this,r),i=setTimeout(()=\u003e{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=\u003e{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=\u003e{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=\u003ei,s:()=\u003en})},1910(e,t,r){\"use strict\";r.d(t,{i:()=\u003es});var n=r(944);const i=new Map;function s(...e){return e.every(e=\u003e{if(i.has(e))return i.get(e);const t=\"function\"==typeof e?e.toString():\"\",r=t.includes(\"[native code]\"),s=t.includes(\"nrWrapper\");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){\"use strict\";r.d(t,{A:()=\u003ei});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=\u003e{const e=new WeakSet;return(t,r)=\u003e{if(\"object\"==typeof r\u0026\u0026null!==r){if(e.has(r))return;e.add(r)}return r}})())??\"\"}catch(e){try{n.ee.emit(\"internal-error\",[e])}catch(e){}return\"\"}}},9232(e,t,r){\"use strict\";r.d(t,[\"f\",0,{MFE:\"MFE\",BA:\"BA\"}])},7560(e,t,r){\"use strict\";r.d(t,{N:()=\u003ea,j:()=\u003ec});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=\u003e(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=\u003ee.isScript)}:void 0}function o(e){if(!e||\"object\"!=typeof e)return;const{matcher:t,type:r}=e;let i=\"string\"==typeof t\u0026\u0026t.endsWith(\".js\");return void 0!==r\u0026\u0026(!function(e){return\"script\"===e||\"asset\"===e}(r)?s(r):i=function(e){return\"script\"===e}(r)),a=t,\"[object RegExp]\"===Object.prototype.toString.call(a)?{pattern:t,test:e=\u003e(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:\"string\"==typeof t\u0026\u0026t.length\u003e0?{pattern:t,test:e=\u003e(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=\u003ee.test(t))}},5718(e,t,r){\"use strict\";r.d(t,{xo:()=\u003eT,AZ:()=\u003ev,cI:()=\u003eg,Qr:()=\u003eA,QL:()=\u003ey});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=\u003e{},t){return{get:()=\u003evoid 0!==t?t:e(),set:e=\u003e{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=\u003e{t\u0026\u0026(e.scriptStart=e.scriptStart\u003e0?Math.min(e.scriptStart,t):t),r\u0026\u0026(e.scriptEnd=e.scriptEnd\u003e0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
12if(t)return t;const r=new o(e);if(l.set(e,r),l.size\u003e1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver\u0026\u0026n.gm.document){new MutationObserver(e=\u003e{e.forEach(e=\u003e{e.addedNodes.forEach(e=\u003e{if(\"SCRIPT\"===e.nodeName\u0026\u0026e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=\u003e{t.dom.end=(0,i.t)()};[\"load\",\"error\"].forEach(t=\u003ee.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes(\"resource\")){new PerformanceObserver(e=\u003e{e.getEntries().forEach(e=\u003e{if((e=\u003e\"script\"===e.initiatorType||[\"link\",\"fetch\"].includes(e.initiatorType)\u0026\u0026(0,s.L)(e.name).endsWith(\".js\"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=\u003e{(r(e)||(0,i.t)()-n\u003e1e4)\u0026\u0026t.push(s)}),f=f.filter((e,r)=\u003e!t.includes(r))})}).observe({type:\"resource\",buffered:!0})}function v(e){if(!e||\"string\"!=typeof e)return[];const t=new Set,r=e.split(\"\\n\");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r\u0026\u0026r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\\(([^)]+\\.js):\\d+:\\d+\\)/)||e.match(/^\\s+at\\s+([^\\s(]+\\.js):\\d+:\\d+/);r\u0026\u0026r[1]\u0026\u0026t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),\"blocking\"===t.renderBlockingStatus?e.renderBlocking=!0:\"non-blocking\"===t.renderBlockingStatus\u0026\u0026!0!==e.renderBlocking\u0026\u0026(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),\"scripts\"!==i\u0026\u0026\"all\"!==i)return;if(\"all\"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart\u003e0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd\u003e0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=\u003e{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end\u0026\u0026r.dom.value\u0026\u0026[\"load\",\"error\"].forEach(e=\u003er.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType(\"resource\")||[]).forEach(r=\u003e{const n=[...a].find(e=\u003ee.test(r.name));n\u0026\u0026(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size\u0026\u0026function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes(\"resource\")\u0026\u0026f.push({addedAt:(0,i.t)(),test:n=\u003e{const i=[...t].find(e=\u003ee.test(n.name));return i\u0026\u0026(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:\"unknown\",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType(\"navigation\")?.[0]?.name||\"\";try{const e=v(a),c=(e.length\u003e1?e.filter(e=\u003eu!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type=\"inline\",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType(\"resource\")?.find(e=\u003eb(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel=\"preload\"][as=\"script\"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)\u0026\u0026(r.asset=c,r.type=\"preload\"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes(\"resource\")\u0026\u0026f.push({addedAt:(0,i.t)(),test:r=\u003e!!b(r,t)\u0026\u0026(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t\u0026\u0026!!h?.claimedBy.has(t);h\u0026\u0026t\u0026\u0026h.claimedBy.add(t);const y=()=\u003e{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e\u003e1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=\u003e{e\u0026\u0026(w=w\u003e0?Math.min(w,e):e),t\u0026\u0026(R=R\u003e0?Math.max(R,t):t)},Object.defineProperty(r,\"scriptStart\",d(()=\u003e{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w\u003e0?Math.min(e,w):e})),Object.defineProperty(r,\"scriptEnd\",d(()=\u003e{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R\u003e0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){\"use strict\";r.d(t,{$5:()=\u003em,B5:()=\u003eg,K6:()=\u003eu,M$:()=\u003eo,Ms:()=\u003ed,NG:()=\u003ec,Ux:()=\u003eh,YA:()=\u003ep,yx:()=\u003el});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}
12function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=\u003et.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=\u003eString(t.metadata.target.id)===String(e)).map(e=\u003ee.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=\u003e{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset\u0026\u0026(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=\u003ee.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=\u003e{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=\u003ee.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i=\"\".concat(e,\"::\").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked\u0026\u0026!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e\u0026\u0026(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{\"child.id\":e.id,\"child.type\":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)\u0026\u0026!!v(t)\u0026\u0026t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e\u0026\u0026!!t?.init.api.register.enabled}},5289(e,t,r){\"use strict\";r.d(t,{GG:()=\u003ea,Qr:()=\u003ec,sB:()=\u003eo});var n=r(3878),i=r(6389);function s(){return\"undefined\"==typeof document||\"complete\"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=\u003e{s()\u0026\u0026(clearInterval(a),r())},500);(0,n.sp)(\"load\",r,t)}function o(e){if(s())return e();(0,n.DD)(\"DOMContentLoaded\",e)}function c(e){if(s())return e();(0,n.sp)(\"popstate\",e)}},384(e,t,r){\"use strict\";r.d(t,{Zm:()=\u003ec,bQ:()=\u003eu,dV:()=\u003ed,pV:()=\u003el});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:\"bam.nr-data.net\",errorBeacon:\"bam.nr-data.net\"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic\u0026\u0026(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length\u0026\u0026(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,[\"NT\",0,o])},2843(e,t,r){\"use strict\";r.d(t,{G:()=\u003es,u:()=\u003ei});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)(\"visibilitychange\",function(){if(t)return void(\"hidden\"===document.visibilityState\u0026\u0026e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)(\"pagehide\",e,t,r)}},8139(e,t,r){\"use strict\";r.d(t,{u:()=\u003ef});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d=\"addEventListener\",u=\"removeEventListener\",l=\"nr@wrapped:\".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get(\"events\")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],\"-\",g)}function g(e,t){return e[1]}return\"getPrototypeOf\"in Object\u0026\u0026(a.RI\u0026\u0026h(document,p),c\u0026\u0026h(c.prototype,p),h(a.gm,p)),r.on(d+\"-start\",function(e,t){var r=e[1];if(null!==r\u0026\u0026(\"function\"==typeof r||\"object\"==typeof r)\u0026\u0026\"newrelic\"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if(\"function\"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,\"fn-\",null,e.name||\"anonymous\"):r});this.wrapped=e[1]=n}}),r.on(u+\"-start\",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;\"object\"==typeof n\u0026\u0026!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n\u0026\u0026t(n,...r)}},3434(e,t,r){\"use strict\";r.d(t,{YM:()=\u003ed});var n=r(7836),i=r(5607),s=r(5732);const a=\"nr@original:\".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r=\"\");const o=\"-\"===r.charAt(0);for(let c=0;c\u003ct.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=\"\"),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty\u0026\u0026Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)\u0026\u0026(t[n]=e[n])}
12(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l=\"function\"==typeof i?i(a,o):i||{}}catch(t){u([t,\"\",[a,o,c],l],e)}d(n+\"start\",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+\"err\",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e\u003e=50,methodName:c,thrownError:g};t.isLongTask\u0026\u0026d(\"long-task\",[t,o,m],l,f),d(n+\"end\",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit(\"internal-error\",e)}catch(e){}}function l(e){return!(e\u0026\u0026\"function\"==typeof e\u0026\u0026e.apply\u0026\u0026!e[a])}r.d(t,[\"Jt\",0,a])},9300(e,t,r){\"use strict\";const n=r(860).K7.ajax;r.d(t,[\"TZ\",0,n,\"f5\",0,\"ajaxRequest.id\",\"mo\",0,{NONE:\"none\",FAILURES:\"failures\",ALL:\"all\"}])},3333(e,t,r){\"use strict\";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,[\"$v\",0,{RESOURCES:\"experimental.resources\",REGISTER:\"register\"},\"TZ\",0,i,\"Zp\",0,[\"auxclick\",\"click\",\"copy\",\"keydown\",\"paste\",\"scrollend\"],\"kd\",0,s,\"qN\",0,[\"focus\",\"blur\"]])},6774(e,t,r){\"use strict\";const n=r(860).K7.jserrors;r.d(t,[\"T\",0,n])},993(e,t,r){\"use strict\";const n=r(860).K7.logging;r.d(t,[\"A$\",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},\"TZ\",0,n,\"p_\",0,{ERROR:\"ERROR\",WARN:\"WARN\",INFO:\"INFO\",DEBUG:\"DEBUG\",TRACE:\"TRACE\"}])},3785(e,t,r){\"use strict\";r.d(t,{R:()=\u003ec,b:()=\u003ed});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,[\"API/logging/\".concat(c.toLowerCase(),\"/called\")],void 0,s.K7.metrics,e),(0,n.p)(\"log\",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return\"string\"==typeof e\u0026\u0026Object.values(o.p_).some(t=\u003et===e.toUpperCase().trim())}},3969(e,t,r){\"use strict\";const n=r(860).K7.metrics;r.d(t,[\"TZ\",0,n,\"XG\",0,\"storeEventMetrics\",\"xV\",0,\"storeSupportabilityMetrics\"])},6630(e,t,r){\"use strict\";const n=r(860).K7.pageViewEvent;r.d(t,[\"T\",0,n])},782(e,t,r){\"use strict\";const n=r(860).K7.pageViewTiming;r.d(t,[\"T\",0,n])},6344(e,t,r){\"use strict\";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
12;r.d(t,[\"Qb\",0,{API:\"api\",RESUME:\"resume\",SWITCH_TO_FULL:\"switchToFull\",INITIALIZE:\"initialize\",PRELOAD:\"preload\"},\"TZ\",0,i,\"Vh\",0,\"errorDuringReplay\",\"_s\",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},\"bc\",0,{RESET:{message:\"Session was reset\",sm:\"Reset\"},IMPORT:{message:\"Recorder failed to import\",sm:\"Import\"},TOO_MANY:{message:\"429: Too Many Requests\",sm:\"Too-Many\"},TOO_BIG:{message:\"Payload was too large\",sm:\"Too-Big\"},CROSS_TAB:{message:\"Session Entity was set to OFF on another tab\",sm:\"Cross-Tab\"},ENTITLEMENTS:{message:\"Session Replay is not allowed and will not be started\",sm:\"Entitlement\"}},\"yP\",0,s])},5270(e,t,r){\"use strict\";r.d(t,{Aw:()=\u003ea,SR:()=\u003es,rF:()=\u003eo});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO\u0026\u0026(0,i.V)(e)\u0026\u0026!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload\u0026\u0026s(e)}function o(e,t){try{if(\"string\"==typeof t?.type\u0026\u0026\"password\"===t.type.toLowerCase())return\"*\".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains(\"nr-unmask\"))return e}catch(e){}return\"string\"==typeof e?e.replace(/[\\S]/g,\"*\"):\"*\".repeat(e?.length||0)}},3738(e,t,r){\"use strict\";const n=r(860).K7.sessionTrace,i=\"-start\",s=\"-end\",a=\"fn\"+i,o=\"fn\"+s;r.d(t,[\"He\",0,\"bstResource\",\"Kp\",0,s,\"Lc\",0,o,\"Rz\",0,\"pushState\",\"TZ\",0,n,\"bD\",0,\"resource\",\"bc\",0,{CROSS_TAB:{message:\"Session Entity was set to OFF on another tab\"},ENTITLEMENTS:{message:\"Session Trace is not allowed and will not be started\"},RESET:{message:\"Session was reset\"},SESSION_CHANGED:{message:\"Session identifier changed unexpectedly\"}},\"d3\",0,i,\"uP\",0,a])},3962(e,t,r){\"use strict\";const n=r(860).K7.softNav;r.d(t,[\"O2\",0,{INITIAL_PAGE_LOAD:\"\",ROUTE_CHANGE:1,UNSPECIFIED:2},\"OV\",0,\"popstate\",\"Qu\",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},\"TZ\",0,n,\"ih\",0,{IP:\"in progress\",PF:\"pending finish\",FIN:\"finished\",CAN:\"cancelled\"},\"pP\",0,\"initialPageLoad\",\"tC\",0,[\"click\",\"keydown\",\"submit\"]])},4234(e,t,r){\"use strict\";r.d(t,{W:()=\u003ei});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){\"use strict\";var n=r(6154);r.d(t,[\"V\",0,e=\u003en.RI\u0026\u0026!0===e?.privacy.cookies_enabled])},8362(e,t,r){\"use strict\";r.d(t,{d:()=\u003es});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){\"use strict\";r.d(t,{W:()=\u003es});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e(\"log\",e,t)}start(){return this.#e(\"start\")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){\"use strict\";r.d(t,[\"BL\",0,\"finished\",\"CH\",0,\"recordReplay\",\"Dl\",0,\"setUserId\",\"Fw\",0,\"setPageViewName\",\"PA\",0,\"setCurrentRouteName\",\"Pv\",0,\"consent\",\"Tb\",0,\"pauseReplay\",\"U2\",0,\"addToTrace\",\"V1\",0,\"measure\",\"Wb\",0,\"wrapLogger\",\"bt\",0,\"setErrorHandler\",\"cD\",0,\"setCustomAttribute\",\"dT\",0,\"interaction\",\"eY\",0,\"register\",\"fF\",0,\"recordCustomEvent\",\"hG\",0,\"addPageAction\",\"hw\",0,\"api-ixn-\",\"k6\",0,\"addRelease\",\"nb\",0,\"setApplicationVersion\",\"o5\",0,\"
12noticeError\"])},1738(e,t,r){\"use strict\";r.d(t,{U:()=\u003el,Y:()=\u003eu});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]\u0026\u0026u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,[\"API/\"+e+\"/called\"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:\"data\",name:\"api\",feature:\"api-\"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)\u0026\u0026(0,i.p)(\"api-\"+n,[(0,s.t)(),t,r],void 0,\"session\",e.ee)}},8374(e,t,r){r.nc=(()=\u003e{try{return document?.currentScript?.nonce}catch(e){}return\"\"})()},860(e,t,r){\"use strict\";const n=\"events\",i=\"jserrors\",s=\"browser/blobs\",a=\"browser/logs\",o={ajax:\"ajax\",genericEvents:\"generic_events\",jserrors:i,logging:\"logging\",metrics:\"metrics\",pageAction:\"page_action\",pageViewEvent:\"page_view_event\",pageViewTiming:\"page_view_timing\",sessionReplay:\"session_replay\",sessionTrace:\"session_trace\",softNav:\"soft_navigations\"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:\"rum\",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:\"ins\"};r.d(t,[\"$J\",0,d,\"K7\",0,o,\"P3\",0,c,\"XX\",0,i,\"Yy\",0,a,\"df\",0,s,\"hg\",0,\"connect\"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=\u003e{if(Array.isArray(t))for(var n=0;n\u003ct.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s\u0026\u0026n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)\u0026\u0026!r.o(e,i)\u0026\u0026Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=\u003ePromise.all(Object.keys(r.f).reduce((t,n)=\u003e(r.f[n](e,t),t),[])),r.u=e=\u003e({212:\"nr-spa-compressor\",238:\"nr-spa-iframe-message-handler\",249:\"nr-spa-recorder\",478:\"nr-spa\"}[e]+\"-1.323.0.min.js\"),r.o=(e,t)=\u003eObject.prototype.hasOwnProperty.call(e,t),(()=\u003e{const e={},t=\"NRBA-1.323.0.PROD:\";r.l=(n,i,s,a)=\u003e{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName(\"script\");for(var d=0;d\u003ce.length;d++){const r=e[d];if(r.getAttribute(\"src\")==n||r.getAttribute(\"data-webpack\")==t+s){o=r;break}}}if(!o){c=!0;var u={478:\"sha512-ORjtmy+nQMgxbu0os8+oTRa5sPzbinyuWSvpZrrstVLIaHofRRlfODdH+oUmkIgeQpM+vPf3vG/4RzvCsFVh1A==\",249:\"sha512-o7+K6xC0z3TqynjVxpd+jgiSgqy8rrPeRcUSqt5J0Rqg5Su5CycLMYfpwiM3WBCHiNDrG5aZoXJQ6HRc335XYQ==\",212:\"sha512-kRvBt1IYQDBnClTEWNaE8sDFqbXXM3Vdyf972Uf4MFbJxl7u3KmdO+jdB1H4achPEoT9YtNXHswaESey6sCH0A==\",238:\"sha512-U5EGmyYbFVR2UMNAuZJ7fTgVVtPa5b8RPMySDwXo7z3frRdkUJ2x1VAQTLQCeBab8VlGVGRV8FiSHIn/pwN72A==\"};o=document.createElement(\"script\"),o.charset=\"utf-8\",r.nc\u0026\u0026o.setAttribute(\"nonce\",r.nc),o.setAttribute(\"data-webpack\",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+\"/\")\u0026\u0026(o.crossOrigin=\"anonymous\"),u[a]\u0026\u0026(o.integrity=u[a])}e[n]=[i];const l=(t,r)=\u003e{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=\u003ee(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:\"timeout\",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c\u0026\u0026document.head.appendChild(o)}})(),r.r=e=\u003e{Symbol.toStringTag\u0026\u0026Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.p=\"https://js-agent.newrelic.com/\",(()=\u003e{const e={38:0,788:0};r.f.j=(t,n)=\u003e{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=\u003ei=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=\u003e{if(r.o(e,t)\u0026\u0026(i=e[t],0!==i\u0026\u0026(e[t]=void 0),i)){const e=n\u0026\u0026(\"load\"===n.type?\"missing\":n.type),r=n\u0026\u0026n.target\u0026\u0026n.target.src;o.message=\"Loading chunk \"+t+\" failed: (\"+e+\": \"+r+\")\",o.name=\"ChunkLoadError\",o.type=e,o.request=r,i[1](o)}};r.l(a,c,\"chunk-\"+t,t)}};const t=(t,n)=\u003e{let[i,s,a]=n;var o,c,d=0;if(i.some(t=\u003e0!==e[t])){for(o in s)r.o(s,o)\u0026\u0026(r.m[o]=s[o]);if(a)a(r)}for(t\u0026\u0026t(n);d\u003ci.length;d++)c=i[d],r.o(e,c)\u0026\u0026e[c]\u0026\u0026e[c][0](),e[c]=0},n=self[\"webpackChunk:NRBA-1.323.0.PROD\"]=self[\"webpackChunk:NRBA-1.323.0.PROD\"]||[];
12n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=\u003e{\"use strict\";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=\u003e{if(!e||\"string\"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h=\"[data-nr-mask]\",p=e=\u003e(0,f.a)(e,(()=\u003e{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:\"*\",block_selector:\"[data-nr-block]\",mask_input_options:{color:!1,date:!1,\"datetime-local\":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector=\"\".concat(t,\",\").concat(h):\"\"===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return\"nr-block\"},get ignore_class(){return\"nr-ignore\"},get mask_text_class(){return\"nr-mask\"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=\",\".concat(t):\"\"!==t\u0026\u0026(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t\u0026\u0026\"object\"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:[\"id\",\"className\",\"tagName\",\"type\"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:\"PROD\",distMethod:\"CDN\",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv\u0026\u0026(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=\u003e{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=\u003e(e[t]={value:y[t],writable:!1,
12configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{\"entity.guid\":this.id,appId:e.info.applicationID}}},v.proxy.assets\u0026\u0026(e=\u003e{const t=e.startsWith(\"http\");e+=\"/\",r.p=t?e:\"https://\"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,\"beacons\",{get:()=\u003e[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,\"denyList\",{get:()=\u003e[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=\u003e{const n=s.W.prototype[r];if(\"function\"!=typeof n||\"constructor\"===n)return;let i=t[r];e[r]\u0026\u0026!1!==e.exposed\u0026\u0026\"micro-agent\"!==e.runtime?.loaderType\u0026\u0026(t[r]=(...t)=\u003e{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:\"lifecycle\",name:\"initialize\",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge\u0026\u0026g.gm.addEventListener(\"message\",t=\u003e{\"string\"==typeof t.data?.type\u0026\u0026t.data.type.startsWith(x.Pl)\u0026\u0026(0,S.p)(\"iframe-message\",[t],void 0,\"IFRAME\",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=\u003e{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=\u003e{this.ee.on(\"manual-start-all\",(0,C.J)(()=\u003e{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=\u003e{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=\u003e{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit(\"internal-error\",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=\u003ee.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=\u003ee.onAggregateImported)).then(()=\u003ee.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=\u003ei(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)\u0026\u0026!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)\u0026\u0026(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){\"string\"
12==typeof e\u0026\u0026(\"/\"!==e.charAt(0)\u0026\u0026(e=\"/\"+e),t.runtime.customTransaction=(r||\"http://custom.transaction\")+e,(0,S.p)(\"api-\"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=\u003ee.init.feature_flags.includes(\"rum_v2\")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=\u003e{e\u0026\u0026(0,T.W)({timeStamp:e.timeStamp,loaded:\"complete\"===e.target.readyState,type:\"window\",name:t,data:e.target.location+\"\"})};(0,P.sB)(t=\u003e{e(t,\"DOMContentLoaded\")}),(0,P.GG)(t=\u003e{e(t,\"load\")}),(0,P.Qr)(t=\u003e{e(t,\"navigate\")}),this.ee.on(u.tS.UPDATE,(e,t)=\u003e{(0,T.W)({type:\"lifecycle\",name:\"session\",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||\"agent\"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if(\"string\"==typeof e){if([\"string\",\"number\",\"boolean\"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if(\"string\"!=typeof t\u0026\u0026null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes[\"enduser.id\"];r\u0026\u0026null!=n\u0026\u0026n!==t?(0,S.p)(\"api-setUserIdAndResetSession\",[t],void 0,\"session\",e.ee):(0,N.U)(e,\"enduser.id\",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if(\"string\"==typeof t||null===t)return(0,N.U)(e,\"application.version\",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)(\"start\",function(){e.ee.emit(\"manual-start-all\")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if(\"boolean\"==typeof t){if((0,S.p)(\"api-\"+k.Pv,[t],void 0,\"session\",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=\u003e{const r=t.featAggregate;e\u0026\u0026!r.sentRum\u0026\u0026r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=\u003e{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes(\"rum_v2\");r.sort((e,r)=\u003et.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=\u003e{if(!e[r.featureName]\u0026\u0026(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=\u003e!(e in this.features));n.length\u003e0\u0026\u0026(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI\u0026\u0026((0,V.u)(()=\u003e(0,S.p)(\"docHidden\",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=\u003e(0,S.p)(\"winPagehide\",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name=\"UncaughtError\",this.message=\"string\"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t=\"Unhandled Promise Rejection: \";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||\"\").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError\u0026\u0026!/:\\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error\u0026\u0026!!e.stack}
12function ie(e,r,n,i,s=(0,_.t)()){\"string\"==typeof e\u0026\u0026(e=new Error(e)),(0,S.p)(\"err\",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)(\"uaErr\",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)(\"api-\"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if(\"object\"!=typeof d.customAttributes||\"string\"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=\u003enull==e?t:\"number\"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration\u003c0))return(0,S.p)(\"api-\"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)(\"api-\"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=\u003ee?.nrMfeId===t.id\u0026\u0026(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=\u003e{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=\u003e{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=\u003e{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id=\"'.concat(he(e.id),'\"]')),n=(Array.from(r)||[]).find(t=\u003efe(t.dataset,e));let i=!!n;i\u0026\u0026(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=\u003e{r.forEach(r=\u003e{r.addedNodes.forEach(r=\u003e{const n=1===r.nodeType?r:null;!i\u0026\u0026fe(n?.dataset,e)\u0026\u0026(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=\u003e{try{return e?.textContent?.trim()||[\"img\",\"video\",\"canvas\",\"svg\"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)\u0026\u0026(i||pe(r,e))\u0026\u0026t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=\u003e{try{const n=new g.gm.PerformanceObserver(e=\u003e{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=\u003enull==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e\u003e1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=\u003e{}};if(!(e\u0026\u0026g.RI\u0026\u0026g.gm.MutationObserver\u0026\u0026g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=\u003e{r||a.disconnect()},1e4);const c=()=\u003e{if(!i){if(null==r){const e=(0,_.t)();if(s(e)\u003e1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=\u003e{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=\u003e{i||e.forEach(e=\u003e{try{const t=e.contentRect.width*e.contentRect.height;t\u003eu\u0026\u0026(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=\u003e{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t\u0026\u0026!f.has(t)\u0026\u0026(f.add(t),\"IMG\"===t.tagName?t.complete?l.observe(t):t.addEventListener(\"load\",()=\u003e{l.observe(t)},{once:!0}):\"VIDEO\"===t.tagName?t.readyState\u003e=2?l.observe(t):t.addEventListener(\"loadeddata\",()=\u003e{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l\u0026\u0026o.push(l),o.push(h),me(o,{type:\"layout-shift\",buffered:!0},t=\u003e{i||t.hadRecentInput||(t.sources||[]).some(r=\u003e!!pe(r.node,e)\u0026\u0026(c(),a.cls.value+=t.value,!0))}),me(o,{type:\"event\",buffered:!0,durationThreshold:40},t=\u003e{!i\u0026\u0026t.interactionId\u0026\u0026pe(t.target,e)\u0026\u0026(void 0===a.inp.value||t.duration\u003ea.inp.value)\u0026\u0026(c(),a.inp.value=t.duration)});
12const p=[\"pointerdown\",\"keydown\"],m=()=\u003e{p.forEach(e=\u003e{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=\u003e{i=!0,o.forEach(e=\u003e{try{e?.disconnect()}catch(e){}}),m(),[\"visibilitychange\",\"pagehide\"].forEach(e=\u003e{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=\u003e{pe(t?.target,e)\u0026\u0026((()=\u003e{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=\u003e{g.gm.addEventListener(e,v,{passive:!0})}),[\"visibilitychange\",\"pagehide\"].forEach(e=\u003e{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id=\"'.concat(he(e.id),'\"]'));return Array.from(y||[]).some(t=\u003efe(t.dataset,e))\u0026\u0026c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=[\"entry\",\"scripts\",\"all\"],Re=[\"name\",\"id\",\"type\"],Te=new Map([[ce,\"addPageAction\"],[oe,\"log\"],[de,\"measure\"],[ie,\"noticeError\"],[ue,\"recordCustomEvent\"]]),Ae={experimental:(0,C.J)(()=\u003e(0,l.R)(54,\"newrelic.register\")),disabled:(0,C.J)(()=\u003e(0,l.R)(55)),invalidTarget:(0,C.J)(e=\u003e(0,l.R)(48,e)),deregistered:(0,C.J)(()=\u003e(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=\u003e(0,l.R)(80,e)),duplicateName:(0,C.J)(e=\u003e(0,l.R)(81,e)),duplicateId:(0,C.J)(e=\u003e(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,(\"object\"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))\u0026\u0026(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invalidTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest\u0026\u0026(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(\"\"+location),a={};Object.prototype.hasOwnProperty.call(r,\"attributes\")||Object.defineProperty(r,\"attributes\",{get:()=\u003e({...a,\"source.id\":r.id,\"source.name\":r.name,\"source.type\":r.type,\"parent.type\":r.parent?.type||w.f.BA,\"parent.id\":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=\u003e{Re.includes(e)||(a[\"source.\".concat(e)]=t)});let o=()=\u003e{};const c=e.runtime.registeredEntities,d=e=\u003e{r.blocked=!0,o=e};function u(e){return\"string\"==typeof e\u0026\u0026!!e.trim()\u0026\u0026e.trim().length\u003c501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)\u0026\u0026u(r.name)||d(()=\u003eAe.invalidTarget(r)),c.forEach(e=\u003e{try{const{name:t,id:n}=e.metadata.target;t===r.name\u0026\u0026n!==r.id\u0026\u0026Ae.duplicateName(r),n===r.id\u0026\u0026t!==r.name\u0026\u0026Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=\u003em(ce,[t,{...a,...n},e],r),deregister:()=\u003e{p(),d(Ae.deregistered)},log:(t,n={})=\u003em(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=\u003em(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=\u003em(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=\u003em(ue,[t,{...a,...n},e],r),setApplicationVersion:e=\u003eg(\"application.version\",e),setCustomAttribute:(e,t)=\u003eg(e,t),setUserId:e=\u003eg(\"enduser.id\",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=\u003e(r.blocked\u0026\u0026o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(\"\"+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
12imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking\u0026\u0026{renderBlocking:n.renderBlocking},...i.fcp.value\u003e=0\u0026\u0026{\"vitals.fcp.value\":i.fcp.value},...i.lcp.value\u003e=0\u0026\u0026{\"vitals.lcp.value\":i.lcp.value},...i.cls.value\u003e=0\u0026\u0026{\"vitals.cls.value\":i.cls.value},...i.inp.value\u003e=0\u0026\u0026{\"vitals.inp.value\":i.inp.value}};f.recordCustomEvent(\"MicroFrontEndTiming\",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=\u003e{h()||(a[e]=t)},m=(r,n,i)=\u003e{if(h()\u0026\u0026r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||\"unknown\";(0,S.p)(q.xV,[\"API/register/\".concat(a,\"/called\")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=\u003eie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t\u003e10||(this.runtime.releaseIds[e.slice(-200)]=(\"\"+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on(\"internal-error\",(t,r)=\u003e{this.abortHandler\u0026\u0026(0,S.p)(\"ierr\",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener(\"unhandledrejection\",t=\u003e{this.abortHandler\u0026\u0026(0,S.p)(\"err\",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener(\"error\",t=\u003e{this.abortHandler\u0026\u0026(0,S.p)(\"err\",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||\"object\"!==t\u0026\u0026\"function\"!==t?-1:e===g.gm?0:(0,_e.I)(e,\"nr@id\",function(){return ke++})}function Le(e){if(\"string\"==typeof e)return e.length;if(\"object\"==typeof e){if(\"undefined\"!=typeof ArrayBuffer\u0026\u0026e instanceof ArrayBuffer\u0026\u0026e.byteLength)return e.byteLength;if(\"undefined\"!=typeof Blob\u0026\u0026e instanceof Blob\u0026\u0026e.size)return e.size;if(!(\"undefined\"!=typeof FormData\u0026\u0026e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=[\"open\",\"send\",\"setRequestHeader\"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get(\"xhr\")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d=\"readystatechange\",u=[\"onload\",\"onerror\",\"onabort\",\"onloadstart\",\"onloadend\",\"onprogress\",\"ontimeout\"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit(\"new-xhr\",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState\u003e3\u0026\u0026!o.resolved\u0026\u0026(o.resolved=!0,n.emit(\"xhr-resolved\",[],e)),i.inPlace(e,u,\"fn-\",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit(\"internal-error\",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,[\"onreadystatechange\"],\"fn-\",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,\"-xhr-\",E),n.on(\"send-xhr-start\",function(e,t){p(e,t),function(e){f.push(e),a\u0026\u0026(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on(\"open-xhr-start\",p),a){var m=o\u0026\u0026o.resolve();if(!c\u0026\u0026!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on(\"fn-end\",function(e){e[0]\u0026\u0026e[0].type===d||b()});function b(){for(var e=0;e\u003cf.length;e++)p(0,f[e]);f.length\u0026\u0026(f=[])}function E(e,t){return t}return n}var Be=\"fetch-\",He=Be+\"body-\",We=[\"arrayBuffer\",\"blob\",\"json\",\"text\",\"formData\"],Ue=g.gm.Request,Ke=g.gm.Response,Fe=\"prototype\";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get(\"fetch\")}(e);if(!(Ue\u0026\u0026Ke\u0026\u0026g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];\"function\"==typeof s\u0026\u0026(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+\"before-start\",[e],n),n[R.P]\u0026\u0026n[R.P].dt\u0026\u0026(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+\"start\",[e,o],c),c.then(function(e){return r.emit(i+\"end\",[null,e,a],c),e},function(e){throw r.emit(i+\"end\",[e,void 0,a],c),e})})}
12return Ve[r.debugId]=1,We.forEach(e=\u003e{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,\"fetch\",Be),r.on(Be+\"end\",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get(\"content-length\");null!==a\u0026\u0026(s.rxSize=a),r.emit(Be+\"done\",[null,n],s)}else r.emit(Be+\"done\",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||\"\").toString()||null,n=(t.agentID||\"\").toString()||null,i=(t.trustKey||\"\").toString()||null;if(!r||!n)return null;var s,a=(0,ye.ZF)(),o=(0,ye.el)(),c=Date.now();this.agentRef.runtime?.timeKeeper?.ready\u0026\u0026(s=Math.floor(this.agentRef.runtime.timeKeeper.correctAbsoluteTimestamp(c)));var d={spanId:a,traceId:o,timestamp:c,timestampCorrected:s};return(e.sameOrigin||this.isAllowedOrigin(e)\u0026\u0026this.useTraceContextHeadersForCors())\u0026\u0026(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,o),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,s??c,r,n,i)),(e.sameOrigin\u0026\u0026!this.excludeNewrelicHeader()||!e.sameOrigin\u0026\u0026this.isAllowedOrigin(e)\u0026\u0026this.useNewrelicHeaderForCors())\u0026\u0026(d.newrelicHeader=this.generateTraceHeader(a,o,s??c,r,n,i)),d}generateTraceContextParentHeader(e,t){return\"00-\"+t+\"-\"+e+\"-01\"}generateTraceContextStateHeader(e,t,r,n,i){return i+\"@nr=0-1-\"+r+\"-\"+n+\"-\"+e+\"----\"+t}generateTraceHeader(e,t,r,n,i,s){if(!(\"function\"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:\"Browser\",ac:n,ap:i,id:e,tr:t,ti:r}};return s\u0026\u0026n!==s\u0026\u0026(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled\u0026\u0026this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n\u003cr.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname\u0026\u0026e.protocol===i.protocol\u0026\u0026e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e\u0026\u0026!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e\u0026\u0026!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e\u0026\u0026!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return\"string\"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL\u0026\u0026e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+\":\"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=[\"load\",\"error\",\"abort\",\"timeout\"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt=\"X-NewRelic-App-Data\",rt=\"internal-error\";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=\u003e(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:\"xhr\",fetch:\"fetch\",beacon:\"beacon\"};g.gm?.performance?.getEntriesByType(\"resource\").forEach(r=\u003e{if(r.initiatorType in e\u0026\u00260!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler(\"xhr\",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener(\"load\",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener(\"progress\",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid\u0026\u0026this.sameOrigin\u0026\u0026r.setRequestHeader(\"X-NewRelic-ID\",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader\u0026\u0026(r.setRequestHeader(\"newrelic\",n.newrelicHeader),s=!0),n.traceContextParentHeader\u0026\u0026(r.setRequestHeader(\"traceparent\",n.traceContextParentHeader),n.traceContextStateHeader\u0026\u0026r.setRequestHeader(\"tracestate\",n.traceContextStateHeader),s=!0),s\u0026\u0026(this.dt=n)}}function u(e,t){s\u0026\u0026e.length\u003e=2\u0026\u0026(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n\u0026\u0026i){var a=Le(i);a\u0026\u0026(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{\"abort\"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),(\"load\"!==e.type||s.called===s.totalCbs\u0026\u0026(s.onloadCalled||\"function\"!=typeof t.onload)\u0026\u0026\"function\"==typeof s.end)\u0026\u0026s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o\u003cXe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled\u0026\u0026\"function\"==typeof r.onload||\"function\"!=typeof this.end||this.end(r)}function h(e,t){var r=\"\"+Ne(e)+!!t;this.xhrGuids\u0026\u0026!this.xhrGuids[r]\u0026\u0026(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=\"\"+Ne(e)+!!t;this.xhrGuids\u0026\u0026this.xhrGuids[r]\u0026\u0026(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et\u0026\u0026\"load\"===e[0]\u0026\u0026r.emit(\"xhr-load-added\",[e[1],e[2]],t)}function y(e,t){t instanceof et\u0026\u0026\"load\"===e[0]\u0026\u0026r.emit(\"xhr-load-removed\",[e[1],e[2]],t)}function b(e,t,r){t instanceof et\u0026\u0026(\"onload\"===r\u0026\u0026(this.onload=!0),(\"load\"===(e[0]\u0026\u0026e[0].type)||this.onload)\u0026\u0026(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart\u0026\u0026r.emit(\"xhr-cb-time\",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};
12if(\"string\"==typeof e[0]?0===(t=e[0]).length\u0026\u0026g.RI\u0026\u0026(t=\"\"+g.gm.location.href):e[0]\u0026\u0026e[0].url?t=e[0].url:g.gm?.URL\u0026\u0026e[0]\u0026\u0026e[0]instanceof URL?t=e[0].href:\"function\"==typeof e[0].toString\u0026\u0026(t=e[0].toString()),\"string\"==typeof t\u0026\u00260!==t.length){t\u0026\u0026(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n\u0026\u0026(n.newrelicHeader||n.traceContextParentHeader))if(e[0]\u0026\u0026e[0].headers)o(e[0].headers,n)\u0026\u0026(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)\u0026\u0026(this.dt=n),e.length\u003e1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader\u0026\u0026(e.set(\"newrelic\",t.newrelicHeader),r=!0),t.traceContextParentHeader\u0026\u0026(e.set(\"traceparent\",t.traceContextParentHeader),t.traceContextStateHeader\u0026\u0026e.set(\"tracestate\",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(\"\"+(r\u0026\u0026r instanceof Qe\u0026\u0026r.method||n.method||\"GET\")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s\u0026\u0026a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if(\"object\"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=\u003e{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,\"fetch\"];this.targets.forEach(e=\u003ex(n,this,e))};t\u0026\u0026s?t.clone().text().then(e=\u003e{this.responseBody=e,this.rxSize\u0026\u0026\"0\"!==this.rxSize\u0026\u00260!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers\u0026\u0026(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=\u003e{r.emit(rt,[e])}).finally(()=\u003e{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t\u003cXe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status\u0026\u0026(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)\u0026\u0026void 0!==this.responseBody\u0026\u00260!==t.status){const e=Le(this.responseBody);void 0!==e\u0026\u0026(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split(\"\\r\\n\").forEach(function(e){const r=e.indexOf(\": \");if(r\u003e0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,\"xhr\"];this.targets.forEach(e=\u003ex(i,this,e))}function x(e,r,i){n(\"xhr\",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return\"json\"===r\u0026\u0026null!==t?t:\"arraybuffer\"===r||\"blob\"===r||\"json\"===r?Le(e.response):\"text\"===r||\"\"===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i\u0026\u00260!==n.status\u0026\u0026(e.metrics.rxSize=i),e.sameOrigin\u0026\u0026n.getAllResponseHeaders().indexOf(tt)\u003e=0){var s=n.getResponseHeader(tt);s\u0026\u0026((0,S.p)(\"sm\",[\"Ajax/CrossApplicationTracing/Header/Seen\"],void 0,t.K7.metrics,r),e.params.cat=s.split(\", \").pop())}e.loadCaptureCalled=!0}r.on(\"new-xhr\",a),r.on(\"open-xhr-start\",o),r.on(\"open-xhr-end\",d),r.on(\"send-xhr-start\",l),r.on(\"setRequestHeader-xhr-start\",u),r.on(\"xhr-cb-time\",f),r.on(\"xhr-load-added\",h),r.on(\"xhr-load-removed\",p),r.on(\"xhr-resolved\",m),r.on(\"addEventListener-end\",v),r.on(\"removeEventListener-end\",y),r.on(\"fn-end\",E),r.on(\"fetch-before-start\",w),r.on(\"fetch-start\",R),r.on(\"fn-start\",b),r.on(\"fetch-done\",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,3845)))}}const it={},st=[\"pushState\",\"replaceState\"];function at(e,t){const r=function(e){return(e||R.ee).get(\"history\")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,\"-\")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n\u003c0\u0026\u0026(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:\"nr\"}),(0,S.p)(\"api-\"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e\u0026\u0026\"object\"==typeof e\u0026\u0026e.name\u0026\u0026e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||\"\",t:\"api\"};r.s\u003c0||r.e\u003c0||r.e\u003cr.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)(\"bstApi\",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
12if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)(\"bst\",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)(\"bstHist\",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=\u003e{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s=\"\".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)\u0026\u0026this.ee.on(k.CH,()=\u003ethis.#s()),this.#a(i)\u0026\u0026this.importRecorder().then(e=\u003e{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=\u003er.e(478).then(r.bind(r,6167)),this),this.ee.on(\"err\",e=\u003e{this.blocked||this.agentRef.runtime.isRecording\u0026\u0026(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e\u0026\u0026(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=\u003e(this.recorder=new e(this),this.recorder)).catch(e=\u003e{throw this.ee.emit(\"internal-error\",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL\u0026\u0026this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=\u003e{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get(\"tracer\");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get(\"object\"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o=\"function\"==typeof i;return(0,S.p)(q.xV,[\"API/createTracer/called\"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?\"\":\"no-\")+\"fn-start\",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t=\"string\"==typeof e?new Error(e):e;throw r.emit(\"fn-err\",[arguments,this,t],s),t}finally{r.emit(\"fn-end\",[(0,_.t)()],s)}}}};[\"actionText\",\"setName\",\"setAttribute\",\"save\",\"ignore\",\"onEnd\",\"getContext\",\"end\",\"get\"].forEach(r=\u003e{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+\"routeName\",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=\u003e{(0,J.sp)(e,e=\u003e{c(e)},!0,this.removeOnAbort?.signal)}
12);const s=()=\u003e(0,S.p)(\"newURL\",[(0,_.t)(),\"\"+window.location],void 0,this.featureName,this.ee);n.on(\"pushState-end\",s),n.on(\"replaceState-end\",s),(0,J.sp)(wt.OV,e=\u003e{c(e),(0,S.p)(\"newURL\",[e.timeStamp,\"\"+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=\u003e{a||(a=!0,requestAnimationFrame(()=\u003e{(0,S.p)(\"newDom\",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=\u003e{\"loading\"!==document.readyState\u0026\u0026((0,S.p)(\"newUIEvent\",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return\"string\"==typeof e?{type:\"string\",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:\"ArrayBuffer\",size:e.byteLength}:e instanceof Blob?{type:\"Blob\",size:e.size}:e instanceof DataView?{type:\"DataView\",size:e.byteLength}:ArrayBuffer.isView(e)?{type:\"TypedArray\",size:e.byteLength}:{type:\"unknown\",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(\",\"):t||\"\",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason=\"unknown\",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes(\"websockets\")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes(\"no_spv\"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=\u003ece(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=\u003eue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=\u003ede(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=\u003e{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get(\"websockets\");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=\u003e{const e=(0,_.t)();St.forEach(t=\u003e{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason=\"Page navigating away\",t.nrData.closeWasClean=!1,t.nrData.openedAt\u0026\u0026(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit(\"ws\",[t.nrData,t.targets],t)})});
12class n extends WebSocket{static name=Tt.R.WS;static toString(){return\"function WebSocket() { [native code] }\"}toString(){return\"[object WebSocket]\"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener(\"open\",()=\u003e{this.nrData.openedAt=(0,_.t)(),[\"protocol\",\"extensions\",\"binaryType\"].forEach(e=\u003e{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener(\"message\",e=\u003e{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??\"\").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?\"\".concat(this.nrData.messageTypes,\",\").concat(t):t)}),this.addEventListener(\"close\",e=\u003e{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason\u0026\u0026(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit(\"ws\",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i=\"function\"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??\"\").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?\"\".concat(this.nrData.sendTypes,\",\").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on(\"ws\",(e,t)=\u003e{(0,S.p)(\"ws-complete\",[e,t],void 0,this.featureName,this.ee)})}if(s){if(\"function\"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=\u003e{e.forEach(e=\u003e{(0,S.p)(\"spv\",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:[\"csp-violation\"],buffered:!0});l.observe()}g.gm.addEventListener(\"securitypolicyviolation\",e=\u003e{(0,S.p)(\"spv\",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+\":\"+r.port)}function h(){d.emit(\"navChange\")}o.Zp.forEach(e=\u003e(0,J.sp)(e,e=\u003e(0,S.p)(\"ua\",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
12h(e=\u003e{const t=(0,C.s)(e=\u003e{(0,S.p)(\"ua\",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener(\"error\",()=\u003e{(0,S.p)(\"uaErr\",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on(\"open-xhr-start\",(e,r)=\u003e{f(e[1])||r.addEventListener(\"readystatechange\",()=\u003e{2===r.readyState\u0026\u0026(0,S.p)(\"uaXhr\",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on(\"fetch-start\",e=\u003e{e.length\u003e=1\u0026\u0026!f(Ze(e[0]))\u0026\u0026(0,S.p)(\"uaXhr\",[],void 0,t.K7.genericEvents,this.ee)}),d.on(\"pushState-end\",h),d.on(\"replaceState-end\",h),window.addEventListener(\"hashchange\",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener(\"popstate\",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled\u0026\u0026g.gm.PerformanceObserver?.supportedEntryTypes.includes(\"resource\")){new PerformanceObserver(e=\u003e{e.getEntries().forEach(e=\u003e{(0,S.p)(\"browserPerformance.resource\",[e],void 0,this.featureName,this.ee)})}).observe({type:\"resource\",buffered:!0})}}a.some(e=\u003ee)?this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:\"reporting\"===t.disposition?\"report\":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if(\"object\"!=typeof t||!t||\"string\"!=typeof r||!r||\"function\"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get(\"logger\")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],\"wrap-logger-\",()=\u003eLt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)(\"log\",(e,r)=\u003eoe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=\u003e{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;[\"log\",\"error\",\"warn\",\"info\",\"debug\",\"trace\"].forEach(t=\u003e{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:\"log\"===t?\"info\":t},void 0,e)}),this.ee.on(\"wrap-logger-end\",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=\u003e{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=\u003er.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:\"spa\"})})()})();2:[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"$L7\",null,{\"id\":\"nr-browser-agent\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"$4a\"}}]}],\"$L4b\"]}]\n4b:[\"$\",\"body\",null,{\"className\":\"urbanist_75951769-module__e4Avoa__className antialiased\",\"children\":\"$L4c\"}]\n4d:I[666688,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\"],\"ClientClerkProvider\"]\n4e:I[421549,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\"],\"CSPostHogProvider\"]\n4c:[\"$\",\"$L4d\",null,{\"initialState\":\"$undefined\",\"publishableKey\":\"pk_live_Y2xlcmsucGlucG8uYWkk\",\"__internal_clerkJSUrl\":\"$undefined\",\"__internal_clerkJSVersion\":\"$undefined\",\"__internal_clerkUIUrl\":\"$undefined\",\"__internal_clerkUIVersion\":\"$undefined\",\"prefetchUI\":\"$undefined\",\"proxyUrl\":\"\",\"domain\":\"\",\"isSatellite\":false,\"signInUrl\":\"/signin\",\"signUpUrl\":\"/signup\",\"signInForceRedirectUrl\":\"/post-login\",\"signUpForceRedirectUrl\":\"/post-login\",\"signInFallbackRedirectUrl\":\"/post-login\",\"signUpFallbackRedirectUrl\":\"/post-login\",\"newSubscriptionRedirectUrl\":\"\",\"telemetry\":{\"disabled\":false,\"debug\":false}
12,\"sdkMetadata\":{\"name\":\"@clerk/nextjs\",\"version\":\"7.9.7\",\"environment\":\"production\"},\"unsafe_disableDevelopmentModeConsoleWarning\":false,\"__internal_scriptsSlot\":\"$undefined\",\"children\":[\"$\",\"$L4e\",null,{\"children\":\"$L4f\"}]}]\n3f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n50:I[410175,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\"],\"default\"]\n51:T63a,**Client**: Refers to any natural or legal person, holder of a Client Account, who connects to the Platform to use the Services and benefits from a Platform usage license granted by PINPO.\n\n**Client Account**: Refers to the account created by the Client, from which they access the Platform Services, in accordance with the License described herein;\n\n**Data**\n- **Client Data**: refers, in the context of Platform use, to all types of information, data, and content, collected, hosted then processed and used by PINPO and which remain the entire property of the Client;\n- **Personal Data**: refers to all types of information, data and content, collected and processed in the context of Service use, hosted by PINPO, which, within the meaning of the Data Protection Act of January 6, 1978 as amended and Regulation (EU) 2016/679 of April 27, 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, allow to designate or identify, directly or indirectly, a natural person;\n\n**Lead**: Refers to a commercial contact, qualified or not, having sent a contact request to the Client;\n\n**Platform**: Refers to all web and server software components making up the PINPO Platform, developed and published by PINPO who holds exclusive ownership, allowing the User to access the Services, and accessible at [https://www.pinpo.com](https://www.pinpo.com);\n\n**User**: Refers to any natural or legal person, including Clients but also persons who have not opened an account on the Platform and who would browse and consult the Platform.52:T67d,Any violation of these Terms authorizes PINPO to refuse future access to Services to the User who committed the violation, as well as to close any Account allowing access to Services, without prejudice to damages that could be claimed from the author of said violation by PINPO.\n\nIn this regard, it is strictly forbidden to use the Services for the following purposes:\n- exercising illegal, fraudulent activities or infringing the rights or security of Third Parties,\n- breaching public order or violating laws and regulations in force,\n- intrusion into a third party's computer system or any activity likely to harm, control, interfere with, or intercept all or part of a third party's computer system, violating its integrity or security,\n- sending unsolicited emails and/or commercial prospecting or solicitation,\n- manipulations intended to improve the ranking of a third-party site,\n- aiding or inciting, in any form and in any manner whatsoever, one or more of the acts and activities described above,\n- and more generally any practice diverting the Services for purposes other than those for which they were designed.\n\nAlso strictly prohibited are:\n- any behavior likely to interrupt, suspend, slow down or prevent the continuity of Services,\n- any intrusion or attempted intrusion into PINPO's systems,\n- any diversion of Platform system resources,\n- any action likely to impose a disproportionate load on Platform infrastructures,\n- any breach of security and authentication measures,\n- any act likely to harm the financial, commercial or moral rights and interests of PINPO or Users of its site,\n- and finally more generally any breach of these Terms.53:T7c5,**7.1 Scope of rights granted**\nPINPO grants the User who accepts it a non-exclusive, non-assignable and non-transferable license to use the Platform, for the duration of Platform use and in territories worldwide (hereinafter the \"License\") to allow the User to access the Services.\n\n**7.2 Usage restrictions**\nThe User expressly refrains from any other act of use or exploitation of the Platform, and in particular:\n- Making any copy of all or part of the softw
12are solutions composing the Platform;\n- Reproducing permanently or temporarily the Platform made available, in whole or in part, by any means and in any form, including during loading, display, execution or storage of the Platform;\n- Practicing reverse engineering, decompiling or disassembling the Platform, computer program(s) and software solution(s), except as expressly authorized by applicable law;\n- Modifying, altering, adapting or making any change of any nature whatsoever to the presentation and content of the Platform, computer program(s) and software solution(s), trademark, trade name, logos etc. affixed to the Platform, its presentation, or not removing identification and ownership mentions of the Platform, including contributor names;\n- Translating, adapting, arranging or modifying all or part of the Platform, exporting it, merging it with other computer applications;\n- Renting, lending, using the computer program(s) and software solution(s) composing the Platform for the purpose of sharing them or making them available to third parties who would not be authorized users, in the context of time-sharing or processing centers;\n- Publishing, without prior written agreement from PINPO, any performance test or evaluation analysis relating to the Platform.\n\nIn the event that the User plans to use the Platform for purposes other than those provided herein, they will notify PINPO in writing, who may, at its sole discretion, refuse or authorize this use according to the terms and conditions it defines.54:T9de,**8.1 Registration**\nTo access the Services offered by PINPO, the User must authenticate, following the registration process offered on the Platform.\nThe User must therefore provide in good faith the information required in the Client Account registration form, in accordance with the procedure described on the Platform. This information relates to the following elements:\n- Last name and first name of the Client or reference natural person at the Client\n- Corporate name of the Client\n- Telephone of the Client or reference natural person at the Client\n- Email address of the Client or reference natural person at the Client;\n- Client's field of activity (for example real estate, insurance, etc.)\n- Password chosen by the Client or reference natural person at the Client.\n\nThe Client confirms having taken note and authorizes the connection of their CRM to the PINPO information system for the purpose of performing the Services. The Client adds their source via their client account settings page in the \"synchronization\" tab by clicking the \"add a source\" button. In the case of synchronization via API/Web Service, the client transmits by email an API key allowing the link between the Client's information system and PINPO. By sending this API key, the Client authorizes PINPO to access their CRM software.\n\n**8.2 Client Account provision**\nThe Client can access their Account by authenticating on the Platform using their connection parameters. From this space, the Client has access to the various Platform tools made available to them\nThe Client can in particular:\n- Access an analytics dashboard allowing them to visualize the work performed by PINPO and the results of their marketing and commercial campaigns\n- Access their leads and view all information identified during each conversation.\n- Manage information entered on their Client Account.\n- Add a payment method Change plan\n- Add a qualification scenario\n- Add new lead reception sources\n- Manage their notifications.\n\n**8.3: Responsibility for connection parameters**\nThe Client has the obligation to maintain the confidentiality of their connection parameters. In this regard, it is recalled that the Client's connection parameters are for single and strictly personal use.\n\nThe Client is responsible for all their uses, whether they have actually or expressly authorized them or not. The Client is prohibited from assigning, lending or transferring their connection parameters to any third party or allowing any third party to connect to their Account.55:T55a,PINPO undertakes that the personal data of Clients and Users are collected and processed in accordance with Law No. 78-17 of January 6, 1978 as amended relating to data processing, files and freedoms known as \"Data Protection Act\", and Regulation (EU) 2016/679 of the European Parliament and of the Council of April 27, 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, and any legislation taken in a
12pplication of this Regulation.\n\n**11.1 Identity and contact details of the data controller and processor**\n\nWithin the meaning of the Regulation, the \"data controller\" is the entity that determines the purposes and means of processing personal data. The \"processor\" is the entity that processes data on behalf of the data controller and according to its instructions.\nWhen processing Users' personal data, PINPO may have the following qualities, within the meaning of the Regulation:\n- Be \"data controller\" i.e., determine the purposes and means of processing personal data\n- Be \"processor\", i.e. process data on behalf of the data controller and according to its instructions.\n\nIn all cases, PINPO undertakes to comply at all times with the requirements of the Regulation and to only process personal data under the conditions provided in the following articles.\n\n**11.2 Processing mapping**56:T148b,**11.3 Sharing personal data with third parties**\n\nPersonal data may be shared with third-party companies in the following cases:\n- When the Client authorizes a third-party website to access their Personal Data;\n- When the Platform uses the services of third-party providers, provided they act in accordance with the provisions of applicable regulations on personal data protection;\n- To satisfy legal and regulatory obligations and comply with administrative and judicial procedures;\n- In the context of a merger, acquisition, asset sale or receivership procedure leading PINPO to transfer or share all or part of its assets, including personal data. In this case, the Client will be informed before personal data is transferred to a third party.\n\n**11.4 Data retention**\n\nPer
12sonal data is retained by PINPO for the duration mentioned in the table above.\n\nAt the end of the contract concluded between PINPO and the Client, whatever the cause, Client Accounts will be closed and deactivated automatically. The Client will retain access to an administrator account, allowing them to export all Client Data, including personal data, in CSV/Excel format. Any request for restitution of Client Data in a particular format and/or technical and/or operational assistance requested by the Client will be subject to a separate quote from PINPO.\n\nAfter this period of one (1) month, PINPO will permanently delete Client Data, including the Client's personal data, except for a copy, which PINPO will archive, in a secure environment compliant with the Regulation, for the legal limitation period applicable, for proof purposes for the establishment, exercise or defense of a right in the context of judicial proceedings or administrative or extrajudicial proceedings.\n\nPersonal data of non-client Users will be deleted beyond the retention period provided in the table above; no archiving will be performed by PINPO.\n\n**11.5 Security and confidentiality**\n\nPINPO implements organizational, technical, software and physical measures in terms of digital security to protect personal data against alterations, destructions, and unauthorized access. However, it should be noted that the Internet is not a completely secure environment and that the Platform cannot guarantee the security of information transmission or storage on the Internet.\n\nIn case of personal data breach, PINPO will notify the incident to the competent supervisory authority (CNIL) as soon as possible and, if possible, no later than 72 hours after becoming aware of it, unless the breach in question is not likely to result in a risk to the rights and freedoms of natural persons.\n\n**11.6 Implementation of data subject rights**\n\nUnder applicable regulations, the Client has the following rights, which they can exercise by writing to the following email address: [email protected]\n- **Right of access**: obtain confirmation of the processing of their Personal Data as well as certain information about the processing;\n- **Right of rectification**: obtain rectification of their Personal Data when it is inaccurate or incomplete;\n- **Right to erasure**: under the conditions provided in Article 17 of the GDPR, obtain erasure of their Personal Data when it is no longer necessary for the purposes for which it was collected or when the Client or User objects to the processing of their Personal Data;\n- **Right to restriction of processing**: obtain restriction of processing of their Personal Data when the Client or User contests the accuracy of the data, when the retention period for Personal Data has expired but the Client or User still needs to retain this Personal Data for the establishment, exercise or defense of a legal claim, or if the Client or User has objected to the processing;\n- **Right to portability**: obtain communication of Personal Data that the Client or User has communicated to PINPO in a readable format, or request that PINPO transmit the Personal Data that the Client or User has communicated to another data controller;\n- **Right to object**: under the conditions of Article 21 of the GDPR, object at any time, for reasons relating to their particular situation, to the processing of their Personal Data, particularly when this objection concerns commercial prospecting, including profiling;\n- **Withdrawal of consent**: withdraw their consent to future processing of their Personal Data by PINPO, when processing is based on consent.\n\nBefore implementing any of these rights, PINPO may request proof of the person's identity to verify its accuracy.\nIn case of difficulty in exercising their rights, the Professional may file a complaint with CNIL, online at https://www.cnil.fr/fr/plaintes or by postal mail at the following address: CNIL - 3 Place de Fontenoy - TSA 80715 - 75334 PARIS CEDEX 07.\n\n**11.7 Evolution of this clause**\n\nPINPO reserves the right to make any modification to this clause relating to the protection of Personal Data at any time. This will result in the publication of a new version of the Terms on the Platform and sending an email to Clients at least fifteen (15) days before the effective date. If the Client does not agree with the terms of the new wording of the personal data protection clause, they have the option to delete their Account.57:T613,A c
12ookie or connection token is a file saved on the User's computer hard drive, smartphone or any other terminal, containing information about their browsing. The User is informed that during their visits to the Platform, a cookie may be automatically installed on their browsing software.\n\nThe installation of certain cookies when they do not have the exclusive purpose of enabling or facilitating communication by electronic means or when they are not strictly necessary for the provision of an online communication service at the User's request, are subject to the User's consent.\n\nThe User can, if they wish, disable the use of cookies by selecting the appropriate settings in their browser. To do this, the User can follow the links referenced below:\n- Chrome: [https://support.google.com/chrome/answer/95647](https://support.google.com/chrome/answer/95647)\n- Firefox: [https://support.mozilla.org/fr/kb/activer-desactiver-cookies-preferences?redirectlocale=fr\u0026redirectslug=Activer+et+d%C3%A9sactiver+les+cookies](https://support.mozilla.org/fr/kb/activer-desactiver-cookies-preferences?redirectlocale=fr\u0026redirectslug=Activer+et+d%C3%A9sactiver+les+cookies)\n- Safari: [https://support.apple.com/fr-fr/guide/safari/sfri11471/mac](https://support.apple.com/fr-fr/guide/safari/sfri11471/mac)\n\nHowever, it is specified that their deactivation could prevent the user from accessing certain Platform functionalities.\n\nCookies are stored in the User's browser for a maximum period of thirteen (13) months after their first deposit in the terminal equipment.58:T6ce,**13.1 Respect for intellectual property rights**\n\nAll graphic elements such as information, texts, images, copyrights, trademarks, photographs, videos, sounds, logos, as well as any computer applications distributed by PINPO on the Platform are protected by laws in force regarding intellectual property. They may not be used, reproduced, imitated or adapted without prior written authorization from PINPO.\n\nPINPO holds the right to use the domain name: pinpo.fr.\n\nLikewise, the \"PINPO\" trademark has been registered with the National Institute of Industrial Property. Consequently, any reproduction or imitation of the aforementioned trademarks is prohibited without prior written authorization from PINPO.\n\nFailure to comply with these provisions exposes the User to civil and/or criminal prosecution by PINPO on the grounds of counterfeiting.\n\nBeyond what is indicated herein, the User acknowledges and accepts that access to the Platform cannot entail any assignment or concession of intellectual property rights (trademark rights or copyrights in particular) to their benefit.\n\n**13.2 Respect for Copyright - Copyright © - Links (belonging to PINPO or its partners)**\n\nThe Platform respects copyright, as well as neighboring rights (hereinafter \"Copyright\"). All Copyright of protected works reproduced and communicated on the Platform are reserved worldwide. Except with authorization, any use of works other than individual and private reproduction and consultation is prohibited.\n\nReproduction on paper: Reproduction (printing) of Platform pages on paper is authorized for strictly private and non-commercial use.\n\nReproduction on electronic medium: Reproduction of all or part of the Platform on an electronic medium is prohibited.4f:[\"$\",\"$L50\",null,{\"formats\":\"$undefined\",\"locale\":\"en\",\"messages\":{\"Common\":{\"Pinpo\":{\"altLogoPinpo\":\"Pinpo logo\",\"altLogoRocket\":\"Rocket illustration\"},\"Actions\":{\"login\":\"Login\",\"logout\":\"Logout\",\"save\":\"Save\",\"saveMission\":\"Save Mission\",\"validate\":\"Validate\",\"cancel\":\"Cancel\",\"confirm\":\"Confirm\",\"configure\":\"Configure\",\"edit\":\"Edit\",\"delete\":\"Delete\",\"close\":\"Close\",\"retry\":\"Retry\",\"refresh\":\"Refresh\",\"insert\":\"Insert\",\"back\":\"Back\",\"next\":\"Next\",\"previous\":\"Previous\",\"yes\":\"Yes\",\"no\":\"No\",\"ok\":\"OK\",\"access\":\"Access\",\"add\":\"Add\",\"see\":\"See\",\"connect\":\"Connect\",\"search\":\"Search\",\"test\":\"Test\",\"documentation\":\"Documentation\",\"feedback\":\"Feedback\"},\"States\":{\"loggingIn\":\"Logging in...\",\"loading\":\"Loadingâ¦\",\"saving\":\"Saving...\",\"saved\":\"Saved\",\"error\":\"Error\",\"success\":\"Success\",\"empty\":\"Empty\",\"notFound\":\"Not found\",\"unauthorized\":\"Unauthorized\",\"forbidden\":\"Forbidden\",\"used\":\"Used\",\"missingData\":\"-\"},\"Tags\":{\"new\":\"New\",\"beta\":\"Beta\"},\"Info\":{\"success\":\"Success\",\"generic\":\"The operation has been completed successfully.\",\"addedAt\":\"Added on\",\"lastUpdate\"
12:\"Last updated on\",\"by\":\"by\",\"noResult\":\"No result\",\"at\":\"at\"},\"Forms\":{\"submitting\":\"Submitting form...\",\"required\":\"Required\",\"optional\":\"Optional\",\"search\":\"Search\",\"clear\":\"Clear\",\"submit\":\"Submit\",\"upload\":\"Upload\"},\"PhoneInput\":{\"invalidPhone\":\"Please enter a valid phone number\"},\"System\":{\"loadingError\":\"An error occurred while loading\",\"noData\":\"No data available\",\"sessionExpired\":\"Session expired\"},\"Weekdays\":{\"monday\":\"MON\",\"tuesday\":\"TUE\",\"wednesday\":\"WED\",\"thursday\":\"THU\",\"friday\":\"FRI\",\"saturday\":\"SAT\",\"sunday\":\"SUN\"},\"WeekdaysFull\":{\"monday\":\"Monday\",\"tuesday\":\"Tuesday\",\"wednesday\":\"Wednesday\",\"thursday\":\"Thursday\",\"friday\":\"Friday\",\"saturday\":\"Saturday\",\"sunday\":\"Sunday\"},\"Months\":{\"january\":\"January\",\"february\":\"February\",\"march\":\"March\",\"april\":\"April\",\"may\":\"May\",\"june\":\"June\",\"july\":\"July\",\"august\":\"August\",\"september\":\"September\",\"october\":\"October\",\"november\":\"November\",\"december\":\"December\"},\"MessageDate\":{\"today\":\"{time}\",\"thisWeek\":\"{weekday} at {time}\",\"thisMonth\":\"{weekday}, {month} {day} at {time}\",\"full\":\"{weekday}, {month} {day}, {year} at {time}\"}},\"Errors\":{\"title\":\"Error\",\"generic\":\"An error occurred.\",\"unknown\":\"Unknown error.\",\"titles\":{\"BAD_REQUEST\":\"Invalid request\",\"UNAUTHORIZED\":\"You must be logged in\",\"FORBIDDEN\":\"Access denied\",\"NOT_FOUND\":\"Resource not found\",\"CONFLICT\":\"Data conflict\",\"UNPROCESSABLE\":\"Data not processable\",\"SERVICE_UNAVAILABLE\":\"Service temporarily unavailable\",\"INTERNAL_SERVER_ERROR\":\"Server internal error\",\"AGENT_LIMIT_EXCEEDED\":\"Agent limit reached\"},\"descriptions\":{\"BAD_REQUEST\":\"Verify the information entered and try again.\",\"UNAUTHORIZED\":\"Please log in to continue.\",\"FORBIDDEN\":\"You do not have the necessary permissions to perform this action.\",\"NOT_FOUND\":\"The requested resource is not found or does not exist.\",\"CONFLICT\":\"The data has been modified elsewhere. Refresh and try again.\",\"UNPROCESSABLE\":\"Some fields are invalid. Correct them and try again.\",\"SERVICE_UNAVAILABLE\":\"The service is temporarily unavailable. Try again later.\",\"INTERNAL_SERVER_ERROR\":\"A problem occurred on our side. Try again later.\",\"AGENT_LIMIT_EXCEEDED\":\"Agent limit reached for this account type, contact the Pinpo team at [email protected]\"}},\"LocaleSwitcher\":{\"lang\":\"Language\",\"fr\":\"French\",\"en\":\"English\"},\"OnboardingSteps\":{\"inProgress\":\"In progress\",\"assistantProfile\":{\"title\":\"Agent configuration\",\"description\":\"Configure everything that defines your agent: its identity, availability hours, and the channels used to communicate with your contacts\",\"stepperText\":\"Agent profile\"},\"assistantTest\":{\"title\":\"Test your assistant\",\"description\":\"Chat with your agent at any time to test and adjust its configuration as you go\",\"stepperText\":\"Agent profile\"},\"engagementSequence\":{\"title\":\"Messages and follow-ups\",\"description\":\"Edit the content of each message and adjust the delays between sends. You can add sending conditions after onboarding\",\"stepperText\":\"Messages and follow-ups\"},\"conversationSteps\":{\"title\":\"Instructions\",\"description\":\"Define everything that guides your agent in its exchanges â from conversation flow to the knowledge and tools it has access to\",\"stepperText\":\"Instructions\"},\"dataExtraction\":{\"title\":\"Automations\",\"description\":\"Configure your agent's actions: data extraction, contact segmentation, and notifications to your team\",\"stepperText\":\"Automations\"},\"tools\":{\"title\":\"Tools\",\"description\":\"Enable the actions your agent can trigger during its exchanges: appointment booking to schedule slots with your contacts according to your team's calendar; availability collection (without calendar sync) from your contacts on time slots compatible with your team's; and real-time web search to enrich its responses\",\"stepperText\":\"Tools\"},\"integration\":{\"stepperText\":\"Integration\"}},\"Metadata\":{\"signInPage\":{\"title\":\"Sign In - Pinpo\",\"description\":\"Sign in to your Pinpo account\"},\"signUpPage\":{\"title\":\"Sign Up - Pinpo\",\"description\":\"Create a new Pinpo account\"},\"signOutPage\":{\"title\":\"Sign Out - Pinpo\",\"description\":\"Sign out of your Pinpo account\"}
12,\"errorPage\":{\"title\":\"Authentication Error - Pinpo\",\"description\":\"An error occurred during authentication\"},\"dashboardPage\":{\"title\":\"Dashboard - Pinpo\",\"description\":\"Access to Pinpo services\"},\"agentsPage\":{\"title\":\"Agents - Pinpo\",\"description\":\"Configure your Pinpo agents\"},\"agentConfigurationPage\":{\"title\":\"Agent Profile - Pinpo\",\"description\":\"Configure your Pinpo agents\"},\"agentPromptPage\":{\"title\":\"Instructions - Pinpo\",\"description\":\"Configure your prompt and tools\"},\"agentToolsPage\":{\"title\":\"Tools - Pinpo\",\"description\":\"Configure your agent's tools\"},\"agentNotificationsPage\":{\"title\":\"Notifications - Pinpo\",\"description\":\"Configure your agent's notifications\"},\"agentAvailabilitiesPage\":{\"title\":\"Availabilities - Pinpo\",\"description\":\"Configure your agent's availabilities\"},\"agentActionsPage\":{\"title\":\"Automations - Pinpo\",\"description\":\"Configure your agent's actions\"},\"engagementSequencePage\":{\"title\":\"Messages and follow-ups - Pinpo\",\"description\":\"Configure your agent's engagement sequence\"},\"agentAppointmentPage\":{\"title\":\"Appointment - Pinpo\",\"description\":\"Configure your Pinpo agent's appointment\"},\"onboardingPage\":{\"title\":\"Onboarding - Pinpo\",\"description\":\"Let's build your tailored Pinpo experience\"},\"settingsPage\":{\"title\":\"Settings - Pinpo\",\"description\":\"Manage your settings\"},\"communicationPage\":{\"title\":\"Communication - Pinpo\",\"description\":\"Manage your communication channels\"},\"integrationPage\":{\"title\":\"Integration - Pinpo\",\"description\":\"Integrate Pinpo in your application\"},\"integrationApiKeyPage\":{\"title\":\"API key Integration - Pinpo\",\"description\":\"Integrate Pinpo in your application\"},\"integrationWebhookPage\":{\"title\":\"Webhook Integration - Pinpo\",\"description\":\"Integrate Pinpo in your application\"},\"integrationConnectorPage\":{\"title\":\"Connector - Pinpo\",\"description\":\"Configure your CRM connector\"},\"statisticsPage\":{\"title\":\"Statistics - Pinpo\",\"description\":\"View your statistics and analytics\"},\"leadsPage\":{\"title\":\"Your qualifications - Pinpo\",\"description\":\"View your qualifications\"},\"workflowsPage\":{\"title\":\"Workflows - Pinpo\",\"description\":\"Create workflows to automatically re-qualify your leads\"},\"workflowDetailsPage\":{\"title\":\"Workflow details - Pinpo\",\"description\":\"Configure and view the qualifications generated by your workflow\"},\"qualificationDetailPage\":{\"title\":\"Qualification Detail - Pinpo\",\"description\":\"View your qualification details\"},\"landing\":{\"home\":{\"title\":\"AI Sales Agents for Lead Qualification \u0026 Conversion | Pinpo\",\"description\":\"Double your sales capacity without hiring. Pinpo AI agents qualify leads, follow up and book appointments via SMS, WhatsApp and RCS, 24/7.\",\"altImage\":\"Pinpo - AI agents for lead qualification and conversion\"},\"integrations\":{\"title\":\"Integrations | Connect your CRM, tools and data | Pinpo\",\"description\":\"Pinpo integrations: connect CRM like Salesforce, HubSpot, calendars, telephony tools, and APIs. Automate lead management, workflows, and real-time data synchronization.\"},\"askDemo\":{\"title\":\"Book a Demo | See Pinpo AI in action\",\"description\":\"Book a 30-minute demo and discover how Pinpo increases your conversion and saves time for your sales teams.\"},\"pricing\":{\"title\":\"Pricing | AI Lead Qualification \u0026 Automation Plans | Pinpo\",\"description\":\"Flexible pricing for AI-powered lead qualification and messaging automation. Start free and scale with your business needs.\"},\"legalNotices\":{\"title\":\"Legal Notice | Pinpo\"},\"termsOfService\":{\"title\":\"Terms of Service \u0026 Privacy Policy | Pinpo\"},\"security\":{\"title\":\"Security, GDPR \u0026 AI Compliance | Pinpo\",\"description\":\"Enterprise-grade security with GDPR compliance, EU data hosting, MFA, audit logs and AI governance. Built for demanding environments.\"}}},\"AppHeader\":{\"default\":\"Dashboard\",\"dashboard\":\"Dashboard\",\"workflow\":\"Workflows\",\"agent\":\"{agentTitle}\",\"account\":{\"context\":\"Account \u003e Context\",\"team\":\"Account \u003e Team\"},\"agents\":\"Agents\",\"leads\":\"Qualifications\",\"communication\":\"Communication channels\",\"settings\":\"Account settings\",\"integration\":{\"main\":\"Integration and connectors\",\"apiKey\":\"API Integration\",\"webhook\":\"API Integration\",\"webhookDetails\":\"API Integration\",\"webhookTest\":\"Test\",\"csv\":\"CSV Integration\",\"calendar\":\"Calendar Integration\",\"calendarCallback\":\"Calendar Integration\",\"connectorDetails\":\"Integration and connectors\",\"hubspotCallback\":\"HubSpot
12Connector\"}},\"AppSidebar\":{\"dashboard\":\"Dashboard\",\"agents\":\"Agents\",\"leads\":\"Qualifications\",\"communication\":\"Communication\",\"workflow\":\"Workflow\",\"statistics\":\"All statistics\",\"integration\":\"Integration\",\"helpCenter\":\"Help center\",\"documentation\":\"Documentation\",\"settings\":\"Settings\",\"logout\":\"Logout\"},\"Workflow\":{\"title\":\"Your agent workflows\",\"tableTitle\":\"Your workflows\",\"description\":\"Create workflows to automatically re-qualify your leads with another agent. Each workflow triggers according to its own rules, with no manual action needed.\",\"noWorkflow\":\"No workflow configured\",\"noWorkflowSubtext\":\"Create your first workflow to automatically forward your leads to another agent\",\"createButton\":\"Create a workflow\",\"createModalTitle\":\"Create a workflow\",\"createModal\":{\"title\":\"Create a new workflow\",\"friendlyNameLabel\":\"Workflow name\",\"friendlyNameDescription\":\"This name is only used to identify the workflow in your list\",\"friendlyNamePlaceholder\":\"My workflow\",\"friendlyNameRequired\":\"Workflow name is required\",\"monitoredAgentsLabel\":\"Triggering agent(s)\",\"monitoredAgentsDescription\":\"The workflow applies to qualifications produced by this agent\",\"monitoredAgentsRequired\":\"Select at least one agent\",\"selectedAgentsLabel\":\"Selected agents:\",\"agentPlaceholder\":\"Select one or more agents\",\"agentsSelected\":\"{count} agents selected\",\"selectAll\":\"Select all\",\"queryBuilderLabel\":\"Trigger criteria\",\"queryBuilderDescription\":\"The workflow triggers on qualifications that meet these conditions.\",\"fieldLabels\":{\"qualifications\":\"Qualifications\",\"data\":\"Data\",\"segmentation\":\"Segmentation\",\"tags\":\"Tags\",\"RGPD\":\"RGPD\",\"badRecipient\":\"Bad recipient\",\"optout\":\"Optout\",\"meetingDate\":\"Meeting date\"},\"filtersRequired\":\"At least one criterion is required\",\"filtersMax\":\"You cannot add more than 3 criteria\",\"triggerSummaryPrefix\":\"Triggers when:\",\"delayLabel\":\"Delay before triggering\",\"delayDescription\":\"Waiting time after the original qualification processing is complete\",\"delayValuePlaceholder\":\"10\",\"delayValueRequired\":\"Delay must be at least 1\",\"delayUnitLabel\":\"Unit\",\"delayUnit\":{\"minutes\":\"Minutes\",\"hours\":\"Hours\",\"days\":\"Days\"},\"targetAgentLabel\":\"Requalifying agent\",\"targetAgentDescription\":\"Takes over the contacts concerned\",\"targetAgentPlaceholder\":\"Select an agent\",\"targetAgentRequired\":\"Select a target agent\",\"agentsAutosaveErrors\":{\"monitoredAgentRequired\":\"Select at least one agent to monitor before saving your workflow.\",\"targetAgentRequired\":\"Your workflow was not saved because no follow-up agent is selected.\",\"agentsMustBeDifferent\":\"The follow-up agent cannot be one of the monitored agents. Your workflow was not saved.\"},\"cancel\":\"Cancel\",\"submit\":\"Create\",\"success\":\"Workflow created\",\"queryBuilder\":{\"label\":\"Criteria\",\"conditionLabel\":\"When\",\"remove\":\"Remove\",\"noFilters\":\"No filters configured\",\"addFilter\":\"Add criterion\",\"addCondition\":\"Add condition\",\"group\":\"Group\",\"ungroup\":\"Ungroup\",\"fieldPlaceholder\":\"Select field\",\"operatorPlaceholder\":\"Select condition\",\"valuePlaceholder\":\"Value\",\"searchPlaceholder\":\"Search\",\"selectAll\":\"Select all\",\"noResults\":\"No results found\",\"optionsSelected\":\"{count} options selected\",\"combineWith\":\"Combine with\",\"cancel\":\"Cancel\",\"apply\":\"Apply\",\"operators\":{\"and\":\"AND\",\"or\":\"OR\",\"equals\":\"Is equal to\",\"notEquals\":\"Is not equal to\",\"contains\":\"Contains\",\"notContains\":\"Does not contain\",\"greaterThan\":\"Is greater than\",\"lessThan\":\"Is less than\",\"lt\":\"Is less than\",\"gt\":\"Is greater than\",\"lte\":\"Is less than or equal to\",\"gte\":\"Is greater than or equal to\",\"before\":\"Is before\",\"after\":\"Is after\",\"exists\":\"Exists\",\"notExists\":\"Does not exist\",\"is\":\"Is\",\"isNot\":\"Is not\",\"isEmpty\":\"Does not exist\",\"
12isNotEmpty\":\"Exists\"},\"booleanValues\":{\"yes\":\"Yes\",\"no\":\"No\"}}},\"addButton\":\"Add\",\"table\":{\"name\":\"Name\",\"status\":\"Status\",\"generatedQualifications\":\"Generated qualifications\",\"lastTriggered\":\"Last trigger\",\"actions\":\"Actions\",\"neverTriggered\":\"Never triggered\",\"timeAgo\":{\"months\":\"{count, plural, one {# month ago} other {# months ago}}\",\"weeks\":\"{count, plural, one {# week ago} other {# weeks ago}}\",\"days\":\"{count, plural, one {# day ago} other {# days ago}}\",\"hours\":\"{count, plural, one {# hour ago} other {# hours ago}}\",\"minutes\":\"{count, plural, one {# minute ago} other {# minutes ago}}\",\"seconds\":\"{count, plural, one {# second ago} other {# seconds ago}}\"}},\"status\":{\"active\":\"Active\",\"inactive\":\"Inactive\"},\"details\":{\"title\":\"Workflow details\",\"back\":\"Back\",\"notFound\":\"Workflow not found\",\"parametersTab\":\"Parameters\",\"parametersTitle\":\"Workflow parameters\",\"parametersDescription\":\"These settings define how this workflow triggers the automatic re-qualification of your contacts.\",\"generatedTab\":\"Generated qualifications\",\"generatedQualifications\":\"Generated qualifications\",\"waitingQualifications\":\"Qualifications waiting to trigger\",\"lastTriggered\":\"Last trigger\",\"active\":\"Active\",\"inactive\":\"Inactive\",\"generatedAt\":\"Generated at\",\"noGeneratedQualifications\":\"No generated qualification\",\"backfill\":{\"button\":\"Backfill history\",\"title\":\"Backfill past qualifications\",\"description\":\"Select a period to apply this workflow to eligible past qualifications. Qualifications already processed by this workflow will be skipped.\",\"workflowLabel\":\"Workflow\",\"agentsLabel\":\"Triggering agents\",\"targetAgentLabel\":\"Requalifying agent\",\"filtersNotice\":\"The workflowâs current criteria will be applied and processing will start without delay.\",\"startDate\":\"Start date\",\"endDate\":\"End date\",\"startDateRequired\":\"The start date is required\",\"endDateRequired\":\"The end date is required\",\"invalidRange\":\"The start date must be before the end date\",\"futureDate\":\"Future dates are not allowed\",\"cancel\":\"Cancel\",\"submit\":\"Start backfill\",\"confirmationWarning\":\"Warning, qualifications matching the workflow criteria will be imported in the next few minutes. Others will be imported once the workflow delay is completely elapsed.\",\"success\":\"{count, plural, =0 {No matching qualifications.} =1 {{existingCount, plural, =0 {1 qualification added.} =1 {1 qualification added to the 1 pending qualification} other {1 qualification added to the {existingCount} pending qualifications}}} other {{existingCount, plural, =0 {{count} qualifications added.} =1 {{count} qualifications added to the 1 pending qualification} other {{count} qualifications added to the {existingCount} pending qualifications}}}}\"},\"table\":{\"contact\":\"Contact\",\"segmentation\":\"Segmentation\",\"status\":\"Status\",\"generatedAt\":\"Generated at\"}}},\"Billing\":{\"activateAccount\":\"Activate your account\",\"contactPinpoToActivate\":\"Contact the Pinpo team at [email protected] to activate your free trial account.\"},\"Settings\":{\"Informations\":{\"tabTitle\":\"Informations\",\"title\":\"General information\",\"description\":\"Main information related to your organization.\",\"websiteLabel\":\"Website\",\"websitePlaceholder\":\"http://novya.com\",\"phoneNumberLabel\":\"Phone number\",\"phoneNumberPlaceholder\":\"6 12 34 56 78\",\"noDashes\":\"Phone number should not contain dashes\",\"activitySectorLabel\":\"Activity sector\",\"activitySectorPlaceholder\":\"Education\",\"languageLabel\":\"Language\",\"languagePlaceholder\":\"French\",\"timezoneLabel\":\"Timezone\",\"timezonePlaceholder\":\"Europe/Paris\",\"timezoneSearchPlaceholder\":\"Search...\",\"sectors\":{\"education\":\"Education\",\"realEstate\":\"Real estate\",\"finance\":\"Financial services\",\"insurance\":\"Insurance\",\"automotive\":\"Automotive\",\"technology\":\"Technology\"},\"languages\":{\"french\":\"French\",\"english\":\"English\"},\"loading\":\"Loading...\",\"saveButton\":\"Save changes\",\"updateSuccess\":\"Organization information updated successfully\"}},\"AppTabs\":{\"defaultTab\":\"Context\"},\"AddLinkButton\":{\"addLink\":\"Add link\",\"dialogTitle\":\"Add a link\",\"urlLabel\":\"U
12RL\",\"urlPlaceholder\":\"http://example.com\",\"cancel\":\"Cancel\",\"save\":\"Save\"},\"Stepper\":{\"inProgress\":\"In progress\",\"continue\":\"Continue\",\"end\":\"End\"},\"LoginForm\":{\"email\":\"Email address\",\"emailPlaceholder\":\"Your email address\",\"password\":\"Password\",\"passwordPlaceholder\":\"Your password\",\"invalidEmail\":\"Invalid email\",\"minPasswordLength\":\"At least 8 characters\"},\"InviteUserForm\":{\"email\":\"Email address\",\"emailPlaceholder\":\"[email protected]\",\"invalidEmail\":\"Invalid email\"},\"AddLinkForm\":{\"url\":\"URL\",\"urlPlaceholder\":\"https://example.com\",\"urlRequired\":\"URL is required\",\"urlInvalid\":\"Please enter a valid URL\"},\"Dashboard\":{\"title\":\"Dashboard\",\"newAgent\":\"New agent\",\"tabs\":{\"overview\":\"Overview\",\"analytics\":\"Analytics\",\"reports\":\"Reports\",\"notifications\":\"Notifications\"}},\"Onboarding\":{\"title\":\"Your AI agent team, tailored for you\",\"description\":\"Provide key information about your company to create agents that perfectly integrate with your team. Test them instantly and optimize them in a few clicks.\",\"startButton\":\"Get Started\",\"userForm\":{\"title\":\"Your organization\",\"website\":{\"text\":\"Provide your organization's website to allow your AI agent to build a custom knowledge base for your organization.\",\"label\":\"Organization website\",\"placeholder\":\"https://\"},\"phoneNumber\":{\"text\":\"As well as a phone number so that we can contact you if necessary.\",\"label\":\"Phone number\",\"placeholder\":\"6 12 34 56 78\"},\"submitButton\":\"Continue\",\"saveSuccess\":\"Your website has been saved successfully\"},\"activity\":{\"title\":\"Main organization sector\",\"realEstate\":\"Real estate\",\"financialServices\":\"Financial services\",\"insurance\":\"Insurance\",\"automotive\":\"Automotive\",\"telecom\":\"Telecom\",\"education\":\"Education\",\"housing\":\"Housing\",\"energy\":\"Energy\",\"healthAndWellness\":\"Health and wellness\",\"technologies\":\"Technologies\",\"bpo\":\"BPO\",\"recruitment\":\"Recruitment\",\"travel\":\"Travel\",\"personalService\":\"Personal service\",\"saveSuccess\":\"Your activity has been saved successfully\"},\"agent\":{\"title\":\"Create your first agent\",\"description\":\"It's time to define your first agent. You can add more agents later.\",\"startButton\":\"Create my first agent\"},\"type\":{\"title\":\"Main objective of your AI agent\",\"engageButton\":{\"name\":\"Engage in real time\",\"placeholder\":\"Validate the lead's interest in the requested product, learn more about their needs, and schedule an appointment with the assigned advisor.\"},\"followupButton\":{\"name\":\"Re-engage existing contacts\",\"placeholder\":\"Understand if the lead's project is still ongoing, validate their criteria, and gather their availability for an exchange with an advisor.\"},\"engagePlaceholder\":{\"examples\":[\"Qualify the lead's real estate project and book an appointment with an advisor.\",\"Validate the lead's property search and obtain their consent to be contacted by a partner.\",\"Pre-qualify the lead's project outside business hours and collect availabilities for a callback.\",\"Qualify the lead's financial project and book an appointment with a financial advisor.\",\"Qualify the lead's insurance project and schedule a call with an expert advisor.\",\"Follow up on a transmitted quote to check satisfaction and propose a next exchange with the advisor.\",\"Validate the student's interest in a training program and connect them with an enrollment advisor.\",\"Present a maintenance or service offer and collect the customer's availabilities for a dealership appointment.\",\"Qualify the lead's renovation project, verify homeownership, and collect availabilities for a callback.\"]},\"followupPlaceholder\":{\"examples\":[\"Re-engage an unreachable lead to confirm their project is still active and schedule a follow-up.\",\"Reactivate a dormant lead to check if their property project is still relevant and propose next steps.\",\"Re-engage an unreachable lead to confirm their financial project is still active and collect availabilities.\",\"Re-engage an unreachable student to confirm their interest in the program and propose an advisor exchange.\",\"Re-engage a lead to confirm their vehicle purchase project is still active and collect availabilities.\"]},\"pushButton\":{\"name\":\"Push campaign\"},\"pushPlaceholder\":{\"examples\":[\"Present a new promotional offer to a customer list and propose an appointment with an advisor.\",\"Invite a contact list to an open house event and confirm their attendance.\",\"Announce the launch of a new real estate program and qualify the contacts' interest.\",\"Offer a free insurance contract review to a customer base and collect their availabilities.\",\"Reach out to former customers with a vehicle trade-in offer and schedule a test drive at the dealership.\"]},\"info\":{\"ENGAGEMENT\":\"Your agent instantly contacts every new inbound request (form, website, portalâ¦) to qualify them and hand them over to the right advisor while their interest is at its peak.\",\"FOLLOW_UP\":\"Your agent reaches out again to unreachable or inactive contacts in your database to check whether their project is still relevant and restart the conversation.\",\"PUSH\":\"Your agent sends a targeted campaign to a contact list to promote an offer, an event or a new product.\"},\"mission\":{\"title\":\"Specify its objective\",\"inputInfo\":\"Minimum 20 characters\"},\"startButton\":\"Continue\"},\"goal\":{\"title\":\"What would be the main mission of your AI sales specialist?\",\"description\":\"Let's review your activity to define the right agent\",\"appointmentButton\":\"Take appointments\",\"availabilitiesButton\":\"Take availabilities\",\"optinButton\":\"Take opt-in\",\"qualificationButton\":\"Qualification\",\"feedbackButton\":\"Feedback\",\"startButton\":\"Continue\"},\"agentTitle\":{\"title\":\"Your agent is almost finalized\",\"description\":\"Name your use case and access your dashboard to configure your agent\",\"inputName\":\"Use case\",\"inputInfo\":\"{chars} remaining\",\"startButton\":\"Create my agent\"},\"steps\":{\"headerTitle\":\"Hello\",\"headerSubtitle\":\"A few more steps before your Pinpo AI Agent takes over\",\"configured\":\"Configured\",\"configure\":\"Configure\",\"step1Title\":\"Define your objectives\",\"step1Description\":\"Define the objectives that your agent must achieve in y
12our interactions with contacts\",\"step2Title\":\"Configure your agent\",\"step2Description\":\"Configure the profile, activity and channels of your agent to adapt its operation to your needs\",\"step3Title\":\"Define the engagement sequence\",\"step3Description\":\"Adjust the messages sent to the contact and automatic follow-ups to structure your engagement strategy\",\"step4Title\":\"Configure prompts\",\"step4Description\":\"Define the response structure, tools used and context needed to guide your agent in its exchanges\",\"step5Title\":\"Configure automatic actions\",\"step5Description\":\"Define automatic actions, such as data extraction, segmentation or notifications\",\"step6Title\":\"Configure your integration\",\"step6Description\":\"Connect your tools via API, Webhook, CRM connectors or CSV files to synchronize your data\",\"step7Title\":\"Activate your subscription\",\"step7Description\":\"Add your payment method to activate your subscription and access Pinpo features\"}},\"AgentSidebar\":{\"testConversation\":\"Test\",\"reportConversation\":\"Report conversation\",\"deleteConversation\":\"Delete conversation\",\"history\":\"History\",\"connected\":\"Connected\",\"enterMessage\":\"Enter your message\",\"keyboardShortcuts\":{\"send\":\"Enter: Send message\",\"newLine\":\"Shift + Enter: New line\"},\"triggerFollowUp\":\"Trigger follow-up {number}\",\"followUpTriggered\":\"Followup triggered successfully\",\"triggerRevival\":\"Trigger revival\",\"revivalTriggered\":\"Revival triggered successfully\",\"leadGenerated\":\"Test lead successfully generated\",\"leadGenerationFailed\":\"You are not authorized to generate a test lead. Please contact support\",\"loading\":\"Loading...\",\"noMessages\":\"No message yet\",\"accessQualification\":\"Access qualification\",\"links\":{\"configuration\":\"Agent profile\",\"sequence\":\"Messages and follow-ups\",\"prompt\":\"Instructions\",\"tools\":\"Tools\",\"actions\":\"Automations\",\"notifications\":\"Notifications\",\"appointment\":\"Appointment\"},\"agentEvents\":{\"NODE_SHOULD_RESPOND\":\"Analyzing message...\",\"NODE_AGENT\":\"Thinking...\",\"NODE_EXTRACT_DATA\":\"Extracting data...\",\"NODE_GENERATE_ANSWER\":\"Generating answer...\",\"TOOL_KNOWLEDGE_BASE\":\"Searching knowledge base...\",\"TOOL_APPOINTMENT_EXTRACT_AVAILABILITIES\":\"Extracting availabilities...\",\"TOOL_APPOINTMENT_CONFIRM\":\"Confirming appointment...\",\"NEW_MESSAGES_DETECTED\":\"New messages detected, restarting agent...\",\"MAX_REQUEUE_ATTEMPTS_REACHED\":\"Aborting agent execution due to max attempts reached\"},\"errors\":{\"failedToLoadConversation\":\"Failed to load conversation\",\"failedToSendMessage\":\"Failed to send message\",\"failedToTriggerFollowUp\":\"Failed to trigger follow-up\",\"failedToTriggerRevival\":\"Failed to trigger revival\"}},\"Agent\":{\"Errors\":{\"agentNotFound\":\"Agent not found: {id}\",\"sequenceNotFound\":\"Sequence not found: {id}\",\"messageNotFound\":\"Message not found: {id}\",\"noSequenceOnAgent\":\"No sequence on agent {id}\",\"mustUseInProvider\":\"useAgent must be used within an AgentProvider\",\"noAgentFound\":\"No agent found\",\"noCurrentAgent\":\"No current agent, restart the creation\",\"agentMissionAlreadyUsed\":\"The agent mission is already used\",\"agentLimitExceeded\":\"Agent limit reached for this account type, contact the Pinpo team at [email protected]\"},\"Success\":{\"agentFound\":\"The list of agents has been updated\",\"agentCreated\":\"The agent has been created\",\"agentCreatedWithAllocation\":\"The agent has been created. Update its \u003clink\u003ecommunication channels\u003c/link\u003e if needed.\",\"delayUpdated\":\"The delay has been updated\"},\"engageDefaultTitle\":\"Engage in real time\",\"followUpDefaultTitle\":\"Re-engage existing contacts\",\"pushDefaultTitle\":\"Push campaign\"},\"DataExtraction\":{\"tabTitle\":\"Extraction\",\"viewTitle\":\"Data extraction\",\"viewDescription\":\"Define the information that the agent must extract from its conversations. Some predefined fields are not modifiable.\",\"dataTableTitle\":\"Data\",\"recommendedDataTableTitle\":\"Recommended data for you\",\"tableHeader\":{\"name\":\"Name\",\"description\":\"Description\",\"type\":\"Type\",\"identifier\":\"Identifier\"},\"identifierPlaceholder\":\"lead_budget\",\"namePlaceholder\":\"Budget of the lead\",\"descriptionPlacehodler\":\"The budget that the lead has\",\"types\":{\"TEXT\":\"Text\",\"NUMBER\":\"Number\",\"DATE\":\"Date\",\"BOOLEAN\":\"Boolean\",\"SINGLE_CHOICE\":\"Single choice\",\"MULTIPLE_CHOICE\":\"Multiple choice\"},\"addDataModalHeader\":\"Add data\",\"editDataModalHeader\":\"Edit data\",\"descriptionHeaderWithOptionnal\":\"Description (optional)\",\"identifiantDescription\":\"Unique identifier used for integrations (API, webhooks).\",\"nameLabel\":\"Data name\",\"descriptionDescription\":\"Helps the agent understand what to extract from the conversation.\",\"typeDescription\":\"Field type\",\"optionsDescription\":\"Choices\",\"optionsLabel\":\"Options\",\"optionPlaceholder\":\"Enter the choice\",\"addOption\":\"Add an option\",\"addOptionLabel\":\"Add a choice\",\"deletedDataMessage\":\"Data deleted.\",\"createdDataMessage\":\"Data created.\",\"updatedDataMessage\":\"Data updated.\",\"errorLoadingRecommendedData\":\"Error loading recommended data\"},\"Segmentation\":{\"tabTitle\":\"Segmentation\",\"title\":\"Qualification segmentation\",\"viewDescription\":\"The temperature of qualifications is calculated automatically by Pinpo. Add your own rules to refine the segmentation.\",\"hotLeadHeader\":\"Hot\",\"hotLeadDescription\":\"Appointment accepted OR Availability ⤠2 weeks\",\"warmLeadHeader\":\"Warm\",\"warmLeadDescription\":\"Does not accept an appointment immediately but wants to stay in contact\",\"coldLeadHeader\":\"Cold\",\"coldLeadDescription\":\"The contact does not express any concrete interest\",\"unreachableLeadHeader\":\"Unreachable\",\"noSegmentationLeadHeader\":\"Missing\",\"fallbackToColdDescription\":\"Any conversation that is neither hot nor warm is automatically classified as cold.\",\"saveSegmentationMessage\":\"Segmentation updated\",\"errorEmptyField\":\"This field cannot be empty\",\"errorHotRequired\":\"Hot lead description is required\",\"errorWarmRequired\":\"Warm lead description is required\",\"errorColdRequired\":\"Cold lead description is required\"}
12,\"Notification\":{\"tabTitle\":\"Notifications\",\"title\":\"Notifications\",\"description\":\"Automatically inform the right people at the end of a conversation, by email or SMS, according to the contact typology.\",\"saveSuccess\":\"Notification configuration updated\",\"defaultEmail\":\"Commercial email\",\"defaultPhone\":\"Commercial phone\",\"locale\":{\"label\":\"Language used\",\"fr\":\"French\",\"en\":\"English\"},\"emailInput\":{\"placeholder\":\"Enter an email address and press Enter\"},\"addDefaultEmail\":\"Add commercial email\",\"addDefaultPhone\":\"Add commercial phone\",\"emailNotifications\":{\"title\":\"Email notifications\",\"description\":\"An email is sent to the sales representative assigned to the qualification. You can add other recipients by entering an email address and pressing Enter.\"},\"smsNotifications\":{\"title\":\"SMS notifications\",\"description\":\"A SMS is sent to the sales representative assigned to the qualification. You can add other recipients by entering a phone number and pressing Enter.\"}},\"Engagement\":{\"tabTitle\":\"Messages and follow-ups\",\"Delay\":{\"daysLabel\":\"Number of days\",\"hoursLabel\":\"Number of hours\",\"minutesLabel\":\"Number of minutes\"},\"Errors\":{\"messageNotFound\":\"Message not found : {id}\"},\"Success\":{\"sequenceUpdated\":\"The sequence has been updated\",\"messageUpdated\":\"The message has been updated\",\"messageDeleted\":\"The message has been deleted\",\"messageCreated\":\"Message created\"},\"messageCard\":{\"titleMessage_1\":\"First message\",\"titleMessage_2\":\"First follow-up\",\"titleMessage_3\":\"Second follow-up\",\"noDelay\":\"None\",\"editMessagePopover\":\"Edit message\",\"deleteMessagePopover\":\"Delete follow-up\",\"placeholderNoMessage\":\"No follow-up\",\"placeholderNoMessageButtonText\":\"Add a follow-up\"},\"editMessageModal\":{\"header\":\"Edit engagement message\",\"editTitle\":\"Editing your message\",\"editDescription\":\"Insert pre-configured variables (available in the list on the right) or add your own variables in the following format: '{customFields.yourvariablename}'. For example: '{customFields.city}'.\\nYou can send customFields when importing your contacts\",\"maxCharacterDescription\":\"We recommend not exceeding 300 characters. Beyond that, your message may be less likely to be delivered. ({count}/300 characters remaining)\",\"generateAiMessage\":\"Generate an AI suggestion\",\"useAiMessage\":\"Use the AI suggestion\",\"generateNewSuggestion\":\"Generate a new suggestion\",\"variableTitle\":\"Variables\",\"variableDescription\":\"Variables automatically insert personalized information (first name, city, date...). Select them from the suggested variables.\",\"insertVariableButton\":\"Add a variable\",\"insertVariableDescription\":\"The variables you add must correspond to the information you provide when importing your contacts, or they will not be used.\",\"aiMessageTitle\":\"AI correction suggestion for your message\",\"aiMessageDescription\":\"Your AI assistant will be able to suggest an improved version after modifying your message.\",\"aiMessageDescriptionButton\":\"generate a suggestion\",\"addVariablePopoverTitle\":\"Business information\",\"addVariablePopoverLabel\":\"Variable name\",\"searchVariablePlaceholder\":\"Search a variable\",\"addVariablePopoverInputPlaceholder\":\"Product\",\"recommended\":\"Recommended\",\"added\":\"Added\",\"chipAll\":\"All\",\"chipRecommended\":\"Recommended\",\"category\":{\"agent\":\"Agent\",\"contact\":\"Contact\",\"salesperson\":\"Salesperson\",\"qualification\":\"Qualification\",\"context\":\"Context\",\"custom\":\"Custom\"}},\"sequence\":{\"title\":\"Messages and follow-ups\",\"description\":\"Define the initial message and follow-ups sent to your contacts.\",\"initialSequence\":\"Initial sequence\",\"addSequence\":\"New sequence\",\"addCondition\":\"Add a condition\",\"sentToLead\":\"Messages sent to contact\"},\"delay\":{\"units\":{\"day\":\"day\",\"days\":\"days\",\"hour\":\"hour\",\"hours\":\"hours\",\"minute\":\"minute\",\"minutes\":\"minutes\"}},\"buttons\":{\"addSequence\":\"New sequence\",\"addCondition\":\"+ Add a condition\",\"viewABTest\":\"A/B Rules\"},\"quickReplies\":{\"toggleLabel\":\"Quick replies\",\"channelBadge\":\"Only available for WhatsApp and RCS\",\"viewDocumentation\":\"View documentation\",\"inputPlaceholder\":\"Type a reply\",\"addReplyButton\":\"+ Add a reply\",\"removeReply\":\"Remove reply\",\"clearDraft\":\"Clear\"}},\"Icu\":{\"unit\":\"{count, plural, one {1 {one}} other {{count} {multiple}}}\",\"immediate\":\"Immediate\",\"twoParts\":\"{part1} and {part2}\",\"threeParts\":\"{part1}, {part2} and {part3}\"},\"Context\":{\"tabTitle\":\"Context\",\"title\":\"Agent context\",\"description\":\"Specific information for this agent (offer, target, tone...) to refine its responses, in addition to your organization's general data.\",\"organizationInfo\":{\"title\":\"Organization information\",\"description\":\"Updated on {date}\"},\"behaviorRules\":{\"title\":\"Specific instructions\",\"description\":\"Updated on {date}\"}},\"KnowledgeBase\":{\"tabTitle\":\"Knowledge Base\",\"title\":\"Knowledge Base\",\"description\":\"Add f
12iles or links to enrich the agent's knowledge for this use case.\",\"notReady\":\"Your knowledge base is being updated, please come back later\",\"additionalContext\":{\"title\":\"Additional context\",\"description\":\"Updated on {date}\"},\"complementaryInfo\":{\"title\":\"Additional information\",\"filesSubtitle\":\"Files\",\"formatsFilesAccepted\":\"Accepted formats: text, PDF, Word, CSV\",\"filesButton\":\"Upload a file\",\"urlSubtitle\":\"Links\",\"urlDescription\":\"Add pages from which you want information to be retrieved\",\"urlButton\":\"Add a link\"},\"addLinkModal\":{\"trigger\":\"Add a link\",\"title\":\"Add a new link\",\"cancel\":\"Cancel\",\"submit\":\"Add\",\"success\":\"Link added successfully\"}},\"Steps\":{\"tabTitle\":\"Steps\",\"ConversationSteps\":{\"title\":\"Conversation steps\",\"description\":\"Describe the steps of the dialogue between your agent and your contacts, as well as the transition conditions.\",\"templateButtonLabel\":\"Choose a template\",\"selectTemplateModalHeader\":\"Template\",\"selectTemplateLabel\":\"Select a template\",\"previewTemplateLabel\":\"Template preview\",\"validateTemplateLabel\":\"Choose this template\"},\"AgentMission\":{\"title\":\"Objective\",\"description\":\"Specify your agent's objective to maximize the effectiveness of its interactions with your contacts.\",\"placeholder\":\"Enter your agent's objectives here...\",\"minLengthError\":\"Agent objective must contain at least 20 characters\"},\"saved\":\"Information saved successfully\"},\"Identity\":{\"tabTitle\":\"Identity\",\"genderLabel\":\"Gender\",\"maleGender\":\"Male\",\"femaleGender\":\"Female\",\"iaGender\":\"IA\",\"firstNameLabel\":\"First name\",\"firstNameDescription\":\"The first name visible by your contacts\",\"languageLabel\":\"Language spoken*\",\"languageDescription\":\"The language used by your agent in its exchanges\",\"languageOptionMulti\":\"Multilingual (adapts to the contact's language)\",\"languageOptionFr\":\"French\",\"languageOptionEn\":\"English\",\"agentPersonaHeader\":\"Assistant personality\",\"agentPersonaDescription\":\"Customize your agent to embody the ideal profile for its mission\",\"agentPersonaDefault\":\"You are a commercial assistant specializing in B2B prospecting.\\n- Your tone is professional, courteous and engaging, but never familiar.\\n- You never address the lead with the informal you: you always use the formal you.\\n- You value the company and its services without appearing insistent.\\n- Your messages must be clear, concise and oriented towards the added value for the client.\\n- You adapt your language to show that you understand the sector and the specific issues of the prospect\",\"saveAgentMessage\":\"Agent updated\"},\"Profile\":{\"tabTitle\":\"Profile\",\"genderLabel\":\"Gender\",\"maleGender\":\"Male\",\"femaleGender\":\"Female\",\"iaGender\":\"IA\",\"firstNameLabel\":\"First name\",\"firstNameDescription\":\"The first name visible by your contacts\",\"languageLabel\":\"Language spoken*\",\"languageDescription\":\"The language used by your agent in its exchanges\",\"languageOptionMulti\":\"Multilingual (adapts to the contact's language)\",\"languageOptionFr\":\"French\",\"languageOptionEn\":\"English\",\"agentPersonaHeader\":\"Assistant personality\",\"agentPersonaDescription\":\"Customize your agent to embody the ideal profile for its mission\",\"agentPersonaDefault\":\"You are a commercial assistant specializing in B2B prospecting.\\n- Your tone is professional, courteous and engaging, but never familiar.\\n- You never address the lead with the informal you: you always use the formal you.\\n- You value the company and its services without appearing insistent.\\n- Your messages must be clear, concise and oriented towards the added value for the client.\\n- You adapt your language to show that you understand the sector and the specific issues of the prospect\",\"saveAgentMessage\":\"Agent updated\"},\"Activity\":{\"tabTitle\":\"Activity\"},\"Channels\":{\"tabTitle\":\"Channels\",\"viewTitle\":\"Communication channels\",\"description\":\"Active numbers and their status for each channel.\",\"manageChannels\":\"Manage channels\",\"dailyEngagements\":\"engagements/day\",\"noPhoneNumbers\":\"No phone numbers found for this agent.\",\"phoneNumbersStatus\":{\"active\":\"Active number\",\"banned\":\"Banned number\",\"reported\":\"Reported number\",\"pending\":\"Pending validation\"}},\"Tools\":{\"tabTitle\":\"Tools\",\"viewTitle\":\"Tools\",\"description\":\"Actions that your agent can trigger during conversations.\",\"addToolButton\":\"Add a tool\",\"emptyToolsHeader\":\"You haven't added any tools yet\",\"emptyToolsDescription\":\"Add tools to allow the assistant to enrich and structure the dialogue\",\"emptyToolsImageAlt\":\"An image of a tool to add\",\"appointmentToolHeader\":\"Appointment booking\",\"appointmentToolShortDe
12scription\":\"Allows to propose an appointment to the contact during the exchange.\",\"availabilitiesToolHeader\":\"Availability collection\",\"availabilitiesToolShortDescription\":\"Allows to collect your contacts' availability without calendar synchronization.\",\"searchWebToolHeader\":\"Web search\",\"searchWebToolShortDescription\":\"Let your agents search for information on the web.\",\"toolsNotFoundError\":\"No tools found\",\"organizationToolsNotFoundError\":\"Organization tools not found\",\"toolAddedSuccess\":\"Tool added successfully\",\"toolRemovedSuccess\":\"Tool removed successfully\",\"toolUpdatedSuccess\":\"Tool updated successfully\",\"comingSoonTag\":\"Coming soon\",\"vivreDansLeNeufInitSearchHeader\":\"Vivre Dans Le Neuf - Init search\",\"vivreDansLeNeufInitSearchShortDescription\":\"Initializes the vivre-dans-le-neuf.com property search session. This is the first tool to call at the start of the conversation. (vivre_dans_le_neuf_init_search)\",\"vivreDansLeNeufSearchPropertiesHeader\":\"Vivre Dans Le Neuf - Search properties\",\"vivreDansLeNeufSearchPropertiesShortDescription\":\"Searches for new-build programs on vivre-dans-le-neuf.com based on user-provided criteria (budget, city, rooms, etc.). (vivre_dans_le_neuf_search_properties)\",\"vivreDansLeNeufValidateChoiceHeader\":\"Vivre Dans Le Neuf - Validate choice\",\"vivreDansLeNeufValidateChoiceShortDescription\":\"Records the user's acceptance or refusal of a vivre-dans-le-neuf.com program proposition and returns the next program to present. (vivre_dans_le_neuf_validate_choice)\",\"vivreDansLeNeufValidatePreSelectedChoiceHeader\":\"Vivre Dans Le Neuf - Validate pre-selected choice\",\"vivreDansLeNeufValidatePreSelectedChoiceShortDescription\":\"Records the user's acceptance or refusal of a pre-selected vivre-dans-le-neuf.com program and returns the next one to present. (vivre_dans_le_neuf_validate_pre_selected_choice)\",\"vivreDansLeNeufGetProgramDetailsHeader\":\"Vivre Dans Le Neuf - Get program details\",\"vivreDansLeNeufGetProgramDetailsShortDescription\":\"Retrieves the detailed list of properties (lots) available in a specific vivre-dans-le-neuf.com program. (vivre_dans_le_neuf_get_program_details)\"},\"HomePage\":{\"signin\":\"Sign in\",\"signup\":\"Sign up\"},\"Auth\":{\"sidecard\":{\"welcome\":\"Welcome to Pinpo\",\"subtitle\":\"Discover the best way to convert your leads\",\"altImageSign\":\"Happy human\"}},\"Team\":{\"inviteModal\":{\"trigger\":\"Invite\",\"title\":\"Invite a collaborator\",\"cancel\":\"Cancel\",\"submit\":\"Send invitation\",\"email\":\"Email address\",\"success\":{\"title\":\"Invitation sent\",\"description\":\"An invitation has been sent to {email}.\"},\"error\":{\"description\":\"An error occurred while sending the invitation. Please try again.\",\"noOrganization\":\"No organization selected.\"}},\"tabTitle\":\"Team\",\"title\":\"Collaborators\",\"description\":\"Add and manage collaborators in your organization.\",\"addOrganizationButtonLabel\":\"Add a new organization\",\"organizationMember\":\"{count, plural, one {member} other {members}}\",\"userTab\":{\"headers\":{\"name\":\"Name\",\"email\":\"Email\",\"role\":\"Role\",\"status\":\"Status\",\"actions\":\"Actions\"},\"actions\":{\"delete\":\"Delete\"},\"statuses\":{\"active\":\"Active\",\"pending\":\"Pending\",\"expired\":\"Expired\"},\"roles\":{\"org:admin\":\"Administrator\",\"org:member\":\"Member\"}}},\"Agents\":{\"title\":\"Your agents\",\"description\":\"Manage your AI agents and track their performance.\",\"addAgent\":\"Add new agent\",\"agentName\":\"Agent name\",\"agentTitle\":\"Use case\",\"createdAt\":\"Creation date\",\"qualifications\":\"Qualifications\",\"types\":{\"ENGAGEMENT\":\"Real time\",\"FOLLOW_UP\":\"Follow-up\",\"PUSH\":\"Push\"},\"editModal\":{\"trigger\":\"Edit agent\",\"title\":\"Edit agent\",\"agentId\":\"Agent ID\",\"agentNamePlaceholder\":\"Camille\",\"agentTitle\":\"Use case\",\"cancel\":\"Cancel\",\"save\":\"Save\"}},\"Leads\":{\"Qualification\":{\"tabTitle\":\"Qualifications\",\"title\":\"All your qualifications\",\"description\":\"{count, plural, one {# qualification matching these criteria} other {# qualifications matching these criteria}}\",\"table\":{\"id\":\"ID\",\"contact\":\"Contact\",\"externalId\":\"External ID\",\"marketingSource\":\"Marketing source\",\"agent\":\"Agent\",\"segmentation\":\"Segmentation\",\"tags\":\"Tags\",\"status\":\"Status\",\"lastActivity\":\"Last activity\"},\"detail\":{\"qualificationNotFound\":\"Qualification not found\",\"backToQualifications\":\"Back to qualifications\",\"actions\":\"Actions\",\"stopQualification\":\"Stop treatment\",\"qualificationCost\":\"QUALIFICATION COST\",\"qualificationDetail\":\"QUALIFICATION DETAIL\",\"summary\":\"Summary\",\"contactDetail\":\"CONTACT DETAIL\",\"history\":\"HISTORY\",\"conversation\":\"CONVERSATION\",\"noMessages\":\"No message yet\",\"extractedData\":\"Extracted data\",\"customFields\":\"Custom fields\",\"noExtractedData\":\"No extracted data available\",\"noCustomFields\":\"No custom fields available\",\"status\":\"Status\",\"completed\":\"Completed\",\"segmentation\":\"Segmentation\",\"hotLead\":\"Hot lead\",\"tags\":\"Tags\",\"marketingSource\":\"Marketing source\",\"lastChannelUsed\":\"Last channel used\",\"noSalespersonAssigned\":\"No salesperson assigned\",\"qualificationExternalId\":\"Qualification external ID\",\"o
12penAgentChat\":\"Test\",\"agentId\":\"Agent ID\",\"agentName\":\"Agent\",\"appointment\":\"Appointment\",\"campaign\":\"Campaign\",\"firstname\":\"First name\",\"lastname\":\"Last name\",\"lastnameFirstname\":\"Last name - First name\",\"email\":\"Email\",\"phone\":\"Phone\",\"whatsappLink\":\"WhatsApp link\",\"gender\":\"Gender\",\"genders\":{\"male\":\"Male\",\"female\":\"Female\",\"other\":\"Other\",\"unknown\":\"Unknown\"},\"contactExternalId\":\"Contact external ID\",\"salespersonDetail\":\"SALESPERSON DETAIL\",\"icalUrl\":\"iCal URL\",\"salespersonExternalId\":\"Salesperson external ID\",\"creationDate\":\"Creation date\",\"engagementDate\":\"Engagement date\",\"lastActivityDate\":\"Last activity date\",\"conversionDate\":\"Conversion date\",\"noData\":\"No data available\",\"more\":\"See more ...\",\"less\":\"See less\",\"error\":{\"defaultErrorTitle\":\"Qualification error\",\"defaultErrorMessage\":\"An unexpected error occurred.\",\"codes\":{\"noSequenceSelected\":{\"title\":\"No sequence selected\",\"message\":\"No message sequence is associated with this qualification.\"},\"contactNotFound\":{\"title\":\"Contact not found\",\"message\":\"The contact linked to this qualification could not be found.\"},\"contactMissingPhone\":{\"title\":\"Missing phone number\",\"message\":\"This contact has no phone number.\"},\"dailyQuotaReached\":{\"title\":\"Daily quota reached\",\"message\":\"The daily sending quota has been reached for this channel.\"},\"agentOverscheduled\":{\"title\":\"Agent overloaded\",\"message\":\"This agent has too many qualifications scheduled.\"},\"qualificationAlreadyRevived\":{\"title\":\"Qualification already revived\",\"message\":\"This qualification has already been revived and cannot be revived again.\"}}}},\"timeAgo\":{\"days\":\"{count, plural, one {# day ago} other {# days ago}}\",\"weeks\":\"{count, plural, one {# week ago} other {# weeks ago}}\",\"months\":\"{count, plural, one {# month ago} other {# months ago}}\",\"hours\":\"{count, plural, one {# hour ago} other {# hours ago}}\",\"minutes\":\"{count, plural, one {# minute ago} other {# minutes ago}}\",\"seconds\":\"{count, plural, one {# second ago} other {# seconds ago}}\"},\"filters\":{\"agents\":\"Agents\",\"marketingSources\":\"Marketing sources\",\"status\":\"Statuses\",\"detailedStatus\":\"Last activity\",\"segmentation\":\"Segmentation\",\"tags\":\"Tags\",\"channels\":\"Channels\",\"activities\":\"Activities\",\"data\":\"Data\",\"resetFilters\":\"Reset filters\",\"channel\":{\"SMS\":\"SMS\",\"WHATSAPP\":\"WhatsApp\"},\"activity\":{\"last_7_days\":\"Last activity \u003c 7 days\",\"last_30_days\":\"Last activity \u003c 30 days\",\"no_activity\":\"No activity\"},\"dataOption\":{\"with_data\":\"With personal data\",\"without_data\":\"Without personal data\"}},\"dateFilter\":{\"label\":\"Activities\",\"activityDateLabel\":\"Filter by activity date\",\"activityDateDescription\":\"Filter based on the date the activity was created by the lead\",\"treatmentDateLabel\":\"Filter by treatment date\",\"treatmentDateDescription\":\"Filter based on the date the qualification was treated by your team\",\"inverseDates\":\"Reverse dates\",\"startDate\":\"Start date\",\"endDate\":\"End date\",\"selectDate\":\"Select a date\",\"cancel\":\"Cancel\",\"apply\":\"Apply\",\"errorStartDateAfterEndDate\":\"Start date cannot be after end date\",\"errorEndDateBeforeStartDate\":\"End date cannot be before start date\",\"errorDateInFuture\":\"Date cannot be in the future\"},\"toolbar\":{\"searchPlaceholder\":\"Search qualifications\",\"actionsPlaceholder\":\"Actions\",\"exportCsv\":\"Export results\",\"anonymize\":\"Anonymize data\",\"addButton\":\"Add\"},\"addModal\":{\"title\":\"Add a qualification\",\"testTitle\":\"Add a test qualification\",\"tabs\":{\"qualification\":\"Qualification details\",\"salesperson\":\"Salesperson information\"},\"lastname\":\"Last name\",\"lastnamePlaceholder\":\"Dupond\",\"firstname\":\"First name\",\"firstnamePlaceholder\":\"Adrien\",\"phone\":\"Phone number\",\"phonePlaceholder\":\"6 79 80 81 82\",\"phoneRequired\":\"Phone number is required\",\"phoneInvalid\":\"Please enter a valid phone number\",\"phoneMinLength\":\"Phone number must be at least 8 characters\",\"phoneMaxLength\":\"Phone number cannot exceed 20 characters\",\"externalId\":\"External ID\",\"externalIdPlaceholder\":\"54xY143\",\"email\":\"Email\",\"emailPlaceholder\":\"[email protected]\",\"emailInvalid\":\"Please enter a valid email\",\"agent\":\"Agent\",\"agentPlaceholder\":\"Select an agent\",\"agentRequired\":\"Agent is required\",\"customFields\":\"Custom fields (key / value)\",\"customFieldKey\":\"Key\",\"customFieldValue\":\"Value\",\"customFieldKeyPlaceholder\":\"city\",\"customFieldValuePlaceholder\":\"Paris\",\"addCustomField\":\"Add a custom field\",\"removeCustomField\":\"Remove\",\"success\":\"Qualification added\",\"salesperson\":{\"lastname\":\"Salesperson last name\",\"lastnamePlaceholder\":\"Dupond\",\"firstname\":\"Salesperson first name\",\"firstnamePlaceholder\":\"Adrien\",\"phone\":\"Salesperson phone number\",\"phonePlaceholder\":\"Enter your phone number\",\"email\":\"Email address\",\"emailPlaceholder\":\"[email protected]\",\"externalId\":\"External ID\",\"externalIdPlaceholder\":\"SRT67\",\"iCalUrl\":\"Ical link\",\"iCalUrlPlaceholder\":\"https://cal.mycompany.com/booking/adrien-dupond/a1b2c3d4e5f6.ics\"}},\"pagination\":{\"rowsPerPage\":\"Rows per page\",\"previous\":\"Previous\",\"next\":\"Next\",\"first\":\"First page\",\"last\":\"Last page\",\"pageLabel\":\"Page {page} / {totalPages}\",\"display\":\"{start} to {end} qualifications match these criteria, out of {total}\",\"empty\":\"No qualifications to display\"},\"layout\":{\"columnsButton\":\"Columns\",\"modalTitle\":\"Manage visible columns\",\"selectAll\":\"Select all\"},\"tableFilter\":{\"searchPlaceholder\":\"Search...\",\"selectAll\":\"Select all\",\"noResults\":\"No results\",\"criteriaCount\":\"{count} criteria\",\"clickToCopy\":\"Click to copy\",\"textCopied\":\"Copied\"},\"tags\":{\"landline-phone\":\"Landline phone\",\"foreign-phone\":\"Foreign phone\",\"invali
12d\":\"Invalid\",\"technical-error\":\"Technical error\",\"already-engaged\":\"Already engaged\",\"unsufficient-credit\":\"Insufficient credit\",\"rgpd\":\"RGPD\",\"opt-out\":\"Opt-out\",\"wrong-phone\":\"Wrong phone\",\"no-phone-number-configured\":\"Phone not configured\",\"meeting\":\"Meeting\",\"all-channels-exhausted\":\"No eligible channel\"},\"queryBuilder\":{\"label\":\"Data\",\"conditionLabel\":\"When\",\"noFilters\":\"No filters configured\",\"addFilter\":\"Add filter\",\"addCondition\":\"Add condition\",\"group\":\"Group\",\"fieldPlaceholder\":\"Select field\",\"operatorPlaceholder\":\"Select condition\",\"valuePlaceholder\":\"Value\",\"searchPlaceholder\":\"Search\",\"selectAll\":\"Select all\",\"noResults\":\"No results found\",\"optionsSelected\":\"{count} options selected\",\"combineWith\":\"Combine with\",\"cancel\":\"Cancel\",\"apply\":\"Apply\",\"operators\":{\"and\":\"AND\",\"or\":\"OR\",\"equals\":\"Is equal to\",\"notEquals\":\"Is not equal to\",\"contains\":\"Contains\",\"notContains\":\"Does not contain\",\"greaterThan\":\"Is greater than\",\"lessThan\":\"Is less than\",\"before\":\"Is before\",\"after\":\"Is after\",\"is\":\"Is\",\"isNot\":\"Is not\",\"isEmpty\":\"Is empty\",\"isNotEmpty\":\"Is not empty\"},\"booleanValues\":{\"yes\":\"Yes\",\"no\":\"No\"}},\"agentFilterWarning\":{\"title\":\"Custom data filters will be lost\",\"description\":\"You have selected custom data filters specific to an agent. If you add or remove an agent, you will lose your custom data filter conditions.\",\"confirm\":\"Continue\",\"cancel\":\"Cancel\"},\"exportModal\":{\"title\":\"Export qualifications\",\"description\":\"Choose a format for the export\",\"csv\":\"CSV (Comma-separated values)\",\"xlsx\":\"XLSX (Excel)\",\"export\":\"Export\",\"cancel\":\"Cancel\",\"resultsCount\":\"{count, plural, =0 {No results to export} one {# result will be exported} other {# results will be exported}}\",\"toast\":{\"title\":\"Export in progress\",\"description\":\"The download will start soon. Please do not close your browser.\"}}},\"Contacts\":{\"tabTitle\":\"Contacts\",\"title\":\"Your contacts\",\"description\":\"Manage your contacts and their personal information\"},\"TestLeads\":{\"tabTitle\":\"Test qualifications\",\"title\":\"Your test qualifications\",\"description\":\"Manage your test qualifications and their contact information\"},\"Segmentation\":{\"HOT\":\"Hot\",\"WARM\":\"Warm\",\"COLD\":\"Cold\",\"UNREACHABLE\":\"Unreachable\",\"hot\":\"Hot\",\"warm\":\"Warm\",\"cold\":\"Cold\",\"unreachable\":\"Unreachable\"},\"Status\":{\"SCHEDULED\":\"Scheduled\",\"IN_PROGRESS\":\"In progress\",\"COMPLETED\":\"Completed\",\"planned\":\"Planned\",\"in-progress\":\"In progress\",\"done\":\"Completed\",\"callReceived\":\"The lead called the phone number\"},\"DetailedStatus\":{\"planned\":\"Planned\",\"scheduled\":\"Scheduled\",\"engaged\":\"Engaged\",\"engagement-followup\":\"Engagement follow-up\",\"engagement-followup-last\":\"Last engagement follow-up\",\"awaiting-contact-answer\":\"Awaiting answer\",\"to-answer\":\"To answer\",\"inactive\":\"Inactive\",\"to-revive\":\"To revive\",\"revived\":\"Revived\",\"to-segment\":\"To segment\",\"done\":\"Qualified\"}},\"Appointment\":{\"title\":{\"appointment\":\"Appointment booking\",\"availabilities\":\"Availability collection\"},\"settings\":{\"timeSlots\":{\"title\":{\"appointment\":\"Appointment time slots\",\"availabilities\":\"Availability time slots\"},\"description\":{\"appointment\":\"Time slots during which appointments can be scheduled.\",\"availabilities\":\"Enter your team's availability: your agent will use it to collect contact availability on compatible time slots.\"},\"notSelected\":\"Not working\"},\"days\":{\"monday\":\"Monday\",\"tuesday\":\"Tuesday\",\"wednesday\":\"Wednesday\",\"thursday\":\"Thursday\",\"friday\":\"Friday\",\"saturday\":\"Saturday\",\"sunday\":\"Sunday\"},\"format\":{\"title\":\"Appointment format\",\"description\":\"Configure the settings for your appointment booking to match your sales representatives' calendars\",\"duration\":\"Appointment duration\",\"durationPlaceholder\":\"Select a duration\",\"durations\":{\"15min\":\"15 minutes\",\"30min\":\"30 minutes\",\"1hour\":\"1 hour\",\"1hour30min\":\"1 hour 30 minutes\",\"2hours\":\"2 hours\",\"3hours\":\"3 hours\",\"4hours\":\"4 hours\"},\"minDelay\":\"Minimum delay between conversation and appointment\",\"maxBookingPerio
12d\":\"Maximum booking period\",\"days\":\"Days\",\"breakBetween\":\"Break between two appointments\",\"minutes\":\"minutes\",\"hours\":\"hours\",\"maxSimultaneous\":\"Maximum number of appointments in the same time slot\",\"appointmentsPerSlot\":\"Appointments per slot\"}},\"calendar\":{\"title\":\"Calendar synchronization\",\"description\":\"Synchronizing with your calendar allows the assistant to automatically add appointments made during conversations. Each confirmed appointment is integrated directly into your agenda, which limits the risk of errors and ensures reliable management of your availabilities\",\"imageAlt\":\"Calendar synchronization\",\"connectedTo\":\"Connected to {name}\",\"notConfigured\":\"No integration configured\",\"synchronized\":\"Your calendar is synchronized with the assistant\",\"connect\":\"Connect a calendar\",\"disconnect\":\"Disconnect\",\"selectProvider\":\"Choose a calendar\",\"selectProviderDescription\":\"Select the calendar you want to connect\",\"connected\":\"Calendar connected successfully\",\"disconnected\":\"Calendar disconnected successfully\",\"connecting\":\"Connecting...\",\"pleaseWait\":\"Please wait while we connect your calendar\",\"error\":\"Error\",\"callbackError\":\"Error connecting calendar\",\"connectionFailed\":\"Calendar connection failed\",\"backToSettings\":\"Back to settings\"},\"Success\":{\"configurationSaved\":\"Appointment configuration saved successfully\"}},\"NonWorkingDays\":{\"title\":\"Unavailable periods\",\"description\":\"Add public holidays or break periods during which availabilities are excluded.\",\"vacations\":{\"add\":\"unavailable periods\",\"modalTitle\":\"Unavailabilities\",\"repeatYearly\":\"Repeat each year\",\"dateRangeFormat\":\"{startDate} to {endDate}\"}},\"Integration\":{\"api\":{\"tabTitle\":\"API\",\"apiKeyConnexionTitle\":\"Connection via API KEY\",\"apiKeyConnexionDescription\":\"Automatically send data from your tools to Pinpo (for example: lead creation, adding information, or updating statuses).\\nRecommended if you want to centralize your data in Pinpo from other internal systems.\",\"details\":{\"endpointUrl\":\"Endpoint URL\",\"triggeringEvent\":\"Triggering Event\",\"agent\":\"Agent\",\"creationDate\":\"Creation Date\",\"webhookInformationTitle\":\"Webhook Information\",\"webhookInformationDescription\":\"These elements allow you to identify your webhook, understand when it is triggered, and how authentication is ensured\",\"formatTitle\":\"Format\",\"formatDescription\":\"Format of data received via this webhook\",\"contentFormat\":\"Content Format\",\"html\":\"HTML\",\"text\":\"Text\",\"emojiUsage\":\"Emoji Usage\",\"withEmoji\":\"With\",\"withoutEmoji\":\"Without\",\"deleteDialogTitle\":\"Delete this webhook\",\"deleteDialogDescription\":\"Are you sure you want to delete this webhook? This action is irreversible.\"},\"webhookConnexionTitle\":\"Connection via Webhook\",\"webhookConnexionDescription\":\"Configure a webhook to automatically receive data when a qualification is ended or for an incoming call\",\"activeWebhooksCount\":\"{count, plural, =0 {No active webhooks} =1 {# active webhook} other {# active webhooks}}\",\"viewTestLeads\":\"View tests\",\"apiKey\":{\"sendDataWithApiTitle\":\"Sending your data via API\",\"sendDataWithApiDescription\":\"Use our API to automatically transmit your data to Pinpo. This connection allows you to centralize your contacts without manual intervention\",\"ApiAccessTitle\":\"API access\",\"ApiAccessDescription\":\"Configure and test sending your data to Pinpo. Consult the dedicated documentation for the expected format.\",\"ApiAccessDescriptionDocUrl\":\"Dedicated documentation.\",\"prodApiKey\":\"Production API Key\",\"apiKeyPlaceholder\":\"*********************************************************\",\"importUrl\":\"Import URL\",\"importUrlPlaceholder\":\"https://api.pinpo.ai/v1/leads/import\",\"idAgent\":\"Agent ID\",\"idAgentPlaceholder\":\"63f1e2c9a2b47a001e4d5f8c\",\"jsonRequest\":\"JSON Request Example\",\"jsonRequestDescription\":\"Request example for sending data via the API\",\"minimalWithPhone\":\"Minimal - Phone\",\"minimalWithWhatsApp\":\"Minimal - WhatsApp\",\"complete\":\"Complete\",\"selectExample\":\"Select an example\",\"noAgentsAvailable\":\"No agents available\",\"selectAgent\":\"Select an agent\"},\"webhook\":{\"webhookConnexionTitle\":\"Connection via webhook\",\"receiveDataWithWebhookTitle\":\"Reception of your data via webhook\",\"receiveDataWithWebhookDescription\":\"Configure a webhook to automatically receive data as soon as an event occurs in Pinpo (new lead, update, response collected, etc.). This connection allows you to synchronize your tools in real time, without manual intervention.\",\"noWebhook\":\"No webhook configured\",\"noWebhookDescription\":\"Create your first webhook to sync your tools with Pinpo.\",\"addWebhook\":\"Add a webhook\",\"breadcrumb\":\"Webhook\",\"details\":{\"webhookInformationTitle\":\"Webhook informations\",\"webhookInformationDescription\":\"These elements allow you to identify your webhook, understand when it is triggered, and how authentication is ensured\",\"webhookFormatTitle\":\"Format\",\"webhookFormatDescription\":\"Format of data received via this webhook.\",\"webhookUrl\":\"Endpoint URL\",\"webhookEndpointUrl\":\"Endpoint URL\",\"webhookEvents\":\"Triggered events\",\"webhookNoEvents\":\"No event selected\",\"webhookAgent\":\"Agent\",\"webhookNoAgent\":\"No agent selected\",\"webhookAuthTitle\":\"Webhook authentication\",\"webhookAuthDescription\":\"API key used to authenticate requests sent to your endpoint\",\"webhookCreationDate\":\"Creation date\",\"webhookLastUpdate\"
12:\"Last trigger date\",\"webhookContentFormat\":\"Content format\",\"webhookContentFormatHtml\":\"HTML\",\"webhookContentFormatText\":\"Text\",\"webhookEmojiUsage\":\"Emoji usage\",\"webhookWithEmoji\":\"With\",\"webhookWithoutEmoji\":\"Without\",\"webhookLocale\":\"Language used\",\"webhookDeliverModes\":\"Qualifications concerned\",\"webhookDeliverModeProduction\":\"Production\",\"webhookDeliverModeTest\":\"Test\",\"deleteDialogTitle\":\"Delete this webhook\",\"deleteDialogDescriptionWithHistory\":\"Are you sure you want to delete this webhook? This action is irreversible and will permanently delete the associated history.\"},\"webhookTitle\":\"Your Webhooks\",\"webhookUrl\":\"URL\",\"webhookScenario\":\"Agent\",\"webhookEventType\":\"Event Type\",\"webhookActive\":\"Active\",\"allAgents\":\"All agents\",\"addWebhookModal\":{\"title\":\"Add a webhook\",\"description\":\"Configure a webhook to automatically receive data from Pinpo to the URL of your choice, as soon as an event is triggered.\",\"endpointUrlLabel\":\"Endpoint URL\",\"endpointUrlPlaceholder\":\"https://example/webhook/pinpo\",\"triggeringEventsLabel\":\"Triggering events\",\"triggeringEventsPlaceholder\":\"Select one or more events\",\"agentChoiceLabel\":\"Concerned agent\",\"allAgentsPlaceholder\":\"All my agents\",\"selected\":\"selected\",\"allAgentsSelected\":\"All agents selected\",\"allEventsSelected\":\"All triggering events selected\",\"localeLabel\":\"Language used\"},\"organizationRequired\":\"Organisation required\",\"urlRequired\":\"Endpoint URL required\",\"invalidUrl\":\"The URL entered is not valid\",\"eventsRequired\":\"At least one triggering event must be selected\",\"agentRequired\":\"At least one agent must be selected\",\"created\":\"Webhook created successfully\",\"creationFailed\":\"Failed to create webhook\",\"updated\":\"Webhook updated successfully\",\"deleted\":\"Webhook deleted successfully\",\"test\":{\"pageTitle\":\"Test\",\"defineParameters\":\"Define test parameters\",\"defineParametersDescription\":\"These parameters will be used to generate a representative example to simulate sending data to your webhook\",\"contactTypeLabel\":\"Contact Type\",\"contactTypePlaceholder\":\"Select a contact type\",\"eventTypeLabel\":\"Triggering Event\",\"eventTypePlaceholder\":\"Select a lead type\",\"dataPreviewTitle\":\"Data Preview\",\"dataPreviewDescription\":\"Example JSON payload sent to your endpoint based on selected parameters\",\"selectParametersMessage\":\"Select parameters to access data preview\",\"testConfiguration\":\"Test configuration\",\"testInProgress\":\"Test in progress\",\"testInProgressDescription\":\"We are sending the payload to your endpoint to verify proper data reception.\\nThis will only take a few seconds\",\"testSuccess\":\"Test validated\",\"testSuccessDescription\":\"Your webhook responded correctly and data was received successfully\",\"testSuccessDetails\":\"The data below is a preview of the content sent to your endpoint. To verify that it has been properly integrated, check the logs or interface of your receiving system. If you want to validate a fix, you can rerun a test at any time\",\"retryTest\":\"Retry test\",\"contactTypes\":{\"meeting\":\"Meeting\",\"hot\":\"Hot\",\"warm\":\"Warm\",\"cold\":\"Cold\",\"unreachable\":\"Unreachable\"},\"examples\":{\"hot\":\"Hot Lead - Demo scheduled\",\"hotWithAvailabilities\":\"Hot Lead - With availabilities\",\"warm\":\"Warm Lead - Real estate project\",\"cold\":\"Cold Lead - Not interested in energy contract\",\"coldGdpr\":\"Cold Lead - GDPR request\",\"coldOptout\":\"Cold Lead - Optout request\",\"coldWrongRecipient\":\"Cold Lead - Wrong recipient\",\"noSegmentation\":\"No Segmentation - GDPR and wrong recipient request\",\"unreachable\":\"Unreachable Lead - No response from contact\",\"alreadyEngaged\":\"Already Engaged - Lead already in process\",\"technicalError\":\"Technical Error - Technical issue\",\"landlinePhone\":\"Landline Phone - Contact with fixed phone number\",\"unknown\":\"Example #{number}\"},\"configurationNotLoaded\":\"Webhook configuration could not be loaded\",\"webhookInactive\":\"The webhook is inactive. Activate it to test it.\",\"testFailed\":\"Test failed - corrections needed\",\"testFailedDescription\":\"The webhook could not be validated. Please correct the issues below to retry the test\",\"testFailedDetail
12s\":\"The data below is a preview of the content sent to your endpoint. To verify that it has been properly integrated, check the logs or interface of your receiving system. If you want to validate a fix, you can rerun a test at any time\",\"problemsEncountered\":\"Problems encountered\",\"errorCode\":\"Error code\",\"errorMessage\":\"Error message\"}}},\"connecteurs\":{\"tabTitle\":\"Connectors\",\"usageTitle\":\"Using CRM connectors\",\"usageDescription\":\"Connect one or more CRMs to centralize your contacts and simplify their tracking. Each contact is synchronized only with the connector through which it was imported\",\"documentationLink\":\"View documentation\",\"connectionButton\":\"Connect\",\"configureButton\":\"Configure\",\"configure\":\"To configure\",\"connected\":\"Connected\",\"paused\":\"Paused\",\"viewConnector\":\"View connector\",\"registerButton\":\"Create a Make account\",\"providers\":{\"hubspot\":\"HubSpot\",\"salesforce\":\"Salesforce\",\"pipedrive\":\"Pipedrive\",\"immolead\":\"Immolead\",\"unlatch\":\"Unlatch\"},\"cards\":{\"salesforce\":{\"title\":\"Salesforce\",\"description\":\"Salesforce is your all-in-one solution for your marketing needs. Simplify the management and tracking of your campaigns\",\"documentationLink\":\"View documentation\",\"modal\":{\"title\":\"Connection to {title}\",\"step1\":{\"intro\":\"To connect your {title} account, start by creating a connected app in your CRM to Pinpo.\",\"instruction1\":\"Go to the Apps page in {title} and click on App Manager.\",\"instruction2\":\"Click on New connected application and fill in the following fields:\",\"field1\":\"The connected app name\",\"field2\":\"The API name\",\"field3\":\"Contact email address\",\"documentation\":\"Consult our\",\"documentationLink\":\"detailed documentation\",\"documentationSuffix\":\"for step-by-step instructions.\"},\"step2\":{\"intro\":\"Once the application is connected, you must provide the information necessary to configure synchronization with your {title} account. This information is available in the Manage Consumer Details section of the connected application.\",\"documentation\":\"Consult our\",\"documentationLink\":\"documentation\",\"documentationSuffix\":\"for detailed steps.\",\"clientIdLabel\":\"Client ID\",\"clientIdPlaceholder\":\"123456\",\"clientSecretLabel\":\"Client Secret\",\"clientSecretPlaceholder\":\"1955279925675241571\",\"callbackUrlLabel\":\"Callback URL\",\"callbackUrlPlaceholder\":\"https://app.pinpo.fr/integrations/salesforce/callback\"},\"cancelButton\":\"Cancel\",\"continueButton\":\"Continue\",\"backButton\":\"Back\",\"connectButton\":\"Connect\",\"success\":\"Salesforce connection successful\",\"connectorCreated\":\"You can now use this connector to send your leads.\",\"error\":\"Failed to connect to Salesforce\",\"errorMessage\":\"Check your credentials and connected app settings in Salesforce, then try again.\"}},\"hubspot\":{\"title\":\"HubSpot\",\"description\":\"HubSpot is your CRM solution to centralize your contacts and automate your sales follow-up. Sync your Pinpo leads directly into HubSpot.\",\"modal\":{\"title\":\"Connection to {title}\",\"intro\":\"To connect your account, you will be redirected to the {title} website to authorize access to your account.\",\"documentation\":\"Consult our\",\"documentationLink\":\"detailed documentation\",\"documentationSuffix\":\"for step-by-step instructions.\",\"cancelButton\":\"Cancel\",\"continueButton\":\"Continue\",\"backButton\":\"Back\",\"connectButton\":\"Connect\"},\"customFieldsModal\":{\"title\":\"Create {title} fields\",\"intro\":\"To finalize the connection, we need to create the pinpo_status and pinpo_agent_id fields, which are required for Pinpo to work properly in your HubSpot account. These fields will be associated with the entity you want to send us when importing a qualification.\",\"documentation\":\"Consult our\",\"documentationLink\":\"detailed documentation\",\"documentationSuffix\":\"for step-by-step instructions.\",\"entityLabel\":\"Target entity\",\"entityPlaceholder\":\"Select an entity\",\"contact\":\"Contact\",\"deal\":\"Deal\",\"cancelButton\":\"Cancel\",\"continueButton\":\"Continue\",\"success\":\"HubSpot fields created successfully.\"}},\"pipedrive\":{\"title\":\"Pipedrive\",\"description\":\"Pipedrive is designed to help you manage your sales pipeline efficiently. Boost your performance with an intuitive tool.\",\"documentationLink\":\"View documentation\",\"modal\":{\"title\":\"Connection to {title}\",\"step1\":{\"intro\":\"To connect your {title} account, start by generating an API token:\",\"field1\":\"Go to the Settings page in y
12our Pipedrive account.\",\"field2\":\"Click on Personal preferences.\",\"field3\":\"Go to the API section.\",\"field4\":\"Click Generate new token.\",\"documentation\":\"Check out our\",\"documentationLink\":\"detailed documentation\",\"documentationSuffix\":\"for step-by-step instructions.\"},\"step2\":{\"intro\":\"Once the API token is generated, enter it below to configure synchronization with your {title} account.\",\"documentation\":\"Check out our\",\"documentationLink\":\"documentation\",\"documentationSuffix\":\"for detailed steps.\",\"apiKeyLabel\":\"API token\",\"apiKeyPlaceholder\":\"1a2b3c4d5e6f7g8h9i0j\",\"entityLabel\":\"Target entity\",\"entityPlaceholder\":\"Select an entity\",\"person\":\"Person\",\"deal\":\"Deal\"},\"cancelButton\":\"Cancel\",\"continueButton\":\"Continue\",\"backButton\":\"Back\",\"connectButton\":\"Connect\",\"success\":\"Pipedrive connection successful\",\"connectorCreated\":\"You can now use this connector to send your leads.\",\"error\":\"Failed to connect to Pipedrive\",\"errorMessage\":\"Check your API token and entity selection, then try again.\"}},\"immolead\":{\"title\":\"Immolead\",\"description\":\"Connect Immolead to Pinpo to automatically engage your real estate leads using AI.\",\"documentationLink\":\"View documentation\",\"modal\":{\"title\":\"Connection to {title}\",\"intro\":\"Enter the credentials provided by your Immolead administrator to connect your account.\",\"documentation\":\"Consult our\",\"documentationLink\":\"documentation\",\"documentationSuffix\":\"for detailed steps.\",\"apiKeyLabel\":\"API key\",\"apiKeyPlaceholder\":\"35a9c-****-****-****-****-****\",\"customerKeyLabel\":\"Customer key\",\"customerKeyPlaceholder\":\"eb98a-****-****-****-****-****\",\"callbackUrlLabel\":\"Instance URL (optional)\",\"callbackUrlPlaceholder\":\"https://immo-lead.com\",\"cancelButton\":\"Cancel\",\"continueButton\":\"Continue\",\"backButton\":\"Back\",\"connectButton\":\"Connect\",\"success\":\"Immolead connection successful\",\"connectorCreated\":\"Your Immolead connector is ready. Now configure the lead attribution rules.\",\"error\":\"Failed to connect to Immolead\",\"errorMessage\":\"Check your Immolead credentials and try again. If the problem persists, contact your administrator.\"}},\"unlatch\":{\"title\":\"Unlatch\",\"description\":\"Connect Unlatch to Pinpo to automatically engage your real estate leads with AI.\",\"documentationLink\":\"View documentation\",\"modal\":{\"title\":\"Connection to {title}\",\"intro\":\"Enter the credentials provided by Unlatch to connect your account.\",\"documentation\":\"Consult our\",\"documentationLink\":\"documentation\",\"documentationSuffix\":\"for detailed steps.\",\"clientIdLabel\":\"Client ID\",\"clientIdPlaceholder\":\"35a9c-****-****-****\",\"clientSecretLabel\":\"Client Secret\",\"clientSecretPlaceholder\":\"eb98a-****-****-****\",\"instanceUrlLabel\":\"Instance URL\",\"instanceUrlPlaceholder\":\"https://api.unlatch.com\",\"cancelButton\":\"Cancel\",\"continueButton\":\"Continue\",\"backButton\":\"Back\",\"connectButton\":\"Connect\",\"success\":\"Unlatch connection successful\",\"connectorCreated\":\"Your Unlatch connector is ready. Now configure the lead attribution rules.\",\"error\":\"Failed to connect to Unlatch\",\"errorMessage\":\"Check your Unlatch credentials and try again. If the problem persists, contact your administrator.\"}},\"other\":{\"title\":\"Other CRM\",\"description\":\"Integrate your preferred CRM into our platform. Centralize your data for simplified management\",\"contactButton\":\"Contact our team\"},\"make\":{\"title\":\"Make\",\"description\":\"Make is a no-code automation platform that connects your applications and orchestrates multi-step scenarios, without code, to synchronize data and trigger actions\"},\"zapier\":{\"title\":\"Zapier\",\"description\":\"Zapier is an automation tool that connects thousands of applications via 'Zaps' to trigger actions from events, without development\"}},\"details\":{\"documentation\":\"Documentation\",\"actions\":\"Actions\",\"delete\":\"Delete\",\"pause\":\"Pause\",\"resume\":\"Resume\",\"mode\":\"Mode\",\"production\":\"Production\",\"test\":\"Test\",\"status\":\"Status\",\"connected\":\"Connected\",\"paused\":\"Paused\",\"provider\":\"Provider\",\"connectedSince\":\"Integrated on\",\"notFound\":\"Connector not found\",\"deleteSuccess\":\"Connector deleted successfully\",\"deleteDialogTitle\":\"Delete this connector?\",\"deleteDialogDescription\":\"This action cannot be undone. The connector will be disconnected and all its configurations will be deleted.\",\"configuration\":{\"tabTitle\":\"Configuration\",\"notFound\":\"Connector not found\",\"identificationTitle\":\"Identification information\",\"identificationDescription\":\"This information identifies the account connected to Pinpo and verifies the URL used to send data\",\"salesforceInstanceUrl\":\"Instance URL\",\"salesforceClientId\":\"Client ID\",\"salesforceClientSecret\":\"Client secret\",\"pipedriveApiKey\":\"API key\",\"immoleadApiKey\":\"API key\",\"immoleadCustomerKey\":\"Customer key\",\"immoleadInstanceUrl\":\"Instance URL\",\"immoleadUserAdminId\":\"User Admin ID\",\"unlatchClientId\":\"Client ID\",\"unlatchClientSecret\":\"Client secret\",\"unlatchInstanceUrl\":\"Instance URL\",\"unlatchSellerEmail\":\"Seller email\",\"unlatchStatus\":\"Statuses\",\"unlatchCustomSync\":\"Custom sync\",\"portalId\":\"Portal ID\",\"entity\":\"CRM Object\",\"client\":\"Client\",\"actionsTitle\":\"Actions\",\"actionsDescription\":\"Configure which actions are created in your CRM based on events and lead segmentation.\",\"actions\":{\"task\":\"Task\",\"note\":\"Note\",\"meeting\":\"Meeting\"},\"actionTaskDescription\":\"Automatically schedule a task in the CRM to facilitate follow-up and ensure no important action is forgotten for each lead type.\",\"actionNoteDescription\":\"A note is recorded in the CRM for each contact, with the exchange history.\",\"actionMeetingDescription\":\"A meeting is scheduled in the CRM, associated with the contact.\",\"helpBannerTitle\":\"Additional custom actions\",\"helpBannerDe
12scription\":\"Add a webhook to transmit data to a third-party system, outside of your CRM.\",\"segmentation\":{\"hot\":\"Hot\",\"warm\":\"Warm\",\"cold\":\"Cold\",\"unreachable\":\"Unreachable\"},\"actionEvent\":{\"meeting\":\"Meeting\",\"rgpd\":\"RGPD\",\"incomingCall\":\"Incoming call\"},\"allLead\":\"All leads\",\"agentsTitle\":\"Agent information\",\"agentsDescription\":\"Use these identifiers in your instructions to designate the agent to assign the lead to.\",\"instructionsTitle\":\"Lead attribution rules\",\"immoleadInstructionsDescription\":\"For each request received from Immolead, the AI reads these rules to determine which agent to assign for qualification. The more precise your conditions, the more reliable the attribution. To skip lead creation, instruct the model to return 'none'.\",\"unlatchInstructionsDescription\":\"For each request received from Unlatch, the AI reads these rules to determine which agent to assign for qualification. The more precise your conditions, the more reliable the attribution. To skip lead creation, instruct the model to return 'none'.\",\"instructionsLabel\":\"Instructions\",\"instructionsPlaceholder\":\"If the lead origin is 'Facebook Meta' then select agent xxxxx, otherwise select agent yyyyy...\",\"jsonBannerTitle\":\"Preview of sent data\",\"jsonBannerDescription\":\"Consult an example of data sent with your instructions.\",\"jsonBannerLink\":\"View data\",\"jsonModalTitle\":\"Data sent with your instructions\",\"jsonModalDataTitle\":\"Preview of sent data\",\"jsonModalDataDescription\":\"Example of JSON payload sent with your instructions.\"},\"mapping\":{\"tabTitle\":\"Mapping\",\"title\":\"CRM field mapping\",\"description\":\"Match each Pinpo field with its equivalent in your CRM to ensure seamless data synchronization\",\"pinpoFieldsTitle\":\"Pinpo fields\",\"mappingTitle\":\"Mapping\",\"mappingCount\":\"{count}/{total}\",\"connectorFieldsTitle\":\"Connector fields\",\"libraryTitle\":\"{provider} field library\",\"searchPlaceholder\":\"Search for a field\",\"dropHere\":\"Drop a connector field here\",\"removeMapping\":\"Remove mapping for {field}\",\"noResults\":\"No fields found.\",\"categories\":{\"all\":\"All\",\"activity\":\"Activity\",\"lead\":\"Lead\",\"organization\":\"Organization\",\"company\":\"Organization\",\"deal\":\"Deal\",\"person\":\"Person\",\"contact\":\"Contact\",\"product\":\"Product\",\"user\":\"User\",\"salesperson\":\"Salesperson\"},\"fieldTypes\":{\"text\":\"Text\",\"number\":\"Number\",\"date\":\"Date\",\"boolean\":\"Boolean\",\"single_choice\":\"Single choice\",\"multiple_choice\":\"Multiple choice\"},\"pinpoFields\":{\"contact\":{\"firstname\":{\"label\":\"First name\"},\"lastname\":{\"label\":\"Last name\"},\"mail\":{\"label\":\"Email\"},\"phone\":{\"label\":\"Phone\"},\"whatsAppUserId\":{\"label\":\"WhatsApp User ID\"}},\"qualification\":{\"source\":{\"label\":\"Marketing source\"}},\"salesperson\":{\"externalId\":{\"label\":\"Salesperson ID\"}}},\"connectorFields\":{\"firstName\":\"First name\",\"lastName\":\"Last name\",\"fullName\":\"Full name\",\"workEmail\":\"Work email\",\"personalEmail\":\"Personal email\",\"phoneNumber\":\"Phone number\",\"mobileNumber\":\"Mobile number\",\"owner\":\"Lead owner\",\"status\":\"Lead status\",\"companyName\":\"Company name\",\"dealAmount\":\"Deal amount\",\"lastActivityDate\":\"Last activity date\"},\"addCustomFieldButton\":\"Add a custom field\",\"customFieldModal\":{\"title\":\"Add a custom field\",\"identifierLabel\":\"Identifier\",\"identifierDescription\":\"Unique identifier used for the mapping.\",\"identifierPlaceholder\":\"my_custom_field\",\"nameLabel\":\"Field name\",\"namePlaceholder\":\"My custom field\",\"descriptionLabel\":\"Description (optional)\",\"descriptionPlaceholder\":\"Description of this field\",\"typeLabel\":\"Field type\"}}},\"hubspotCallback\":{\"connecting\":\"Connecting to HubSpotâ¦\",\"pleaseWait\":\"Please wait while we finalize the connection.\",\"connected\":\"HubSpot connector created successfully.\",\"error\":\"Connection error\",\"callbackError\":\"The HubSpot authorization code is missing or invalid.\",\"connectionFailed\":\"The connection to HubSpot failed. Please try again.\",\"backToConnectors\":\"Back to connectors\"}},\"csv\":{\"tabTitle\":\"CSV\",\"manualImportTitle\":\"Manual CSV Import\",\"manualImportDescription\":\"Import your contacts from a CSV file. Use your own file or the template provided by Pinpo to ensure compatibility.\",\"
12integrationPage\":{\"title\":\"CSV Integration\"},\"importPage\":{\"title\":\"Import CSV\",\"documentation\":\"Documentation\",\"errors\":{\"import\":\"Import error\",\"unsupportedFileType\":\"File type is not supported. Accepted formats: .csv, .xlsx\",\"unsupportedEncoding\":\"File encoding is not supported. Accepted encodings: UTF-8, ISO-8859-1, windows-1252\",\"parseError\":\"Failed to parse the file. Please check the file format and try again.\",\"unauthorizedAgents\":\"The file contains agents that do not belong to your organization.\"},\"infoCard\":{\"title\":\"Import your data via CSV\",\"description\":\"Import your CSV files with a model or a Pinpo template. Download a template below to ensure compatibility.\",\"downloadXlsx\":\"Template XLSX (Excel)\",\"downloadCsv\":\"Template CSV\",\"downloadTemplate\":\"Templates\",\"downloadExample\":\"Examples\",\"xlsxOption\":\"XLSX (Excel)\",\"csvOption\":\"CSV\"},\"emptyCard\":{\"badge\":\"No CSV\",\"title\":\"No CSV file imported\",\"description\":\"Import your data to get started. Use the \u003cxlsxLink\u003eExcel\u003c/xlsxLink\u003e or \u003ccsvLink\u003eCSV\u003c/csvLink\u003e template to ensure compatibility.\",\"importButton\":\"Import a file\"},\"sheetDialog\":{\"title\":\"Select an XLSX sheet\",\"importWarning\":\"Warning, importing a file immediately triggers the engagement: your AI agents will start processing each contact, without an intermediate step.\",\"description\":\"Your file contains multiple sheets, but data can only be imported from one sheet at a time.\",\"question\":\"Which sheet would you like to import?\",\"cancel\":\"Cancel\",\"confirm\":\"Continue\"},\"confirmationDialog\":{\"title\":\"Import a file\",\"cancel\":\"Cancel\",\"confirm\":\"Confirm\"},\"uploadStep\":{\"sendFileLabel\":\"Send file\",\"mappingLabel\":\"Results\",\"dragDropTitle\":\"Import your CSV or Excel file\",\"sendFileButton\":\"Send your file\",\"dragDropHint\":\"You can also drag and drop your file here.\",\"uploadingText\":\"Importing file {fileName}â¦\",\"cancelUpload\":\"Cancel import\",\"templatesTitle\":\"Use our templates\",\"templatesDescription\":\"Download a ready-to-use template to structure your data and import it easily\",\"downloadXlsx\":\"Template XLSX (Excel)\",\"downloadCsv\":\"Template CSV\",\"downloadTemplate\":\"Templates\",\"downloadExample\":\"Examples\",\"xlsxOption\":\"XLSX (Excel)\",\"csvOption\":\"CSV\"},\"importResult\":{\"title\":\"Your CSV files\",\"addButton\":\"+ Add\",\"columnFileName\":\"File name\",\"columnImportDate\":\"Import date\",\"columnStatus\":\"Status\",\"columnTotalLeads\":\"Total leads\",\"columnImportedLeads\":\"Imported leads\",\"columnFailedLeads\":\"Failed leads\",\"statusInProgress\":\"IN PROGRESS\",\"statusImported\":\"IMPORTED\",\"pagination\":{\"rowsPerPage\":\"Rows per page\",\"previous\":\"Previous\",\"next\":\"Next\",\"first\":\"First page\",\"last\":\"Last page\",\"pageLabel\":\"Page {page} / {totalPages}\"}}}},\"eventTypes\":{\"qualified\":\"Qualified by Pinpo\",\"incomingCall\":\"Incoming call\",\"hotLead\":\"Hot\",\"warmLead\":\"Warm\",\"coldLead\":\"Cold\",\"rgpdRequest\":\"GDPR request\"},\"calendar\":{\"tabTitle\":\"Calendar\",\"googleDescription\":\"Connect your sales team's calendar via Google Calendar to automatically synchronize their availability and allow leads to book a slot in real time\",\"microsoftDescription\":\"Connect your sales team's calendar via Microsoft Exchange to automatically synchronize their availability and allow leads to book a slot in real time\",\"icalDescription\":\"Connect your sales team's calendar via iCal to automatically synchronize their availability and allow leads to book a slot in real time\",\"syncTitle\":\"Calendar synchronization\",\"syncDescription\":\"Synchronizing with your calendar allows the assistant to automatically add appointments made during conversations. Each confirmed appointment is integrated directly into your agenda. Activating the iCalendar link allows the salesperson's calendar link to be sent in each qualification\",\"googleTitle\":\"Google calendar\",\"microsoftTitle\":\"Microsoft Exchange\",\"icalTitle\":\"iCalendar link\",\"icalStatus\":\"iCal link included in qualifications\",\"notConnected\":\"Not connected\",\"connectedWith\":\"connected with {email}\",\"manageIntegration\":\"Manage integration\",\"noCalendarConnected\":\"No calendar connected\",\"connectCalendar\":\"Connect a calendar\",\"noIntegration\":\"No integration configured\",\"connectCalendarToActivate\":\"Connect a calendar to activate synchronization of appointments made by the assistant\",\"disconnect\":\"Disconnect\",\"status\":\"Status\",\"connected\":\"Connected\",\"connectedAccount\":\"Connected account\",\"syncDate\":\"Synchronized on\",\"calendarSyncInfo\":\"Calendar synchronization\",\"calendarSyncInfoDescription\":\"When connecting with Google or Microsoft Exchange, a dedicated \\\"Pinpo Appointments\\\" calendar is automatically created. All appointments made via the assistant will be added there, and the salesperson attached to the lead will be invited to the event\",\"syncParameters\":\"Calendar synchronization parameters\",\"syncParametersDescription\":\"These parameters define how Pinpo interacts with your connected calendar for creating, modifying and canceling appointments\",\"appointmentCreation\":\"Creating appointments in the calendar\",\"appointmentCreationDescription\":\"Choose how Pinpo interacts with your calendar for appointment booking\",\"createAppointmentsInCalendar\":\"Create appointments in the calendar\",\"consultAvailabilityOnly\":\"Only consult availability\",\"modifiedCancelledAppointments\":\"Management of modified or cancelled appointments\",\"modifiedCancelledAppointmentsDescription\":\"Choose how Pinpo should handle the initial appointment when it is moved or cancelled by the lead\",\"addMentionOnModification\":\"Add a cancellation/modification mention in the title of the initial appointment\",\"deleteInitialAppointment\":\"Delete the initial appointment\",\"connecting\"
12:\"Connecting...\",\"pleaseWait\":\"Please wait while we connect your calendar\",\"error\":\"Error\",\"callbackError\":\"Error connecting calendar\",\"connectionFailed\":\"Connection failed\",\"backToSettings\":\"Back to settings\",\"saving\":\"Saving...\",\"settingsSaved\":\"Settings saved successfully\",\"settingsSaveFailed\":\"Failed to save settings\",\"disconnected\":\"Calendar disconnected successfully\",\"backToAppointment\":\"Appointment booking tool\",\"backToCalendarIntegration\":\"Calendar integration\"}},\"StepHeader\":{\"apiKeyConnexion\":\"Connection via API key\",\"webhookConnexion\":\"Connection via Webhook\",\"webhookDetails\":\"Webhook\",\"webhookTest\":\"Test\",\"swaggerApi\":\"Swagger API\",\"documentation\":\"Documentation\",\"helpdesk\":\"Helpdesk\"},\"AgentActivity\":{\"timeZoneTitle\":\"Time zone\",\"timeZoneDescription\":\"Set the reference time zone used for engagement and conversation time slots.\",\"timezoneSearchPlaceholder\":\"Search...\",\"engagementTimeSlotTitle\":\"Engagement time slot\",\"engagementTimeSlotDescription\":\"Time slots for sending engagement messages. Contacts created outside these slots will be contacted at the next scheduled time.\",\"engagementDailyLimitTitle\":\"Daily limit\",\"engagementDailyLimitDescription\":\"Maximum number of new engagements per day.\",\"engagementDailyLimitInputTitle\":\"Maximum number of engagements per day\",\"engagementDailyLimitInputDescription\":\"Between 1 and 7000\",\"gracePeriodTitle\":\"Re-engagement delay\",\"gracePeriodDescription\":\"Define the delay after which a lead who has already been processed can be engaged again by the same agent, under the same terms, following a new request, a new import, or a new submission from you.\",\"gracePeriodInputDescription\":\"Next possible engagement in\",\"conversationTimeSlotTitle\":\"Conversation time slot\",\"conversationTimeSlotDescription\":\"Time slots during which your assistant can exchange with the lead. Contacts who send a message outside these hours are processed as soon as conversation hours resume.\",\"conversationRevivalTitle\":\"Conversation revival\",\"conversationRevivalDescription\":\"When a contact stops responding during an exchange, choose how long to wait before follow-up. The agent generates a follow-up adapted to the progress of the exchange. If the follow-up occurs outside conversation time slots, it will not be sent.\",\"conversationRevivalDelayLabel\":\"Revival sent after\",\"inactiveDelayTitle\":\"Inactive delay\",\"inactiveDelayDescription\":\"Define the time given to the contact to respond after the conversation revival. Without a response at the end of this delay, their qualification is closed and sent to you.\",\"inactiveDelayLabel\":\"Inactivity delay\",\"settings\":{\"days\":{\"monday\":\"Monday\",\"tuesday\":\"Tuesday\",\"wednesday\":\"Wednesday\",\"thursday\":\"Thursday\",\"friday\":\"Friday\",\"saturday\":\"Saturday\",\"sunday\":\"Sunday\"}},\"nonWorkingDays\":{\"title\":\"Break days\",\"description\":\"Add public holidays or break periods to suspend engagement of new contacts.\",\"addVacations\":\"non-working days\",\"modalTitle\":\"Non-working days\",\"repeatYearly\":\"Repeat each year\",\"dateRangeFormat\":\"{startDate} to {endDate}\"},\"minutes\":\"minutes\",\"hours\":\"hours\",\"days\":\"days\"},\"LandingPage\":{\"navbar\":{\"integrations\":\"Integrations\",\"pricing\":\"Pricing\",\"ressources\":{\"title\":\"Ressources\",\"documentation\":\"Documentation\",\"api\":\"API\",\"helpdesk\":\"Helpdesk\",\"recruitment\":\"Recruitment\"},\"login\":\"Log in\",\"startNow\":\"Start now\",\"bookDemo\":\"Demo\",\"contactUs\":\"Contact us\",\"freeTrial\":\"Free trial\",\"security\":\"Security\",\"goToApp\":\"Go to app\"},\"hero\":{\"title\":\"Human conversations. Superhuman performances.\",\"titlePart1\":\"Human conversations.\",\"titlePart2\":\"Superhuman performances.\",\"description\":\"Double your sales force without hiring. Your AI agents engage conversations, reason, qualify, schedule meetings, and convert contacts via SMS and WhatsApp, continuously.\",\"bookDemo\":\"Book a demo\",\"quickDemo\":\"Quick demo\"},\"operatingBlock\":{\"agents\":\"Agents\",\"prompts\":\"Prompts\",\"knowledgeBase\":\"Knowledge Base\",\"integrations\":\"Integrations\",\"test\":\"Test\",\"dropdownOptions\":{\"qualificationLeads\":\"Leads qualification\",\"relanceClients\":\"Clients relance\",\"qualificationCandidats\":\"Candidates qualification\"},\"leadQualificationAgent\":{\"agentName\":\"Sophie\",\"sector\":\"Real estate\",\"agentDescription\":\"Sophie is an AI agent specialized in real estate leads qualification in real-time and key criteria\",\"agentContent\":{\"intro\":\"You are Sophie, commercial counselor for [Promoter], specialized in the qualification of new real estate projects.\",\"rule1\":\"You contact people who have shown interest in one of our programs â form, partner portal or direct site.\",\"rule2\":\"Personality â You are professional, warm and precise. You know that buying new is a commitment with a delivery delay to anticipate â you reassure, you explain, you accompany. You always use the formal you.\",\"rule3\":\"Objective â Identify the profile and project, qualify the maturity, match with the right program, and trigger a meeting with a commercial counselor.\",\"rule4\":\"What you never do â You never promise availability of a lot without verification. You never communicate a fixed price in a message. You never direct towards a competing program.\"},\"promptsContent\":{\"step1\":\"1# Project identification\\nVerify the project type: primary residence, secondary residence or rental investment. Detect the profile: first-time buyer, homeowner looking to change, or investor. These two dimensions determine the applicable programs and available schemes. Condition: if unclear â ask both questions separately before moving forward.\",\"step2\":\"2# Criteria qualification\\nCollect: desired geographic area, overall budget (available down payment or ongoing financing), target typology (1-bed, 2-bed, 3-bed...), acceptable delivery timeline (new build = 18 to 30 months depending on program). Condition: if budget is incompatible with available programs in the area â explore other areas or typologies before concluding.\",\"step3\":\"3# Maturity detection\\nAssess the real progress of the project: simple curiosity, active search, financial simulation already done, imminent decision. \\\"Hot\\\" prospect = financing in progress or approved + decision expected within 3 months. Warning signal: prospect comparing multiple developers â priority escalation to a counselor with full context transmitted.\",\"step4\":\"4# Program proposal and next step\\nIdentify 1 to 2 programs matching the criteria (area, budget, typology, delivery timeline). Calibrate the action based on maturity: program visit or virtual showroom, advisory meeting with a sales representative, or program brochure sent. Condition: if no program available in the area â offer a launch alert for upcoming residences matching the criteria.\",\"step5\":\"5# Confirmation and summary\\nConfirm: targeted program(s) + meeting type + date/time + channel. Summarize the profile to personalize the sales meeting. Indicate useful documents to prepare (financing simulation, proof of first-time buyer status). Condition: if no meeting confirmed â follow up at D+7 with an alert on a unit or program matching the expressed criteria.\"},\"knowledgeContent\":{\"knowledge1\":\"Entry 1 â Program range\",\"knowledge2\":\"Programs available organized by geographic area, typology (from T1 to T5) and commercial status (in commercialization, near delivery, imminent launch). Delivery times: 12 to 30 months depending on construction progress. Personalization possible before the air-free stage: choice of finishes, equipped kitchen or not, wall modifications according to plan. Each program has a commercial brochure and a mass plan downloadable.\",\"knowledge3\":\"Entry 2 â New construction devices \u0026 financing\",\"knowledge4\":\"Systematic advantages on new construction: reduced notary fees at 2-3%, decennial / biennial / perfect completion guarantees, RE2020 standards (DPE A or B). Devices according to profile: PTZ for first-time buyers in eligible zones (up to 40% of the price), reduced VAT at 5.5% in ANRU zones, investor devices according to current regulations. Available banking partnerships for financing simulation within 24 hours upon request.\"}},\"leadRelanceAgent\":{\"agentName\":\"Olivier\",\"sector\":\"Insurance\",\"agentDescription\":\"Olivier is an AI agent specialized in relaunching clients and following up on insurance files\",\"agentContent\":{\"intro\":\"You are Olivier, a wealth insurance advisor specialized in savings and protection solutions for families.\",\"rule1\":\"You contact clients who have already subscribed to a family health insurance plan. Your role is to present the benefits of life insurance, linking it to their situation as parents and their desire to protect their family's future.\",\"rule2\":\"Personality â You are warm, educational and serious. You simplify financial topics without ever being condescending. You build trust before proposing: you guide, you don't sell. You always use the formal you.\",\"rule3\":\"Objective â Spark interest in life insurance starting from the client's family context, qualify their project, and trigger a meeting with a wealth advisor.\",\"rule4\":\"What you never do â You never give tax or legal advice. You never guarantee any return. You never share existing contract data via SMS. You never force a decision.\"},\"promptsContent\":{\"step1\":\"1# Hook and family anchoring\\nRecall the context: the client has a family health insurance plan, they already protect their family on a daily basis. Naturally introduce the long-term question: plans for the children, education, future. Do not mention life insurance right away â start from the family project. Condition: if cold reaction or immediate \\\"not interested\\\" â do not insist, note the context and schedule a follow-up at D+30.\",\"step2\":\"2# Family project exploration\\nQualify the concerns: children's ages, planned projects (education, housing), time horizon, overall wealth situation (homeowner, other ongoing investments). Identify the dominant lever among three: progressive savings for children / spouse protection in case of death / inheritance optimization. Do not ask all questions at once â move forward through natural follow-ups.\",\"step3\":\"3# Targeted benefits presentation\\nBased on the identified lever, highlight 1 to 2 concrete and personalized benefits:\\nâ Children savings â capital available at majority, flexible payments starting from a small monthly amount\\nâ Death protection â capital transferred outside estate to de
12signated beneficiaries, tax-free\\nâ Tax benefits â significant advantages after 8 years, allowances on gains\\nCondition: do not present everything â stay focused on the client's project. If the client asks for precise figures â direct to the advisor.\",\"step4\":\"4# Next step proposal\\nPropose an advisory meeting (phone or video call) with a wealth specialist for a personalized simulation, with no commitment. Condition: if hesitation â reassure about the no-commitment aspect and offer to send the benefits sheet before the meeting. If refusal â follow up at D+30 with a different angle (e.g.: back to school, end of fiscal year).\",\"step5\":\"5# Confirmation and summary\\nConfirm: meeting date/time + channel (phone or video call). Summarize the discussed project to personalize the meeting. Indicate useful documents to prepare (family situation, horizon, planned amount). Condition: if no meeting confirmed â send the life insurance benefits sheet + follow up at D+15.\"},\"knowledgeContent\":{\"knowledge1\":\"Entry 1 â Life insurance: benefits \u0026 how it works\",\"knowledge2\":\"Long-term savings and protection contract. 4 key benefits to highlight based on profile:\\n- Progressive savings: free or scheduled payments, capital available at any time via partial withdrawals, no fund lock-up\\n- Protection of loved ones: in case of death, capital is transferred to designated beneficiaries outside estate â up to â¬152,500 per beneficiary tax-free (for payments made before age 70)\\n- Tax advantages: after 8 years, annual allowance of â¬4,600 on gains (â¬9,200 for a couple); flat-rate levy reduced to 7.5% under â¬150,000 in payments\\n- Flexibility: beneficiary designation modifiable at any time, choice of investment vehicles (guaranteed capital euro funds or unit-linked funds with higher potential returns)\",\"knowledge3\":\"Entry 2 â Bridge from health insurance â life insurance\",\"knowledge4\":\"Family health insurance clients have already proven their willingness to protect their family. Life insurance is the natural complement: health insurance covers daily health risks, life insurance prepares the future (children's education, inheritance, annuity) and covers death risk over the long term. Pivot argument: \\\"You already protect your children's health today â life insurance protects their future.\\\" Children angle: a contract opened today with â¬50/month can represent significant capital by the child's majority.\"}},\"leadQualificationCandidatsAgent\":{\"agentName\":\"Léa\",\"sector\":\"Education\",\"agentDescription\":\"Léa is an AI agent specialized in real-time qualification of applications and key criteria\",\"agentContent\":{\"intro\":\"You are Léa, an admissions advisor for [School Name], a school specialized in tech, design and management programs.\",\"rule1\":\"Personality â You are enthusiastic, caring and reassuring. You know that choosing a school is an important decision â you guide without pressure, you value the candidate's project without ever overselling. You always use formal address.\",\"rule2\":\"Goal â Identify the program of interest, qualify the profile and project maturity, and trigger the right action: motivation interview, campus visit or application submission.\",\"rule3\":\"What you never do â You never promise admission. You never share tuition fees by message. You never give opinions on competing schools.\"},\"promptsContent\":{\"step1\":\"1# Project identification\\nIdentify the target program: computer science / dev, cybersecurity, design, AI \u0026 data, management. If unclear â suggest the 5 main tracks and observe the reaction before qualifying. Also detect the intended entry level: 1st year (post-high school), mid-cycle integration (Year 2 or 3), or Master's (Year 4+).\",\"step2\":\"2# Profile qualification\\nCollect: current level (high school senior, vocational degree, bachelor's...), current specialization or track, preferred mode (full-time or work-study), preferred campus or openness to remote. Condition: if candidate is still in high school â check if application submitted or in progress. If Year 3 equivalent â check available credit transfers and pathways.\",\"step3\":\"3# Maturity assessment\\nEvaluate project progress: casual curiosity vs. actively comparing schools vs. application already submitted elsewhere. \\\"Hot\\\" profile = decision expected within 30 days, or imminent application deadline. Warning signal: candidate hesitating between multiple tracks â don't push, suggest a conversation with a current student.\",\"step4\":\"4# Next step proposal\\nCalibrate based on maturity: motivation interview with an advisor (video or in-person), registration for an open day, or direct application submission. Condition: if interview refused â suggest another slot or an informal campus visit. If undecided â follow up at D+7 with a targeted resource (student testimonial from the relevant track, detailed program overview).\",\"step5\":\"5# Confirmation and summary\\nConfirm: target program + campus + interview type + date/time. Indicate documents to prepare (transcripts, CV, cover letter if required). Condition: if no slot confirmed â schedule a follow-up at D+5 and send a link to the track orientation guide.\"},\"knowledgeContent\":{\"knowledge1\":\"Entry 1 â Programs \u0026 Career Paths\",\"knowledge2\":\"Bachelor's (3 years post-high school) and Master's (5 years post-high school) across 5 tracks: Computer Science \u0026 Web/Mobile Dev, Cybersecurity, Artificial Intelligence \u0026 Data, UI/UX \u0026 Creative Design, Management \u0026 Entrepreneurship. Each track includes specializations in years 3 and 4. Main career paths by track: dev â lead developer, CTO, freelance; cyber â SOC analyst, pentester, CISO;
12 AI/data â data scientist, ML engineer; design â UX designer, art director; management â project manager, product manager. Graduate employment rate \u003e 90% within 6 months.\",\"knowledge3\":\"Entry 2 â Admissions \u0026 Application Process\",\"knowledge4\":\"Two entry paths: national application platform (1st year post-high school, all tracks) and direct application (mid-cycle entry from Year 2 to Year 4 depending on level). Selection criteria: academic record + motivation interview (mandatory). No enrollment cap â selection based on profile and project. Application platform timeline: submit applications JanuaryâMarch, results in June. Direct application: open year-round, response within 5 business days. Required documents: transcripts from the last 2 years, CV, cover letter, portfolio if applicable (design/creative tracks).\",\"knowledge5\":\"Entry 3 â Campuses \u0026 Study Modes\",\"knowledge6\":\"17 physical campuses across France (Paris, Lyon, Bordeaux, Toulouse, Nantes, Lille, Rennes, Marseille, Montpellier...) + Connect campus (100% remote). All tracks available on every campus. Active student life: tech clubs, hackathons, inter-campus projects. International mobility available from year 3 (partnerships with European and North American universities). Connect campus: same degrees, live + recorded classes, dedicated support, online student community.\",\"knowledge7\":\"Entry 4 â Work-Study \u0026 Funding\",\"knowledge8\":\"Work-study available from year 3 (Bachelor's) and throughout the Master's. Schedule: 3 days company / 2 days school. The school has a dedicated team to help find apprenticeship contracts. Cost of work-study program = â¬0 for the student (covered by the company's training fund). Full-time program: funding options include means-tested grants, partner student loans, and payment plans (monthly installments). CPF (personal training account) not applicable for initial degree programs.\"}},\"integrationsContent\":{\"title\":\"Integrations\",\"subtitle\":\"Give your AI agents access to your tools to act on your data in real-time\",\"calendar\":{\"title\":\"Synchronized calendar\",\"description\":\"The agent checks your availability in real time, suggests time slots and confirms appointments directly in your calendars.\\nCompatible: Google Calendar · Outlook · iCal\"},\"crm\":{\"title\":\"CRM Connectors\",\"description\":\"With every conversation, the agent reads the contact's context, updates the lead status and pushes qualifications directly into your CRM, in real time.\\nCompatible: Salesforce · HubSpot · Pipedrive · Zoho · Dynamics · and more\"},\"csv\":{\"title\":\"Import CSV\",\"description\":\"Import your database in a few clicks and launch your first agents immediately. No technical integration required to get started.\"},\"api\":{\"title\":\"Custom integration\",\"description\":\"Connect any tool via REST API or Webhooks. Your developers have access to full documentation for custom integrations, without constraints.\"}},\"testContent\":{\"title\":\"Experience it in 30 seconds\",\"subtitle\":\"Receive a real SMS from {agentName} on your phone â exactly what your lead will experience.\",\"firstNameLabel\":\"Your first name\",\"firstNamePlaceholder\":\"Patrick\",\"phoneLabel\":\"Your phone number\",\"phonePlaceholder\":\"6 79 80 81 82\",\"sendButton\":\"Receive my SMS now\",\"engagingButton\":\"Engagement in progress...\",\"engagedMessage\":\"You will receive a message to test the conversation\",\"successMessage\":\"You will receive a message shortly!\",\"errorMessage\":\"An error occurred. Please try again.\"},\"features\":{\"agents\":{\"genderChoice\":\"Gender and name choice\",\"multilingual\":\"Multilingual\",\"activityCalendar\":\"Activity calendar\"},\"prompts\":{\"customizable\":\"Customizable prompt\",\"templates\":\"Templates choices\",\"tools\":\"Synchronized tools\"},\"knowledge\":{\"customizable\":\"Customizable base\",\"addLinks\":\"Add links\",\"addFiles\":\"Add files\"}},\"footer\":{\"disclaimer\":\"This is a simplified demonstration. Discover all features on our platform\",\"tryButton\":\"Try Pinpo\"}},\"metricsBanner\":{\"messagesSent\":{\"value\":\"35M\",\"title\":\"Messages sent\",\"description\":\"Conversations conducted at scale, in real-world conditions\"}
12,\"timeSaved\":{\"value\":\"+6M\",\"title\":\"Hours saved\",\"description\":\"The equivalent of thousands of collaborators on standby\"},\"contactsProcessed\":{\"value\":\"+30%\",\"title\":\"Contacts processed\",\"description\":\"No contact missed, whatever the volume\"},\"availability\":{\"value\":\"99.9%\",\"title\":\"Operational availability\",\"description\":\"A workforce active 24/7, without interruption\"}},\"featureShowcase\":{\"title\":\"A platform designed for sales performance\",\"subtitle\":\"Your AI agents take charge of every contact, choosing the right channel (SMS, RCS, WhatsApp and more) and managing each conversation until conversion, 24/7, without human intervention.\",\"feature1\":{\"title\":\"Integrate your tools. Enrich your data.\",\"description\":\"Connect Pinpo to your tools. Your agents access each contact's context (history, CRM data, past interactions) to engage in the most relevant conversation, and automatically log every action back into your systems in real time.\",\"testimonial\":{\"name\":\"Thomas Juan\",\"role\":\"Digital Director at In\u0026Fi\",\"quote\":\"Pinpo acts like an external commercial assistant. SMS pre-qualification is more economical compared to the cost of setting up a telephone platform.\"}},\"feature2\":{\"title\":\"Recruit. Set up. Manage\",\"description\":\"Recruit your agent, configure it according to your activity and processes, and manage its performance in real time â operational from day one, more effective with each interaction.\",\"testimonial\":{\"name\":\"Philippe de Ligniville\",\"role\":\"Deputy CEO - Marketing Communication and Data at Bienâici\",\"quote\":\"Pinpo has enabled us to build a completely new offer for our clients, generating new commercial opportunities while remaining 100% compliant with GDPR.\"}},\"feature3\":{\"title\":\"Analyse. Learn. Decide.\",\"description\":\"Your agents build a unique commercial memory for your activity, learn from every interaction, and provide you with the key elements to make the best decisions, with full confidence.\",\"testimonial\":{\"name\":\"Charline Chapuis\",\"role\":\"Marketing and Communication Director at Sogeprom\",\"quote\":\"32% of leads that Pinpo engages convert into an appointment with one of our salespeople.\"}}},\"businessImpacts\":{\"title\":\"Agents for every business objective\",\"subtitle\":\"Autonomous AI agents deployed at every key moment of your customer relationship: acquisition, reactivation, loyalty\",\"acquisition\":{\"title\":\"Acquisition\",\"description\":\"Process all your incoming leads, 24/7, including outside business hours and on high-funnel volumes\",\"useCasesLabel\":\"Key use cases:\",\"useCases\":{\"useCase1\":\"Continuous incoming lead processing (24/7)\",\"useCase2\":\"Evening and weekend overflow\",\"useCase3\":\"High-funnel lead qualification (MQL, social media, forms)\"}},\"reactivation\":{\"title\":\"Reactivation\",\"description\":\"Automatically re-engage unreachable, dormant or unconverted leads to capture additional value at scale.\",\"useCasesLabel\":\"Key use cases:\",\"useCases\":{\"useCase1\":\"Unreachable lead follow-up\",\"useCase2\":\"Dormant lead reactivation\",\"useCase3\":\"Unsigned quote follow-up\",\"useCase4\":\"Abandoned cart follow-up\"}},\"retention\":{\"title\":\"Retention\",\"description\":\"Maintain continuous customer relationships, standardize interactions and automate high-volume processes.\",\"useCasesLabel\":\"Key use cases:\",\"useCases\":{\"useCase1\":\"Customer retention and churn prevention\",\"useCase2\":\"Upsell and cross-sell at scale\",\"useCase3\":\"KYC and customer data updates\",\"useCase4\":\"Automated collection and reminders\"}}},\"sectorCarousel\":{\"title\":\"AI agents ready for action, tailored to your industry\",\"subtitle\":\"Recruit autonomous AI agents integrated into your tools and trained on the specificities of your sector, operational from day one\",\"cards\":{\"card1\":{\"title\":\"Real estate\",\"description\":\"Qualification of buyer and seller leads: follow-up with co-owners to identify mandates, collection of opt-ins for networking\"},\"card2\":{\"title\":\"Education\",\"description\":\"Qualification of training projects and CPF eligibility; scheduling appointments for admissions officers and pre-selection of teaching candidates\"},\"card3\":{\"title\":\"Automobile\",\"description\":\"Planning vehicle test drives; estimating fleet replacement; following up on leads at the end of long-term leases and running reminder campaigns for servicing and maintenance.\"},\"card4\":{\"title\":\"Insurance and Financial Services\",\"description\":\"Processing, qualifying, following up and scheduling appointments for leads in insurance and professional solutions (professional liability insurance, professional credit). KYC, debt collection.\"},\"card5\":{\"title\":\"Energy\",\"description\":\"Management of quotation and subscription requests;
12 qualification and appointment scheduling for energy renovation solutions\"},\"card6\":{\"title\":\"Telecommunications\",\"description\":\"Managing quote requests and assisting with new subscriptions: lead qualification, sales follow-ups \u0026 scheduling appointments\"},\"card7\":{\"title\":\"Healthcare and personal services\",\"description\":\"Processing applications for admission to nursing homes and home care services, and awareness campaigns for blood or plasma donation.\"},\"card8\":{\"title\":\"Habitat\",\"description\":\"Pre-qualification of B2C leads and appointment scheduling for tradespeople; development of franchise networks through the processing of affiliate leads\"},\"card9\":{\"title\":\"Habitat\",\"description\":\"Pre-qualification of B2C leads and appointment scheduling for tradespeople; development of franchise networks through the processing of affiliate leads\"},\"card10\":{\"title\":\"Software\",\"description\":\"Pre-qualification of Marketing Qualified Leads; follow-up on unreachable leads or post-events (webinars, trade shows) and scheduling sales appointments\"},\"card11\":{\"title\":\"E-commerce and retail\",\"description\":\"Recovery of abandoned baskets and customer reactivation campaigns to generate additional sales (cross-sell/up-sell)\"},\"card12\":{\"title\":\"BPO and contact centres\",\"description\":\"Management of incoming call overflow; pre-qualification of requests before transfer to an agent and conducting satisfaction surveys\"}}},\"whyOurSolution\":{\"title\":\"Why the most successful teams choose Pinpo\",\"subtitle\":\"Powerful, reliable and operational in minutes\",\"reasons\":{\"reason1\":{\"title\":\"From idea to ROI in days\",\"description\":\"Deploy your first agents in hours and move quickly from pilot to production, with measurable ROI within the first 60 days.\"},\"reason2\":{\"title\":\"Omnichannel and maximum reachability\",\"description\":\"Pinpo automatically selects the most appropriate channel for each contact to maximise your reach and ensure no leads are left unreachable.\"},\"reason3\":{\"title\":\"Exceptional customer experience\",\"description\":\"Pinpo delivers personalised, natural and human conversations, whatever the volume or complexity of exchanges.\"},\"reason4\":{\"title\":\"An enterprise-ready infrastructure\",\"description\":\"Pinpo operates its own infrastructure with multi-cloud redundancy and 24/7 monitoring, for optimal deliverability and messages always delivered, even at very large scale.\"},\"reason5\":{\"title\":\"Security, compliance, and sovereignty\",\"description\":\"Hosting in Europe, GDPR, SOC 2 and AI Act compliance, native scalability and best-in-class security: Pinpo is designed for the most demanding environments.\"},\"reason6\":{\"title\":\"International reach\",\"description\":\"Deploy Pinpo in over 90 languages with a deep understanding of local nuances, for natural and effective conversations in every market.\"}}},\"integrationScroll\":{\"title\":\"Your agents operate directly within your existing tools\",\"description\":\"CRM, telephony, calendars: your agents access and update the data they need, route calls, book appointments in calendars and enrich your contact files, directly within your tools, in real time\",\"button\":\"See all integrations\"},\"ctaBlock\":{\"title\":\"Ready to welcome your new team of AI agents?\",\"description\":\"Join the leaders who are automating their growth\",\"button\":\"Book a demo\"},\"faqBlock\":{\"title\":\"FAQ general\",\"description\":\"All you need to know about Pinpo and its operation. You don't find the answer? Please contact our team\",\"questions\":{\"question1\":{\"title\":\"What is Pinpo?\",\"answer\":\"**Pinpo** is a **conversational AI platform** that automates interactions with your leads and customers through messaging.\\n\\nUsing **AI agents capable of natural conversations**, Pinpo can:\\n\\n- automatically qualify leads\\n- follow up with prospects or customers\\n- answer questions\\n- schedule appointments\\n- enrich data in your CRM\\n\\nThe platform handles both **inbound requests** (forms, quote requests, lead marketplaces, etc.) and **proactive outreach campaigns** on your existing lead or customer databases.\\n\\nPinpo easily integrates with your **CRM, marketing tools, and telephony systems**, allowing you to automate and optimize lead management at scale.\"},\"question2\":{\"title\":\"Does Pinpo replace sales teams?\",\"answer\":\"No. Pinpo does not replace sales teams â it **makes them significantly more efficient**.\\n\\nThe AI handles repetitive tasks such as:\\n\\n- following up with leads\\n- qualifying prospects\\n- answering initial questions\\n- identifying interested leads\\n- scheduling meetings\\n\\nThis allows sales teams to focus on **high-value opportunities and closing deals**.\"},\"question3\":{\"title\":\"What results do companies achieve with Pinpo?\",\"answer\":\"Companies use Pinpo to:\\n\\n- **contact leads faster**\\n- **increase the number of qualified sales meetings**\\n- **improve lead conversion rates**\\n- **save time on lead management**\\n\\nPinpo can also process **100% of inbound leads instantly**, ensuring that no opportunities are lost.\"},\"question4\":{\"title\":\"How long does it take to deploy Pinpo?\",\"answer\":\"Deployment is fast.\\n\\nMost customers launch their **first AI agent within minutes**, and move to production within a few days.\\n\\nThe platform includes:\\n\\n- **ready-to-use templates**\\n- **native integrations**\\n- a simple setup that requires **no development**\"},\"question5\":{\"title\":\"Which communication channels does Pinpo support?\",\"answer\":\"Pinpo enables conversations with your leads through:\\n\\n- **SMS**\\n- **WhatsApp**\\n- **RCS**\\n\\nThese channels typically achieve **very high open and engagement rates**.\\n\\n**Voice AI** will also be available soon.\\n\\nPinpo can also connect to your **CRM, internal tools, and telephony systems** via **secure APIs**.\"},\"question6\":{\"title\":\"Which languages does Pinpo support?\",\"answer\":\"Pinpo works in **more than 90 languages**, with strong understanding of **local nuances, natural expressions, and cultural contexts**.\\n\\nThis allows companies to deploy conversational AI across **multiple countries and markets**.\"},\"question7\":{\"title\":\"Is Pinpo compliant with GDPR?\",\"answer\":\"Yes.\\n\\nPinpo is **hosted in Europe** and designed to comply with major regulations including:\\n\\n- **GDPR**\\n- the **European AI Act**\\n\\nThe platform follows high security standards, including:\\n\\n- data encryption\\n- secure infrastru
12cture\\n- full conversation traceability\\n- complete auditability\"},\"question8\":{\"title\":\"How can I measure the performance and ROI of Pinpo?\",\"answer\":\"Pinpo is designed to deliver **measurable commercial performance and ROI**.\\n\\nCompanies typically measure results across three main areas:\\n\\n- **higher lead conversion rates**\\n- **improved sales team productivity**\\n- **better customer and prospect experience**\\n\\nThe platform provides **real-time dashboards**, including:\\n\\n- full conversation history\\n- lead scoring and qualification\\n- performance by campaign or acquisition channel\\n- meeting booking rates\"},\"question9\":{\"title\":\"Does Pinpo work with leads generated from comparison sites or marketing campaigns?\",\"answer\":\"Yes.\\n\\nPinpo is particularly effective for handling leads coming from:\\n\\n- comparison websites\\n- paid advertising campaigns\\n- lead generation platforms\\n- partners or marketplaces\\n\\nPinpo can start a conversation **within seconds after a lead is generated**, qualify the prospectâs needs, and propose a meeting with a sales representative.\"},\"question10\":{\"title\":\"Can Pinpo follow up on old lead or customer databases?\",\"answer\":\"Yes.\\n\\nMany companies have **lead or customer databases that were never contacted again or were abandoned**.\\n\\nPinpo can:\\n\\n- automatically re-engage those contacts\\n- start natural conversations\\n- identify prospects who are still interested\\n- schedule meetings with sales teams\\n\\nThis allows companies to **generate new opportunities from existing data**, without additional acquisition costs.\"}},\"pricingQuestions\":{\"pricingQuestion1\":{\"title\":\"What is a Pinpo credit?\",\"answer\":\"**Pinpo credits** are the consumption unit used by the platform.\\n\\nCredits are used when AI agents perform certain actions, such as:\\n\\n- sending or receiving a message\\n- analyzing a response\\n- scheduling an appointment\\n- searching a database\\n- extracting information during a conversation\"},\"pricingQuestion2\":{\"title\":\"Does Pinpo offer a free trial?\",\"answer\":\"Yes.\\n\\nYou can **create an account and build your AI agent for free**.\\n\\nUsage fees only apply when you **start sending messages or using the platform in production**.\"},\"pricingQuestion3\":{\"title\":\"Is Pinpo free?\",\"answer\":\"Creating an account and configuring your AI agent is **free**.\\n\\nYou only pay when you **use the platform to send messages or handle conversations**.\"},\"pricingQuestion4\":{\"title\":\"How can I know the cost of a conversation?\",\"answer\":\"For each lead processed, Pinpo shows **the exact number of credits consumed**.\\n\\nConsumption mainly depends on:\\n\\n- the channel used\\n- the number of messages exchanged\\n- the actions performed by the AI\\n\\nThe more advanced the conversation, the more credits are consumed.\"},\"pricingQuestion5\":{\"title\":\"Where can I view my credit usage?\",\"answer\":\"Your credit usage is available **in real time directly in the platform**.\\n\\nYou can:\\n\\n- track your usage\\n- view detailed credit consumption\\n- purchase additional credits\\n- upgrade your plan\"},\"pricingQuestion6\":{\"title\":\"Do I pay for leads that do not receive the messages?\",\"answer\":\"No.\\n\\nCredits are only consumed when **the first message is successfully delivered**.\\n\\nPhone numbers that are:\\n\\n- invalid\\n- landlines\\n- unassigned\\n- incorrect\\n\\nare **not charged**.\"},\"pricingQuestion7\":{\"title\":\"Do I receive support when setting up my AI agents?\",\"answer\":\"Yes.\\n\\nCustomers on the **Business or Enterprise plans** benefit from **full support for creating and configuring their AI agents**. Our team helps design conversational scenarios and optimize agent performance.\\n\\nWith the **PAYG (Pay-As-You-Go) plan**, users are fully **self-serve** and can create their agents directly from the platform using templates and built-in configuration tools.\\n\\nThis model allows companies to **test and build agents independently**, while still offering **expert guidance for more advanced projects**.\\n\\nTo learn more about support options and pricing, you can **book a meeting with a Pinpo expert**.\"}},\"integrationQuestions\":{\"integrationQuestion1\":{\"title\":\"What tools can Pinpo integrate with?\",\"answer\":\"Pinpo can connect to most tools used by **sales and marketing teams**.\\n\\nThe platform provides:\\n\\n- **native connectors**\\n- a **full API*
12*\\n- a **webhook system**\\n\\nThis makes it easy to integrate Pinpo with:\\n\\n- **CRMs**\\n- **marketing automation platforms**\\n- **telephony solutions**\\n- **internal tools**\"},\"integrationQuestion2\":{\"title\":\"Can Pinpo connect to a custom-built CRM?\",\"answer\":\"Yes.\\n\\nIf your company uses a **custom-built CRM**, Pinpo can connect to it through:\\n\\n- our **API**\\n- our **webhooks**\\n\\nYour technical team can easily synchronize data between Pinpo and your internal system.\"},\"integrationQuestion3\":{\"title\":\"Does Pinpo automatically update data in my CRM?\",\"answer\":\"Yes.\\n\\nAfter each conversation, Pinpo can automatically **update your CRM** with:\\n\\n- a **conversation summary**\\n- **lead scoring**\\n- **data collected during the interaction**\\n- the **full conversation history**\\n- **tasks or events creation**\\n- **meeting scheduling**\\n\\nThis ensures that **all data is centralized and kept up to date in your CRM**.\"}}},\"integrationsPage\":{\"hero\":{\"title\":\"Your agents operate directly from your tools\",\"description\":\"Pinpo connects to your tools and data to deploy AI agents that act, synchronise and measure every interaction in real time\"},\"toolList\":{\"categories\":{\"all\":\"All integrations\",\"crm\":\"CRM\",\"automation\":\"Automation\",\"telephony\":\"Telephony\",\"calendar\":\"Calendar\",\"importFile\":\"Import file\"},\"tools\":{\"tool1\":{\"title\":\"Salesforce\",\"description\":\"Cloud-based CRM that centralises prospects and customers, automates sales and marketing processes, and improves day-to-day customer service management\",\"category\":\"CRM\"},\"tool2\":{\"title\":\"Hubspot\",\"description\":\"All-in-one customer platform that centralises CRM, marketing, sales and support to track contacts, automate campaigns and improve the overall customer experience\",\"category\":\"CRM\"},\"tool3\":{\"title\":\"Pipedrive\",\"description\":\"Sales-oriented CRM that visualises the pipeline, tracks opportunities and automates follow-ups to help teams close deals faster\",\"category\":\"CRM\"},\"tool4\":{\"title\":\"Immolead\",\"description\":\"CRM dedicated to property development that centralises prospects, organises actions and supports the sales process right through to signing\",\"category\":\"CRM\"},\"tool5\":{\"title\":\"Unlatch\",\"description\":\"Collaborative platform for property sales that digitises procedures, centralises documents and automates the entire buyer follow-up process on an ongoing basis\",\"category\":\"CRM\"},\"tool6\":{\"title\":\"Zoho\",\"description\":\"Online CRM software that centralises leads and customers, automates sales follow-up and facilitates collaboration between sales, marketing and support.\",\"category\":\"CRM\"},\"tool7\":{\"title\":\"Microsoft Dynamics\",\"description\":\"Microsoft CRM solution that unifies customer, sales and service data, with automation, dashboards and native integration with Microsoft 365\",\"category\":\"CRM\"},\"tool8\":{\"title\":\"Customised CRM\",\"description\":\"Custom integration to connect your internal CRM to Pinpo and synchronise customer data according to your business rules, in a flexible manner\",\"category\":\"CRM\"},\"tool9\":{\"title\":\"Make\",\"description\":\"No-code automation platform that connects your applications and orchestrates multi-step scenarios, without code, to synchronise data and trigger actions\",\"category\":\"Automation\"},\"tool10\":{\"title\":\"Zapier\",\"description\":\"Automation tool that connects thousands of applications via âZapsâ to trigger actions based on events, without development\",\"category\":\"Automation\"},\"tool11\":{\"title\":\"N8N\",\"description\":\"Self-hosted, open-source workflow automation platform that enables the creation of custom integrations with advanced logic and APIs for teams\",\"category\":\"Automation\"},\"tool12\":{\"title\":\"Diabolocom\",\"description\":\"AI-enhanced omnichannel cloud contact centre solution for managing inbound/outbound calls and customer interactions with detailed monitoring and reporting\",\"category\":\"Telephony\"},\"tool13\":{\"title\":\"Vocalcom\",\"description\":\"Omnichannel contact centre platform that manages inbound/outbound, intelligent routing, queues and customer campaigns in real time\",\"category\":\"Telephony\"},\"tool14\":{\"title\":\"Aircall\",\"description\":\"100% cloud-based telephony solution (VoIP) for sales and support teams, with business integrations, call analytics and quick, easy setup\",\"category\":\"Telephony\"},\"tool15\":{\"title\":\"Ringover\",\"description\":\"Cloud-based business telephony and contact centre (CCaaS) that facilitates call management, team supervision and integration with your tools\",\"category\":\"Telephony\"},\"tool16\":{\"title\":\"Google Calendar\",\"description\":\"Google's online calendar for planning, sharing and synchronising appointments and availability between teams and devices, with automatic invitations and reminders\",\"category\":\"Calendar\"},\"tool17\":{\"title\":\"Outlook\",\"description\":\"Application that centralises emails and calendars for scheduling meetings, sharing agendas, and managing tasks and contacts, on the web and mobile devices\",\"category\":\"Calendar\"},\"tool18\":{\"title\":\"Ical\",\"description\":\"Standard iCalendar (ICS) format that allows you to exchange, invite, import and synchronise events between calendars and different tools via subscriptions and invitations\",\"category\":\"Calendar\"},\"tool19\":{\"title\":\"Import API\",\"description\":\"Import via API to synchronise your data from your systems, with authentication, format checking, and secure batch updates\",\"category\":\"Import file\"},\"tool20\":{\"title\":\"CSV file\",\"description\":\"Import customer data via a CSV file to quickly and reliably populate Pinpo, with control over columns, formats, and field mappings\",\"category\":\"Import file\"},\"tool21\":{\"title\":\"SFTP import\",\"description\":\"Automatic import of CSV files stored on a secure SFTP server, ideal for scheduled recurring flows, without manual intervention on the client side\",\"category\":\"Import file\"}}}},\"askDemoHero\":{\"title\":\"Experience Pinpo\",\"highVolumeQuestion\":\"Book a demo and discover in 30 minutes how Pinpo will boost your conversion while freeing up time for your teams.\",\"demoPreview\":\"During this demo, you will see concretely :\",\"features\":{\"conversationQuality\":\"How y
12our agents engage each of your leads and customers in less than a minute in qualified conversations\",\"impactfulUseCases\":\"The use cases with the greatest impact according to your activity and your objectives\",\"deploymentPlan\":\"The deployment plan: integrations and implementation\"},\"letsTalkAboutYourChallenges\":\"Let's talk about your challenges!\",\"contactFormDescription\":\"Leave your contact details in the form below: our team will contact you quickly by phone, SMS, RCS, WhatsApp or email\",\"defaultCountry\":\"+33\",\"leadsOptions\":{\"lessThan2000\":\"Less than 2000\",\"between2000And5000\":\"2000 - 5000\",\"between5000And10000\":\"5000 - 10000\",\"between10000And20000\":\"10000 - 20000\",\"moreThan20000\":\"More than 20000\"},\"form\":{\"lastNameLabel\":\"Last Name\",\"firstNameLabel\":\"First Name\",\"emailLabel\":\"Email\",\"phoneLabel\":\"Phone Number\",\"websiteLabel\":\"Company Website\",\"leadsLabel\":\"Number of leads generated per month\",\"lastNamePlaceholder\":\"Dupond\",\"firstNamePlaceholder\":\"Pierre\",\"emailPlaceholder\":\"[email protected]\",\"phonePlaceholder\":\"6 79 80 81 82\",\"websitePlaceholder\":\"pinpo.ai\",\"submitButton\":\"Send\",\"engagingButton\":\"Sending...\",\"engagedMessage\":\"Your request has been sent\",\"optInLabel\":\"I agree to receive automated text messages and updates from Pinpo or its representatives via SMS, RCS, WhatsApp or mail.\"},\"countryPicker\":{\"searchPlaceholder\":\"Search a country\",\"flagAlt\":\"{country} flag\",\"countries\":{\"france\":\"France\",\"germany\":\"Germany\",\"unitedKingdom\":\"United Kingdom\",\"spain\":\"Spain\",\"italy\":\"Italy\",\"belgium\":\"Belgium\",\"switzerland\":\"Switzerland\",\"netherlands\":\"Netherlands\",\"portugal\":\"Portugal\",\"austria\":\"Austria\",\"denmark\":\"Denmark\",\"sweden\":\"Sweden\",\"norway\":\"Norway\",\"finland\":\"Finland\",\"ireland\":\"Ireland\",\"luxembourg\":\"Luxembourg\",\"monaco\":\"Monaco\",\"andorra\":\"Andorra\",\"czechRepublic\":\"Czech Republic\",\"poland\":\"Poland\",\"hungary\":\"Hungary\",\"romania\":\"Romania\",\"greece\":\"Greece\",\"cyprus\":\"Cyprus\",\"ukraine\":\"Ukraine\",\"morocco\":\"Morocco\",\"algeria\":\"Algeria\",\"tunisia\":\"Tunisia\",\"egypt\":\"Egypt\",\"unitedStates\":\"United States\",\"canada\":\"Canada\"}}},\"askDemoForm\":{\"lastNameRequired\":\"Last name is required\",\"firstNameRequired\":\"First name is required\",\"emailRequired\":\"Email is required\",\"emailInvalid\":\"Email is invalid\",\"countryRequired\":\"Country is required\",\"phoneRequired\":\"Phone number is required\",\"websiteRequired\":\"Website is required\",\"websiteInvalid\":\"Website URL is invalid\",\"leadsRequired\":\"Number of leads is required\",\"optInRequired\":\"You must agree to be contacted to continue\",\"successMessage\":\"Your demo request has been submitted successfully. We will contact you shortly.\",\"errorMessage\":\"An error occurred while submitting your request. Please try again.\"},\"pricingPage\":{\"pricingHero\":{\"title\":\"Pricing that scales with you\",\"subtitle\":\"Start free, grow at your pace with a tailored offer for your team\",\"free\":{\"title\":\"FREE\",\"description\":\"For teams who want to discover the power of Pinpo for free\",\"creditsPerDay\":\"5 credits per day\",\"price\":\"â¬0\",\"priceUnit\":\"/month\",\"priceDescription\":\"Free, no credit card, no time limit\",\"cta\":\"Start for free\",\"features\":{\"feature1\":\"1 AI agent\",\"feature2\":\"SMS channel\",\"feature3\":\"1 user\",\"feature4\":\"API and integrations\",\"feature5\":\"Tickets support\"}},\"pro\":{\"title\":\"PRO\",\"description\":\"For agile teams who want to manage their AI agents independently\",\"creditDropdown\":\"500 credits/month\",\"creditUnit\":\"credits/month\",\"price\":\"â¬150\",\"priceUnit\":\"/month HT\",\"priceDescription\":\"0.30â¬/credit\",\"includesFrom\":\"Everything included in Free +\",\"cta\":\"Start now\",\"creditInfoPopover\":\"Any unused credit is carried over to the following month (monthly) or until the end of your contract (annual).\",\"features\":{\"feature1\":\"Unlimited AI agents\",\"feature2\":\"Multi-channel: SMS, WhatsApp\",\"feature3\":\"User roles and permissions\",\"feature4\":\"Volume-based tiered pricing\",\"feature5\":\"On-demand credit top-up\",\"feature6\":\"Credit rollover\"}}
12,\"business\":{\"popularBadge\":\"MOST POPULAR\",\"title\":\"BUSINESS\",\"description\":\"For growing teams who want to balance performance and support\",\"creditDropdown\":\"3,000 credits/month\",\"creditUnit\":\"credits/month\",\"price\":\"â¬893\",\"priceUnit\":\"/month HT\",\"priceDescription\":\"0.30â¬/credit\",\"includesFrom\":\"Everything included in Pro +\",\"cta\":\"Start now\",\"features\":{\"feature1\":\"Multi-channel: SMS, WhatsApp, RCS\",\"feature2\":\"Multi-organization/Agency mode\",\"feature3\":\"1:1 onboarding\",\"feature4\":\"Dedicated Customer Success\",\"feature5\":\"Quarterly review \u0026 optimizations\",\"feature6\":\"Early access to new features\"}},\"enterprise\":{\"title\":\"ENTERPRISE\",\"description\":\"For large organizations that demand flexibility, scalability, and governance\",\"creditDropdown\":\"12-month minimum commitment\",\"price\":\"Custom\",\"priceDescription\":\"Flexible offers, 12-month minimum commitment\",\"includesFrom\":\"Everything included in Business +\",\"cta\":\"Get a quote\",\"features\":{\"feature1\":\"Delegated Agent AI management\",\"feature2\":\"Custom AI modules\",\"feature3\":\"Priority support \u0026 dedicated Slack channel\",\"feature4\":\"Compliance audit (GDPR, AI, IT security, CSR)\",\"feature5\":\"Custom integrations\",\"feature6\":\"Team training\"}}},\"pricingPlansTable\":{\"title\":\"Compare plans and make the right choice\",\"subtitle\":\"Compare credits, features and service level to choose the plan best suited to your needs\",\"plans\":{\"yourPlan\":\"Your plan\",\"free\":\"FREE\",\"pro\":\"PRO\",\"business\":\"BUSINESS\",\"enterprise\":\"ENTERPRISE\"},\"sections\":{\"pricing\":\"Pricing\",\"usage\":\"Usage Structure\",\"features\":\"Main Features\",\"integrations\":\"Integrations\",\"support\":\"Support\",\"compliance\":\"Compliance\"},\"pricing\":{\"creditsIncluded\":\"Pinpo credits included\",\"additionalCreditsPrice\":\"Price per credit\",\"topUp\":\"Top-up on demand\",\"carryover\":\"Carry-over of unused funds\",\"annualDiscount\":\"Annual discount\",\"commitment\":\"Commitment\",\"paymentMethod\":\"Payment method\",\"creditsIncludedFree\":\"150\",\"creditsIncludedPro\":\"From 500\",\"creditsIncludedBusiness\":\"From 3000\",\"creditsIncludedEnterprise\":\"Custom\",\"additionalCreditsPricePro\":\"From 0.17⬠HT\",\"additionalCreditsPriceBusiness\":\"From 0.21⬠HT\",\"additionalCreditsPriceEnterprise\":\"From 0.12â¬\",\"annualDiscountPro\":\"-15%\",\"annualDiscountBusiness\":\"-15%\",\"annualDiscountEnterprise\":\"Custom\",\"commitmentPro\":\"Monthly/annual\",\"commitmentBusiness\":\"Monthly/annual\",\"commitmentEnterprise\":\"Annual\",\"paymentMethodPro\":\"Credit Cards \u0026 SEPA\",\"paymentMethodBusiness\":\"Credit Cards \u0026 SEPA\",\"paymentMethodEnterprise\":\"SEPA/Bank transfer\"},\"usage\":{\"availableChannels\":\"Available channels\",\"aiAgentsIncluded\":\"AI agents included\",\"numberVerification\":\"Number verification\",\"multiUsers\":\"Multi-users\",\"multiOrganisations\":\"Multi-organisation/Agency mode\",\"customAiModules\":\"Custom AI modules\",\"sms\":\"SMS\",\"allChannels\":\"SMS, WhatsApp, RCS\",\"smsWhatsApp\":\"SMS, WhatsApp\",\"oneAgent\":\"1 agent\",\"unlimited\":\"Unlimited\"},\"features\":{\"multiLLM\":\"Multi-LLM\",\"analyticDashboard\":\"Analytics dashboard\",\"aiConversations\":\"AI-powered conversations (LLM)\",\"appointmentBooking\":\"Synchronized appointment booking\",\"dataExtraction\":\"Data extraction and scoring\",\"earlyAccess\":\"Early access to new features\"},\"integrations\":{\"apiRest\":\"REST API\",\"webhooks\":\"Webhooks\",\"csvImport\":\"CSV Import\",\"nativeConnectors\":\"Native connectors\",\"customIntegrations\":\"Custom integrations\"},\"support\":{\"academy\":\"Pinpo Academy\",\"ticketSupport\":\"Ticket Support\",\"onboarding\":\"Onboarding 1:1\",\"dedicatedSuccess\":\"Dedicated Customer Success\",\"quarterlyReview\":\"Quarterly review \u0026 optimisations\",\"delegatedAgentManagement\":\"Delegated IA agent management\",\"teamTraining\":\"Team training\",\"slackChannel\":\"Priority support \u0026 dedicated Slack channel\"},\"compliance\":{\"gdpr\":\"GDPR\",\"mfa\":\"MFA\",\"autoAnonymization\":\"Automatic anonymization\",\"complianceAudit\"
12:\"Compliance audit (CSR, GDPR, AI, IT security)\"}},\"pricingTool\":{\"title\":\"Estimate your monthly budget\",\"subtitle\":\"As your volumes and usage evolve, our pricing adapts â a flexible approach aligned with your reality\",\"monthlyLeads\":\"\u003e What is your monthly lead volume?\",\"usageType\":{\"title\":\"\u003e What is your key use case?\",\"acquisition\":{\"title\":\"Acquisition\",\"qualification\":\"Qualification of high-funnel leads (MQL, social networks, webinars...)\",\"treatment\":\"24/7 treatment of incoming leads from all sources\",\"overflow\":\"Treatment of overflow leads during evenings and weekends\",\"basFunnel\":\"Treatment of low-funnel leads (SQL, quote requests...)\"},\"reactivation\":{\"title\":\"Reactivation\",\"reactivation\":\"Reactivation of dormant leads\",\"relaunch\":\"Follow-up of unreachable leads\",\"quotesNotSigned\":\"Follow-up of unsigned quotes\",\"abandonedCarts\":\"Follow-up of abandoned carts\"},\"retention\":{\"title\":\"Retention\",\"retention\":\"Customer retention and churn prevention\",\"upsell\":\"Upsell and cross-sell at scale\",\"recovery\":\"Recovery and automated follow-up\"}},\"keyUseCase\":\"\u003e What is your key use case?\",\"selectOption\":\"Select an option\",\"channels\":{\"title\":\"\u003e On which channels would you like to deploy Pinpo?\",\"sms\":\"SMS\",\"whatsapp\":\"WhatsApp\",\"rcs\":\"RCS\"},\"commercial\":{\"title\":\"\u003e Commercial management\",\"appointment\":\"Appointment booking\",\"availability\":\"Simple availability booking\"},\"conversationalVariables\":{\"title\":\"\u003e Conversational variables\",\"responseRate\":\"Estimated response rate\",\"hotContactsRate\"
12:\"Hot contacts rate (on total volume)\",\"whatsappJoinRate\":\"Part of contacts joined via WhatsApp\",\"relances\":\"Number of follow-ups\",\"messages\":\"Average number of outgoing messages per conversation\",\"messagesPopover\":\"The engagement message (the first message sent to the lead) is included in this account.\",\"segments\":\"Average message length (number of segments)\",\"segmentsInfo\":\"1 segment = 160 characters, about 2 lines of text\"},\"results\":{\"estimatedCredits\":\"Estimated credits\",\"estimatedCreditsInfoPopover\":\"0.25 credit = 1 outgoing SMS\\n0.48 credit = 1 WhatsApp session\",\"credits\":\"credits\",\"iaCredits\":\"AI credits\",\"actions\":\"Estimated actions\",\"smsRcsCredits\":\"SMS / RCS credits\",\"smsOutgoing\":\"Outgoing SMS\",\"smsIncoming\":\"Incoming SMS\",\"whatsappCredits\":\"WhatsApp credits\",\"whatsappSessions\":\"Estimated sessions\",\"comparePlans\":\"Compare plans to find the one that suits your organization\",\"pro\":\"PRO\",\"proInfo\":\"Price with annual commitment\",\"business\":\"BUSINESS\",\"businessInfo\":\"Price with annual commitment\",\"monthlyPriceUnit\":\"â¬/month\",\"tier\":\"Tier\",\"enterprise\":\"ENTERPRISE\",\"enterpriseInfo\":\"Get a custom quote\",\"contactUs\":\"Contact our team\",\"estimatedInfo\":\"*This estimate is based on the data you entered. The actual price depends on your actual usage.\"}}},\"legalNoticesPage\":{\"title\":\"Legal notices\",\"description\":\"The site [{APP_URL}]({APP_URL}) is published by PINPO, a Simplified Joint-Stock Company, registered with the Paris Trade and Companies Register under number 811 906 767, whose registered office is located at 118 Boulevard Malesherbes, 75017 Paris, represented by its President, Madame Laurence BENAMRAN.\\n\\nThe publisher's director is Madame Laurence BENAMRAN.\\n\\nVAT number: FR67811906767\\n\\n**Contact email**: [[email protected]](mailto:[email protected])\\n\\n**Hosting**: The host is the company OVH registered with the ROUBAIX Trade and Companies Register under number 424761419, having its registered office at 2 RUE KELLERMANN 59100 ROUBAIX. VAT number: FR22424761419\"},\"termsOfServicePage\":{\"title\":\"Terms of Service and Privacy Policy\",\"version\":\"Current version\",\"content\":\"The use of the Platform published by PINPO (hereinafter **« PINPO »**) implies unreserved acceptance of these Terms of Use (hereinafter the «**Terms**») by any person wishing to benefit from the Services delivered by the Platform, the latest version being binding.\\nPINPO provides companies via the Platform with the following services (hereinafter the «**Services**»): Lead Aggregation; Lead Qualification; Lead Scoring\\nFor more information, the User is invited to visit the Platform.\",\"articles\":{\"article1\":{\"title\":\"ARTICLE 1: LEGAL IDENTIFICATION\",\"content\":\"The Platform is published by PINPO, a Simplified Joint-Stock Company, with share capital of 21,544 euros, registered with the Paris Trade and Companies Register under number 811 906 767, whose registered office is located at 118 Boulevard Malesherbes, 75017 Paris, represented by Ms. Laurence BENAMRAN, duly authorized for these purposes.\\n\\nPINPO is the exclusive owner of all intellectual property rights to the Platform.\"},\"article2\":{\"title\":\"ARTICLE 2: DEFINITIONS\",\"content\":\"$51\"},\"article3\":{\"title\":\"ARTICLE 3: ACCEPTANCE â WARNING\",\"content\":\"These Terms are expressly agreed and accepted by the User, who declares and acknowledges having perfect knowledge of them.\\n\\nIn any case, the User's registration on the Platform, and/or any commencement in the use of Services subjects the User to these Terms. The User is therefore deemed to accept all the rules stipulated herein, as well as those that would be present in any document available on the Platform, integrated into these Terms by reference and which govern their relationship with third parties and PINPO.\\n\\nThese Terms are enforceable throughout the duration of Platform use and until new Terms replace these.\\n\\nThe User also acknowledges having consulted the legal notices appearing on the Platform prior to any use of the Services.\"},\"article4\":{\"title\":\"ARTICLE 4: PROOF AGREEMENT\",\"content\":\"The User acknowledges that recordings and backups (including all connection data) made on the Platform (**hereinafter \\\"Electronic Documents\\\"**) will have full probative value between them and PINPO. Thus, Electronic Documents (including their date and time) will be evidence between the parties in any dispute.\\n\\nThe User therefore acknowledges, in their contractual relations with PINPO, the validity and probative force of emails. Similarly, notifications made via the Platform are enforceable against the User as evidence.\"},\"article5\":{\"title\":\"ARTICLE 5: CHANGES\",\"content\":\"PINPO reserves the right to modify these Terms, according to the technical evolution of the Platform or its service offerings, or due to legislative changes, at its sole discretion.\\n\\nIn general, the User's use of the Platform is always subject to the most recent version of the Terms accessible to the User at the time of such use. It is the User's responsibility to consult the Terms as often as necessary, accessible from the Platform and their Account.\"}
12,\"article6\":{\"title\":\"ARTICLE 6: VIOLATION\",\"content\":\"$52\"},\"article7\":{\"title\":\"ARTICLE 7: LICENSE\",\"content\":\"$53\"},\"article8\":{\"title\":\"ARTICLE 8: CLIENT ACCOUNT\",\"content\":\"$54\"},\"article9\":{\"title\":\"ARTICLE 9: EQUIPMENT\",\"content\":\"The use and maintenance of all telephone, computer and other equipment necessary to access the Platform is the User's responsibility, who will bear the costs alone. PINPO will not be held responsible in case of damage to any equipment in the context of Platform use.\"},\"article10\":{\"title\":\"ARTICLE 10: SERVICE DESCRIPTION\",\"content\":\"PINPO provides Users with the following services:\\n- Artificial intelligence to qualify or disqualify the lead's project, in accordance with scenarios defined by the Client, by SMS and/or WhatsApp conversation, on days and times chosen by the Client.\\n- An innovative platform for lead management and analytics visualization allowing the client to access conversations in real time and manage service activation.\\n- Sending qualification reports by email, in the client's CRM via an API or on the Pinpo platform\\n- Sending personalized SMS and/or email to sales representatives\\nCustomer service.\"},\"article11\":{\"title\":\"ARTICLE 11: PERSONAL DATA\",\"content1\":\"$55\",\"content2\":\"$56\"},\"article12\":{\"title\":\"ARTICLE 12: COOKIES\",\"content\":\"$57\"},\"article13\":{\"title\":\"ARTICLE 13: INTELLECTUAL PROPERTY\",\"content\":\"$58\"},\"article14\":{\"title\":\"ARTICLE 14: NOTIFICATION\",\"content\":\"All notices and notifications provided for in these Terms must be sent to the address mentioned at the head of this document regarding PINPO, and to the email address provided by the User when registering on the Platform, regularly updated as appropriate, in accordance with the requirements herein.\\n\\nAll notifications made in application hereof will be validly made and will be considered received under the following conditions:\\n- email â on the day of sending;\\n- registered letter with acknowledgment of receipt - the day after the date shown on the acknowledgment of receipt.\"},\"article15\":{\"title\":\"ARTICLE 15: DISPUTE AND JURISDICTION\",\"content\":\"These Terms are subject to French law.\\n\\nIn the absence of amicable resolution, all disputes relating to this Contract will be brought to the attention of the competent courts located in the territorial jurisdiction of PINPO's registered office\"}}},\"securityPage\":{\"securityHero\":{\"title\":\"Designed for the most demanding environments\",\"description\":\"Data security and privacy are at the heart of Pinpo.\\nWe protect them at every step, so you can focus on what matters most: your business.\",\"certifiedAndCompliant\":\"Certified and compliant\",\"gdprCompliant\":\"GDPR Compliant\",\"aicpaSoc2\":\"AICPA SOC 2\"},\"securityShowcase\":{\"dataSovereignty\":{\"title\":\"Data Sovereignty\",\"mainTitle\":\"Data hosted in the European Union\",\"mainDescription\":\"Pinpo is hosted in France at Scaleway, on an infrastructure certified ISO 27001 and compliant with European regulations.\\nYour data remains located in the chosen region and is never transferred without your agreement. We guarantee full transparency on our infrastructure and subcontractors, to give you complete control over the location and processing of your data.\",\"mainImageAlt\":\"Data Sovereignty\",\"card1Title\":\"Data privacy\",\"card1Description\":\"Prompts and workspace data are never used to train our models. Our AI subcontractors are bound by strict contractual obligations limiting the use and retention of client data. Your data belongs to you and remains under your control.\",\"card2Title\":\"GDPR compliance \u0026 data processing\",\"card2Description\":\"A Data Processing Agreement (DPA) is systematically concluded with each client. We ensure complete transparency on the treatments carried out on your behalf and on our subcontractors, selected according to strict criteria. Any incident is reported in accordance with regulatory requirements.\"},\"accessControl\":{\"title\":\"Access \u0026 Control\",\"mainTitle\":\"Enhanced authentication and granular access control\",\"mainDescription\":\"Multi-factor authentication (MFA) is enabled by default for all users. Access is managed granularly by role and systematically verified server-side. Sessions are secured with configurable expiration rules.\\nInactive accounts are automatically deactivated or deleted according to defined policies.\",\"mainImageAlt\":\"Enhanced authentication\",\"card1Title\":\"Isolation by design\",\"card1Description\":\"Each workspace and project is logically isolated.\\nClient data is strictly compartmentalized and inaccessible between accounts.\\nEnvironments are clearly separated and verified before any production release.\",\"card2Title\":\"Complete traceability of all actions\",\"card2Description\":\"Every connection, modification and export is recorded in timestamped and non-modifiable audit logs. Administrators access the complete history of actions by user, agent or organization.\"},\"complianceGovernance\":{\"title\":\"Compliance \u0026 AI Governance\",\"mainTitle\":\"A supervised, transparent AI under your control\",\"mainDescription\":\"Compliant with the AI Act, the Pinpo system is neither prohibited (article 5) nor classified as « high risk » (Title III), and falls under a low-risk level.\\nAI agents operate within a strictly defined framework, with human supervision at all times. A compliance audit is available upon request for Enterprise clients.\",\"mainImageAlt\":\"Compliance \u0026 AI Governance\",\"card1Title\":\"Strict control of AI agent actions\",\"card1Description\":\"AI agents intervene only within the perimeter you have defined. No action outside the framework nor escalation without explicit validation.\\nYou keep total control and can intervene or suspend an agent at any time.\",\"card2Title\":\"Consent management and anonymization\",\"card2Description\":\"Any request to opt out (e.g. âSTOPâ) will result in conversations being stopped immediately and your status being updated in your CRM.\\nRules for anonymising personal data can be configured at organisation-wide level, in line with your regulatory requirements.\"},\"continuousMonitoring\":{\"title\":\"Continuous Monitoring\",\"mainTitle\":\"Continuous monitoring and abuse detection\",\"mainDescription\":\"The platform is continuously monitored to identify abnormal usage, abusive or any compromise attempts.\\nAutomated mechanisms apply rate limits (rate limiting) and detect suspicious behaviors across all users and environments.\\nRisky activities are analyzed by our dedicated security and compliance teams.\",\"mainImageAlt\":\"Continuous Monitoring\",\"card1Title\":\"Automated security analysis\",\"card1Description\":\"The generated code, dependencies and configurations are updated regularly to eliminate any risks.\\nIndependent security audits and regular assessments further strengthen our controls over time.\",\"card2Title\":\"Secured infrastru
12cture\",\"card2Description\":\"Pinpo's infrastructure is built on advanced security standards: data encryption, adaptive rate limiting and network segmentation. All exchanges are secured via HTTPS (TLS 1.3), critical accesses are strictly controlled, and all activities are continuously monitored to detect and prevent any anomaly.\"}}},\"footer\":{\"description\":\"Pinpo helps teams transform every conversation into measurable performance â to engage faster, qualify better and convert sustainably.\",\"gdprCompliant\":\"GDPR Compliant\",\"aicpaSoc2\":\"AICPA SOC 2\",\"landingLocaleSwitcher\":{\"fr\":\"Français\",\"en\":\"English\"},\"product\":{\"title\":\"Product\",\"whyPinpo\":\"Why Pinpo\",\"integrations\":\"Integrations\",\"pricing\":\"Pricing\",\"security\":\"Security\"},\"resources\":{\"title\":\"Resources\",\"apiReference\":\"API\",\"documentation\":\"Documentation\",\"helpdesk\":\"Helpdesk\"},\"company\":{\"title\":\"Company\",\"recruitment\":\"Recruitment\",\"contact\":\"Contact\"},\"copyright\":\"© 2026 Pinpo. All rights reserved.\",\"legalNotice\":\"Legal notice\",\"termsOfUse\":\"Terms of use\"}},\"Communication\":{\"tabTitle\":\"Communication\",\"channelsTab\":\"Channels\",\"title\":\"Communication channels\",\"description\":\"Add new numbers and choose, for each agent, the numbers and channels they use.\",\"configurationsTitle\":\"Your configurations\",\"phoneNumbersTitle\":\"Your numbers\",\"agentNumbersTitle\":\"Your agents' numbers\",\"noAgentsFound\":\"No agents found\",\"agentChannelsCard\":{\"noChannel\":\"No channel\",\"activeNumbers\":\"{count, plural, one {# active number} other {# active numbers}}\",\"noNumber\":\"No number\",\"multipleCountries\":\"Multiple countries\",\"countryUndefined\":\"Not defined\"},\"agentChannelConfigurationModal\":{\"title\":\"Configure {agentName}'s numbers\",\"availableNumbersTitle\":\"Available numbers\",\"availableNumbersDescription\":\"Activate a channel for an agent by selecting at least one number; a number can be shared between multiple agents.\",\"allocationTitle\":\"Engagement message allocation\",\"allocationDescription\":\"Specify the target allocation for engagement messages. The agent will strive to follow it, but variations may occur depending on the actual availability of channels for your contacts.\",\"noChannelForAllocation\":\"Activate at least one number to configure channel allocation.\",\"noNumbersOrMessagingConfiguration\":\"Add a phone number or a messaging configuration to assign channels to your agents.\",\"channel\":{\"sms\":\"SMS\",\"whatsapp\":\"WhatsApp\",\"rcs\":\"RCS\"}},\"whatsappNumbers\":{\"title\":\"Your WhatsApp phone numbers\",\"addButton\":\"Add a WhatsApp number\"},\"smsNumbers\":{\"title\":\"Your SMS phone numbers\",\"addButton\":\"Add an SMS number\"},\"whatsappCard\":{\"title\":\"WhatsApp\",\"description\":\"Connect your WhatsApp account to activate this channel.\",\"statusBadge\":{\"notConnected\":\"Not connected\",\"syncInProgress\":\"Synchronization in progress\",\"connected\":\"Connected\",\"agentOffline\":\"Agent offline\"},\"numbersWillAppear\":\"Your numbers will automatically appear after synchronization\",\"accountId\":\"Account ID\",\"configureButton\":\"Connect with WhatsApp\",\"configurationCreated\":\"WhatsApp account successfully linked. Update your agentsâ \u003callocationLink\u003echannel allocation\u003c/allocationLink\u003e so they can use it.\",\"connected\":\"Your account {businessName} is synchronized\",\"templatesPending\":\"{count, plural, one {# template pending validation} other {# templates pending validation}}\",\"syncTemplates\":\"Refresh statuses\",\"templatesAllApproved\":\"Your templates are validated\",\"templatesError\":\"{count, plural, one {# template refused} other {# templates refused}}\",\"seeDetails\":\"See details\",\"accessManager\":\"Access WhatsApp Manager\",\"importAssociatedPhoneNumber\":\"Import {phoneNumber}\",\"agentValidationPending\":\"Your WhatsApp agent is pending validation\",\"senderReady\":\"Your WhatsApp agent is ready\",\"senderOffline\":\"Your WhatsApp agent is offline\",\"senderNotCreated\":\"Your WhatsApp agent has not been created\",\"externalAccountStatus\":{\"label\":\"External account status\",\"accountStatus\":\"Your {provider} account is {status}\",\"approved\":\"Approved\",\"rejected\":\"Rejected\",\"pending\":\"in validation\",\"unknown\":\"Unknown\",\"provider\":{\"whatsapp\":\"WhatsApp\",\"rcs\":\"RCS\"},\"notApproved\":\"Please \u003clink\u003everify\u003c/link\u003e your WhatsApp account, otherwise the WhatsApp agent and its templates cannot be created.\",\"rejectedMessagePrefix\":\"Your account has been rejected by META. Please contact us at\",\"rejectedMessageSuffix\":\"for assistance.\",\"modalTitle\":\"Whatsapp Account status details\"},\"senderStatusModalTitle\":\"Whatsapp agent status details\",\"logoUrlPublicError\":\"The WhatsApp profile logo URL must be publicly accessible. Please update your profile and recreate the whatsapp agent.\",\"senderIdAlreadyExistsError\":\"The WhatsApp sender ID already exists. Please use a unique sender ID and recreate the whatsapp agent.\",\"websiteUrlError\":\"The website must be a valid URL. Please update your profile and recreate the whatsapp agent.\",\"timeoutError\":\"The WhatsApp agent could not be created. Please retry creation.\",\"updateProfileButton\":\"Update profile\",\"recreateAgentButton\":\"Recreate Whatsapp agent\",\"syncSenderStatus\":\"Refresh sender status\",\"inProgressLabel\":\"Configuration initialized\",\"finishConfigurationButton\":\"Finis
12h configuration\",\"signupWindowOpenLabel\":\"Complete the configuration in the pop-up window\",\"finalizingLabel\":\"Creating your WhatsApp agent â¦\",\"seeDocumentation\":\"See documentation\"},\"rcsCard\":{\"title\":\"RCS\",\"description\":\"Send enriched messages in your brand colors\",\"statusBadge\":{\"notConfigured\":\"Not configured\",\"syncInProgress\":\"Synchronization in progress\",\"pendingInformation\":\"Awaiting information\",\"pendingValidation\":\"Awaiting validation\",\"connected\":\"Connected\"},\"configureButton\":\"Configure RCS\",\"notConfiguredBody\":\"Configure RCS to activate this channel\",\"seeDocumentation\":\"See documentation\",\"accountId\":\"Account ID\",\"configurationInitialized\":\"Your RCS configuration is initialized\",\"configurationInitializedBody\":\"Your configuration request is awaiting information. To help us move forward, please fill out this form.\",\"configurationPendingReview\":\"Your configuration request is under review.\",\"configurationCreated\":\"RCS configuration successfully created. Update your agentsâ \u003callocationLink\u003echannel allocation\u003c/allocationLink\u003e so they can use it once validated.\",\"connected\":\"Your RCS configuration is active\",\"agentValidationPending\":\"Your RCS agent is pending validation\",\"senderReady\":\"Your RCS agent is ready\",\"senderOffline\":\"Your RCS agent is offline\",\"senderNotCreated\":\"Your RCS agent has not been created\",\"senderStatusModalTitle\":\"RCS agent status details\",\"syncSenderStatus\":\"Refresh sender status\",\"configurationFormLink\":\"RCS configuration form\",\"agentCreating\":\"Your RCS agent is being created\"},\"messagingConfiguration\":{\"noAlerts\":\"No ongoing alerts\",\"seeDetails\":\"See details\",\"detailsModalTitle\":\"Configuration details\"},\"templateErrors\":{\"modalTitle\":\"Template alert details\",\"agentErrors\":\"Errors linked to agent {agentName}\",\"agentAlerts\":\"Alerts linked to agent {agentName}\",\"pendingStatus\":\"Pending WhatsApp approval\",\"fixButton\":\"Fix\",\"unmatchedTitle\":\"Template(s) without agent:\",\"whatsappError\":\"WhatsApp Error - {code}\",\"unknownError\":\"Unknown error\",\"errors\":{\"2388040\":{\"title\":\"Character Limit Exceeded\",\"description\":\"Field too long - Reduce content length\"},\"2388047\":{\"title\":\"Header Format Incorrect\",\"description\":\"Invalid header format - Correct syntax\"},\"2388057\":{\"title\":\"Duplicate Parameter\",\"description\":\"Parameter present multiple times in the same component\"},\"2388072\":{\"title\":\"Body Format Incorrect\",\"description\":\"Formatting violation - Adjust formatting\"},\"2388073\":{\"title\":\"Footer Format Incorrect\",\"description\":\"Footer issue - Fix footer\"},\"2388100\":{\"title\":\"Emoji Not Allowed\",\"description\":\"Emoji not allowed in this template type\"},\"2388293\":{\"title\":\"Parameters Ratio Exceeded\",\"description\":\"Too many variables - Reduce placeholders\"},\"2388299\":{\"title\":\"Leading/Trailing Variable\",\"description\":\"Variable at start/end - Reposition variable\"}}},\"smsCard\":{\"title\":\"SMS\",\"country\":\"France\",\"phoneNumber\":\"+33 6 24 67 99\",\"addNumberButton\":\"Add a number\"},\"phoneNumberCard\":{\"channel\":{\"sms\":\"SMS\",\"whatsapp\":\"WhatsApp\",\"rcs\":\"RCS\"},\"status\":{\"active\":\"Active number\",\"banned\":\"Banned number\",\"flagged\":\"Flagged number\",\"quarantined\":\"Quarantined number\",\"available\":\"Available\",\"inRegistration\":\"In registration\"},\"updateSuccess\":\"Phone number updated successfully\",\"updating\":\"Updating...\",\"save\":\"Save\"},\"addPhoneNumberModal\":{\"trigger\":\"Add a new number\",\"title\":\"Add a phone number\",\"channelLabel\":\"Channel\",\"channelPlaceholder\":\"Select a channel\",\"channels\":{\"sms\":\"SMS\",\"whatsapp\":\"WhatsApp\",\"rcs\":\"RCS\"}
12,\"description\":\"A dedicated number will be automatically generated for your account. This number will allow you to send and receive messages with the selected channel\",\"countryLabel\":\"Country\",\"countryPlaceholder\":\"France\",\"countries\":{\"france\":\"France\",\"belgium\":\"Belgium\",\"switzerland\":\"Switzerland\",\"canada\":\"Canada\"},\"cancel\":\"Cancel\",\"submit\":\"Add\",\"submitting\":\"Adding...\",\"success\":{\"sms\":\"SMS number added successfully\",\"whatsapp\":\"WhatsApp number added successfully\"},\"errors\":{\"whatsappMissingFields\":\"You are not connected to whatsapp\"},\"agentLabel\":\"Agents using this number\",\"agentPlaceholder\":\"No agent\",\"selectAll\":\"Select all\",\"agentsSelected\":\"{count} agent(s) selected\",\"saved\":\"Saved\"},\"whatsappProfileModal\":{\"title\":\"Whatsapp profile\",\"description\":\"This information will be used to set up your Whatsapp agent.\",\"nameLabel\":\"Business name*\",\"namePlaceholder\":\"Your business name\",\"nameHint\":\"This name will be displayed in your WhatsApp conversations.\",\"emailsLabel\":\"Emails*\",\"emailsHint\":\"Press Enter to add an email. Click on an email to remove it.\",\"emailsPlaceholder\":\"[email protected]\",\"websitesLabel\":\"Website*\",\"websitesPlaceholder\":\"https://company.com\",\"logoUrlLabel\":\"Logo URL*\",\"logoUrlPlaceholder\":\"https://company.com/logo.png\",\"addressLabel\":\"Address*\",\"addressPlaceholder\":\"Your business address\",\"descriptionLabel\":\"Description*\",\"descriptionCharactersLeft\":\"{chars}
12 characters left\",\"descriptionHint\":\"Main presentation of your business. Appears at the top of your detailed profile.\",\"descriptionPlaceholder\":\"Short description of your business\",\"aboutLabel\":\"About*\",\"aboutCharactersLeft\":\"{chars} characters left\",\"aboutHint\":\"Short status visible in your customers' contact list.\",\"aboutPlaceholder\":\"A short sentence about your business\",\"logoUrlError\":\"Unable to load the image. Please provide a valid, publicly accessible image URL.\",\"logoUrlFormatError\":\"The logo must be in JPEG or PNG format.\",\"logoUrlInfo\":\"The logo must be square and at least 640x640 pixels.\",\"logoUrlSquareError\":\"Width and height for the logo must be the same. Your provided image has dimensions of {width}x{height}\",\"logoUrlSizeError\":\"Width and height must be at least 640px. Your provided image has dimensions of {width}x{height}\",\"requiredError\":\"This field is required.\",\"websitesError\":\"Please provide a full and valid website URL.\",\"emailsError\":\"Add at least one email address.\",\"descriptionError\":\"Description must be between 1 and 512 characters.\",\"aboutError\":\"About must be between 1 and 139 characters.\",\"documentationNotice\":\"Please read the \u003clink\u003edocumentation\u003c/link\u003e before starting your integration, and make sure to keep the Pinpo application open on the communication page.\",\"cancel\":\"Cancel\",\"submit\":\"Connect with WhatsApp\",\"submitting\":\"Connecting...\",\"updateTitle\":\"Update WhatsApp profile\",\"updateDescription\":\"Update your WhatsApp profile information and recreate the sender.\",\"updateSubmit\":\"Recreate Whatsapp agent\",\"updateSubmitting\":\"Recreating...\"},\"loading\":\"Loading...\",\"noSmsNumbers\":\"No SMS numbers found\",\"noPhoneNumbersFound\":\"No phone numbers found\",\"noWhatsappNumbers\":\"No WhatsApp numbers found\",\"noPhoneNumbersForAgent\":\"No phone numbers found for this agent\"},\"ChannelAllocation\":{\"title\":\"Channel allocation\",\"description\":\"Define for each agent the allocation of its engagements across its communication channels. Available channels depend on the numbers assigned to it.\",\"autoDistribute\":\"Restore automatic allocation\",\"validation\":{\"unassigned\":\"{percentage}% unassigned. Total must equal 100%.\",\"exceeded\":\"Total exceeds 100% by {percentage}%. Please reduce percentage values.\"},\"channel\":{\"sms\":\"SMS\",\"whatsapp\":\"WhatsApp\",\"rcs\":\"RCS\",\"web\":\"Web\",\"fake\":\"Fake\"},\"noAgents\":\"No agents found\",\"loading\":\"Loading...\",\"banner\":{\"singleChannel\":\"With this configuration, the agent will engage your contacts exclusively via {channel}, with no fallback if the contact does not have this channel.\",\"priorityOneBackup\":\"With this configuration, the agent will primarily send messages via {primary}. {fallback} will only be used if the contact cannot be reached on the primary channel.\",\"priorityTwoBackups\":\"With this configuration, the agent will primarily send messages via {primary}. {fallback1} and {fallback2} will only be used if the contact cannot be reached on the primary channel.\",\"splitTwo\":\"With this distribution, the agent will aim for a split of {percentageA}% on {channelA} and {percentageB}% on {channelB}. If a channel is not available for a contact, the agent will switch to the other authorized channel.\",\"splitThree\":\"With this configuration, the agent will aim for a split of {percentageA}% on {channelA}, {percentageB}% on {channelB} and {percentageC}% on {channelC}. If a channel is not available for a contact, the agent will switch to the other authorized channels.\"}},\"Statistics\":{\"title\":\"Statistics\",\"dashboardTitle\":\"Dashboard\",\"qualifsInProcess\":\"{count} qualifications in process\",\"includeTestQualifications\":\"Include test qualifications\",\"selectMonth\":\"Select a month\",\"previousMonth\":\"Previous month\",\"nextMonth\":\"Next month\",\"contactProcessing\":\"Qualifications segmentation\",\"contactFunnel\":\"Conversion funnel\",\"contactSentVariation\":\"Imports evolution\",\"qualifActivity\":\"Activity by hour\",\"channelPerformance\":\"Channel performance\",\"reachability\":\"Conversation rate by sequence message\",\"marketingSourcePerformance\":\"Performance by source\",\"salespersonPerformance\":\"Performance by salesperson\",\"unassigned\":\"Unassigned\",\"chart\":{\"hot\":\"{count, plural, =0 {Hot} one {Hot} other {Hot}}
12\",\"warm\":\"{count, plural, =0 {Warm} one {Warm} other {Warm}}\",\"cold\":\"{count, plural, =0 {Cold} one {Cold} other {Cold}}\",\"unreachable\":\"{count, plural, =0 {Unreachable} one {Unreachable} other {Unreachable}}\",\"unsegmented\":\"{count, plural, =0 {Unsegmented} one {Unsegmented} other {Unsegmented}}\",\"lastWeek\":\"last week\",\"lastMonth\":\"last month\",\"contactsGenerated\":\"{count, plural, =0 {Import} one {Import} other {Imports}}\",\"contactsProcessed\":\"{count, plural, =0 {Engagement} one {Engagement} other {Engagements}}\",\"conversations\":\"{count, plural, =0 {Conversation} one {Conversation} other {Conversations}}\",\"leadsProcessed\":\"{count, plural, =0 {Engaged qualification} one {Engaged qualification} other {Engaged qualifications}}\",\"day\":\"Day\",\"variation\":\"Variation\",\"name\":\"Name\",\"contactsSent\":\"{count, plural, =0 {Imported contact} one {Imported contact} other {Imported contacts}}\",\"engagedShare\":\"Engaged share\",\"engagedContactsDistribution\":\"Engaged qualifications distribution\",\"count\":\"Count\",\"percentage\":\"Percentage\",\"ratio\":\"Ratio\",\"noData\":\"No data for the selected period\",\"reachability\":{\"initial\":\"Engagement message\",\"second\":\"First follow-up\",\"third\":\"Second follow-up\"}},\"months\":{\"january\":\"January\",\"february\":\"February\",\"march\":\"March\",\"april\":\"April\",\"may\":\"May\",\"june\":\"June\",\"july\":\"July\",\"august\":\"August\",\"september\":\"September\",\"october\":\"October\",\"november\":\"November\",\"december\":\"December\"},\"dateRange\":{\"customRange\":\"Custom range\",\"quickRanges\":\"Quick ranges\",\"apply\":\"Apply\",\"previousPeriod\":\"Previous period\",\"nextPeriod\":\"Next period\",\"presets\":{\"current_week\":\"This week\",\"current_month\":\"This month\",\"last_7_days\":\"Last 7 days\",\"last_30_days\":\"Last 30 days\",\"last_90_days\":\"Last 90 days\"}}},\"MessageVariables\":{\"default\":{\"context\":{\"greeting\":\"Good morning/Good evening\",\"dayEvening\":\"day/evening\"},\"agent\":{\"name\":\"Agent name\",\"mission\":\"Agent mission\"},\"organization\":{\"name\":\"Organization name\"},\"contact\":{\"fullName\":\"Contact full name\",\"firstname\":\"Contact first name\",\"lastname\":\"Contact last name\",\"phone\":\"Contact phone\",\"mail\":\"Contact email\"},\"qualification\":{\"source\":\"Qualification source\"},\"salesperson\":{\"fullName\":\"Salesperson full name\",\"firstname\":\"Salesperson first name\",\"lastname\":\"Salesperson last name\",\"phone\":\"Salesperson phone\",\"email\":\"Salesperson email\",\"role\":\"Salesperson role\"}},\"custom\":{\"customFields\":{\"originalEngagedAt\":\"First engagement date\"}}}}
12,\"now\":\"$undefined\",\"timeZone\":\"UTC\",\"children\":\"$L59\"}]\n59:[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$L5a\",[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]\n5a:E{\"digest\":\"NEXT_REDIRECT;replace;/;307;\"}\n5b:I[640433,[\"/_next/static/chunks/3un94oci5j8ip.js\",\"/_next/static/chunks/1cj-1wqdkbwn2.js\",\"/_next/static/chunks/1zt7viddtwj87.js\",\"/_next/static/chunks/0qi1z29nzjxlt.js\",\"/_next/static/chunks/1hy89eddmuwbx.js\",\"/_next/static/chunks/04a36i6s48ix2.js\",\"/_next/static/chunks/3o3mk_9650n8z.js\"],\"IconMark\"]\n3d:null\n41:[[\"$\",\"title\",\"0\",{\"children\":\"Security, GDPR \u0026 AI Compliance | Pinpo\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Enterprise-grade security with GDPR compliance, EU data hosting, MFA, audit logs and AI governance. Built for demanding environments.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"robots\",\"content\":\"index, follow, nocache\"}],[\"$\",\"link\",\"4\",{\"rel\":\"canonical\",\"href\":\"https://www.pinpo.ai\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"AI Sales Agents for Lead Qualification \u0026 Conversion | Pinpo\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"Double your sales capacity without hiring. Pinpo AI agents qualify leads, follow up and book appointments via SMS, WhatsApp and RCS, 24/7.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:image\",\"content\":\"https://www.pinpo.ai/social-media/opengraph-image.jpg\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image:alt\",\"content\":\"Pinpo - AI agents for lead qualification and conversion\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"10\",{\"name\":\"twitter:title\",\"content\":\"AI Sales Agents for Lead Qualification \u0026 Conversion | Pinpo\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:description\",\"content\":\"Double your sales capacity without hiring. Pinpo AI agents qualify leads, follow up and book appointments via SMS, WhatsApp and RCS, 24/7.\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:image\",\"content\":\"https://www.pinpo.ai/social-media/twitter-image.jpg\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:image:alt\",\"content\":\"Pinpo - AI agents for lead qualification and conversion\"}],[\"$\",\"link\",\"14\",{\"rel\":\"icon\",\"href\":\"/favicon/favicon.ico\"}],[\"$\",\"link\",\"15\",{\"rel\":\"apple-touch-icon\",\"href\":\"/favicon/apple-icon.png\"}],[\"$\",\"$L5b\",\"16\",{}]]\n"])</script>
12</body></html>
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.