CINXE.COM
Altmetric - Product updates
<!-- Built with LaunchNotes --> <!DOCTYPE html> <html> <head> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"NRJS-d75019f52426a98609c","applicationID":"988270772","transactionName":"IF1ZRhNfCVkESxpHFgFeXlFOUQtbDkxbVAYOV1lGEh8MWwVcTQ==","queueTime":0,"applicationTime":142,"agent":""}</script> <script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["api-iam.intercom.io","bam.nr-data.net"]},distributed_tracing:{enabled:true,allowed_origins:["https://app.launchnotes.com"],cors_use_newrelic_header:false,cors_use_tracecontext_headers:false}};(window.NREUM||(NREUM={})).loader_config={agentID:"1120002361",accountID:"2696381",trustKey:"2696381",xpid:"VgAOV1VbCRAJXFlQAAEAUVY=",licenseKey:"NRJS-d75019f52426a98609c",applicationID:"988270772"};;/*! For license information please see nr-loader-spa-1.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});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)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={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},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>p,gD:()=>m,xN:()=>g});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},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},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,level:i.p_.INFO},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:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$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:a.wk,inactiveMs:a.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){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.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){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},f={},h="All configuration objects require an agent identifier!";function p(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function g(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=p(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.281.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).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<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},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])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(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 o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});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&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.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)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,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}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.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)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={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"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>T,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>A,uP:()=>s,wW:()=>E,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",E="cb"+R,T="jsTime",A="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);const E=new Map;function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[x.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const S={};var N=r(9417),_=r(5603),O=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},g,R){let{init:x,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();E||(x=L.init,E=L.info,j=L.loader_config),(0,N.xN)(e.agentIdentifier,x||{}),(0,_.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const H=(0,N.D0)(e.agentIdentifier),M=[E.beacon,E.errorBeacon];P||(H.proxy.assets&&(I(H.proxy.assets),M.push(H.proxy.assets)),H.proxy.beacon&&M.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?M:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");S[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{S[e]=t}));var E="api-",A=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(E,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(E,e,!0,"api")})),g.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),g.recordCustomEvent=I(E,"recordCustomEvent",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(E,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new _).get("object"==typeof e?e:{})};const O=_.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(A+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,R),r?void 0:this}}function P(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{O[e]=I(A,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(A,"routeName",void 0,n.K7.softNav):I(E,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!S[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>P()),!0):P(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={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",spa:"spa"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.281.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-jmvAlmjCn64ans8tLueqHRlBI/iWekylsDWb94A77CG0ukSriVDvgD3dThx+XjUSBBBMYhFn8B1a18fViyBPEQ==",249:"sha512-ICY/ZrcytM/86t5KFy+9OAWVYmNNJy10EBtxoSUGjQWuZx53p/eLo+L8HfrGjvHuRHRnutqLTGSnvNttffJkaA==",212:"sha512-pQSn+X/RfBOvx/49HvlghaiXMLhhDQXTi13n1N2XMpDquWJgs9U0pbqE3RbAnYC9nsdaTu/RVGvneEPv1fpCxA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),T=i(3878),A=i(782),S=i(1863);class N extends b{static featureName=A.T;constructor(e,t=!0){super(e,A.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,A.T,this.ee)),!0),(0,T.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,A.T,this.ee))),this.importAggregator(e))}}var _=i(3969);class O extends b{static featureName=_.TZ;constructor(e,t=!0){super(e,_.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,T.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}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,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,T.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,T.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,T.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(_.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.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}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Ee,Lc:Te,uP:Ae,Rz:Se}=be;class Ne extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Oe extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(_e.H3,"_").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,T.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,T.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.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,{domObserver:o})}}var je=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,T.jT)(!1)),e.addEventListener("error",f,(0,T.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function Me(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const De={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(De[t.debugId]++)return t;De[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:$e,e5:Je,tH:Qe,uP:et,rw:tt,Lc:rt}=je;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=Me(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Je]=~~this[Je]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on($e,m),o.on($e,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([Qe+Ze,Qe+"-done",Qe+Xe+Ze,Qe+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,$e,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,Qe+Ze),v(d,Qe+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,T.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,x.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,T.sp)(e,t)}))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,Oe,O,M,ot,ct,Pe,nt],loaderType:"spa"})})()})();</script> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>Altmetric - Product updates</title> <meta name="description" content="Check out the latest product updates on the Altmetric LaunchNotes page."> <meta name="keywords" content="launchnotes, release notes, product updates, changelog"> <link rel="canonical" href="https://updates.altmetric.com/"> <meta property="og:title" content="Altmetric - Product updates"> <meta property="og:description" content="Check out the latest product updates on the Altmetric LaunchNotes page."> <meta property="og:type" content="website"> <meta property="og:image" content="https://uploads-ssl.webflow.com/5d4754a8a904cd6b8b0355be/5db7affd24ac076310645649_RocketHero%20Light%20Orange-p-800.png"> <meta name="twitter:title" content="Altmetric - Product updates"> <meta name="twitter:description" content="Check out the latest product updates on the Altmetric LaunchNotes page."> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@launchawesome"> <meta name="twitter:image" content="https://uploads-ssl.webflow.com/5d4754a8a904cd6b8b0355be/5db7affd24ac076310645649_RocketHero%20Light%20Orange-p-800.png"> <meta name="twitter:image:alt" content="The Altmetric LaunchNotes page"> <meta name="author" content="The Altmetric team"> <meta name="slack-app-id" content="AQZ806FNX"> <link rel="stylesheet" href="https://assets.launchnotes.io/packs/css/public-35aff406.css" media="all" /> <style> .header-wrapper { min-height:300px; padding:11%; background-image: url(https://wordpress-uploads-production.s3.amazonaws.com/uploads/2022/10/Banner-05-min.png); background-position:left; background-size:contain; background-repeat:no-repeat; background-color:#2B265C; } .header-wrapper h1 { color: #fff; font-size: 60px; font-family: 'Montserrat', sans-serif; } .header-wrapper span { color: #fff; font-size: 30px; font-family: 'Nunito', sans-serif; } </style> <style> body { color: #3D3D3D; } /* primary-color primary-background */ .primary-color { color: #2a265a; } .primary-background { background-color: #2a265a; } .primary-border { border-color: #2a265a; } .secondary-color { color: #354c98; } .secondary-background { background-color: #354c98; } .secondary-border { border-color: #354c98; } .white-color { color: #FFFFFF; } .white-background { background-color: #FFFFFF; } .white-border { border-color: #FFFFFF; } .off-white-color { color: #fef2e5; } .off-white-background { background-color: #fef2e5; } .off-white-border { border-color: #fef2e5; } .gray-color { color: #D4D5D8; } .gray-background { background-color: #D4D5D8; } .gray-border { border-color: #D4D5D8; } .light-gray-color { color: #E8EBEF; } .light-gray-background { background-color: #E8EBEF; } .light-gray-border { border-color: #E8EBEF; } .primary-text-color { color: #3D3D3D; } .primary-text-background { background-color: #3D3D3D; } .primary-text-border { border-color: #3D3D3D; } .secondary-text-color { color: #BAB9B9; } .secondary-text-background { background-color: #BAB9B9; } .secondary-text-border { border-color: #BAB9B9; } .btn-primary { background-color: #2a265a !important; color: #FFFFFF !important; border-color: #2a265a !important; } .btn-outline-primary { border-color: #2a265a !important; color: #2a265a !important; outline: unset !important; } .btn-outline-primary:hover, .btn-outline-primary:active, .btn-outline-primary:focus { border-color: #2a265a !important; background-color: #2a265a !important; color: #FFFFFF !important; } .custom-control-input:not(:disabled) ~ .custom-control-label { cursor: pointer; } .custom-control-input:checked ~ .custom-control-label:before { border-color: #2a265a !important; background-color: #2a265a !important; } .custom-control-input:checked:disabled ~ .custom-control-label:before { border-color: #D4D5D8 !important; background-color: #D4D5D8 !important; } .ln-end-user-layout .form-control::placeholder { color:rgba(61, 61, 61, 0.35) } .work-item-outer-container:hover { color:#3D3D3D; } input#search-clear { background: rgba(0, 0, 0, 0.6); border: none; border-radius: 8px; box-shadow: 0px 0px 2px rgba(80, 80, 80, 0.7); color: white; font-size: 10px; font-weight: 700; height: 16px; padding: 0; width: 16px; } input#search { background-color: #FFFFFF; border-bottom-color: #FFFFFF; } input#search:focus { border-bottom-color: #2a265a; } .navbar-brand, .navbar-brand:hover { color: #3D3D3D !important; } .brand-circle { color: #2a265a; background-color: #3D3D3D; } .views.navbar { border-top: 1px solid #fef2e5; } .footie p, .footie a, .footie a:hover { color: #BAB9B9 !important; } header.cover-header button.subscribe-button svg { position: relative; bottom: 1px; fill: #FFFFFF; } header.cover-header button.subscribe-button svg * { transition: fill 60ms; } header.cover-header button.subscribe-button:hover svg *, header.cover-header button.subscribe-button:active svg *, header.cover-header button.subscribe-button:active:focus svg * { fill: #3D3D3D; } .navbar.views .nav-item a.nav-link { color: #BAB9B9; } a, a:hover, a:active { color: #2a265a; } .navbar.views .nav-item.active { border-bottom: 2px solid #2a265a; } .navbar.views .nav-item.active a.nav-link { color: #2a265a; } .navbar.views .nav-item { border-bottom: 2px solid #FFFFFF; } .month-picker a.active { font-weight: bold; } .red { color: #f9512b; } .separator::before, .separator::after { border-bottom: 1px solid #E8EBEF; } .pagination .page-item.active > .page-link, .pagination .page-item.active > .page-link:focus, .pagination .page-item.active > .page-link:hover { background-color: #354c98; border-color: #354c98; color: #FFFFFF; } .pagination .page-item .page-link { color: #D4D5D8; } .pagination .page-item .page-link:hover, .pagination .page-item .page-link:focus { background-color: #E8EBEF; color: #3D3D3D; } .release.card { background-color: #FFFFFF; } .release .latest-update .update-wrapper:before { color: #2a265a; } .release .latest-update .update-wrapper .latest-update-heading { color: #2a265a; } .release .content-body { color: #2a265a } .form-control { background-color: #FFFFFF; } ul.timeline li:after { color: #3D3D3D; } ul.timeline li:before { border-left: 1px solid #E8EBEF; } .work-items-index .subscribe-button { background-color: #FFFFFF; } .work-items-index .subscribe-button.following { background-color: #2a265a; } .work-item-show .subscribe-button { background-color: unset; } .work-item-show .subscribe-button.following { background-color: #2a265a; } /* Subscribe modal */ #subscribeModal button[type="submit"] { background-color: #2a265a; border: none; color: #FFFFFF } /* jQuery table of contents */ ul.toc, ul.toc ul { padding-left: 24px; padding-left: 0; ul li { padding-left: 12px; border-left: 1px solid #E8EBEF; } > li { padding: 0; border: none; } li > a { color: #2a265a; font-size: 16px; white-space: nowrap; display: block; overflow: hidden; text-overflow: ellipsis; } li::marker { line-height: 1.5; content: '' } } pre { background-color: #E8EBEF; } .Toastify .Toastify__toast-container { pointer-events: none; } .Toastify .Toastify__toast { border: 1px solid; text-shadow: 0 1px 0 rgba(0, 0, 0, .1); font-family: inherit; } .Toastify .Toastify__toast-theme--colored.Toastify__toast--success { border-color: #2a265a; background-color: #2a265a; color: white; } .Toastify .Toastify__toast-theme--colored.Toastify__toast--error { color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; } .secure-page { padding-top: 60px; text-align: center; } .secure-page-logo { margin-bottom: 30px; } .secure-page-card { width: 450px; max-width: 90%; margin: auto; background: #FFFFFF; border-radius: 8px; padding: 48px; } .secure-page-card-body { text-align: center; margin-bottom: 30px; } .public-timeline { list-style-type: none; padding: 15px; padding-bottom: 0px; position: relative; } .public-timeline .timeline-item { padding: 8px 0; padding-left: 20px; position: relative; } .public-timeline .timeline-item .timeline-announcement { flex: 1; } .public-timeline .timeline-item p { color: #3D3D3D; display: inline-block; margin-bottom: 0px; } .public-timeline .timeline-item .date { color: #BAB9B9; display: inline-block; width: 160px; } .public-timeline .timeline-item .announcement-link { color: #E66A47; } .public-timeline .timeline-item::before { content: ''; background: gray; position: absolute; border-radius: 50%; left: -8px; top: 19px; width: 8px; height: 8px; z-index: 100 } .public-timeline .timeline-tail { position: absolute; top: 20px; left: -5px; height: 100%; border-left: 2px solid #E8EBEF; z-index: 1; } .public-timeline .timeline-item.last .timeline-tail { display: none; } </style> <link rel="apple-touch-icon" sizes=60x60 href="https://ik.imagekit.io/launchnotes/production/tr:w-60,h-60/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="apple-touch-icon" sizes=76x76 href="https://ik.imagekit.io/launchnotes/production/tr:w-76,h-76/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="apple-touch-icon" sizes=114x114 href="https://ik.imagekit.io/launchnotes/production/tr:w-114,h-114/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="apple-touch-icon" sizes=120x120 href="https://ik.imagekit.io/launchnotes/production/tr:w-120,h-120/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="apple-touch-icon" sizes=152x152 href="https://ik.imagekit.io/launchnotes/production/tr:w-152,h-152/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="apple-touch-icon" sizes=167x167 href="https://ik.imagekit.io/launchnotes/production/tr:w-167,h-167/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="apple-touch-icon" sizes=180x180 href="https://ik.imagekit.io/launchnotes/production/tr:w-180,h-180/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="icon" type="image/png" sizes="32x32" href="https://ik.imagekit.io/launchnotes/production/tr:w-32,h-32/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="icon" type="image/png" sizes="32x32" href="https://ik.imagekit.io/launchnotes/production/tr:w-16,h-16/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="shortcut icon" href="https://ik.imagekit.io/launchnotes/production/tr:w-16,h-16/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="mask-icon" sizes=60x60 href="https://ik.imagekit.io/launchnotes/production/tr:w-32,h-32/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="mask-icon" sizes=76x76 href="https://ik.imagekit.io/launchnotes/production/tr:w-32,h-32/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="mask-icon" sizes=114x114 href="https://ik.imagekit.io/launchnotes/production/tr:w-32,h-32/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="mask-icon" sizes=120x120 href="https://ik.imagekit.io/launchnotes/production/tr:w-32,h-32/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="mask-icon" sizes=152x152 href="https://ik.imagekit.io/launchnotes/production/tr:w-32,h-32/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="mask-icon" sizes=167x167 href="https://ik.imagekit.io/launchnotes/production/tr:w-32,h-32/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="mask-icon" sizes=180x180 href="https://ik.imagekit.io/launchnotes/production/tr:w-32,h-32/t955iqfe0d4ei9qsmoad9j5shw5h"> <link rel="manifest" href="https://assets.launchnotes.io/assets/favicon/site-95b4d753717a3b3021b9dcd1a94a59a9918da1016969dcfcca0ce747add2e243.webmanifest"> <meta name="apple-mobile-web-app-title" content="Altmetric"> <meta name="application-name" content="Altmetric"> <meta name="msapplication-TileColor" content="#2b5797"> <meta name="msapplication-config" content="https://assets.launchnotes.io/assets/favicon/browserconfig-05a7558d6d75012d9277748d15242876a62df20a501c39d8a0c9a506d298d0bb.xml"> <meta name="theme-color" content="#ffffff"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/atom-one-dark.min.css" integrity="sha512-Jk4AqjWsdSzSWCSuQTfYRIF84Rq/eV0G2+tu07byYwHcbTGfdmLrHjUSwvzp5HvbiqK4ibmNwdcG49Y5RGYPTg==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.slim.min.js" integrity="sha512-jxwTCbLJmXPnV277CvAjAcWAjURzpephk0f0nO2lwsvcoDMqBdy1rh1jEwWWTabX1+Grdmj9GFAgtN22zrV0KQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="mNpBxDzGTdxBdr-Nktn_EqBtx-eMrDx-mNGsG4YxHWl73FByVisG_IfmvQgTTLwHaKk5E0XlbF9tIUaSUbbP8g" /> <meta name="csp-nonce" /> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@700&family=Nunito&family=Nunito+Sans:opsz,wght@6..12,300&display=swap" rel="stylesheet"> <script> !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]); posthog.init('phc_UlHlA3tIQlE89WRH9NSy0MzlOg1XYiUXnXiYjKBJ4OT', { api_host:'https://a.launchnotes.com', loaded: function (posthog_instance) { var properties = {"project_id":"pro_SXAQjo7FMaUol","project_name":"Altmetric","organization_id":"org_KBmUvY0Ce7ecA"}; posthog_instance.group('Project', "pro_SXAQjo7FMaUol", { name: "Altmetric" }); }, } ); </script> <script src="https://assets.launchnotes.io/packs/js/turbo-0a69b93a5a238ed6a313.js" data-turbo-track="reload" data-cookieconsent="ignore"></script> </head> <body class="off-white-background ln-end-user-layout"> <header class="cover-header white-background"> <nav class="navbar navbar-expand-md container-padding-left container-padding-right primary-background"> <a href="/" class="navbar-brand"> <img src="https://app.launchnotes.io/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzEwMjEsInB1ciI6ImJsb2JfaWQifX0=--68de11d8f954cdb06b3222f2d38e50f052f96eb0/altmetric-logo-dark%20(1)%201.png" height="30px" class="d-inline-block align-top" /> </a> <button class="subscribe-button btn btn-outline-light my-sm-0 ml-auto pb-2 white-border white-text" data-toggle="modal" data-target="#subscribeModal"><span class="btn-text d-none d-sm-inline-block">Subscribe to updates</span><span class="d-inline-block d-sm-none"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24"> <title>megaphone</title> <g fill="#FFFFFF"> <path d="M19.525,1.149a1,1,0,0,0-.972-.044L10.764,5H5A5,5,0,0,0,5,15h5.764L18.553,18.9A1,1,0,0,0,20,18V2A1,1,0,0,0,19.525,1.149Z" fill="#FFFFFF"></path> <path d="M21,7v6a3,3,0,0,0,0-6Z"></path> <path d="M10.142,17H5.813l2.334,5.744a2,2,0,0,0,3.708-1.492Z"></path> </g> </svg></span></button> </nav> <div class="header-wrapper text-center px-4"> <h1 class="heading primary-text-color mb-3 mt-0"> Product updates </h1> <span class="primary-text-color opacity-8 mb-0 d-block"> <p>Discover the latest features, improvements, and updates to Altmetric鈥檚 products</p> </span> </div> </header> <main role="main" id="main"> <turbo-frame id="outlet"> <style> body { background-color: #fef2e5; } </style> <nav class="views navbar navbar-expand-lg navbar-light white-background py-0 position-relative"> <form id="nav-search-form" class="form-inline position-absolute d-none d-lg-block container-margin-left" data-turbo-frame="outlet" data-turbo-action="replace" action="https://updates.altmetric.com/" accept-charset="UTF-8" method="get"> <svg class="svg-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M8.33333 13.8946C11.555 13.8946 14.1667 11.2829 14.1667 8.06124C14.1667 4.83958 11.555 2.22791 8.33333 2.22791C5.11167 2.22791 2.5 4.83958 2.5 8.06124C2.5 11.2829 5.11167 13.8946 8.33333 13.8946Z" stroke="#2a265a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> <path d="M17.5 17.2279L12.5 12.2279" stroke="#2a265a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> </svg> <input type="search" name="search" id="search" class="form-control search-field" tabindex="1" autocomplete="off" placeholder="search" aria-label="Search" /> <input id="search-clear" type="reset" value="X" alt="Clear the search form" style='display:none'> </form> <div class="mx-auto"> <ul class="navbar-nav mx-auto mt-0 flex-row" style="min-height: 60px"> </ul> </div> </nav> <script type="text/javascript" charset="utf-8"> var currentLocation = "/" var clearEl = document.getElementById("search-clear"); var searchEl = document.getElementById("search"); document.getElementById('nav-search-form').addEventListener('submit', function() { document.getElementById('loading-indicator').style.display = 'block'; document.getElementById('announcements-container').style.display = 'none'; }); clearEl.addEventListener('click', function () { const frame = document.querySelector("turbo-frame#outlet"); if (!!frame) { searchEl.value = ""; var params = new URLSearchParams(window.location.search); var nextParams = {}; if (params.has("categories")) { nextParams["categories"] = params.get("categories"); } var search = new URLSearchParams(nextParams).toString(); frame.src = `${currentLocation}?${search}`; const newURL = `${window.location.protocol}//${window.location.host}${currentLocation}?${search}`; window.history.pushState({}, '', newURL); window.Turbo.navigator.history.push(newURL); } }); </script> <div class="container-fluid pb-4 container-padding-left container-padding-right container-padding-top layout-content announcements-index d-md-flex"> <div class="category-feedback-container"> <div class="d-md-block d-none mt-4"> <div class="filter-pane-wrapper mr-auto"> <div data-controller="categories" data-categories-categories-hidden-value="false" data-categories-change-types-hidden-value="false" data-categories-selected-categories-value="[]" data-categories-selected-change-types-value="[]" data-categories-project-value="{"id":"pro_SXAQjo7FMaUol","name":"Altmetric","slug":"altmetric","published":true,"categories":[{"id":"cat_vryb4nsytOVCz","name":"Explorer For Institutions (EFI)","description":null,"color":"#0693e3","text_color":"#394967","background_color":"#0693e3"},{"id":"cat_fik1kgazClFuL","name":"DATA","description":null,"color":"#fcb900","text_color":"#394967","background_color":"#fcb900"},{"id":"cat_L2H4fitQre8w2","name":"ATTENTION SOURCES","description":null,"color":"#9900ef","text_color":"#394967","background_color":"#9900ef"},{"id":"cat_taAwkJQKsd9Wy","name":"POLICY","description":null,"color":"#f78da7","text_color":"#394967","background_color":"#f78da7"},{"id":"cat_AQO8iWA215Niu","name":"WIKIPEDIA","description":null,"color":"#f78da7","text_color":"#394967","background_color":"#f78da7"},{"id":"cat_Il0vUXAYVkviU","name":"API","description":null,"color":"#ABB8C3","text_color":"#394967","background_color":"#abb8c3"},{"id":"cat_KTCoPN0UOFK8k","name":"Altmetric Explorer","description":null,"color":"#00d084","text_color":"#394967","background_color":"#00d084"},{"id":"cat_EfCMduQsrLmDY","name":"Accessibility","description":null,"color":"#7bdcb5","text_color":"#394967","background_color":"#7bdcb5"},{"id":"cat_q0413qiPHDriO","name":"Usability","description":null,"color":"#8ed1fc","text_color":"#394967","background_color":"#8ed1fc"},{"id":"cat_6nFf5TIOq65fH","name":"Search","description":null,"color":"#9900ef","text_color":"#394967","background_color":"#9900ef"}],"change_types":[]}" data-categories-location-value="/" data-categories-translations-value="{"categoriesTitle":"Categories","labelsTitle":"Labels","categoriesClear":"Clear"}" data-categories-change-type-rollout-value="true" ></div> </div> <div class="d-none d-md-block"> <a class="primary-text-color powered-by-link " style="display: block !important;" href="https://www.launchnotes.com/powered-by?company=Dimensions&utm_campaign=https%3A%2F%2Fupdates.altmetric.com%2F&utm_content=project-release-index&utm_medium=powered-by&utm_source=in-app">Powered by LaunchNotes</a> </div> </div> </div> <div class="row mt-0 flex-grow-1"> <div class="loading-indicator col-md-12 col-lg-9 col-xl-8 w-75 mx-auto text-center" id="loading-indicator"> <svg id="L9" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 100 100" xml:space="preserve" width="60px" > <path fill="#2a265a" d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50" > <animateTransform attributeName="transform" attributeType="XML" type="rotate" dur="1s" from="0 50 50" to="360 50 50" repeatCount="indefinite" /> </path> </svg> <p class="loading-label primary-text-color"> Loading... </p> </div> <div class="col-md-12 col-lg-9 col-xl-8 mx-auto announcements-container" id="announcements-container"> <div class="separator primary-text-color month-published-header">January 2025</div> <article class="release announcement card white-background d-flex pt-0"> <a href="https://updates.altmetric.com/announcements/dimensions-citations-in-details-page-timeline" target="_self"> <img style="width:100%" class="w-100 mb-3" loading="lazy" src="https://ik.imagekit.io/launchnotes/production/tr:w-1640,c-at_max,f-auto/euiz4iot54e03yy1j4g2lomnm5ex" /> <section class="announcement-categories d-flex flex-column"> <div class="d-flex flex-wrap mb-2"> <span class="category-title secondary-text-color" style="letter-spacing: 0.2px; font-size: 12px"> </span> </div> <div class="d-flex flex-wrap mb-2"> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#00d084" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#00d084"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">Altmetric Explorer</span> </span> </div> </section> <section class="announcement-title-container"> <h2 class="m-0">Dimensions Citations Integration: Details Pages</h2> </section> <section class="announcement-excerpt-container"> We have enhanced our Attention Timeline feature by incorporating Dimensions citation data, providing a more comprehensive view of research impact across... </section> <section class="announcement-date-container"> <small class="primary-text-color opacity-6 timestamp release-timestamp"><time datetime="2025-01-29T14:46:16Z" data-local="time" data-format="%B %e, %Y">January 29, 2025</time></small> </section> </a> </article> <article class="release announcement card white-background d-flex pt-3"> <a href="https://updates.altmetric.com/announcements/new-policy-sources-january-2025" target="_self"> <section class="announcement-categories d-flex flex-column"> <div class="d-flex flex-wrap mb-2"> <span class="category-title secondary-text-color" style="letter-spacing: 0.2px; font-size: 12px"> </span> </div> <div class="d-flex flex-wrap mb-2"> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#9900ef" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#9900ef"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">ATTENTION SOURCES</span> </span> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#f78da7" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#f78da7"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">POLICY</span> </span> </div> </section> <section class="announcement-title-container"> <h2 class="m-0">New policy sources - January 2025</h2> </section> <section class="announcement-excerpt-container"> Altmetric curates policy sources that are designed to change or otherwise influence guidelines, policy or practice. </section> <section class="announcement-date-container"> <small class="primary-text-color opacity-6 timestamp release-timestamp"><time datetime="2025-01-24T09:59:01Z" data-local="time" data-format="%B %e, %Y">January 24, 2025</time></small> </section> </a> </article> <article class="release announcement card white-background d-flex pt-0"> <a href="https://updates.altmetric.com/announcements/bluesky-tracking-enhancement-an-increase-to-our-volume-of-historical-posts" target="_self"> <img style="width:100%" class="w-100 mb-3" loading="lazy" src="https://ik.imagekit.io/launchnotes/production/tr:w-1640,c-at_max,f-auto/wmtf25udldxcpmq09y1toyh6vsqs" /> <section class="announcement-categories d-flex flex-column"> <div class="d-flex flex-wrap mb-2"> <span class="category-title secondary-text-color" style="letter-spacing: 0.2px; font-size: 12px"> </span> </div> <div class="d-flex flex-wrap mb-2"> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#9900ef" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#9900ef"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">ATTENTION SOURCES</span> </span> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#00d084" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#00d084"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">Altmetric Explorer</span> </span> </div> </section> <section class="announcement-title-container"> <h2 class="m-0">Bluesky tracking enhancement: an increase to our volume of historical posts</h2> </section> <section class="announcement-excerpt-container"> We are working to enhance the Bluesky content we can track and bring to our users. Our latest enhancement, live now, is part of our efforts to track more historical content from pre-launch dates. </section> <section class="announcement-date-container"> <small class="primary-text-color opacity-6 timestamp release-timestamp"><time datetime="2025-01-21T10:40:33Z" data-local="time" data-format="%B %e, %Y">January 21, 2025</time></small> </section> </a> </article> <div class="separator primary-text-color month-published-header">December 2024</div> <article class="release announcement card white-background d-flex pt-3"> <a href="https://updates.altmetric.com/announcements/new-policy-sources-december-2024" target="_self"> <section class="announcement-categories d-flex flex-column"> <div class="d-flex flex-wrap mb-2"> <span class="category-title secondary-text-color" style="letter-spacing: 0.2px; font-size: 12px"> </span> </div> <div class="d-flex flex-wrap mb-2"> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#9900ef" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#9900ef"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">ATTENTION SOURCES</span> </span> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#f78da7" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#f78da7"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">POLICY</span> </span> </div> </section> <section class="announcement-title-container"> <h2 class="m-0">New policy sources - December 2024</h2> </section> <section class="announcement-excerpt-container"> Altmetric curates policy sources that are designed to change or otherwise influence guidelines, policy or practice. </section> <section class="announcement-date-container"> <small class="primary-text-color opacity-6 timestamp release-timestamp"><time datetime="2024-12-20T11:00:07Z" data-local="time" data-format="%B %e, %Y">December 20, 2024</time></small> </section> </a> </article> <article class="release announcement card white-background d-flex pt-0"> <a href="https://updates.altmetric.com/announcements/bluesky-tracking-enhancement-attention-from-image-alt-text" target="_self"> <img style="width:100%" class="w-100 mb-3" loading="lazy" src="https://ik.imagekit.io/launchnotes/production/tr:w-1640,c-at_max,f-auto/7oxbj1wk0kxfk0lpdwj7mlh0xh5h" /> <section class="announcement-categories d-flex flex-column"> <div class="d-flex flex-wrap mb-2"> <span class="category-title secondary-text-color" style="letter-spacing: 0.2px; font-size: 12px"> </span> </div> <div class="d-flex flex-wrap mb-2"> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#9900ef" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#9900ef"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">ATTENTION SOURCES</span> </span> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#00d084" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#00d084"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">Altmetric Explorer</span> </span> </div> </section> <section class="announcement-title-container"> <h2 class="m-0">Bluesky tracking enhancement: attention from image alt text</h2> </section> <section class="announcement-excerpt-container"> We are working to enhance the Bluesky content we can track and bring to our users. Our latest enhancement, live now, is the ability to track mentions included in the alt text of images. </section> <section class="announcement-date-container"> <small class="primary-text-color opacity-6 timestamp release-timestamp"><time datetime="2024-12-13T09:59:02Z" data-local="time" data-format="%B %e, %Y">December 13, 2024</time></small> </section> </a> </article> <article class="release announcement card white-background d-flex pt-0"> <a href="https://updates.altmetric.com/announcements/bluesky-tracking-enhancement-attention-from-posts-with-embedded-links" target="_self"> <img style="width:100%" class="w-100 mb-3" loading="lazy" src="https://ik.imagekit.io/launchnotes/production/tr:w-1640,c-at_max,f-auto/tfwr3g7mmi3azko9zaa79zqo16o3" /> <section class="announcement-categories d-flex flex-column"> <div class="d-flex flex-wrap mb-2"> <span class="category-title secondary-text-color" style="letter-spacing: 0.2px; font-size: 12px"> </span> </div> <div class="d-flex flex-wrap mb-2"> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#9900ef" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#9900ef"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">ATTENTION SOURCES</span> </span> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#00d084" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#00d084"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">Altmetric Explorer</span> </span> </div> </section> <section class="announcement-title-container"> <h2 class="m-0">Bluesky tracking enhancement: attention from posts with embedded links</h2> </section> <section class="announcement-excerpt-container"> We are working to enhance the Bluesky content we can track and bring to our users. The first enhancement, live now, is the ability to track mentions included in posts with embedded links. </section> <section class="announcement-date-container"> <small class="primary-text-color opacity-6 timestamp release-timestamp"><time datetime="2024-12-11T15:17:01Z" data-local="time" data-format="%B %e, %Y">December 11, 2024</time></small> </section> </a> </article> <article class="release announcement card white-background d-flex pt-0"> <a href="https://updates.altmetric.com/announcements/mentions-that-cite-your-search-query" target="_self"> <img style="width:100%" class="w-100 mb-3" loading="lazy" src="https://ik.imagekit.io/launchnotes/production/tr:w-1640,c-at_max,f-auto/73h09gowbhh90gykm65vqc755veu" /> <section class="announcement-title-container"> <h2 class="m-0">Mentions that cite your search query</h2> </section> <section class="announcement-excerpt-container"> On the Mentions Tab, you can view all the individual mentions across all attention sources. Additionally, you can drill into specific time periods (e.g., to... </section> <section class="announcement-date-container"> <small class="primary-text-color opacity-6 timestamp release-timestamp"><time datetime="2024-12-10T14:04:22Z" data-local="time" data-format="%B %e, %Y">December 10, 2024</time></small> </section> </a> </article> <article class="release announcement card white-background d-flex pt-3"> <a href="https://updates.altmetric.com/announcements/clinical-guidelines-on-demographics-tab" target="_self"> <section class="announcement-categories d-flex flex-column"> <div class="d-flex flex-wrap mb-2"> <span class="category-title secondary-text-color" style="letter-spacing: 0.2px; font-size: 12px"> </span> </div> <div class="d-flex flex-wrap mb-2"> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#00d084" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#00d084"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">Altmetric Explorer</span> </span> </div> </section> <section class="announcement-title-container"> <h2 class="m-0">Clinical Guidelines on Demographics tab</h2> </section> <section class="announcement-excerpt-container"> In the Demographics Tab, you can see maps of geolocations for some of our attention sources You are now able to see the locations of the Clinical Guidelines... </section> <section class="announcement-date-container"> <small class="primary-text-color opacity-6 timestamp release-timestamp"><time datetime="2024-12-10T13:52:12Z" data-local="time" data-format="%B %e, %Y">December 10, 2024</time></small> </section> </a> </article> <article class="release announcement card white-background d-flex pt-0"> <a href="https://updates.altmetric.com/announcements/track-your-research-across-emerging-platforms-with-bluesky-on-altmetric" target="_self"> <img style="width:100%" class="w-100 mb-3" loading="lazy" src="https://ik.imagekit.io/launchnotes/production/tr:w-1640,c-at_max,f-auto/26fp3ygivyu6w6gs9fb7no5bqvux" /> <section class="announcement-categories d-flex flex-column"> <div class="d-flex flex-wrap mb-2"> <span class="category-title secondary-text-color" style="letter-spacing: 0.2px; font-size: 12px"> </span> </div> <div class="d-flex flex-wrap mb-2"> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#9900ef" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#9900ef"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">ATTENTION SOURCES</span> </span> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#00d084" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#00d084"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">Altmetric Explorer</span> </span> </div> </section> <section class="announcement-title-container"> <h2 class="m-0">Track your research across emerging platforms with Bluesky on Altmetric!</h2> </section> <section class="announcement-excerpt-container"> We鈥檙e always working to expand the ways our users can track research conversations, and we鈥檙e excited to announce a game-changer: as of 3 December 2024, Altmetric is tracking mentions on Bluesky! </section> <section class="announcement-date-container"> <small class="primary-text-color opacity-6 timestamp release-timestamp"><time datetime="2024-12-03T15:29:01Z" data-local="time" data-format="%B %e, %Y">December 3, 2024</time></small> </section> </a> </article> <article class="release announcement card white-background d-flex pt-3"> <a href="https://updates.altmetric.com/announcements/new-policy-sources-november-2024" target="_self"> <section class="announcement-categories d-flex flex-column"> <div class="d-flex flex-wrap mb-2"> <span class="category-title secondary-text-color" style="letter-spacing: 0.2px; font-size: 12px"> </span> </div> <div class="d-flex flex-wrap mb-2"> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#9900ef" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#9900ef"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">ATTENTION SOURCES</span> </span> <span class="category-badge d-flex align-items-center mr-3" style="font-size:12px"> <svg class="category-dot" width="9px" height="9px" viewBox="0 0 12 12" fill="#f78da7" xmlns="http://www.w3.org/2000/svg"> <circle cx="6" cy="6" r="6" fill="#f78da7"/> </svg> <span class="category-title secondary-text-color text-uppercase" style="letter-spacing:0.2px">POLICY</span> </span> </div> </section> <section class="announcement-title-container"> <h2 class="m-0">New policy sources - November 2024</h2> </section> <section class="announcement-excerpt-container"> Altmetric curates policy sources that are designed to change or otherwise influence guidelines, policy or practice. </section> <section class="announcement-date-container"> <small class="primary-text-color opacity-6 timestamp release-timestamp"><time datetime="2024-12-02T14:08:33Z" data-local="time" data-format="%B %e, %Y">December 2, 2024</time></small> </section> </a> </article> <div class="p-2 d-flex justify-content-between align-items-center mb-4"> <div class="mx-auto"> <nav aria-label="pager" class="pagy-bootstrap-nav" role="navigation"> <ul class="pagination"> <li class="page-item prev disabled"> <a href="#" class="page-link"> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 36 36"><title>left chevron</title> <g fill="#CCC"> <path d="M23.12 11.12L21 9l-9 9 9 9 2.12-2.12L16.24 18z"></path> </g> </svg> </a> </li> <li class="page-item active"> <a href="/?page=1" class="page-link" data-turbo-action="replace" >1</a> </li> <li class="page-item"> <a href="/?page=2" class="page-link" data-turbo-action="replace" rel="next" >2</a> </li> <li class="page-item"> <a href="/?page=3" class="page-link" data-turbo-action="replace" >3</a> </li> <li class="page-item"> <a href="/?page=4" class="page-link" data-turbo-action="replace" >4</a> </li> <li class="page-item"> <a href="/?page=5" class="page-link" data-turbo-action="replace" >5</a> </li> <li class="page-item"> <a href="/?page=6" class="page-link" data-turbo-action="replace" >6</a> </li> <li class="page-item"> <a href="/?page=7" class="page-link" data-turbo-action="replace" >7</a> </li> <li class="page-item next"> <a href="/?page=2" class="page-link" data-turbo-action="replace" rel="next" aria-label="next"> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 36 36"><title>left chevron</title> <g fill="#CCC"> <path d="M15 9l-2.12 2.12L19.76 18l-6.88 6.88L15 27l9-9z"></path> </g> </svg></a> </li> </ul> </nav> </div> </div> </div> <div class="d-none d-lg-block col-lg-3 col-xl-4 month-picker-container"> <dl class="month-picker align-right"> <dt class="primary-text-color">Jump to Month</dt> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="active primary-color" aria-current="page" href="/?date=2025-02-01">February 2025</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2025-01-01">January 2025</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2024-12-01">December 2024</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2024-11-01">November 2024</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2024-10-01">October 2024</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2024-09-01">September 2024</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2024-08-01">August 2024</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2024-07-01">July 2024</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2024-06-01">June 2024</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2024-05-01">May 2024</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2024-04-01">April 2024</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2024-03-01">March 2024</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2024-02-01">February 2024</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2024-01-01">January 2024</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2023-12-01">December 2023</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2023-11-01">November 2023</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2023-10-01">October 2023</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2023-09-01">September 2023</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2023-08-01">August 2023</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2023-07-01">July 2023</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2023-06-01">June 2023</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2023-05-01">May 2023</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2023-04-01">April 2023</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2023-03-01">March 2023</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2023-02-01">February 2023</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2023-01-01">January 2023</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2022-12-01">December 2022</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2022-11-01">November 2022</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2022-10-01">October 2022</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2022-09-01">September 2022</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2022-08-01">August 2022</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2022-07-01">July 2022</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2022-06-01">June 2022</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2022-05-01">May 2022</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2022-04-01">April 2022</a> </dd> <dd> <a data-turbo-frame="outlet" data-turbo-action="replace" class="primary-text-color opacity-8" href="/?date=2022-03-01">March 2022</a> </dd> </dl> </div> </div> <div class="footie row mt-4 mb-4 ml-0 mr-0 d-block d-md-none"> <div class="col text-center mt-3 mb-4 p-0"> <a class="primary-text-color powered-by-link " style="display: block !important;" href="https://www.launchnotes.com/powered-by?company=Dimensions&utm_campaign=https%3A%2F%2Fupdates.altmetric.com%2F&utm_content=project-release-index&utm_medium=powered-by&utm_source=in-app">Powered by LaunchNotes</a> </div> </div> </div> </turbo-frame> </main> <div id="feedback-portal-root"></div> <div class="modal fade white-background-color" id="subscribeModal" tabindex="-1" role="dialog" aria-labelledby="subscribeLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title mt-0 primary-text-color" id="subscribeLabel">Subscribe to updates</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <form data-turbo="false" class="new_subscriber" id="new_subscriber" action="https://updates.altmetric.com/subscribers" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="4c4w7QZuUospijBStd51YaDtHAgFEWUmRvMS85Cqip9oIzNAqEm3-iyhzEBcdSEZas_4aRT1Tb9U2WvVadZZRQ" autocomplete="off" /> <div class="modal-body"> <div class="form-group primary-text-color"> <label class="secondary-text-color" for="subscriber_email">Email</label> <input class="form-control" type="email" name="subscriber[email]" id="subscriber_email" /> <input type="hidden" name="subscribed_object_type" id="subscribed_object_type" value="Project" autocomplete="off" /> <input type="hidden" name="subscribed_object_id" id="subscribed_object_id" value="pro_SXAQjo7FMaUol" autocomplete="off" /> <script src="https://www.recaptcha.net/recaptcha/api.js?render=6LcNzNsZAAAAAJH1kh0G2YHL-7Cm3dSmFKcOzOM_" ></script> <script> // Define function so that we can call it again later if we need to reset it // This executes reCAPTCHA and then calls our callback. function executeRecaptchaForSubscribe() { grecaptcha.ready(function() { grecaptcha.execute('6LcNzNsZAAAAAJH1kh0G2YHL-7Cm3dSmFKcOzOM_', {action: 'subscribe'}).then(function(token) { setInputWithRecaptchaResponseTokenForSubscribe('g-recaptcha-response-data-subscribe', token) }); }); }; // Invoke immediately executeRecaptchaForSubscribe() // Async variant so you can await this function from another async function (no need for // an explicit callback function then!) // Returns a Promise that resolves with the response token. async function executeRecaptchaForSubscribeAsync() { return new Promise((resolve, reject) => { grecaptcha.ready(async function() { resolve(await grecaptcha.execute('6LcNzNsZAAAAAJH1kh0G2YHL-7Cm3dSmFKcOzOM_', {action: 'subscribe'})) }); }) }; var setInputWithRecaptchaResponseTokenForSubscribe = function(id, token) { var element = document.getElementById(id); if (element !== null) element.value = token; } </script> <input type="hidden" name="g-recaptcha-response-data[subscribe]" id="g-recaptcha-response-data-subscribe" data-sitekey="6LcNzNsZAAAAAJH1kh0G2YHL-7Cm3dSmFKcOzOM_" class="g-recaptcha g-recaptcha-response "/> <style> .grecaptcha-badge { visibility: hidden; } </style> </div> <button type="submit" class="btn btn-primary btn-block mb-2 primary-background-color">Subscribe</button> <small class="secondary-text-color"> By clicking subscribe, you accept our <a href="https://altmetric.com/privacy-policy/" target="_blank" class="primary-color">privacy policy</a> and <a href="https://altmetric.com/terms-of-use/" target="_blank" class="primary-color">terms and conditions</a>. <span> reCAPTCHA <a href="https://policies.google.com/privacy" class="primary-color">privacy</a> and <a href="https://policies.google.com/terms" class="primary-color">terms</a> apply </span> </small> </div> </form> </div> </div> </div> <script src="https://browser.sentry-cdn.com/5.21.4/bundle.tracing.min.js" integrity="sha384-L18Y4dnHG3rj58y7WwOZH5ZKkXqPhaf5M9QItUT/MB5t71mgOwtxs83RI+4m/nE5" crossorigin="anonymous"></script> <script> Sentry.init({ release: 'bf7012e9cee9da28d8ef4f7ef912415bbfc92671', environment: 'production', dsn: "https://9bfa402b68994872b61bcd78267127f6@o269410.ingest.sentry.io/1772406", }); </script> <script defer src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js" integrity="sha512-hCP3piYGSBPqnXypdKxKPSOzBHF75oU8wQ81a6OiGXHFMeKs9/8ChbgYl7pUvwImXJb03N4bs1o1DzmbokeeFw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script defer src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/4.6.2/js/bootstrap.min.js" integrity="sha512-7rusk8kGPFynZWu26OKbTeI+QPoYchtxsmPeBqkHIEXJxeun4yJ4ISYe7C6sz9wdxeE1Gk3VxsIWgCZTc+vX3g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script defer src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js" integrity="sha512-bgHRAiTjGrzHzLyKOnpFvaEpGzJet3z4tZnXGjpsCcqOnAH6VGUx9frc5bcIhKTVLEiCO6vEhNAgx5jtLUYrfA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://assets.launchnotes.io/packs/js/public-2eeca1eeda265001f125.js" data-cookieconsent="ignore"></script> <script> document.addEventListener('DOMContentLoaded', (event) => { document.querySelectorAll('pre, pre code').forEach((block) => { hljs.highlightBlock(block); }); }); if (URLSearchParams !== 'undefined') { let queryParams = new URLSearchParams(window.location.search); if (queryParams && (queryParams.get("token") || queryParams.get("workosToken") || queryParams.get("authToken"))) { queryParams.delete('token'); queryParams.delete('authToken'); queryParams.delete('workosToken'); window.history.pushState({}, document.title, location.origin + location.pathname + queryParams.toString()) } } </script> <script> document.addEventListener('turbo:click', async (event) => { // Clear search params, since the component for Ideas is keeping // the previous state for the params, and therefore misapplying filters if (event.detail.url.endsWith('/ideas')) { const newURL = `${window.location.protocol}//${window.location.host}${window.location.pathname}`; window.history.pushState({}, '', newURL); } // If we are targeting a pagination link, scroll to the navbar // The navbar is a nice padding above the announcement list // Note that we only use pagination like this for announcement // list if (event.target.classList.contains('page-link')) { let navbarQuery = document.querySelectorAll('nav.views.navbar') if (!!navbarQuery) { let navbar = navbarQuery[0] navbar.scrollIntoView({ behavior: 'smooth' }) } } }) </script> <div data-react-class="Alerts" data-react-props="{"initialAlerts":[]}"></div> <script> $('body').on('hidden.bs.modal', '.modal', function() { $('.btn').blur(); }); $('body').on('shown.bs.modal', '.modal', function() { $('.form-control').focus(); }); </script> </body> </html>