CINXE.COM

Adaptive Thumbstick Toppers - Xbox Adaptive Joystick | Xbox

<!doctype html><html lang="en-us"><head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# product: http://ogp.me/ns/product#"> <meta charset="utf-8"/><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1120003061",accountID:"3276148",trustKey:"1322840",xpid:"VwQAV1dXABABVFhTBQgGVlEA",licenseKey:"NRJS-f0dafae39a889de9cd1",applicationID:"1091291051"};;/*! 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="title" content="Adaptive Thumbstick Toppers - Xbox Adaptive Joystick | Xbox"/> <meta name="description" content="Design your own next-gen Xbox Wireless Controller with new combinations including textured triggers, and dedicated Share button."/> <meta name="keywords" content="Adaptive Thumbstick Toppers - Xbox Adaptive Joystick"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>Adaptive Thumbstick Toppers - Xbox Adaptive Joystick | Xbox</title> <link rel="stylesheet" type="text/css" media="all" href="https://xboxdesignlab.xbox.com/static/version1739490916/_cache/merged/5acff8076df800e0e1f266d9d47dff91.min.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/css/styles.min.css" /> <link rel="icon" type="image/x-icon" href="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/Magento_Enterprise/favicon.ico" /> <link rel="shortcut icon" type="image/x-icon" href="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/Magento_Enterprise/favicon.ico" /> <link rel="preload" as="font" crossorigin="anonymous" href="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/fonts/SegoePro/SegoeProBlack.woff2" /> <link rel="preload" as="font" crossorigin="anonymous" href="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/fonts/SegoeUI/SegoeUI-Light.woff2" /> <link rel="preload" as="font" crossorigin="anonymous" href="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/fonts/SegoeUI/SegoeUI.woff2" /> <link rel="preload" as="font" crossorigin="anonymous" href="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/fonts/SegoeUI/SegoeUI-Semibold.woff2" /> <link rel="preload" as="font" crossorigin="anonymous" href="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/fonts/SegoeUI/SegoeUI-Bold.woff2" /> <link rel="preload" as="font" crossorigin="anonymous" href="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/fonts/SegoeUI/SegoeUIBlack.woff2" /> <!-- BEGIN TWITTER CARD --><meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:image" content="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/images/logo.svg"> <!-- END TWITTER CARD --> <!--SdyDWneqj0rvQ1UcBqHCuc6eitGYHyFf--> <meta property="og:type" content="product" /><meta property="og:title" content="Adaptive&#x20;Thumbstick&#x20;Toppers&#x20;-&#x20;Xbox&#x20;Adaptive&#x20;Joystick" /><meta property="og:image" content="" /><meta property="og:description" content="" /><meta property="og:url" content="https://xboxdesignlab.xbox.com/en-us/adaptive-thumbstick-toppers-xbox-adaptive-joystick" /> <meta property="product:price:amount" content="0"/> <meta property="product:price:currency" content="USD"/> <link href="https://cdn.spectrumcustomizer.com/xbox/v3/frontend/js/customizer.min.js?v=202409241500" rel="preload" as="script" /></head><body data-container="body" data-mage-init='{"loaderAjax": {}, "loader": { "icon": "https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/images/loader.png"}}' id="html-body" itemtype="http://schema.org/Product" itemscope="itemscope" class="catalog-product-view product-adaptive-thumbstick-toppers-xbox-adaptive-joystick categorypath-configure category-configure page-layout-1column"> <div class="cookie-status-message" id="cookie-status">The store will not work correctly when cookies are disabled.</div> <noscript><div class="message global noscript"><div class="content"><p><strong>JavaScript seems to be disabled in your browser.</strong> <span> For the best experience on our site, be sure to turn on Javascript in your browser.</span></p></div></div></noscript> <!-- ko scope: 'gdpr-cookie-modal' --><!--ko template: getTemplate()--><!-- /ko --><!-- /ko --><style> .amgdprjs-bar-template { z-index: 15; bottom: 0; }</style> <script type="application&#x2F;javascript"> let fragment = window.location.hash; if (fragment !== null) { fragment = fragment.substring(1); } let expiringDate = new Date(); expiringDate.setDate(expiringDate.getDate() + 1); document.cookie = "fastly_geo_store=en-sg; expires=" + expiringDate.toUTCString() + "; path=/; samesite=Lax; secure"; document.location.href = "https://xboxdesignlab.xbox.com/en-sg/stores/store/switch/?___from_store=en-us&___store=en-sg&uenc=aHR0cHM6Ly94Ym94ZGVzaWdubGFiLnhib3guY29tL2VuLXNnL2NvbmZpZ3VyZS9hZGFwdGl2ZS10aHVtYnN0aWNrLXRvcHBlcnMteGJveC1hZGFwdGl2ZS1qb3lzdGljaw%7E%7E&fragment=" + fragment;</script><div class="page-wrapper"><header class="c-header"> <a class="action skip contentarea a-btn--text" href="#contentarea"><span> Skip to main content</span></a><div class="c-header__main"> <div class="c-header__container u-container"><div class="c-header__logo"> <div class="c-header__logo--desktop"><a class="a-logo js-logo-desktop" href="https://xbox.com" aria-label="Xbox" title="Xbox" ><img alt="Xbox" aria-hidden="true" src="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/images/logo/logo.svg"></a></div> <div class="c-header__logo--mobile"><a class="a-logo" href="https://xbox.com" title="Xbox" data-mage-init='{"a11yFocusTooltip": {}}' aria-label="Xbox"><span class="sr-only">Xbox</span> <span class="a-logo__mobile"><span class="icon-xenon" aria-hidden="true"></span></span></a> <a class="a-logo a-logo--mobile a-logo__main" title="Xbox Design Lab home" href="https://xboxdesignlab.xbox.com/en-us/" aria-label="Xbox&#x20;Design&#x20;Lab&#x20;home"><div class="a-logo__mobile"><span>Xbox Design Lab</span></div></a></div></div><div class="m-utilities-nav m-utilities-nav--left"><div class="m-utilities-nav__item m-utilities-nav__item--nav-toggle"><button class="a-icon-text-btn a-icon-text-btn--icon-only js-nav-toggle" type="button" data-mage-init='{"a11yFocusTooltip": {}}' data-action="toggle-nav" aria-label="Open Mobile navigation" title="Open Mobile navigation" ><span class="icon-menu a-icon-text-btn__icon" aria-hidden="true"></span></button></div></div> <div class="c-header__menu"><div class="c-header__container"><button class="a-icon-text-btn a-icon-text-btn--icon-only c-header__close-btn js-nav-close js-nav-first-focusable" data-mage-init='{"a11yFocusTooltip": {"zIndex": "900", "leftSideAdjustments": 100, "alignmentRight": true}}' type="button" data-action="toggle-nav" aria-label="Close&#x20;mobile&#x20;navigation" title="Close&#x20;mobile&#x20;navigation" ><span class="icon-close a-icon-text-btn__icon" aria-hidden="true"></span></button> <div class="c-header__mobile-title"><span>Menu</span></div><div class="c-header__mega-menu"><nav class="m-multilevel-nav" data-action="navigation" aria-label="Xbox&#x20;Design&#x20;Lab&#x20;navigation"><ul class="m-multilevel-nav__menu" aria-label="Xbox&#x20;Design&#x20;Lab&#x20;main&#x20;menu" data-mage-init='{"menu":{"role":"", "responsive":true, "expanded":true, "position":{"my":"left top","at":"left bottom"}}}'> <li class="level0 nav-1 first level-top parent navigation__top-link navigation__top-link--full-width not-enhanced"> <a href="https://xboxdesignlab.xbox.com/en-us/home" class="level-top"><span> Xbox Design Lab</span></a> <div class="navigation__wrapper--full-width"> <ul class="level0 submenu navigation__submenu "> <li class="level1 nav-1-1 first"> <a href="https://xboxdesignlab.xbox.com/en-us/home/anchor-inspiration" class=""> <span> Inspiration</span></a> </li> <li class="level1 nav-1-2 last"> <a href="https://xboxdesignlab.xbox.com/en-us/home/anchor-faq" class=""> <span> FAQ</span></a> </li> </ul></div></li> <li class="level0 nav-2 level-top parent navigation__top-link navigation__top-link--full-width not-enhanced"> <button class="level-top" aria-expanded="false" aria-controls="navigation-menu" aria-label="Shop" ><span> Shop</span></button> <div class="navigation__wrapper--full-width"> <ul class="level0 submenu navigation__submenu "> <li class="level1 nav-2-1 first parent navigation__top-link navigation__top-link--full-width not-enhanced"> <span> Hardware</span> <ul class="level1 submenu navigation__submenu "> <li class="level2 nav-2-1-1 first"> <a href="https://xboxdesignlab.xbox.com/en-us/controllers/xbox-wireless-controller" class=""> <span> Xbox Wireless Controller</span></a> </li> <li class="level2 nav-2-1-2 last"> <a href="https://xboxdesignlab.xbox.com/en-us/controllers/elite-wireless-controller-series-2" class=""> <span> Xbox Elite Wireless Controller Series 2</span></a> </li> </ul></li> <li class="level1 nav-2-2 parent navigation__top-link navigation__top-link--full-width not-enhanced"> <span> Accessories</span> <ul class="level1 submenu navigation__submenu "> <li class="level2 nav-2-2-1 first last parent navigation__top-link navigation__top-link--full-width not-enhanced"> <a href="https://xboxdesignlab.xbox.com/en-us/accessories" class=""> <span> Xbox Elite Wireless Controller Series 2 Accessories</span></a> <ul class="level2 submenu navigation__submenu "> <li class="level3 nav-2-2-1-1 first"> <a href="https://xboxdesignlab.xbox.com/en-us/accessories/elite-wireless-controller-series-2/everything-pack" class=""> <span> Everything Pack</span></a> </li> <li class="level3 nav-2-2-1-2"> <a href="https://xboxdesignlab.xbox.com/en-us/accessories/elite-wireless-controller-series-2/carrying-case-charging-pack" class=""> <span> Carry Case and Charging Pack</span></a> </li> <li class="level3 nav-2-2-1-3"> <a href="https://xboxdesignlab.xbox.com/en-us/accessories/elite-wireless-controller-series-2/paddles-pack" class=""> <span> Paddle Pack</span></a> </li> <li class="level3 nav-2-2-1-4 last"> <a href="https://xboxdesignlab.xbox.com/en-us/accessories/elite-wireless-controller-series-2/thumbsticks-dpad-pack" class=""> <span> Thumbsticks and D-pad Pack</span></a> </li> </ul></li> </ul></li> <li class="level1 nav-2-3 last parent navigation__top-link navigation__top-link--full-width not-enhanced"> <span> Adaptive Products</span> <ul class="level1 submenu navigation__submenu "> <li class="level2 nav-2-3-1 first last parent navigation__top-link navigation__top-link--full-width not-enhanced"> <a href="https://xboxdesignlab.xbox.com/en-us/accessories/adaptive-thumbstick-toppers-for-xbox-controllers" class=""> <span> Xbox Adaptive Toppers</span></a> <ul class="level2 submenu navigation__submenu "> <li class="level3 nav-2-3-1-1 first"> <a href="https://xboxdesignlab.xbox.com/en-us/configure/adaptive-thumbstick-toppers-xbox-adaptive-joystick" class=""> <span> For Xbox Adaptive Joystick</span></a> </li> <li class="level3 nav-2-3-1-2"> <a href="https://xboxdesignlab.xbox.com/en-us/configure/adaptive-thumbstick-toppers-xbox-wireless-controller" class=""> <span> For Xbox Wireless Controller</span></a> </li> <li class="level3 nav-2-3-1-3 last"> <a href="https://xboxdesignlab.xbox.com/en-us/configure/adaptive-thumbstick-toppers-xbox-elite-wireless-controller-series-2" class=""> <span> For Xbox Elite Wireless Controller Series 2</span></a> </li> </ul></li> </ul></li> </ul></div></li> <li class="level0 nav-3 level-top parent navigation__top-link navigation__top-link--full-width not-enhanced"> <a href="https://xboxdesignlab.xbox.com/en-us/designed-by-you" class="level-top"><span> Designed by you</span></a> <div class="navigation__wrapper--full-width"> <ul class="level0 submenu navigation__submenu "> <li class="level1 nav-3-1 first"> <a href="https://xboxdesignlab.xbox.com/en-us/designed-by-you/gallery" class=""> <span> My gallery</span></a> </li> <li class="level1 nav-3-2 last"> <a href="https://xboxdesignlab.xbox.com/en-us/designed-by-you/bookmarks" class=""> <span> My bookmarks</span></a> </li> </ul></div></li> <li class="level0 nav-4 last level-top"> <a href="https://xboxdesignlab.xbox.com/en-us/community-gallery" class="level-top"><span> Community Gallery</span></a> </li> </ul></nav></div></div></div> <div class="m-utilities-nav"> <div class="m-utilities-nav__item m-utilities-nav__item-notification" data-block="notifications-dropdown"><div class="m-notifications js-notifications" aria-label="Notifications"><button class="dropdown-button m-notifications__trigger-btn js-notifications-trigger" data-trigger="trigger-notifications" aria-expanded="false" aria-label="My&#x20;Notifications" title="My&#x20;Notifications" ><span class="a-icon-text-btn__icon icon-notification" aria-hidden="true"></span> <span class="notification__counter-label notification__counter-loading"><span class="notification__counter-qty"></span></span></button> <div id="dropdown-dialog-notifications" data-bind="mageInit: {'dropdownDialog': { 'appendTo': '.js-notifications', 'triggerTarget':'[data-trigger=trigger-notifications]', 'timeout': 300, 'closeOnMouseLeave': false, 'closeOnEscape': true, 'triggerClass': 'active', 'parentClass': 'm-notifications--active', 'buttons': []}}" ><div class="m-notifications__panel js-notifications-panel" data-bind="scope: 'notifications'"><!-- ko template: getTemplate() --><!-- /ko --></div></div></div></div> <div class="m-utilities-nav__item"><div data-block="minicart" class="m-mini-cart minicart-wrapper"><a class="action m-mini-cart__btn a-icon-text-btn a-icon-text-btn--icon-only u-hidden--md-up" href="https://xboxdesignlab.xbox.com/en-us/checkout/cart/" title="My&#x20;cart" data-bind="scope: 'minicart_content'" aria-expanded="false"><span class="icon-cart a-icon-text-btn__icon m-mini-cart__icon" aria-hidden="true"></span> <span class="counter qty empty" data-bind="css: { empty: !!getCartParam('summary_count') == false && !isLoading() }, blockLoader: isLoading"><span class="counter-label" data-bind="attr: {'aria-label': getCartItemsCount()}"><!-- ko if: getCartParam('summary_count') --><!-- ko text: getCartParam('summary_count') --><!-- /ko --><!-- /ko --></span></span></a> <button class="action showcart m-mini-cart__btn a-icon-text-btn a-icon-text-btn--icon-only u-hidden--md-down" type="button" data-bind="scope: 'minicart_content'" title="My&#x20;cart" aria-expanded="false"><span class="icon-cart a-icon-text-btn__icon m-mini-cart__icon" aria-hidden="true"></span> <span class="counter qty empty" data-bind="css: { empty: !!getCartParam('summary_count') == false && !isLoading() }, blockLoader: isLoading"><span class="counter-label" data-bind="attr: {'aria-label': getCartItemsCount()}"><!-- ko if: getCartParam('summary_count') --><!-- ko text: getCartParam('summary_count') --><!-- /ko --><!-- /ko --></span></span></button> <div class="m-mini-cart__panel block block-minicart" data-role="dropdownDialog" data-mage-init='{"dropdownDialog":{ "appendTo":"[data-block=minicart]", "triggerTarget":".showcart", "closeOnMouseLeave": false, "closeOnEscape": true, "triggerClass":"active", "parentClass":"active", "dialogContentClass": "active", "ariaLabel": "Xbox&#x20;Design&#x20;Lab&#x20;minicart, subtotal $0", "buttons":[]}}'><div class="m-mini-cart__content" id="minicart-content-wrapper" data-bind="scope: 'minicart_content'"><!-- ko template: getTemplate() --><!-- /ko --></div></div> </div></div> <div class="m-utilities-nav__item m-utilities-nav__item-account"><div class="m-account-nav js-account-menu" role="navigation" aria-label="Account"><button class="a-icon-text-btn a-icon-text-btn--icon-only m-account-nav__trigger-btn js-account-menu-trigger" aria-expanded="false" title="My&#x20;Account" aria-label="My&#x20;Account"><span class="icon-person a-icon-text-btn__icon" aria-hidden="true"></span></button> <div class="m-account-nav__panel js-account-menu-panel"><div class="m-account-nav__content"> <div class="m-account-nav__not-logged-in"><ul class="m-account-nav__links"><li> <a href="https://xboxdesignlab.xbox.com/en-us/sso/login/oauth2/3469680E-1F79-4D70-B314-82BC6DBB841A" class="sso-button&#x20;" data-mage-init='{"Xbdl_Sso/js/view/login-button":{}}' >Sign in</a> </li></ul><div class="m-account-nav__close-btn"><button class="a-icon-text-btn a-icon-text-btn--icon-only js-account-menu-close" type="button" title="Close&#x20;My&#x20;Account&#x20;menu" data-mage-init='{"a11yFocusTooltip": {"zIndex": "900", "leftSideAdjustments": 100, "alignmentRight": true}}' ><span class="icon-close a-icon-text-btn__icon" aria-hidden="true"></span> <span class="a-icon-text-btn__label" data-bind="i18n: 'Close'"></span></button></div></div></div></div></div></div></div><!-- mobile nav cta --><div class="c-header__menu-cta"></div></div></div> <div class="block newsletter sticky-nav-warning" data-mage-init='{"Xbdl_StickyNavigationWidget/js/view/sticky-header-nav-warning-message": {}}'><div class="content"><span class="label" data-mage-init='{"Xbdl_Checkout/js/view/warning-banner/open-modal-button": {}}'>Xbox Design Lab purchases are temporarily on hold while we switch to a new payment platform. You can still design and download 3D printable files for adaptive thumbstick toppers, and design your favorite controller, save your designs, and share them on social media. <a class="open-modal__button">Sign up here</a> to get notified when you can purchase again. You can find Xbox Accessories at the Microsoft Store or local retailers in supported countries.</span></div></div> <div style="display: none;" class="newsletter__modal" data-mage-init='{"Xbdl_Checkout/js/view/warning-banner/modal": { "action": "https://xboxdesignlab.xbox.com/en-us/newsletter/subscriber/new/" }}' ><div class="content"><div class="mixed-cart__content"><p><span class="mixed-cart__content-logged-in">Save your design for a future purchase by moving it over to your gallery.</span> <span class="mixed-cart__content-logged-out">You must be signed in to save your design.</span> <span>Adaptive Thumbstick Toppers are available for free checkout.</span></p><button class="a-btn a-btn--secondary mixed-cart__content-logged-in" title="Move&#x20;to&#x20;Gallery"><span>Save Your Design</span></button> <p class="mixed-cart__content-email-label"><span>Sign up to be notified when purchasing on Xbox Design Lab becomes available again.</span></p></div><form class="form subscribe" novalidate method="post" data-mage-init='{"validation": {"errorClass": "mage-error"}}' id="newsletter-validate-detail" onsubmit="return false;" action="javascript:void(0);"><div class="form-wrapper"><div class="field newsletter"><div class="control"><label for="newsletter"><input class="a-text-input" name="email" type="email" id="newsletter" placeholder="Enter your email address" data-mage-init='{"mage/trim-input":{}}' data-validate="{required:true, 'validate-email':true}" /></label></div></div><div class="actions"><button class="action subscribe primary a-btn a-btn--primary" title="Register" type="submit" aria-label="Subscribe" disabled="disabled" ><span>Register</span></button></div></div><p class="caption">By submitting your email, you consent to be contacted via email when XDL purchasing is available again. Your email will be treated in accordance with the <a href="https://www.microsoft.com/privacy/privacystatement" class="a-btn a-btn--text">Microsoft Privacy Statement.</a></p></form></div></div></header><div class="page messages"> <div data-placeholder="messages"></div> <div data-bind="scope: 'messages'"><div class="u-hidden" data-bind="css: { 'u-hidden': !isVisible() }"><!-- ko if: cookieMessages && cookieMessages.length > 0 --><div aria-atomic="true" role="alert" data-bind="foreach: { data: cookieMessages, as: 'message' }" class="messages" aria-live="polite"><div data-bind="attr: { class: 'message-' + message.type + ' ' + message.type + ' message' + ' a-message a-message--' + message.type, 'data-ui-id': 'message-' + message.type }, css: { 'sso-warning-message': $parent.isSsoMissingEmailMessage(message.text)}"><div class="message-text" data-bind="html: $parent.prepareMessageForHtml(message.text)"></div><!-- ko ifnot: $parent.isSsoMissingEmailMessage(message.text) --><button class="a-icon-text-btn a-icon-text-btn--icon-only a-message__close" aria-label="Close&#x20;message" title="Close&#x20;message" data-bind="click: function(data, event) { return $parent.removeMessage(data, event, $parent.cookieMessages) }"><span class="icon-close a-icon-text-btn__icon" aria-hidden="true"></span> <span class="a-icon-text-btn__label">Close message</span></button> <!-- /ko --></div></div><!-- /ko --><!-- ko if: messages().messages && messages().messages.length > 0 --><div data-bind="foreach: { data: messages().messages, as: 'message' }" class="messages"><div aria-atomic="true" data-bind="attr: { class: 'message-' + message.type + ' ' + message.type + ' message' + ' a-message a-message--' + message.type, 'data-ui-id': 'message-' + message.type, 'role': message.type === 'error' ? 'alert' : 'status' }, css: {'sso-warning-message': $parent.isSsoMissingEmailMessage(message.text)}"><div class="message-text" data-bind="html: $parent.prepareMessageForHtml(message.text)"></div><!-- ko ifnot: $parent.isSsoMissingEmailMessage(message.text) --><button class="a-icon-text-btn a-icon-text-btn--icon-only a-message__close" title="Close&#x20;message" aria-label="Close&#x20;message" data-bind="click: function(data, event) { return $parent.removeMessage(data, event, $parent.messages) }"><span class="icon-close a-icon-text-btn__icon" aria-hidden="true"></span> <span class="a-icon-text-btn__label">Close message</span></button> <!-- /ko --></div></div><!-- /ko --></div></div></div><div class="top-container"> </div><main id="maincontent" class="t-pdp"> <div id="contentarea"></div> <h1 class="m-product-overview__title&#x20;sr-only" data-ui-id="page-title-wrapper" itemprop="name" >Adaptive Thumbstick Toppers - Xbox Adaptive Joystick</h1> <div class="columns"><div class="column main"><input name="form_key" type="hidden" value="pid69fdNuzripLB7" /> <div style="display: none"><div id="sso-popup" data-bind="scope:'ssoPopup'"><div class="sso-popup__content"><p data-bind='text: message'></p><img class="sso-popup__image u-hidden--md-up" src="https&#x3A;&#x2F;&#x2F;xboxdesignlab.xbox.com&#x2F;media&#x2F;wysiwyg/global/signin_illustration.png" alt="" width="334" height="334"/></div><div class="sso-popup__footer"> <a href="https://xboxdesignlab.xbox.com/en-us/sso/login/oauth2/3469680E-1F79-4D70-B314-82BC6DBB841A" class="sso-button&#x20;a-btn&#x20;a-btn--primary" data-mage-init='{"Xbdl_Sso/js/view/login-button":{}}' >Sign in</a> </div></div></div> <div data-mage-init='{"Xbdl_SpectrumProduct/js/spectrum":{ "storeId": 1, "dataSignature":"50d541fde2e873ff00cbbee70911da0af68783a86ad765aa01fe85c4459d2d8f", "sku": "PML4U-A03" }}'><div id="spectrum-customizer"></div></div> </div></div></main> <div class="amgdpr-privacy-policy" id="amgdpr-privacy-popup"></div> <div class="global-overlay"><!-- --></div></div><footer class="footer content"> <div class="footer__wrap clearfix"><div class="footer"><div><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><style> .footer__CCPA img { margin-right: 6px; position: relative; bottom: -3px; } @media screen and (min-width:768px) { .footer__left-container { display: inline-flex; } .footer__CCPA{ padding-left: 20px; } } </style> <div class="footer__social" role="region" aria-label="List of social accounts in footer"> <div class="footer-container"> <div class="footer__social-container"> <h2 class="footer__social-title">Follow Xbox</h2> <ul class="footer__social-links reset-list"> <li> <a href="https://account.xbox.com/ContactPreferences" target="_blank" aria-label="Follow Xbox Contact Xbox"><span class="icon-email" aria-hidden="true"></span></a> </li> <li> <a href="https://www.facebook.com/xbox/" target="_blank" aria-label="Share on Facebook"><span class="icon-facebook" aria-hidden="true"></span></a> </li> <li> <a href="https://twitter.com/xbox" target="_blank" aria-label="Share on Twitter"><span class="icon-twitter" aria-hidden="true"></span></a> </li> <li> <a href="https://www.instagram.com/xbox" target="_blank" aria-label="Follow Xbox Share on Instagram"><span class="icon-instagram" aria-hidden="true"></span></a> </li> </ul> </div> </div> </div> <div class="footer-container" role="region" aria-label="Footer resource links"> <div class="footer__main"> <div class="m-footer-links__column"> <h2 class="m-footer-links__heading">Browse</h2> <ul class="m-footer-links__list"> <li class="m-footer-links__item"> <a aria-label="Xbox consoles Browse" target="_blank" href="https://www.xbox.com/en-US/consoles?xr=footnav">Xbox consoles</a> </li> <li class="m-footer-links__item"> <a aria-label="Xbox games Browse" target="_blank" href="https://www.xbox.com/en-US/games?xr=footnav">Xbox games</a> </li> <li class="m-footer-links__item"> <a aria-label="Xbox Game Pass Browse" target="_blank" href="https://www.xbox.com/en-US/xbox-game-pass?xr=footnav">Xbox Game Pass</a> </li> <li class="m-footer-links__item"> <a aria-label="Xbox accessories Browse" target="_blank" href="https://www.xbox.com/en-US/accessories?xr=footnav">Xbox accessories Browse</a> </li> </ul> </div> <div class="m-footer-links__column"> <h2 class="m-footer-links__heading">Resources</h2> <ul class="m-footer-links__list"> <li class="m-footer-links__item"> <a aria-label="Xbox News Resources" target="_blank" href="https://news.xbox.com?xr=footnav">Xbox News</a> </li> <li class="m-footer-links__item"> <a aria-label="Xbox Design Lab Support Resources" target="_blank" href="https://support.xbox.com/help/xbox-design-lab">Xbox Design Lab Support</a> </li> <li class="m-footer-links__item"> <a aria-label="Feedback Resources" target="_blank" href="https://aka.ms/xboxideas?xr=footnav">Feedback</a> </li> <li class="m-footer-links__item"> <a aria-label="Community Standards Resources" target="_blank" href="https://www.xbox.com/en-US/legal/community-standards?xr=footnav">Community Standards</a> </li> <li class="m-footer-links__item"> <a aria-label="Photosensitive Seizure Warning Resources" target="_blank" href="https://support.xbox.com/help/family-online-safety/online-safety/photosensitive-seizure-warning?xr=footnav">Photosensitive Seizure Warning</a> </li> </ul> </div> <div class="m-footer-links__column"> <h2 class="m-footer-links__heading">For Developers</h2> <ul class="m-footer-links__list"> <li class="m-footer-links__item"> <a aria-label="Games For Developers" target="_blank" href="https://www.xbox.com/en-US/developers?xr=footnav">Games</a> </li> <li class="m-footer-links__item"> <a aria-label="ID@Xbox For Developers" target="_blank" href="https://www.xbox.com/en-US/developers/id?xr=footnav">ID@Xbox</a> </li> <li class="m-footer-links__item"> <a aria-label="Windows For Developers" target="_blank" href="https://dev.windows.com/games?xr=footnav">Windows</a> </li> <li class="m-footer-links__item"> <a aria-label="Creators Program For Developers" target="_blank" href="https://www.xbox.com/en-US/developers/creators-program?xr=footnav">Creators Program</a> </li> <li class="m-footer-links__item"> <a aria-label="Designed for Xbox For Developers" target="_blank" href="https://www.xbox.com/en-US/designed-for-xbox?xr=footnav">Designed for Xbox</a> </li> </ul> </div> <div class="m-footer-links__column"> <h2 class="m-footer-links__heading">Account</h2> <ul class="m-footer-links__list"> <li class="m-footer-links__item"> <a aria-label="My Account" href="/en-US/customer/account/">My Account</a> </li> <li class="m-footer-links__item"> <a aria-label="My Orders" href="/en-US/sales/order/history/">My Orders</a> </li> <li class="m-footer-links__item"> <a aria-label="Guest Order Status" href="/en-US/sales/guest/form">Guest Order Status</a> </li> </ul> </div> </div> </div> <div class="footer-container" role="region" aria-label="Microsoft corporate links"> <div class="footer__bottom"> <div class="footer__left-container"> <div class="footer__switch"><a href="https://xboxdesignlab.xbox.com/en-us/change-locale" class="footer__switch-trigger" aria-label="Content Language Selector. Currently set to English (United States)"><span class="icon-globe a-icon-text-btn__icon" aria-hidden="true"></span> <span>English (United States)</span></a></div> <div class="footer__switch footer__CCPA"> <a href="https://aka.ms/YourCaliforniaPrivacyChoices" target="_blank" aria-label="Your Privacy Choices"> <span><img src="https://xboxdesignlab.xbox.com/media/wysiwyg/global/privacyoptions29x14.png" alt="Consumer Privacy Act (CCPA) Opt-Out Icon" aria-hidden="true"></span> <span>Your Privacy Choices</span> </a> <a class="footer__consumer-health-privacy" href="https://go.microsoft.com/fwlink/?linkid=2259814" target="_blank" aria-label="Consumer Health Privacy"> <span>Consumer Health Privacy</span> </a> </div> </div> <div class="footer__bottom-list"> <ul class="footer__bottom-links"> <li><a aria-label="Sitemap" target="_blank" href="https://www.microsoft.com/en-us/sitemap.aspx">Sitemap</a></li> <li> <a aria-label="Contact Microsoft" target="_blank" href="https://support.microsoft.com/en-us/contactus">Contact Microsoft</a> </li> <li> <a aria-label="Microsoft Privacy" target="_blank" href="https://go.microsoft.com/fwlink/?LinkId=521839">Privacy</a> </li> <li> <a aria-label="Microsoft Terms of use" target="_blank" href="https://www.microsoft.com/en-us/legal/terms-of-use">Terms of use</a> </li> <li> <a aria-label="Microsoft Trademarks" target="_blank" href="https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks">Trademarks</a> </li> <li> <a aria-label="Third Party Notices" target="_blank" href="https://www.xbox.com/en-US/legal/legal-notices">Third Party Notices</a> </li> <li> <a aria-label="Product Safety" target="_blank" href="https://aka.ms/productsafety">Product Safety</a> </li> <li> <a aria-label="Safety and eco" target="_blank" href="https://www.microsoft.com/en-us/devices/safety-and-eco">Safety & eco</a> </li> <li> <a aria-label="Microsoft about our ads" target="_blank" href="https://account.microsoft.com/privacy/ad-settings/signedout?refd=xboxdesignlab.xbox.com&ru=https%3A%2F%2Faccount.microsoft.com%2Fprivacy%2Fad-settings%3Frefd%3Dxboxdesignlab.xbox.com">About our ads</a> </li> <li> <span>漏 Microsoft 2025</span> </li> </ul> </div> </div> </div> </div> </div></div></div> <div class="field-recaptcha" id="recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796-container" data-bind="scope:'recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796'" ><!-- ko template: getTemplate() --><!-- /ko --></div></footer> <script> var LOCALE = 'en\u002DUS'; var BASE_URL = 'https\u003A\u002F\u002Fxboxdesignlab.xbox.com\u002Fen\u002Dus\u002F'; var require = { 'baseUrl': 'https\u003A\u002F\u002Fxboxdesignlab.xbox.com\u002Fstatic\u002Fversion1739490916\u002Ffrontend\u002FXbox\u002Fdefault\u002Fen_US' };</script> <script type="text/javascript" src="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/requirejs/require.min.js"></script> <script type="text/javascript" src="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/requirejs-min-resolver.min.js"></script> <script type="text/javascript" src="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/js/bundle/bundle0.min.js"></script> <script type="text/javascript" src="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/js/bundle/bundle1.min.js"></script> <script type="text/javascript" src="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/js/bundle/bundle2.min.js"></script> <script type="text/javascript" src="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/js/bundle/bundle3.min.js"></script> <script type="text/javascript" src="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/js/bundle/bundle4.min.js"></script> <script type="text/javascript" src="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/js/bundle/bundle5.min.js"></script> <script type="text/javascript" src="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/mage/requirejs/static.min.js"></script> <script type="text/javascript" src="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/mage/requirejs/mixins.min.js"></script> <script type="text/javascript" src="https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/requirejs-config.min.js"></script> <script type="text/x-magento-init"> { "*": { "Magento_PageCache/js/form-key-provider": { "isPaginationCacheEnabled": 0 } } }</script> <script type="application/ld+json"> {"@context":"http:\/\/schema.org\/","@type":"Product","name":"Adaptive Thumbstick Toppers - Xbox Adaptive Joystick","sku":"PML4U-A03","image":"https:\/\/xboxdesignlab.xbox.com\/en-us\/media\/catalog\/product","description":null,"url":"https:\/\/xboxdesignlab.xbox.com\/en-us\/adaptive-thumbstick-toppers-xbox-adaptive-joystick","offers":{"@type":"AggregateOffer","availability":"https:\/\/schema.org\/InStock","priceCurrency":"USD","url":"https:\/\/xboxdesignlab.xbox.com\/en-us\/adaptive-thumbstick-toppers-xbox-adaptive-joystick","lowPrice":0,"highPrice":0,"offerCount":"1"},"brand":{"@type":"Organization","name":""}}</script> <script type="text/x-magento-init"> { "*": { "Magento_PageBuilder/js/widget-initializer": { "config": {"[data-content-type=\"slider\"][data-appearance=\"default\"]":{"Magento_PageBuilder\/js\/content-type\/slider\/appearance\/default\/widget":false},"[data-content-type=\"map\"]":{"Magento_PageBuilder\/js\/content-type\/map\/appearance\/default\/widget":false},"[data-content-type=\"row\"]":{"Magento_PageBuilder\/js\/content-type\/row\/appearance\/default\/widget":false},"[data-content-type=\"tabs\"]":{"Magento_PageBuilder\/js\/content-type\/tabs\/appearance\/default\/widget":false},"[data-content-type=\"slide\"]":{"Magento_PageBuilder\/js\/content-type\/slide\/appearance\/default\/widget":{"buttonSelector":".pagebuilder-slide-button","showOverlay":"hover","dataRole":"slide"}},"[data-content-type=\"banner\"]":{"Magento_PageBuilder\/js\/content-type\/banner\/appearance\/default\/widget":{"buttonSelector":".pagebuilder-banner-button","showOverlay":"hover","dataRole":"banner"}},"[data-content-type=\"buttons\"]":{"Magento_PageBuilder\/js\/content-type\/buttons\/appearance\/inline\/widget":false},"[data-content-type=\"products\"][data-appearance=\"carousel\"]":{"Magento_PageBuilder\/js\/content-type\/products\/appearance\/carousel\/widget":false},"[data-content-type=\"custom_video\"]":{"TenGun_PageBuilder\/js\/content-type\/custom_video\/appearance\/default\/widget":false},"[data-content-type=\"sync_slider\"]":{"Xbdl_PageBuilder\/js\/content-type\/sync_slider\/appearance\/default\/widget":false},"[data-content-type=\"hero_slider\"]":{"Magento_PageBuilder\/js\/content-type\/slider\/appearance\/default\/widget":false},"[data-content-type=\"hero_slide\"]":{"Xbdl_PageBuilder\/js\/content-type\/hero_slide\/appearance\/default\/widget":false},"[data-content-type=\"xbdl_banner\"]":{"Magento_PageBuilder\/js\/content-type\/banner\/appearance\/default\/widget":false},"[data-content-type=\"character_slider\"]":{"Xbdl_PageBuilder\/js\/content-type\/character_slider\/appearance\/default\/widget":false},"[data-content-type=\"character_slide\"]":{"Magento_PageBuilder\/js\/content-type\/slide\/appearance\/default\/widget":false},"[data-content-type=\"product_switcher_slider\"]":{"Xbdl_PageBuilder\/js\/content-type\/product_switcher_slider\/appearance\/default\/widget":false},"[data-content-type=\"fancy_slider\"]":{"Xbdl_PageBuilder\/js\/content-type\/fancy_slider\/appearance\/default\/widget":false}}, "breakpoints": {"desktop":{"label":"Desktop","stage":true,"default":true,"class":"desktop-switcher","icon":"Magento_PageBuilder::css\/images\/switcher\/switcher-desktop.svg","conditions":{"min-width":"1084px"},"options":{"products":{"default":{"slidesToShow":"5"}}}},"tablet":{"conditions":{"max-width":"1083px","min-width":"768px"},"options":{"products":{"default":{"slidesToShow":"4"},"continuous":{"slidesToShow":"3"}}},"label":"Tablet","media":"only screen and (min-width: 768px) and (max-width: 1083px)"},"mobile":{"label":"Mobile","stage":true,"class":"mobile-switcher","icon":"Magento_PageBuilder::css\/images\/switcher\/switcher-mobile.svg","media":"only screen and (max-width: 767px)","conditions":{"max-width":"767px","min-width":"640px"},"options":{"products":{"default":{"slidesToShow":"3"}}}},"mobile-small":{"conditions":{"max-width":"640px"},"options":{"products":{"default":{"slidesToShow":"2"},"continuous":{"slidesToShow":"1"}}}}} } } }</script> <script type="text&#x2F;javascript">document.querySelector("#cookie-status").style.display = "none";</script> <script type="text/x-magento-init"> { "*": { "cookieStatus": {} } }</script> <script type="text/x-magento-init"> { "*": { "mage/cookies": { "expires": null, "path": "\u002F", "domain": ".xboxdesignlab.xbox.com", "secure": true, "lifetime": "3600" } } }</script> <script> window.cookiesConfig = window.cookiesConfig || {}; window.cookiesConfig.secure = true; </script> <script> require.config({ map: { '*': { wysiwygAdapter: 'mage/adminhtml/wysiwyg/tiny_mce/tinymceAdapter' } } });</script> <script> require.config({ paths: { googleMaps: 'https\u003A\u002F\u002Fmaps.googleapis.com\u002Fmaps\u002Fapi\u002Fjs\u003Fv\u003D3.53\u0026key\u003D' }, config: { 'Magento_PageBuilder/js/utils/map': { style: '', }, 'Magento_PageBuilder/js/content-type/map/preview': { apiKey: '', apiKeyErrorMessage: 'You\u0020must\u0020provide\u0020a\u0020valid\u0020\u003Ca\u0020href\u003D\u0027https\u003A\u002F\u002Fxboxdesignlab.xbox.com\u002Fen\u002Dus\u002Fadminhtml\u002Fsystem_config\u002Fedit\u002Fsection\u002Fcms\u002F\u0023cms_pagebuilder\u0027\u0020target\u003D\u0027_blank\u0027\u003EGoogle\u0020Maps\u0020API\u0020key\u003C\u002Fa\u003E\u0020to\u0020use\u0020a\u0020map.' }, 'Magento_PageBuilder/js/form/element/map': { apiKey: '', apiKeyErrorMessage: 'You\u0020must\u0020provide\u0020a\u0020valid\u0020\u003Ca\u0020href\u003D\u0027https\u003A\u002F\u002Fxboxdesignlab.xbox.com\u002Fen\u002Dus\u002Fadminhtml\u002Fsystem_config\u002Fedit\u002Fsection\u002Fcms\u002F\u0023cms_pagebuilder\u0027\u0020target\u003D\u0027_blank\u0027\u003EGoogle\u0020Maps\u0020API\u0020key\u003C\u002Fa\u003E\u0020to\u0020use\u0020a\u0020map.' }, } });</script> <script> require.config({ shim: { 'Magento_PageBuilder/js/utils/map': { deps: ['googleMaps'] } } });</script> <script type="text&#x2F;javascript">window.isGdprCookieEnabled = true; require(['Amasty_GdprFrontendUi/js/modal-show'], function (modalConfigInit) { modalConfigInit({"isDeclineEnabled":0,"barLocation":0,"policyText":"We use cookies to help improve our services, make personal offers, and enhance your experience. If you do not accept optional cookies below, your experience may be affected. If you want to know more, please visit <a href=\"https:\/\/go.microsoft.com\/fwlink\/?LinkId=521839\" target=\"_blank\">Microsoft Privacy Statement<\/a> and <a href=\"https:\/\/support.microsoft.com\/topic\/third-party-cookie-inventory-81ca0c3d-c122-415c-874c-55610e017a6a\" target=\"_blank\">Microsoft Third Party Cookies Policy<\/a>","firstShowProcess":"0","cssConfig":{"backgroundColor":null,"policyTextColor":null,"textColor":null,"titleColor":null,"linksColor":null,"acceptBtnColor":null,"acceptBtnColorHover":null,"acceptBtnTextColor":null,"acceptBtnTextColorHover":null,"acceptBtnOrder":null,"allowBtnTextColor":null,"allowBtnTextColorHover":null,"allowBtnColor":null,"allowBtnColorHover":null,"allowBtnOrder":null,"declineBtnTextColorHover":null,"declineBtnColorHover":null,"declineBtnTextColor":null,"declineBtnColor":null,"declineBtnOrder":null},"isPopup":false,"isModal":true,"className":"modal-popup amgdprcookie-modal-container modal-slide _show","buttons":[{"label":"Reject","dataJs":"accept","class":"-allow -save","action":"saveCookie"},{"label":"Accept","dataJs":"allow","class":"-settings","action":"allowCookies"}],"template":"<div data-role=\"focusable-start\" tabindex=\"0\"><\/div>\n<div class=\"modal-inner-wrap\" data-role=\"focusable-scope\" data-bi-area=\"body\" data-bi-name=\"cookie-dialog-box\">\n <header class=\"modal-header\" data-bi-id=\"a1Body\" data-bi-name=\"header\" data-bi-area=\"header\">\n <h2 class=\"heading heading--page\" id=\"modal-cookie-title\" data-role=\"title\"><%= data.modalHeader %><\/h2>\n <button class=\"a-icon-text-btn a-icon-text-btn--icon-only\" aria-controls=\"modal-cookie\" data-role=\"closeBtn\" aria-label=\"<%= data.closeButtonLabel %>\">\n <span class=\"icon-close a-icon-text-btn__icon\" aria-hidden=\"true\"><\/span>\n <span class=\"a-icon-text-btn__label\"><%= data.closeButtonLabel %><\/span>\n <\/button>\n <\/header>\n <div class=\"modal-content\">\n <div class=\"amgdprcookie-modal-block\" data-amgdpr-js=\"modal\">\n <div class=\"amgdprcookie-modal-template\">\n <form id=\"amgdprcookie-form\" class=\"amgdprcookie-settings-form\" data-amcookie-js=\"form-cookie\">\n <div class=\"amgdprcookie-groups-container\" data-amcookie-js=\"groups\">\n <% _.each(data.groups.groupData, function(group, index) { %>\n <div class=\"amgdprcookie-cookie-container -modal\">\n <div class=\"amgdprcookie-header\">\n <h3 class=\"amgdprcookie-caption\"><%= group.name %><\/h3>\n <div class=\"amgdprcookie-toggle-cookie\">\n <input class=\"amgdprcookie-input <% if(group.isEssential){ %>disabled<% } %> u-hidden\"\n type=\"checkbox\"\n data-amcookie-js=\"field\"\n name=\"groups[]\"\n id=\"<%= 'switch-box-' + index %>\"\n value=\"<%= group.groupId %>\"\n <% if(group.checked){ %>checked<% } %>\n <% if(group.isEssential){ %>disabled<% } %> >\n <label class=\"amgdprcookie-label u-hidden\" for=\"<%= 'switch-box-' + index %>\"><\/label>\n <\/div>\n <\/div>\n <p class=\"amgdprcookie-text\"><%= group.description %><\/p>\n <button class=\"a-btn--primary transparent\"\n data-amgdprcookie-js=\"information\"\n data-groupId=\"<%= group.groupId %>\"\n aria-label=\"<%= group.ariaLabel %>\"><%= data.linkName %><\/button>\n <\/div>\n <% }); %>\n <div class=\"amgdprcookie-policy-container\" data-amcookie-js=\"policy\">\n <div class=\"amgdprcookie-text-container\">\n <p class=\"amgdprcookie-policy\"><%= data.policyText %><\/p>\n <\/div>\n <\/div>\n <\/div>\n <div class=\"amgdprcookie-buttons-block\">\n <% _.each(data.buttons, function(button) { %>\n <button class=\"a-btn a-btn--solid-green <%= button.class %>\"\n type=\"button\"\n title=\"<%= button.label %>\"\n aria-label=\"<%= button.label %>\"\n aria-controls=\"modal-cookie\"\n data-amgdprcookie-js=\"<%= button.dataJs %>\"><%= button.label %><\/button>\n <% }); %>\n <\/div>\n <\/form>\n <\/div>\n <\/div>\n <\/div>\n<\/div>\n<div data-role=\"focusable-end\" tabindex=\"0\"><\/div>\n\n<style>\n <% if(css.backgroundColor){ %>\n .amgdprcookie-modal-template {\n background-color: <%= css.backgroundColor %>;\n }\n <% } %>\n\n <% if(css.policyTextColor){ %>\n .amgdprcookie-modal-template .amgdprcookie-policy {\n color: <%= css.policyTextColor %>;\n }\n <% } %>\n\n <% if(css.textColor){ %>\n .amgdprcookie-modal-template .amgdprcookie-text {\n color: <%= css.textColor %>;\n }\n <% } %>\n\n <% if(css.titleColor){ %>\n .amgdprcookie-modal-template .amgdprcookie-header {\n color: <%= css.titleColor %>;\n }\n <% } %>\n\n <% if(css.linksColor){ %>\n .amgdprcookie-modal-template .amgdprcookie-link,\n .amgdprcookie-modal-template .amgdprcookie-policy a {\n color: <%= css.linksColor %>;\n }\n <% } %>\n\n <% if(css.acceptBtnOrder){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-save {\n order: <%= css.acceptBtnOrder %>;\n }\n <% } %>\n\n <% if(css.acceptBtnColor){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-save {\n background-color: <%= css.acceptBtnColor %>;\n border-color: <%= css.acceptBtnColor %>;\n }\n <% } %>\n\n <% if(css.acceptBtnTextColor){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-save {\n color: <%= css.acceptBtnTextColor %>;\n }\n <% } %>\n\n <% if(css.acceptBtnColorHover){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-save:hover {\n background-color: <%= css.acceptBtnColorHover %>;\n border-color: <%= css.acceptBtnColorHover %>;\n }\n <% } %>\n\n <% if(css.acceptBtnTextColorHover){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-save:hover {\n color: <%= css.acceptBtnTextColorHover %>;\n }\n <% } %>\n\n <% if(css.allowBtnOrder){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-settings {\n order: <%= css.allowBtnOrder %>;\n }\n <% } %>\n\n <% if(css.allowBtnColor){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-settings {\n background-color: <%= css.allowBtnColor %>;\n border-color: <%= css.allowBtnColor %>;\n }\n <% } %>\n\n <% if(css.allowBtnTextColor){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-settings {\n color: <%= css.allowBtnTextColor %>;\n }\n <% } %>\n\n <% if(css.allowBtnColorHover){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-settings:hover {\n background-color: <%= css.allowBtnColorHover %>;\n border-color: <%= css.allowBtnColorHover %>;\n }\n <% } %>\n\n <% if(css.allowBtnTextColorHover){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-settings:hover {\n color: <%= css.allowBtnTextColorHover %>;\n }\n <% } %>\n\n <% if(css.declineBtnOrder){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-decline {\n order: <%= css.declineBtnOrder %>;\n }\n <% } %>\n\n <% if(css.declineBtnColor){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-decline {\n background-color: <%= css.declineBtnColor %>;\n border-color: <%= css.declineBtnColor %>;\n }\n <% } %>\n\n <% if(css.declineBtnTextColor){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-decline {\n color: <%= css.declineBtnTextColor %>;\n }\n <% } %>\n\n <% if(css.declineBtnColorHover){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-decline:hover {\n background-color: <%= css.declineBtnColorHover %>;\n border-color: <%= css.declineBtnColorHover %>;\n }\n <% } %>\n\n <% if(css.declineBtnTextColorHover){ %>\n .amgdprcookie-modal-template .amgdprcookie-button.-decline:hover {\n color: <%= css.declineBtnTextColorHover %>;\n }\n <% } %>\n<\/style>\n","linkName":"More information","closeButtonLabel":"Close","modalHeader":"Manage Cookie Preferences","groups":{"groupData":[{"groupId":"3","isEssential":true,"name":"Essential","description":"Necessary cookies enable core functionality of the website. Without these cookies the website can not function properly. They help to make a website usable by enabling basic functionality.","checked":true,"cookies":[{"name":"PHPSESSID","description":"To store the logged in user&#039;s username and a 128bit encrypted key.This information is required to allow a user to stay logged in to a web sitewithout needing to submit their username and password for each page visited. Without this cookie, a user is unabled to proceed to areas of the web site that require authenticated access.","lifetime":"1 hour","provider":"Magento","type":"1st Party"},{"name":"private_content_version","description":"Voegt een willekeurig, uniek nummer en tijd toe aan pagina&#039;s met klantencontent om te voorkomen dat ze op de server gecached worden.","lifetime":"1 year","provider":"Magento","type":"1st Party"},{"name":"persistent_shopping_cart","description":"Slaat de sleutel (ID) van persistente winkelwagen op om het mogelijk te maken de winkelwagen voor een anonieme klant te herstellen.","lifetime":"1 year","provider":"Magento","type":"1st Party"},{"name":"form_key","description":"Een beveiligingsmaatregel die een willekeurige tekenreeks toevoegt aan alle ingezonden formulieren om de gegevens te beschermen tegen Cross-Site Request Forgery (CSRF).","lifetime":"Session Based","provider":"Magento","type":"1st Party"},{"name":"store","description":"Traceert de specifieke winkelweergave \/ landinstellingen die door de klant geselecteerd werden.","lifetime":"1 year","provider":"Magento","type":"1st Party"},{"name":"login_redirect","description":"Behoudt de doelpagina waar de klant naartoe navigeerde voordat hij werd doorverwezen om in te loggen.","lifetime":"Session Based","provider":"Magento","type":"1st Party"},{"name":"mage-messages","description":"Traceert foutmeldingen en andere meldingen die aan de gebruiker getoond worden, zoals de cookietoestemmingsmelding en diverse foutmeldingen, De melding wordt uit het cookie gewist nadat het aan de klant getoond is.","lifetime":"1 year","provider":"Magento","type":"1st Party"},{"name":"mage-cache-storage","description":"Local storage of visitor-specific content that enables e-commerce functions.","lifetime":"Session Based","provider":"Magento","type":"1st Party"},{"name":"mage-cache-storage-section-invalidation","description":"Forceert lokale opslag van specifieke delen van de content die ongeldig gemaakt moeten worden.","lifetime":"Session Based","provider":"Magento","type":"1st Party"},{"name":"mage-cache-sessid","description":"De waarde van deze cookie activeert het opschonen van de lokale cache-opslag.","lifetime":"Session Based","provider":"Magento","type":"1st Party"},{"name":"product_data_storage","description":"Slaat configuratie op voor productgegevens met betrekking tot onlangs bekeken \/ vergeleken producten.","lifetime":"Session Based","provider":"Magento","type":"1st Party"},{"name":"user_allowed_save_cookie","description":"Geeft aan of de klant toestaat dat cookies worden opgeslagen.","lifetime":"1 year","provider":"Magento","type":"1st Party"},{"name":"mage-translation-storage","description":"Slaat vertaalde content op wanneer de klant dat verzoekt.","lifetime":"Session Based","provider":"Magento","type":"1st Party"},{"name":"mage-translation-file-version","description":"Slaat de bestandsversie van vertaalde content op.","lifetime":"Session Based","provider":"Magento","type":"1st Party"},{"name":"section_data_ids","description":"Slaat klantspecifieke informatie op met betrekking tot door de klant ge\u00efnitieerde acties, zoals het weergeven van verlanglijstjes, kassagegevens, enz.","lifetime":"Session Based","provider":"Magento","type":"1st Party"},{"name":"MS0","description":"Session identification cookie","lifetime":"450 minutes","provider":"Microsoft","type":"1st Party"},{"name":"MC1","description":"Visitor Id represents the primary visitor cookie (GUID)\t","lifetime":"12 months","provider":"Microsoft","type":"1st Party"},{"name":"MSFPC","description":"The MSFPC is the Microsoft First Party cookie which allows for visitor tracking whenever third party cookie blocks are in place.","lifetime":"12 months","provider":"Microsoft","type":"1st Party"},{"name":"bounced","description":"Used to prevent repeated unwanted authorize calls to MSA\/AAD servers; only set when authentication tracking is enabled","lifetime":"29 minutes","provider":"Microsoft","type":"1st Party"}],"ariaLabel":"More Information, read about why cookies are essential to using this page"},{"groupId":"6","isEssential":false,"name":"Marketing","description":"Marketing cookies are used to track and collect visitors actions on the website. Cookies store user data and behaviour information, which allows advertising services to target more audience groups. Also more customized user experience can be provided according to collected information.","checked":false,"cookies":[{"name":"recently_viewed_product","description":"Slaat product ID&#039;s op van recent bekeken producten voor eenvoudige navigatie.","lifetime":"Session Based","provider":"Magento","type":"1st Party"},{"name":"recently_viewed_product_previous","description":"Slaat product ID&#039;s op van recent eerder bekeken producten voor eenvoudige navigatie.","lifetime":"Session Based","provider":"Magento","type":"1st Party"},{"name":"recently_compared_product","description":"Slaat product ID&#039;s op van recent vergeleken producten.","lifetime":"Session Based","provider":"Magento","type":"1st Party"},{"name":"recently_compared_product_previous","description":"Slaat product ID&#039;s op van eerder vergeleken producten voor eenvoudige navigatie.","lifetime":"Session Based","provider":"Magento","type":"1st Party"},{"name":"MUID","description":"This is the ID issued to a web client as a cookie by the Content Tracking System (CTS). Bing\u2019s Anonymous visitor ID. Used for analytics, campaign reporting, conversion tracking, and ad targeting\/personalization","lifetime":"13 months","provider":".microsoft.com \/ bing.com","type":"1st Party"},{"name":"ANON","description":"Anonymous ID. This ID is a hash of the PUID but issued to a persistent cookie (a cookie with an expiry date) for visibility even when a Passport user is not logged in","lifetime":"13 months","provider":"Microsoft","type":"1st Party"},{"name":"ANONCHK","description":"Check whether need to initialize the cross-domain id sync beacon call","lifetime":"30 minutes","provider":"msn.com \/ bing.com","type":"1st Party"},{"name":"MR","description":"Check whether to extend the lifetime of the MUID cookie, if the MR doesn&#039;t exist, SETCOOKIE MUID with another 13 months lifetime","lifetime":"6 months","provider":"msn.com \/ bing.com","type":"1st Party"},{"name":"SM","description":"Identify whether the MUID cookie is newly issued or not.","lifetime":"Session","provider":"msn.com","type":"1st Party"},{"name":"SRM_B","description":"Backup of the MUID in .bing.com","lifetime":"13 months","provider":"bing.com","type":"1st Party"},{"name":"SRM_M","description":"Backup of the MUID in .msn.com","lifetime":"13 months","provider":"bing.com","type":"1st Party"},{"name":"NAP","description":"Encrypted value for user declared non-personal identifiable info (such as age, gender, country, occupation). Used for ad targeting\/personalization","lifetime":"13 months","provider":"msn.com\/ bing.com","type":"1st Party"},{"name":"_clck","description":"Persists the Clarity User ID and preferences, unique to that site, on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID.","lifetime":"12 months","provider":"Microsoft\/Clarity team","type":"1st Party"},{"name":"_clsk","description":"Connects multiple page views by a user into a single Clarity session recording.","lifetime":"12 months","provider":"Microsoft\/Clarity team","type":"1st Party"},{"name":"CLID","description":"Identifies the first-time Clarity saw this user on any site using Clarity.","lifetime":"6 months","provider":"Microsoft\/Clarity team","type":"1st Party"}],"ariaLabel":"Marketing, read more about why marketing is important to this page"}],"lastUpdate":1739211721}}); });</script> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": {"components":{"gdpr-cookie-modal":{"cookieText":"We use cookies to help improve our services, make personal offers, and enhance your experience. If you do not accept optional cookies below, your experience may be affected. If you want to know more, please visit <a href=\"https:\/\/go.microsoft.com\/fwlink\/?LinkId=521839\" target=\"_blank\">Microsoft Privacy Statement<\/a> and <a href=\"https:\/\/support.microsoft.com\/topic\/third-party-cookie-inventory-81ca0c3d-c122-415c-874c-55610e017a6a\" target=\"_blank\">Microsoft Third Party Cookies Policy<\/a>","firstShowProcess":"0","acceptBtnText":null,"declineBtnText":null,"settingsBtnText":null,"isDeclineEnabled":0,"component":"Amasty_GdprFrontendUi\/js\/modal","children":{"gdpr-cookie-settings-modal":{"component":"Amasty_GdprFrontendUi\/js\/modal\/cookie-settings"}}}}} } }</script> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": { "components": { "notifications": { "component": "xbdl_site_notifications_notifications", "config": { "template": "Xbdl_SiteNotifications/notifications", "emptyNotificationsImageUrl": "https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/images/login.png", "loaderIcon": "https://xboxdesignlab.xbox.com/static/version1739490916/frontend/Xbox/default/en_US/images/loader.png" } } } } } }</script> <script>window.checkout = {"shoppingCartUrl":"https:\/\/xboxdesignlab.xbox.com\/en-us\/checkout\/cart\/","checkoutUrl":"https:\/\/xboxdesignlab.xbox.com\/en-us\/checkout\/","updateItemQtyUrl":"https:\/\/xboxdesignlab.xbox.com\/en-us\/checkout\/sidebar\/updateItemQty\/","removeItemUrl":"https:\/\/xboxdesignlab.xbox.com\/en-us\/checkout\/sidebar\/removeItem\/","imageTemplate":"Magento_Catalog\/product\/image_with_borders","baseUrl":"https:\/\/xboxdesignlab.xbox.com\/en-us\/","minicartMaxItemsVisible":5,"websiteId":"1","maxItemsToDisplay":10,"storeId":"1","storeGroupId":"1","customerLoginUrl":"https:\/\/xboxdesignlab.xbox.com\/en-us\/customer\/account\/login\/referer\/aHR0cHM6Ly94Ym94ZGVzaWdubGFiLnhib3guY29tL2VuLXVzL2NvbmZpZ3VyZS9hZGFwdGl2ZS10aHVtYnN0aWNrLXRvcHBlcnMteGJveC1hZGFwdGl2ZS1qb3lzdGljaw~~\/","isRedirectRequired":false,"autocomplete":"off","captcha":{"user_login":{"isCaseSensitive":false,"imageHeight":50,"imageSrc":"","refreshUrl":"https:\/\/xboxdesignlab.xbox.com\/en-us\/captcha\/refresh\/","isRequired":false,"timestamp":1739789247}}}</script> <script type="text/x-magento-init"> { "[data-block='minicart']": { "Magento_Ui/js/core/app": {"components":{"minicart_content":{"children":{"subtotal.container":{"children":{"subtotal":{"children":{"subtotal.totals":{"config":{"display_cart_subtotal_incl_tax":0,"display_cart_subtotal_excl_tax":1,"template":"Magento_Tax\/checkout\/minicart\/subtotal\/totals"},"component":"Magento_Tax\/js\/view\/checkout\/minicart\/subtotal\/totals","children":{"subtotal.totals.msrp":{"component":"Magento_Msrp\/js\/view\/checkout\/minicart\/subtotal\/totals","config":{"displayArea":"minicart-subtotal-hidden","template":"Magento_Msrp\/checkout\/minicart\/subtotal\/totals"}}}}},"component":"uiComponent","config":{"template":"Magento_Checkout\/minicart\/subtotal"}}},"component":"uiComponent","config":{"displayArea":"subtotalContainer"}},"item.renderer":{"component":"Magento_Checkout\/js\/view\/cart-item-renderer","config":{"displayArea":"defaultRenderer","template":"Magento_Checkout\/minicart\/item\/default","icon_url":"https:\/\/xboxdesignlab.xbox.com\/static\/version1739490916\/frontend\/Xbox\/default\/en_US\/images\/loader.png"},"children":{"item.image":{"component":"Magento_Catalog\/js\/view\/image","config":{"template":"Magento_Catalog\/product\/image","displayArea":"itemImage"}},"checkout.cart.item.price.sidebar":{"component":"uiComponent","config":{"template":"Xbdl_SpectrumPromotion\/minicart\/item\/price","displayArea":"priceSidebar"}}}},"extra_info":{"component":"uiComponent","config":{"displayArea":"extraInfo"}},"promotion":{"component":"uiComponent","config":{"displayArea":"promotion"}}},"config":{"itemRenderer":{"default":"defaultRenderer","simple":"defaultRenderer","virtual":"defaultRenderer"},"template":"Magento_Checkout\/minicart\/content"},"component":"Magento_Checkout\/js\/view\/minicart"}},"types":[]} }, "*": { "Magento_Ui/js/block-loader": "https\u003A\u002F\u002Fxboxdesignlab.xbox.com\u002Fstatic\u002Fversion1739490916\u002Ffrontend\u002FXbox\u002Fdefault\u002Fen_US\u002Fimages\u002Floader.png" } }</script> <script type="text/x-magento-init"> { "*": { "Magento_Customer/js/block-submit-on-send": { "formId": "newsletter-validate-detail" } } }</script> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": { "components": { "messages": { "component": "Magento_Theme/js/view/messages" } } } } }</script> <script type="text/x-magento-init"> { "*": { "Magento_Customer/js/section-config": { "sections": {"stores\/store\/switch":["*"],"stores\/store\/switchrequest":["*"],"directory\/currency\/switch":["*"],"*":["messages"],"customer\/account\/logout":["*","recently_viewed_product","recently_compared_product","persistent"],"customer\/account\/loginpost":["*"],"customer\/account\/createpost":["*"],"customer\/account\/editpost":["*"],"customer\/ajax\/login":["checkout-data","cart","captcha"],"catalog\/product_compare\/add":["compare-products"],"catalog\/product_compare\/remove":["compare-products"],"catalog\/product_compare\/clear":["compare-products"],"sales\/guest\/reorder":["cart"],"sales\/order\/reorder":["cart"],"checkout\/cart\/add":["cart","directory-data"],"checkout\/cart\/delete":["cart"],"checkout\/cart\/updatepost":["cart","analytics-data"],"checkout\/cart\/updateitemoptions":["cart"],"checkout\/cart\/couponpost":["cart"],"checkout\/cart\/estimatepost":["cart"],"checkout\/cart\/estimateupdatepost":["cart"],"checkout\/onepage\/saveorder":["cart","checkout-data","last-ordered-items"],"checkout\/sidebar\/removeitem":["cart","analytics-data"],"checkout\/sidebar\/updateitemqty":["cart","analytics-data"],"rest\/*\/v1\/carts\/*\/payment-information":["cart","last-ordered-items","captcha","instant-purchase","analytics-data"],"rest\/*\/v1\/guest-carts\/*\/payment-information":["cart","captcha","analytics-data"],"rest\/*\/v1\/guest-carts\/*\/selected-payment-method":["cart","checkout-data"],"rest\/*\/v1\/carts\/*\/selected-payment-method":["cart","checkout-data","instant-purchase"],"wishlist\/index\/add":["wishlist"],"wishlist\/index\/remove":["wishlist"],"wishlist\/index\/updateitemoptions":["wishlist"],"wishlist\/index\/update":["wishlist"],"wishlist\/index\/cart":["wishlist","cart"],"wishlist\/index\/fromcart":["wishlist","cart"],"wishlist\/index\/allcart":["wishlist","cart"],"wishlist\/shared\/allcart":["wishlist","cart"],"wishlist\/shared\/cart":["cart"],"giftregistry\/index\/cart":["cart"],"giftregistry\/view\/addtocart":["cart"],"customer_order\/cart\/updatefaileditemoptions":["cart"],"checkout\/cart\/updatefaileditemoptions":["cart"],"customer_order\/cart\/advancedadd":["cart"],"checkout\/cart\/advancedadd":["cart"],"checkout\/cart\/removeallfailed":["cart"],"checkout\/cart\/removefailed":["cart"],"customer_order\/cart\/addfaileditems":["cart"],"checkout\/cart\/addfaileditems":["cart"],"customer_order\/sku\/uploadfile":["cart"],"customer\/address\/*":["instant-purchase"],"customer\/account\/*":["instant-purchase"],"vault\/cards\/deleteaction":["instant-purchase"],"wishlist\/index\/copyitem":["wishlist"],"wishlist\/index\/copyitems":["wishlist"],"wishlist\/index\/deletewishlist":["wishlist","multiplewishlist"],"wishlist\/index\/createwishlist":["multiplewishlist"],"wishlist\/index\/editwishlist":["multiplewishlist"],"wishlist\/index\/moveitem":["wishlist"],"wishlist\/index\/moveitems":["wishlist"],"wishlist\/search\/addtocart":["cart","wishlist"],"multishipping\/checkout\/overviewpost":["cart"],"persistent\/index\/unsetcookie":["persistent"],"review\/product\/post":["review"],"paymentservicespaypal\/smartbuttons\/placeorder":["cart","checkout-data"],"paymentservicespaypal\/smartbuttons\/cancel":["cart","checkout-data"],"gdpr\/customer\/anonymise":["customer"],"spectrum\/cart\/add":["analytics-data"],"checkout\/cart\/remove":["analytics-data","cart","checkout-data"],"checkout\/cart\/move":["analytics-data","cart","checkout-data"],"checkout\/cart\/duplicate":["analytics-data","cart","checkout-data"],"rest\/*\/v1\/carts\/mine\/coupons\/xbdl":["analytics-data"],"rest\/*\/v1\/guest-carts\/xbdl\/*\/coupons":["analytics-data"],"rest\/*\/v1\/carts\/mine\/coupons\/xbdl\/*":["analytics-data"],"rest\/*\/v1\/guest-carts\/xbdl\/*\/coupons\/*":["analytics-data"],"gdpr_customer_adddeleterequest":["customer","cart","checkout-data"],"stock\/cart\/movebase":["cart","checkout-data"],"stock\/cart\/movecomponent":["cart","checkout-data"],"sso\/login\/index":["*"]}, "clientSideSections": ["checkout-data","cart-data"], "baseUrls": ["https:\/\/xboxdesignlab.xbox.com\/en-us\/"], "sectionNames": ["messages","customer","compare-products","last-ordered-items","cart","directory-data","captcha","wishlist","instant-purchase","loggedAsCustomer","multiplewishlist","persistent","review","payments","analytics-data","recently_viewed_product","recently_compared_product","product_data_storage"] } } }</script> <script type="text/x-magento-init"> { "*": { "Magento_Customer/js/customer-data": { "sectionLoadUrl": "https\u003A\u002F\u002Fxboxdesignlab.xbox.com\u002Fen\u002Dus\u002Fcustomer\u002Fsection\u002Fload\u002F", "expirableSectionLifetime": 60, "expirableSectionNames": ["cart","persistent"], "cookieLifeTime": "3600", "cookieDomain": "", "updateSessionUrl": "https\u003A\u002F\u002Fxboxdesignlab.xbox.com\u002Fen\u002Dus\u002Fcustomer\u002Faccount\u002FupdateSession\u002F", "isLoggedIn": "" } } }</script> <script type="text/x-magento-init"> { "*": { "Magento_Customer/js/invalidation-processor": { "invalidationRules": { "website-rule": { "Magento_Customer/js/invalidation-rules/website-rule": { "scopeConfig": { "websiteId": "1" } } } } } } }</script> <script type="text/x-magento-init"> { "body": { "pageCache": {"url":"https:\/\/xboxdesignlab.xbox.com\/en-us\/page_cache\/block\/render\/id\/3995\/category\/4\/","handles":["default","catalog_product_view","catalog_product_view_type_spectrum_product","catalog_product_view_id_3995","catalog_product_view_sku_PML4U-A03"],"originalRequest":{"route":"catalog","controller":"product","action":"view","uri":"\/en-us\/configure\/adaptive-thumbstick-toppers-xbox-adaptive-joystick"},"versionCookieName":"private_content_version"} } }</script> <script type="text/x-magento-init"> { "body": { "requireCookie": {"noCookieUrl":"https:\/\/xboxdesignlab.xbox.com\/en-us\/cookie\/index\/noCookies\/","triggers":[".review .action.submit"],"isRedirectCmsPage":true} } }</script> <script type="text/x-magento-init"> { "*": { "Magento_Catalog/js/product/view/provider": { "data": {"items":{"3995":{"add_to_cart_button":{"post_data":"{\"action\":\"https:\\\/\\\/xboxdesignlab.xbox.com\\\/en-us\\\/checkout\\\/cart\\\/add\\\/uenc\\\/%25uenc%25\\\/product\\\/3995\\\/\",\"data\":{\"product\":\"3995\",\"uenc\":\"%uenc%\"}}","url":"https:\/\/xboxdesignlab.xbox.com\/en-us\/checkout\/cart\/add\/uenc\/%25uenc%25\/product\/3995\/","required_options":false},"add_to_compare_button":{"post_data":null,"url":"{\"action\":\"https:\\\/\\\/xboxdesignlab.xbox.com\\\/en-us\\\/catalog\\\/product_compare\\\/add\\\/\",\"data\":{\"product\":\"3995\",\"uenc\":\"aHR0cHM6Ly94Ym94ZGVzaWdubGFiLnhib3guY29tL2VuLXVzL2NvbmZpZ3VyZS9hZGFwdGl2ZS10aHVtYnN0aWNrLXRvcHBlcnMteGJveC1hZGFwdGl2ZS1qb3lzdGljaw~~\"}}","required_options":null},"price_info":{"final_price":0,"max_price":0,"max_regular_price":0,"minimal_regular_price":0,"special_price":null,"minimal_price":0,"regular_price":0,"formatted_prices":{"final_price":"<span class=\"price\">$0.00<\/span>","max_price":"<span class=\"price\">$0.00<\/span>","minimal_price":"<span class=\"price\">$0.00<\/span>","max_regular_price":"<span class=\"price\">$0.00<\/span>","minimal_regular_price":null,"special_price":null,"regular_price":"<span class=\"price\">$0.00<\/span>"},"extension_attributes":{"msrp":{"msrp_price":"<span class=\"price\">$0.00<\/span>","is_applicable":"","is_shown_price_on_gesture":"","msrp_message":"","explanation_message":"Our price is lower than the manufacturer&#039;s &quot;minimum advertised price.&quot; As a result, we cannot show you the price in catalog or the product page. <br><br> You have no obligation to purchase the product once you know the price. You can simply remove the item from your cart."},"tax_adjustments":{"final_price":0,"max_price":0,"max_regular_price":0,"minimal_regular_price":0,"special_price":0,"minimal_price":0,"regular_price":0,"formatted_prices":{"final_price":"<span class=\"price\">$0.00<\/span>","max_price":"<span class=\"price\">$0.00<\/span>","minimal_price":"<span class=\"price\">$0.00<\/span>","max_regular_price":"<span class=\"price\">$0.00<\/span>","minimal_regular_price":null,"special_price":"<span class=\"price\">$0.00<\/span>","regular_price":"<span class=\"price\">$0.00<\/span>"}},"weee_attributes":[],"weee_adjustment":"<span class=\"price\">$0.00<\/span>"}},"images":[{"url":"https:\/\/xboxdesignlab.xbox.com\/static\/version1739490916\/frontend\/Xbox\/default\/en_US\/Magento_Catalog\/images\/product\/placeholder\/small_image.jpg","code":"recently_viewed_products_grid_content_widget","height":320,"width":320,"label":"Adaptive Thumbstick Toppers - Xbox Adaptive Joystick","resized_width":320,"resized_height":320},{"url":"https:\/\/xboxdesignlab.xbox.com\/static\/version1739490916\/frontend\/Xbox\/default\/en_US\/Magento_Catalog\/images\/product\/placeholder\/small_image.jpg","code":"recently_viewed_products_list_content_widget","height":320,"width":320,"label":"Adaptive Thumbstick Toppers - Xbox Adaptive Joystick","resized_width":320,"resized_height":320},{"url":"https:\/\/xboxdesignlab.xbox.com\/static\/version1739490916\/frontend\/Xbox\/default\/en_US\/Magento_Catalog\/images\/product\/placeholder\/small_image.jpg","code":"recently_viewed_products_images_names_widget","height":90,"width":90,"label":"Adaptive Thumbstick Toppers - Xbox Adaptive Joystick","resized_width":90,"resized_height":90},{"url":"https:\/\/xboxdesignlab.xbox.com\/static\/version1739490916\/frontend\/Xbox\/default\/en_US\/Magento_Catalog\/images\/product\/placeholder\/small_image.jpg","code":"recently_compared_products_grid_content_widget","height":320,"width":320,"label":"Adaptive Thumbstick Toppers - Xbox Adaptive Joystick","resized_width":320,"resized_height":320},{"url":"https:\/\/xboxdesignlab.xbox.com\/static\/version1739490916\/frontend\/Xbox\/default\/en_US\/Magento_Catalog\/images\/product\/placeholder\/small_image.jpg","code":"recently_compared_products_list_content_widget","height":320,"width":320,"label":"Adaptive Thumbstick Toppers - Xbox Adaptive Joystick","resized_width":320,"resized_height":320},{"url":"https:\/\/xboxdesignlab.xbox.com\/static\/version1739490916\/frontend\/Xbox\/default\/en_US\/Magento_Catalog\/images\/product\/placeholder\/thumbnail.jpg","code":"recently_compared_products_images_names_widget","height":90,"width":90,"label":"Adaptive Thumbstick Toppers - Xbox Adaptive Joystick","resized_width":90,"resized_height":90}],"url":"https:\/\/xboxdesignlab.xbox.com\/en-us\/adaptive-thumbstick-toppers-xbox-adaptive-joystick","id":3995,"name":"Adaptive Thumbstick Toppers - Xbox Adaptive Joystick","type":"spectrum_product","is_salable":"1","store_id":1,"currency_code":"USD","extension_attributes":{"wishlist_button":{"post_data":null,"url":"{\"action\":\"https:\\\/\\\/xboxdesignlab.xbox.com\\\/en-us\\\/wishlist\\\/index\\\/add\\\/\",\"data\":{\"product\":3995,\"uenc\":\"aHR0cHM6Ly94Ym94ZGVzaWdubGFiLnhib3guY29tL2VuLXVzL2NvbmZpZ3VyZS9hZGFwdGl2ZS10aHVtYnN0aWNrLXRvcHBlcnMteGJveC1hZGFwdGl2ZS1qb3lzdGljaw~~\"}}","required_options":null},"review_html":" <div class=\"product-reviews-summary short empty\"><div class=\"reviews-actions\"><a class=\"action add\" href=\"https:\/\/xboxdesignlab.xbox.com\/en-us\/adaptive-thumbstick-toppers-xbox-adaptive-joystick#review-form\">Be the first to review this product<\/a><\/div><\/div>"},"is_available":true}},"store":"1","currency":"USD","productCurrentScope":"website"} } } }</script> <script type="application&#x2F;javascript"> window.isShareEnabled = 1;</script> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": { "components": { "ssoPopup": { "component": "Xbdl_Sso/js/view/sso-popup" } } } } }</script> <script> window.isVirtualProduct = '1'; window.defaultDesignName = 'My Topper'; window.locale = 'en-US'; window.spectrumPayloadVersion = 1; window.spectrumLoadProduct = 'PML4U-A03'; window.spectrumItemPricesAndAvailabilityCallback = function spectrumItemPricesAndAvailabilityCallback(skus) { return new Promise(function (resolve, reject) { let data = [{"sku":"PML4U-A03","name":"Adaptive Thumbstick Toppers - Xbox Adaptive Joystick","type":"baseProduct","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"ShPl01","name":"Plate","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"ShDo01","name":"Dome","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"ShSt01","name":"Stick","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"ShPu01","name":"Pull","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"ShSp01","name":"Sphere","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"ShCu01","name":"Custom","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W01i","name":"1\/4 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W02i","name":"3\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W03i","name":"1\/2 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W04i","name":"5\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W05i","name":"3\/4 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W06i","name":"7\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W07i","name":"1 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W08i","name":"1 1\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W09i","name":"1 1\/4 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W10i","name":"1 3\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W11i","name":"1 1\/2 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W12i","name":"1 5\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W13i","name":"1 3\/4 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W14i","name":"1 7\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W15i","name":"2 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W16i","name":"2 1\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W17i","name":"2 1\/4 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W18i","name":"2 3\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W19i","name":"2 1\/2 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W01m","name":"6.35 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W02m","name":"9.53 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W03m","name":"12.7 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W04m","name":"15.88 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W05m","name":"19.05 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W06m","name":"22.23 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W07m","name":"25.4 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W08m","name":"28.58 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W09m","name":"31.75 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W10m","name":"34.93 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W11m","name":"38.1 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W12m","name":"41.28 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W13m","name":"44.45 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W14m","name":"47.63 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W15m","name":"50.8 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W16m","name":"53.98 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W17m","name":"57.15 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W18m","name":"60.33 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"W19m","name":"63.5 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H01i","name":"1\/4 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H02i","name":"3\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H03i","name":"1\/2 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H04i","name":"5\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H05i","name":"3\/4 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H06i","name":"7\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H07i","name":"1 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H08i","name":"1 1\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H09i","name":"1 1\/4 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H10i","name":"1 3\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H11i","name":"1 1\/2 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H12i","name":"1 5\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H13i","name":"1 3\/4 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H14i","name":"1 7\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H15i","name":"2 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H16i","name":"2 1\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H17i","name":"2 1\/4 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H18i","name":"2 3\/8 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H19i","name":"2 1\/2 in","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H01m","name":"6.35 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H02m","name":"9.53 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H03m","name":"12.7 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H04m","name":"15.88 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H05m","name":"19.05 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H06m","name":"22.23 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H07m","name":"25.4 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H08m","name":"28.58 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H09m","name":"31.75 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H10m","name":"34.93 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H11m","name":"38.1 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H12m","name":"41.28 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H13m","name":"44.45 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H14m","name":"47.63 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H15m","name":"50.8 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H16m","name":"53.98 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H17m","name":"57.15 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H18m","name":"60.33 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}},{"sku":"H19m","name":"63.5 mm","type":"component","price":0,"listPrice":0,"isoCurrency":"USD","inStock":true,"options":{"stock":null,"discontinuedStatus":false,"lowestPrice":null}}]; if (data) { resolve(data); } }); };</script> <script> require(['Xbdl_AdobeAnalytics/js/action/helper'], function (adobeAnalyticsHelper) { adobeAnalyticsHelper.trackAnalytics({ "product_list_name": "Product details page", "event_name": "product impression", "products": [{"sku":"PML4U-A03","recipe_id":"","recipe_config":"","product_name":"Adaptive Thumbstick Toppers - Xbox Adaptive Joystick","product_type":"controller"}] }); });</script> <script type="text&#x2F;x-magento-template" id="modal-share-template"> <div class="js-share-popup" data-url="<%- data.url %>" id="share-design-<%- data.designId %>"> <div class="share-modal__image"> <img src="<%- data.imageSrc %>" alt="<%- data.imageAlt %>"/> </div> <h3 class="share-modal__title"> Pick your platform </h3> <div class="share-modal js-share-modal"> <div class="modal-body-content"> <div class="share-modal__options"> <div class="share-modal__option"> <button class="a-btn a-btn--secondary a-icon-btn js-share-action" type="button" aria-label="Share&#x20;on&#x20;Facebook" title="Share&#x20;on&#x20;Facebook" data-platform="facebook"> <span class="icon-facebook-simple" aria-hidden="true"></span> </button> </div> <div class="share-modal__option"> <button class="a-btn a-btn--secondary a-icon-btn js-share-action" type="button" aria-label="Share&#x20;on&#x20;Twitter" title="Share&#x20;on&#x20;Twitter" data-platform="twitter"> <span class="icon-twitter" aria-hidden="true"></span> </button> </div> <div class="share-modal__option" aria-live="polite"> <button class="a-btn a-btn--secondary a-icon-btn js-share-action" type="button" aria-label="Copy&#x20;link" title="Copy&#x20;link" data-platform="clipboard"> <span class="icon-link" aria-hidden="true"></span> </button> <div class="share-modal__tooltip share-modal__tooltip--clipboard" role="status"> Copied </div> </div> </div> </div> </div> <% if (data.canShowCommunityGallerySection) { %> <div class="share-modal__community" aria-live="polite"> <div class="a-toggle"> <input type="checkbox" id="community-toggle-<%- data.designId %>" class="a-toggle__input js-community-share-toggle" <% if (data.isPublic) { %> checked=true<% } %>> <label class="a-toggle__label with-checkmark" for="community-toggle-<%- data.designId %>"> <span class="a-toggle__label--checkmark" aria-hidden="true"></span> <span class="a-toggle__label--on">Add to Community Gallery</span> <span class="a-toggle__label--off">Add to Community Gallery</span> </label> <button class="share-modal__community-tooltip-icon icon-info js-community-tooltip js-tooltip-toggle-esc" type="button" aria-label="Share&#x20;to&#x20;Community&#x20;Gallery&#x20;tooltip" aria-describedby="share-tooltip-<%- data.designId %>"> </button> <div id="share-tooltip-<%- data.designId %>" class="share-modal__tooltip share-modal__tooltip--community js-tooltip-toggle-esc" role="tooltip"> Share or unshare a design to the Community Gallery <button class="a-icon-text-btn a-icon-text-btn--icon-only share-modal__tooltip-close"> <span class="icon-close a-icon-text-btn__icon" aria-hidden="true"></span> <span class="a-icon-text-btn__label">Close this tooltip</span> </button> </div> </div> </div> <div class="share-modal__community-message"> <div role="status" class="share-modal__community-message--success a-message--success js-gallery-msg-added"> Design has been added to Community Gallery. </div> <div role="status" class="share-modal__community-message--success a-message--success js-gallery-msg-removed" > Design has been removed from Community Gallery. </div> <div role="status" class="share-modal__community-message--error a-message--error js-gallery-msg-error"> Something went wrong. Try again in a while. </div> </div> <% } %> </div></script> <script> /* Define data layer */ var _dl = _dl || {}; /* Catch queue for _trackAnalytics before Adobe launch script gets loaded */ var _trackAnalyticsCatchQueue = []; /* Initialize _trackAnalytics, will be overwritten once Adobe launch script is loaded */ var _trackAnalytics = function(event){ window._trackAnalyticsCatchQueue.push(event) }; window.isAnalyticsDebugEnabled = 0;</script> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": { "components": { "adobeAnalytics": { "component": "Xbdl_AdobeAnalytics/js/adobe-launch", "blockDlData": "\u007B\u0022site_locale\u0022\u003A\u0022en_US\u0022,\u0022page_type\u0022\u003A\u0022product\u0022\u007D", "adobeScriptUrl": "https\u003A\u002F\u002Fassets.adobedtm.com\u002F5ef092d1efb5\u002F4ffaf42dc249\u002Flaunch\u002Da92a83bc50b0.min.js" } } } } }</script> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": { "components": { "storage-manager": { "component": "Magento_Catalog/js/storage-manager", "appendTo": "", "storagesConfiguration" : {"recently_viewed_product":{"requestConfig":{"syncUrl":"https:\/\/xboxdesignlab.xbox.com\/en-us\/catalog\/product\/frontend_action_synchronize\/"},"lifetime":"1000","allowToSendRequest":null},"recently_compared_product":{"requestConfig":{"syncUrl":"https:\/\/xboxdesignlab.xbox.com\/en-us\/catalog\/product\/frontend_action_synchronize\/"},"lifetime":"1000","allowToSendRequest":null},"product_data_storage":{"updateRequestConfig":{"url":"https:\/\/xboxdesignlab.xbox.com\/en-us\/rest\/en-us\/V1\/products-render-info"},"requestConfig":{"syncUrl":"https:\/\/xboxdesignlab.xbox.com\/en-us\/catalog\/product\/frontend_action_synchronize\/"},"allowToSendRequest":null}} } } } } }</script> <script type="text/x-magento-init"> { "#amgdpr-privacy-popup": { "Amasty_Gdpr/js/popup":{ "textUrl":"https://xboxdesignlab.xbox.com/en-us/gdpr/policy/policytext/", "modalClass": "amgdpr-modal-container" } } }</script> <script type="application&#x2F;javascript" src="https&#x3A;&#x2F;&#x2F;cdn.spectrumcustomizer.com&#x2F;xbox&#x2F;v3&#x2F;frontend&#x2F;js&#x2F;customizer.min.js&#x3F;v&#x3D;202409241500"></script> <script type="text/x-magento-init"> { "*": { "Xbdl_Sso/js/customer-data-reload": { "cookieName": "sso_section_invalidate_required", "cookiePath": "/", "cookieDomain": "xboxdesignlab.xbox.com" } } }</script> <script> require(['jquery', 'domReady!'], function ($) { $('#recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796-container') .appendTo('#newsletter-validate-detail'); });</script> <script type="text/x-magento-init"> { "#recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796-container": { "Magento_Ui/js/core/app": {"components":{"recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796":{"settings":{"rendering":{"sitekey":"6LdDmBgqAAAAAGOs6Il6GKaSyFLCeQQcd7MboIWl","badge":"inline","size":"invisible","theme":"dark","hl":""},"invisible":true},"component":"Xbdl_Newsletter\/js\/newsletter-recaptcha","config":{"reCaptchaId":"recaptcha-newsletter"},"reCaptchaId":"recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796"}}} } }</script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-f0dafae39a889de9cd1","applicationID":"1091291051","transactionName":"ZFEHYEoFXUAAWkVQDF0bJFdMDVxdTlpQTQJfWwIbSBZcVxRaRRYVWlES","queueTime":0,"applicationTime":913,"atts":"SBYQFgIfTh9DWBMDGE5J","errorBeacon":"bam.nr-data.net","agent":""}</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10