OK
https://www.amazon.com/
Dominican Republic
Country
Network
January 18, 2025, 07:34 AM UTC
Date & Time
Websites
Websites
Runtime: 4.3s
On January 18, 2025, 07:34 AM UTC, https://www.amazon.com/ was accessible when tested on AS6400 in Dominican Republic.

Failures

HTTP Experiment
null
DNS Experiment
null
Control
null

DNS Queries

Resolver:
172.217.36.88
Query:
IN A www.amazon.com
Engine:
system
Name
Class
TTL
Type
DATA
@
IN
A
23.35.190.89
Query:
IN AAAA www.amazon.com
Engine:
system
Name
Class
TTL
Type
DATA
@
IN
AAAA
2600:9000:2335:8000:7:49a5:5fd4:b121
@
IN
AAAA
2600:9000:2335:fa00:7:49a5:5fd4:b121
@
IN
AAAA
2600:9000:2335:2000:7:49a5:5fd4:b121
@
IN
AAAA
2600:9000:2335:5a00:7:49a5:5fd4:b121
@
IN
AAAA
2600:9000:2335:bc00:7:49a5:5fd4:b121
@
IN
AAAA
2600:9000:2335:5000:7:49a5:5fd4:b121
@
IN
AAAA
2600:9000:2335:c00:7:49a5:5fd4:b121
@
IN
AAAA
2600:9000:2335:7800:7:49a5:5fd4:b121

TCP Connections

Connection to 23.35.190.89:443 succeeded.
Connection to 2600:9000:2335:5000:7:49a5:5fd4:b121:443 was blocked.
Connection to 2600:9000:2335:2000:7:49a5:5fd4:b121:443 was blocked.
Connection to 2600:9000:2335:5a00:7:49a5:5fd4:b121:443 was blocked.
Connection to 2600:9000:2335:7800:7:49a5:5fd4:b121:443 was blocked.
Connection to 2600:9000:2335:8000:7:49a5:5fd4:b121:443 was blocked.
Connection to 2600:9000:2335:bc00:7:49a5:5fd4:b121:443 was blocked.
Connection to 2600:9000:2335:c00:7:49a5:5fd4:b121:443 was blocked.
Connection to 2600:9000:2335:fa00:7:49a5:5fd4:b121:443 was blocked.

HTTP Requests

URL
GET https://www.amazon.com/
Response Headers
Accept-Ch:
ect,rtt,downlink,device-memory,sec-ch-device-memory,viewport-width,sec-ch-viewport-width,dpr,sec-ch-dpr,sec-ch-ua-platform,sec-ch-ua-platform-version
Accept-Ch-Lifetime:
86400
Alt-Svc:
h3=":443"; ma=93600
Cache-Control:
no-cache
Content-Language:
en-US
Content-Security-Policy:
upgrade-insecure-requests;report-uri https://metrics.media-amazon.com/
Content-Security-Policy-Report-Only:
default-src 'self' blob: https: data: mediastream: 'unsafe-eval' 'unsafe-inline';report-uri https://metrics.media-amazon.com/
Content-Type:
text/html;charset=UTF-8
Date:
Sat, 18 Jan 2025 07:34:43 GMT
Expires:
-1
Pragma:
no-cache
Server:
Server
Set-Cookie:
session-id=133-0226288-2822526; Domain=.amazon.com; Expires=Sun, 18-Jan-2026 07:34:43 GMT; Path=/; Secure
Strict-Transport-Security:
max-age=47474747; includeSubDomains; preload
Vary:
Content-Type,Accept-Encoding,User-Agent
X-Amz-Rid:
4N26536XNK54Z8DY664K
X-Amzn-Cdn-Id:
ak-0.d11f3617.1737185683.e5b84e59
X-Cache:
NotCacheable from child
X-Content-Type-Options:
nosniff
X-Frame-Options:
SAMEORIGIN
X-Ua-Compatible:
IE=edge
X-Xss-Protection:
1;
Response Body
<!doctype html><html lang="en-us" class="a-no-js" data-19ax5a9jf="dingo"><!-- sp:feature:head-start -->
<head><script>var aPageStart = (new Date()).getTime();</script><meta charset="utf-8"/>
<!-- sp:end-feature:head-start -->
<!-- sp:feature:csm:head-open-part1 -->

<script type='text/javascript'>var ue_t0=ue_t0||+new Date();</script>
<!-- sp:end-feature:csm:head-open-part1 -->
<!-- sp:feature:cs-optimization -->
<meta http-equiv='x-dns-prefetch-control' content='on'>
<link rel="dns-prefetch" href="https://images-na.ssl-images-amazon.com">
<link rel="dns-prefetch" href="https://m.media-amazon.com">
<link rel="dns-prefetch" href="https://completion.amazon.com">
<!-- sp:end-feature:cs-optimization -->
<!-- sp:feature:csm:head-open-part2 -->
<script type='text/javascript'>
window.ue_ihb = (window.ue_ihb || window.ueinit || 0) + 1;
if (window.ue_ihb === 1) {

var ue_csm = window,
    ue_hob = +new Date();
(function(d){var e=d.ue=d.ue||{},f=Date.now||function(){return+new Date};e.d=function(b){return f()-(b?0:d.ue_t0)};e.stub=function(b,a){if(!b[a]){var c=[];b[a]=function(){c.push([c.slice.call(arguments),e.d(),d.ue_id])};b[a].replay=function(b){for(var a;a=c.shift();)b(a[0],a[1],a[2])};b[a].isStub=1}};e.exec=function(b,a){return function(){try{return b.apply(this,arguments)}catch(c){ueLogError(c,{attribution:a||"undefined",logLevel:"WARN"})}}}})(ue_csm);


    var ue_err_chan = 'jserr-rw';
(function(d,e){function h(f,b){if(!(a.ec>a.mxe)&&f){a.ter.push(f);b=b||{};var c=f.logLevel||b.logLevel;c&&c!==k&&c!==m&&c!==n&&c!==p||a.ec++;c&&c!=k||a.ecf++;b.pageURL=""+(e.location?e.location.href:"");b.logLevel=c;b.attribution=f.attribution||b.attribution;a.erl.push({ex:f,info:b})}}function l(a,b,c,e,g){d.ueLogError({m:a,f:b,l:c,c:""+e,err:g,fromOnError:1,args:arguments},g?{attribution:g.attribution,logLevel:g.logLevel}:void 0);return!1}var k="FATAL",m="ERROR",n="WARN",p="DOWNGRADED",a={ec:0,ecf:0,
pec:0,ts:0,erl:[],ter:[],buffer:[],mxe:50,startTimer:function(){a.ts++;setInterval(function(){d.ue&&a.pec<a.ec&&d.uex("at");a.pec=a.ec},1E4)}};l.skipTrace=1;h.skipTrace=1;h.isStub=1;d.ueLogError=h;d.ue_err=a;e.onerror=l})(ue_csm,window);


var ue_id = '4N26536XNK54Z8DY664K',
    ue_url = '/rd/uedata',
    ue_navtiming = 1,
    ue_mid = 'ATVPDKIKX0DER',
    ue_sid = '133-0226288-2822526',
    ue_sn = 'www.amazon.com',
    ue_furl = 'fls-na.amazon.com',
    ue_surl = 'https://unagi-na.amazon.com/1/events/com.amazon.csm.nexusclient.prod',
    ue_int = 0,
    ue_fcsn = 1,
    ue_urt = 3,
    ue_rpl_ns = 'cel-rpl',
    ue_ddq = 1,
    ue_fpf = '//fls-na.amazon.com/1/batch/1/OP/ATVPDKIKX0DER:133-0226288-2822526:4N26536XNK54Z8DY664K$uedata=s:',
    ue_sbuimp = 1,
    ue_ibft = 0,
    ue_sswmts = 0,
    ue_jsmtf = 0,
    ue_fnt = 0,
    ue_lpsi = 6000,
    ue_no_counters = 1,
    ue_lob = '1',
    ue_sjslob = 0,
    ue_dsbl_cel = 1,

    ue_swi = 1;
var ue_viz=function(){(function(b,f,d){function g(){return(!(p in d)||0<d[p])&&(!(q in d)||0<d[q])}function h(c){if(b.ue.viz.length<w&&!r){var a=c.type;c=c.originalEvent;/^focus./.test(a)&&c&&(c.toElement||c.fromElement||c.relatedTarget)||(a=g()?f[s]||("blur"==a||"focusout"==a?t:u):t,b.ue.viz.push(a+":"+(+new Date-b.ue.t0)),a==u&&(b.ue.isl&&x("at"),r=1))}}for(var r=0,x=b.uex,a,k,l,s,v=["","webkit","o","ms","moz"],e=0,m=1,u="visible",t="hidden",p="innerWidth",q="innerHeight",w=20,n=0;n<v.length&&!e;n++)if(a=
v[n],k=(a?a+"H":"h")+"idden",e="boolean"==typeof f[k])l=a+"visibilitychange",s=(a?a+"V":"v")+"isibilityState";h({});e&&f.addEventListener(l,h,0);m=g()?1:0;d.addEventListener("resize",function(){var a=g()?1:0;m!==a&&(m=a,h({}))},{passive:!0});b.ue&&e&&(b.ue.pageViz={event:l,propHid:k})})(ue_csm,ue_csm.document,ue_csm.window)};

(function(d,h,N){function H(a){return a&&a.replace&&a.replace(/^\s+|\s+$/g,"")}function u(a){return"undefined"===typeof a}function B(a,b){for(var c in b)b[v](c)&&(a[c]=b[c])}function I(a){try{var b=N.cookie.match(RegExp("(^| )"+a+"=([^;]+)"));if(b)return b[2].trim()}catch(c){}}function O(k,b,c){var q=(x||{}).type;if("device"!==c||2!==q&&1!==q)k&&(d.ue_id=a.id=a.rid=k,w&&(w=w.replace(/((.*?:){2})(\w+)/,function(a,b){return b+k})),D&&(e("id",D,k),D=0)),b&&(w&&(w=w.replace(/(.*?:)(\w|-)+/,function(a,
c){return c+b})),d.ue_sid=b),c&&a.tag("page-source:"+c),d.ue_fpf=w}function P(){var a={};return function(b){b&&(a[b]=1);b=[];for(var c in a)a[v](c)&&b.push(c);return b}}function y(d,b,c,q){q=q||+new E;var g,m;if(b||u(c)){if(d)for(m in g=b?e("t",b)||e("t",b,{}):a.t,g[d]=q,c)c[v](m)&&e(m,b,c[m]);return q}}function e(d,b,c){var e=b&&b!=a.id?a.sc[b]:a;e||(e=a.sc[b]={});"id"===d&&c&&(Q=1);return e[d]=c||e[d]}function R(d,b,c,e,g){c="on"+c;var m=b[c];"function"===typeof m?d&&(a.h[d]=m):m=function(){};b[c]=
function(a){g?(e(a),m(a)):(m(a),e(a))};b[c]&&(b[c].isUeh=1)}function S(k,b,c,q){function p(b,c){var d=[b],f=0,g={},m,h;c?(d.push("m=1"),g[c]=1):g=a.sc;for(h in g)if(g[v](h)){var q=e("wb",h),p=e("t",h)||{},n=e("t0",h)||a.t0,l;if(c||2==q){q=q?f++:"";d.push("sc"+q+"="+h);for(l in p)u(p[l])||null===p[l]||d.push(l+q+"="+(p[l]-n));d.push("t"+q+"="+p[k]);if(e("ctb",h)||e("wb",h))m=1}}!J&&m&&d.push("ctb=1");return d.join("&")}function m(b,c,f,e,g){if(b){var k=d.ue_err;d.ue_url&&!e&&!g&&b&&0<b.length&&(e=
new Image,a.iel.push(e),e.src=b,a.count&&a.count("postbackImageSize",b.length));w?(g=h.encodeURIComponent)&&b&&(e=new Image,b=""+d.ue_fpf+g(b)+":"+(+new E-d.ue_t0),a.iel.push(e),e.src=b):a.log&&(a.log(b,"uedata",{n:1}),a.ielf.push(b));k&&!k.ts&&k.startTimer();a.b&&(k=a.b,a.b="",m(k,c,f,1))}}function A(b){var c=x?x.type:F,d=2==c||a.isBFonMshop,c=c&&!d,f=a.bfini;if(!Q||a.isBFCache)f&&1<f&&(b+="&bfform=1",c||(a.isBFT=f-1)),d&&(b+="&bfnt=1",a.isBFT=a.isBFT||1),a.ssw&&a.isBFT&&(a.isBFonMshop&&(a.isNRBF=
0),u(a.isNRBF)&&(d=a.ssw(a.oid),d.e||u(d.val)||(a.isNRBF=1<d.val?0:1)),u(a.isNRBF)||(b+="&nrbf="+a.isNRBF)),a.isBFT&&!a.isNRBF&&(b+="&bft="+a.isBFT);return b}if(!a.paused&&(b||u(c))){for(var l in c)c[v](l)&&e(l,b,c[l]);a.isBFonMshop||y("pc",b,c);l="ld"===k&&b&&e("wb",b);var s=e("id",b)||a.id;l||s===a.oid||(D=b,ba(s,(e("t",b)||{}).tc||+e("t0",b),+e("t0",b)));var s=e("id",b)||a.id,t=e("id2",b),f=a.url+"?"+k+"&v="+a.v+"&id="+s,J=e("ctb",b)||e("wb",b),z;J&&(f+="&ctb="+J);t&&(f+="&id2="+t);1<d.ueinit&&
(f+="&ic="+d.ueinit);if(!("ld"!=k&&"ul"!=k||b&&b!=s)){if("ld"==k){try{h[K]&&h[K].isUeh&&(h[K]=null)}catch(I){}if(h.chrome)for(t=0;t<L.length;t++)T(G,L[t]);(t=N.ue_backdetect)&&t.ue_back&&t.ue_back.value++;d._uess&&(z=d._uess());a.isl=1}a._bf&&(f+="&bf="+a._bf());d.ue_navtiming&&g&&(e("ctb",s,"1"),a.isBFonMshop||y("tc",F,F,M));!C||a.isBFonMshop||U||(g&&B(a.t,{na_:g.navigationStart,ul_:g.unloadEventStart,_ul:g.unloadEventEnd,rd_:g.redirectStart,_rd:g.redirectEnd,fe_:g.fetchStart,lk_:g.domainLookupStart,
_lk:g.domainLookupEnd,co_:g.connectStart,_co:g.connectEnd,sc_:g.secureConnectionStart,rq_:g.requestStart,rs_:g.responseStart,_rs:g.responseEnd,dl_:g.domLoading,di_:g.domInteractive,de_:g.domContentLoadedEventStart,_de:g.domContentLoadedEventEnd,_dc:g.domComplete,ld_:g.loadEventStart,_ld:g.loadEventEnd,ntd:("function"!==typeof C.now||u(M)?0:new E(M+C.now())-new E)+a.t0}),x&&B(a.t,{ty:x.type+a.t0,rc:x.redirectCount+a.t0}),U=1);a.isBFonMshop||B(a.t,{hob:d.ue_hob,hoe:d.ue_hoe});a.ifr&&(f+="&ifr=1")}y(k,
b,c,q);var r,n;l||b&&b!==s||ca(b);(c=d.ue_mbl)&&c.cnt&&!l&&(f+=c.cnt());l?e("wb",b,2):"ld"==k&&(a.lid=H(s));for(r in a.sc)if(1==e("wb",r))break;if(l){if(a.s)return;f=p(f,null)}else c=p(f,null),c!=f&&(c=A(c),a.b=c),z&&(f+=z),f=p(f,b||a.id);f=A(f);if(a.b||l)for(r in a.sc)2==e("wb",r)&&delete a.sc[r];z=0;a._rt&&(f+="&rt="+a._rt());c=h.csa;if(!l&&c)for(n in r=e("t",b)||{},c=c("PageTiming"),r)r[v](n)&&c("mark",da[n]||n,r[n]);l||(a.s=0,(n=d.ue_err)&&0<n.ec&&n.pec<n.ec&&(n.pec=n.ec,f+="&ec="+n.ec+"&ecf="+
n.ecf),z=e("ctb",b),"ld"!==k||b||a.markers?a.markers&&a.isl&&!l&&b&&B(a.markers,e("t",b)):(a.markers={},B(a.markers,e("t",b))),e("t",b,{}));a.tag&&a.tag().length&&(f+="&csmtags="+a.tag().join("|"),a.tag=P());n=a.viz||[];(r=n.length)&&(f+="&viz="+n.splice(0,r).join("|"));u(d.ue_pty)||(f+="&pty="+d.ue_pty+"&spty="+d.ue_spty+"&pti="+d.ue_pti);a.tabid&&(f+="&tid="+a.tabid);a.aftb&&(f+="&aftb=1");!a._ui||b&&b!=s||(f+=a._ui());f+="&lob="+(d.ue_lob||"0");a.a=f;m(f,k,z,l,b&&"string"===typeof b&&-1!==b.indexOf("csa:"))}}
function ca(a){var b=h.ue_csm_markers||{},c;for(c in b)b[v](c)&&y(c,a,F,b[c])}function A(a,b,c){c=c||h;if(c[V])c[V](a,b,!1);else if(c[W])c[W]("on"+a,b)}function T(a,b,c){c=c||h;if(c[X])c[X](a,b,!1);else if(c[Y])c[Y]("on"+a,b)}function Z(){function a(){d.onUl()}function b(a){return function(){c[a]||(c[a]=1,S(a))}}var c={},e,g;d.onLd=b("ld");d.onLdEnd=b("ld");d.onUl=b("ul");e={stop:b("os")};h.chrome?(A(G,a),L.push(a)):e[G]=d.onUl;for(g in e)e[v](g)&&R(0,h,g,e[g]);d.ue_viz&&ue_viz();A("load",d.onLd);
y("ue")}function ba(e,b,c){var g=d.ue_mbl,p=h.csa,m=p&&p("SPA"),p=p&&p("PageTiming");g&&g.ajax&&g.ajax(b,c);m&&p&&(m("newPage",{requestId:e,transitionType:"soft"}),p("mark","transitionStart",b));a.tag("ajax-transition")}d.ueinit=(d.ueinit||0)+1;var a=d.ue=d.ue||{};a.t0=h.aPageStart||d.ue_t0;a.id=d.ue_id;a.url=d.ue_url;a.rid=d.ue_id;a.a="";a.b="";a.h={};a.s=1;a.t={};a.sc={};a.iel=[];a.ielf=[];a.viz=[];a.v="0.304742.0";a.paused=!1;var v="hasOwnProperty",G="beforeunload",K="on"+G,V="addEventListener",
X="removeEventListener",W="attachEvent",Y="detachEvent",da={cf:"criticalFeature",af:"aboveTheFold",fn:"functional",fp:"firstPaint",fcp:"firstContentfulPaint",bb:"bodyBegin",be:"bodyEnd",ld:"loaded"},E=h.Date,C=h.performance||h.webkitPerformance,g=(C||{}).timing,x=(C||{}).navigation,M=(g||{}).navigationStart,w=d.ue_fpf,Q=0,U=0,L=[],D=0,F;a.oid=H(a.id);a.lid=H(a.id);a._t0=a.t0;a.tag=P();a.ifr=h.top!==h.self||h.frameElement?1:0;a.markers=null;a.attach=A;a.detach=T;if("000-0000000-8675309"===d.ue_sid){var $=
I("cdn-rid"),aa=I("session-id");$&&aa&&O($,aa,"cdn")}d.uei=Z;d.ueh=R;d.ues=e;d.uet=y;d.uex=S;a.reset=O;a.pause=function(d){a.paused=d};Z()})(ue_csm,ue_csm.window,ue_csm.document);


ue.stub(ue,"event");ue.stub(ue,"onSushiUnload");ue.stub(ue,"onSushiFlush");

ue.stub(ue,"log");ue.stub(ue,"onunload");ue.stub(ue,"onflush");
(function(b){function g(){var a={requestId:b.ue_id||"rid",server:b.ue_sn||"sn",obfuscatedMarketplaceId:b.ue_mid||"mid"};b.ue_sjslob&&(a.lob=b.ue_lob||"0");return a}var a=b.ue,h=1===b.ue_no_counters;a.cv={};a.cv.scopes={};a.cv.buffer=[];a.count=function(b,f,c){var e={},d=a.cv,g=c&&0===c.c;e.counter=b;e.value=f;e.t=a.d();c&&c.scope&&(d=a.cv.scopes[c.scope]=a.cv.scopes[c.scope]||{},e.scope=c.scope);if(void 0===f)return d[b];d[b]=f;d=0;c&&c.bf&&(d=1);h||(ue_csm.ue_sclog||!a.clog||0!==d||g?a.log&&a.log(e,
"csmcount",{c:1,bf:d}):a.clog(e,"csmcount",{bf:d}));a.cv.buffer.push({c:b,v:f})};a.count("baselineCounter2",1);a&&a.event&&(a.event(g(),"csm","csm.CSMBaselineEvent.4"),a.count("nexusBaselineCounter",1,{bf:1}))})(ue_csm);



var ue_hoe = +new Date();
}
window.ueinit = window.ue_ihb;
</script>

<!-- kxc2tbw16bamekoih6jmc7hcp -->
<script>window.ue && ue.count && ue.count('CSMLibrarySize', 10191)</script>
<!-- sp:end-feature:csm:head-open-part2 -->
<!-- sp:feature:aui-assets -->
<link rel="stylesheet" href="https://m.media-amazon.com/images/I/11EIQ5IGqaL._RC|01ZTHTZObnL.css,51FIeTurRAL.css,31fFxDf00KL.css,11j2+ObrspL.css,01qDClimA1L.css,01pOTCa2wPL.css,413Vvv3GONL.css,11TIuySqr6L.css,01Rw4F+QU6L.css,11JJsNcqOIL.css,01J3raiFJrL.css,01IdKcBuAdL.css,014QJx7nWqL.css,21Otytu1xYL.css,01Sv7-fQIGL.css,51vh6Mh74TL.css,01XPHJk60-L.css,11ChJlzZQoL.css,01UgxIH-BSL.css,01fxuupJToL.css,21+W7u4fDzL.css,11wazUu-8nL.css,21RWaJb6t+L.css,11I+YZzE7kL.css,211Xmr7zN2L.css,01CFUgsA-YL.css,31WWobXdJQL.css,116t+WD27UL.css,111bsezNMhL.css,11tNhCU--0L.css,11msBd9oOTL.css,11BO1RWH3kL.css,011ylpySXkL.css,21Dzvx3cZoL.css,11Wb9slw7JL.css,01uDrkI-EcL.css,215Q9RsWvdL.css,113EFChyAjL.css,11hvENnYNUL.css,11Qek6G6pNL.css,01890+Vwk8L.css,014VAMpg+ZL.css,01qiwJ7qDfL.css,21TAMzcrOKL.css,016mfgi+D2L.css,01gU3ljx0fL.css,21l8QuSB5IL.css,013-xYw+SRL.css_.css?AUIClients/AmazonUI#us.not-trident" />
<script>
(function(b,a,c,d){if((b=b.AmazonUIPageJS||b.P)&&b.when&&b.register){c=[];for(a=a.currentScript;a;a=a.parentElement)a.id&&c.push(a.id);return b.log("A copy of P has already been loaded on this page.","FATAL",c.join(" "))}})(window,document,Date);(function(a,b,c,d){"use strict";a._pSetI=function(){return null}})(window,document,Date);(function(d,I,K,L){"use strict";d._sw=function(){var p;return function(w,g,u,B,h,C,q,k,x,y){p||(p=!0,y.execute("RetailPageServiceWorker",function(){function z(a,b){e.controller&&a?(a={feature:"retail_service_worker_messaging",command:a},b&&(a.data=b),e.controller.postMessage(a)):a&&h("sw:sw_message_no_ctrl",1)}function p(a){var b=a.data;if(b&&"retail_service_worker_messaging"===b.feature&&b.command&&b.data){var c=b.data;a=d.ue;var f=d.ueLogError;switch(b.command){case "log_counter":a&&k(a.count)&&
c.name&&a.count(c.name,0===c.value?0:c.value||1);break;case "log_tag":a&&k(a.tag)&&c.tag&&(a.tag(c.tag),b=d.uex,a.isl&&k(b)&&b("at"));break;case "log_error":f&&k(f)&&c.message&&f({message:c.message,logLevel:c.level||"ERROR",attribution:c.attribution||"RetailServiceWorker"});break;case "log_weblab_trigger":if(!c.weblab||!c.treatment)break;a&&k(a.trigger)?a.trigger(c.weblab,c.treatment):(h("sw:wt:miss"),h("sw:wt:miss:"+c.weblab+":"+c.treatment));break;default:h("sw:unsupported_message_command",1)}}}
function v(a,b){return"sw:"+(b||"")+":"+a+":"}function D(a,b){e.register("/service-worker.js").then(function(){h(a+"success")}).catch(function(c){y.logError(c,"[AUI SW] Failed to "+b+" service worker: ","ERROR","RetailPageServiceWorker");h(a+"failure")})}function E(){l.forEach(function(a){q(a)})}function n(a){return a.capabilities.isAmazonApp&&a.capabilities.android}function F(a,b,c){if(b)if(b.mshop&&n(a))a=v(c,"mshop_and"),b=b.mshop.action,l.push(a+"supported"),b(a,c);else if(b.browser){a=u(/Chrome/i)&&
!u(/Edge/i)&&!u(/OPR/i)&&!a.capabilities.isAmazonApp&&!u(new RegExp(B+"bwv"+B+"b"));var f=b.browser;b=v(c,"browser");a?(a=f.action,l.push(b+"supported"),a(b,c)):l.push(b+"unsupported")}}function G(a,b,c){a&&l.push(v("register",c)+"unsupported");b&&l.push(v("unregister",c)+"unsupported");E()}try{var e=navigator.serviceWorker}catch(a){q("sw:nav_err")}(function(){if(e){var a=function(){z("page_loaded",{rid:d.ue_id,mid:d.ue_mid,pty:d.ue_pty,sid:d.ue_sid,spty:d.ue_spty,furl:d.ue_furl})};x(e,"message",
p);z("client_messaging_ready");y.when("load").execute(a);x(e,"controllerchange",function(){z("client_messaging_ready");"complete"===I.readyState&&a()})}})();var l=[],m=function(a,b){var c=d.uex,f=d.uet;a=g(":","aui","sw",a);"ld"===b&&k(c)?c("ld",a,{wb:1}):k(f)&&f(b,a,{wb:1})},J=function(a,b,c){function f(a){b&&k(b.failure)&&b.failure(a)}function H(){l=setTimeout(function(){q(g(":","sw:"+r,t.TIMED_OUT));f({ok:!1,statusCode:t.TIMED_OUT,done:!1});m(r,"ld")},c||4E3)}var t={NO_CONTROLLER:"no_ctrl",TIMED_OUT:"timed_out",
UNSUPPORTED_BROWSER:"unsupported_browser",UNEXPECTED_RESPONSE:"unexpected_response"},r=g(":",a.feature,a.command),l,n=!0;if("MessageChannel"in d&&e&&"controller"in e)if(e.controller){var p=new MessageChannel;p.port1.onmessage=function(c){(c=c.data)&&c.feature===a.feature&&c.command===a.command?(n&&(m(r,"cf"),n=!1),m(r,"af"),clearTimeout(l),c.done||H(),c.ok?b&&k(b.success)&&b.success(c):f(c),c.done&&m(r,"ld")):h(g(":","sw:"+r,t.UNEXPECTED_RESPONSE),1)};H();m(r,"bb");e.controller.postMessage(a,[p.port2])}else q(g(":",
"sw:"+a.feature,t.NO_CONTROLLER)),f({ok:!1,statusCode:t.NO_CONTROLLER,done:!0});else q(g(":","sw:"+a.feature,t.UNSUPPORTED_BROWSER)),f({ok:!1,statusCode:t.UNSUPPORTED_BROWSER,done:!0})};(function(){e?(m("ctrl_changed","bb"),e.addEventListener("controllerchange",function(){q("sw:ctrl_changed");m("ctrl_changed","ld")})):h(g(":","sw:ctrl_changed","sw_unsupp"),1)})();(function(){var a=function(){m(b,"ld");var a=d.uex;J({feature:"page_proxy",command:"request_feature_tags"},{success:function(b){b=b.data;
Array.isArray(b)&&b.forEach(function(a){"string"===typeof a?q(g(":","sw:ppft",a)):h(g(":","sw:ppft","invalid_tag"),1)});h(g(":","sw:ppft","success"),1);C&&C.isl&&k(a)&&a("at")},failure:function(a){h(g(":","sw:ppft","error:"+(a.statusCode||"ppft_error")),1)}})};if("requestIdleCallback"in d){var b=g(":","ppft","callback_ricb");d.requestIdleCallback(a,{timeout:1E3})}else b=g(":","ppft","callback_timeout"),setTimeout(a,0);m(b,"bb")})();var A={reg:{},unreg:{}};A.reg.mshop={action:D};A.reg.browser={action:D};
(function(a){var b=a.reg,c=a.unreg;e&&e.getRegistrations?(w.when("A").execute(function(b){if((a.reg.mshop||a.unreg.mshop)&&"function"===typeof n&&n(b)){var f=a.reg.mshop?"T1":"C",e=d.ue;e&&e.trigger?e.trigger("MSHOP_SW_CLIENT_446196",f):h("sw:mshop:wt:failed")}F(b,c,"unregister")}),x(d,"load",function(){w.when("A").execute(function(a){F(a,b,"register");E()})})):(G(b&&b.browser,c&&c.browser,"browser"),w.when("A").execute(function(a){"function"===typeof n&&n(a)&&G(b&&b.mshop,c&&c.mshop,"mshop_and")}))})(A)}))}}()})(window,
document,Date);(function(b,a,J,C){"use strict";b._pd=function(){var c,v;return function(D,e,g,h,d,E,w,F,G){function x(b){try{return b()}catch(K){return!1}}function p(c){return b.matchMedia?b.matchMedia(c):{matches:!1}}function k(){if(l){var y=c.mobile||c.tablet?q.matches&&m.matches:m.matches;if(z!==y){var a={w:b.innerWidth||d.clientWidth,h:b.innerHeight||d.clientHeight};if(17<Math.abs(r.w-a.w)||50<Math.abs(r.h-a.h))r=a,(z=y)?h(d,"a-ws"):d.className=w(d,"a-ws")}}}function H(b){(l=b===C?!l:!!b)&&k()}function I(){return l}
if(!v){v=!0;var t=function(){var b=["O","ms","Moz","Webkit"],c=a.createElement("div");return{testGradients:function(){return!0},test:function(a){var d=a.charAt(0).toUpperCase()+a.substr(1);a=(b.join(d+" ")+d+" "+a).split(" ");for(d=a.length;d--;)if(""===c.style[a[d]])return!0;return!1},testTransform3d:function(){return!0}}}();g=d.className;var A=/(^| )a-mobile( |$)/.test(g),B=/(^| )a-tablet( |$)/.test(g);c={audio:function(){return!!a.createElement("audio").canPlayType},video:function(){return!!a.createElement("video").canPlayType},
canvas:function(){return!!a.createElement("canvas").getContext},svg:function(){return!!a.createElementNS&&!!a.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect},offline:function(){return navigator.hasOwnProperty&&navigator.hasOwnProperty("onLine")&&navigator.onLine},dragDrop:function(){return"draggable"in a.createElement("span")},geolocation:function(){return!!navigator.geolocation},history:function(){return!(!b.history||!b.history.pushState)},webworker:function(){return!!b.Worker},
autofocus:function(){return"autofocus"in a.createElement("input")},inputPlaceholder:function(){return"placeholder"in a.createElement("input")},textareaPlaceholder:function(){return"placeholder"in a.createElement("textarea")},localStorage:function(){return"localStorage"in b&&null!==b.localStorage},orientation:function(){return"orientation"in b},touch:function(){return"ontouchend"in a},gradients:function(){return t.testGradients()},hires:function(){var a=b.devicePixelRatio&&1.5<=b.devicePixelRatio||
b.matchMedia&&b.matchMedia("(min-resolution:144dpi)").matches;F("hiRes"+(A?"Mobile":B?"Tablet":"Desktop"),a?1:0);return a},transform3d:function(){return t.testTransform3d()},touchScrolling:function(){return e(/Windowshop|android|OS ([5-9]|[1-9][0-9]+)(_[0-9]{1,2})+ like Mac OS X|SOFTWARE=([5-9]|[1-9][0-9]+)(.[0-9]{1,2})+.*DEVICE=iPhone|Chrome|Silk|Firefox|Trident.+?; Touch/i)},ios:function(){return e(/OS [1-9][0-9]*(_[0-9]*)+ like Mac OS X/i)&&!e(/trident|Edge/i)},android:function(){return e(/android.([1-9]|[L-Z])/i)&&
!e(/trident|Edge/i)},mobile:function(){return A},tablet:function(){return B},rtl:function(){return"rtl"===d.dir}};for(var f in c)c.hasOwnProperty(f)&&(c[f]=x(c[f]));for(var u="textShadow textStroke boxShadow borderRadius borderImage opacity transform transition".split(" "),n=0;n<u.length;n++)c[u[n]]=x(function(){return t.test(u[n])});var l=!0,r={w:0,h:0},q=p("(orientation:landscape)"),m=c.mobile||c.tablet?p("(min-width:451px)"):p("(min-width:1250px)");q.addListener&&q.addListener(k);m.addListener&&
m.addListener(k);var z;k();d.className=w(d,"a-no-js");h(d,"a-js");!e(/OS [1-8](_[0-9]*)+ like Mac OS X/i)||b.navigator.standalone||e(/safari/i)||h(d,"a-ember");g=[];for(f in c)c.hasOwnProperty(f)&&c[f]&&g.push("a-"+f.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()}));h(d,g.join(" "));d.setAttribute("data-aui-build-date",G);D.register("p-detect",function(){return{capabilities:c,localStorage:c.localStorage&&E,toggleResponsiveGrid:H,responsiveGridEnabled:I}});return c||{}}}}()})(window,document,
Date);(function(g,l,C,D){function E(a){n&&n.tag&&n.tag(p(":","aui",a))}function m(a,b){n&&n.count&&n.count("aui:"+a,0===b?0:b||(n.count("aui:"+a)||0)+1)}function F(a){try{return a.test(navigator.userAgent)}catch(b){return!1}}function G(a){return"function"===typeof a}function u(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,c)}function p(a,b,c,f){b=b&&c?b+a+c:b||c;return f?p(a,b,f):b}function y(a,b,c){try{Object.defineProperty(a,b,{value:c,writable:!1})}catch(f){a[b]=
c}return c}function O(a,b){a.className=P(a,b)+" "+b}function P(a,b){return(" "+a.className+" ").split(" "+b+" ").join(" ").replace(/^ | $/g,"")}function ca(a,b,c){var f=c=a.length,e=function(){f--||(H.push(b),I||(q?q.set(z):setTimeout(z,0),I=!0))};for(e();c--;)Q[a[c]]?e():(v[a[c]]=v[a[c]]||[]).push(e)}function da(a,b,c,f,e){var d=l.createElement(a?"script":"link");u(d,"error",f);e&&u(d,"load",e);a?(d.type="text/javascript",d.async=!0,c&&/AUIClients|images[/]I/.test(b)&&d.setAttribute("crossorigin",
"anonymous"),d.src=b):(d.rel="stylesheet",d.href=b);l.getElementsByTagName("head")[0].appendChild(d)}function R(a,b){return function(c,f){function e(){da(b,c,d,function(b){J?m("resource_unload"):d?(d=!1,m("resource_retry"),e()):(m("resource_error"),a.log("Asset failed to load: "+c));b&&b.stopPropagation?b.stopPropagation():g.event&&(g.event.cancelBubble=!0)},f)}if(S[c])return!1;S[c]=!0;m("resource_count");var d=!0;return!e()}}function ea(a,b,c){for(var f={name:a,guard:function(c){return b.guardFatal(a,
c)},guardTime:function(a){return b.guardTime(a)},logError:function(c,d,e){b.logError(c,d,e,a)}},e=[],d=0;d<c.length;d++)A.hasOwnProperty(c[d])&&(e[d]=K.hasOwnProperty(c[d])?K[c[d]](A[c[d]],f):A[c[d]]);return e}function w(a,b,c,f,e){return function(d,k){function n(){var a=null;f?a=k:G(k)&&(q.start=r(),a=k.apply(g,ea(d,h,l)),q.end=r());if(b){A[d]=a;a=d;for(Q[a]=!0;(v[a]||[]).length;)v[a].shift()();delete v[a]}q.done=!0}var h=e||this;G(d)&&(k=d,d=D);b&&(d=d?d.replace(T,""):"__NONAME__",L.hasOwnProperty(d)&&
h.error(p(", reregistered by ",p(" by ",d+" already registered",L[d]),h.attribution),d),L[d]=h.attribution);for(var l=[],m=0;m<a.length;m++)l[m]=a[m].replace(T,"");var q=x[d||"anon"+ ++fa]={depend:l,registered:r(),namespace:h.namespace};d&&ha.hasOwnProperty(d);c?n():ca(l,h.guardFatal(d,n),d);return{decorate:function(a){K[d]=h.guardFatal(d,a)}}}}function U(a){return function(){var b=Array.prototype.slice.call(arguments);return{execute:w(b,!1,a,!1,this),register:w(b,!0,a,!1,this)}}}function M(a,b){return function(c,
f){f||(f=c,c=D);var e=this.attribution;return function(){h.push(b||{attribution:e,name:c,logLevel:a});var d=f.apply(this,arguments);h.pop();return d}}}function B(a,b){this.load={js:R(this,!0),css:R(this)};y(this,"namespace",b);y(this,"attribution",a)}function V(){l.body?k.trigger("a-bodyBegin"):setTimeout(V,20)}"use strict";var t=C.now=C.now||function(){return+new C},r=function(a){return a&&a.now?a.now.bind(a):t}(g.performance),ia=r(),ha={},n=g.ue;E();E("aui_build_date:3.24.11-2025-01-15");var W=
{getItem:function(a){try{return g.localStorage.getItem(a)}catch(b){}},setItem:function(a,b){try{return g.localStorage.setItem(a,b)}catch(c){}}},q=g._pSetI(),H=[],ja=[],I=!1,ka=navigator.scheduling&&"function"===typeof navigator.scheduling.isInputPending;var z=function(){for(var a=q?q.set(z):setTimeout(z,0),b=t();ja.length||H.length;)if(H.shift()(),q&&ka){if(150<t()-b&&!navigator.scheduling.isInputPending()||50<t()-b&&navigator.scheduling.isInputPending())return}else if(50<t()-b)return;q?q.clear(a):
clearTimeout(a);I=!1};var Q={},v={},S={},J=!1;u(g,"beforeunload",function(){J=!0;setTimeout(function(){J=!1},1E4)});var T=/^prv:/,L={},A={},K={},x={},fa=0,X=String.fromCharCode(92),h=[],Y=!0,Z=g.onerror;g.onerror=function(a,b,c,f,e){e&&"object"===typeof e||(e=Error(a,b,c),e.columnNumber=f,e.stack=b||c||f?p(X,e.message,"at "+p(":",b,c,f)):D);var d=h.pop()||{};e.attribution=p(":",e.attribution||d.attribution,d.name);e.logLevel=d.logLevel;e.attribution&&console&&console.log&&console.log([e.logLevel||
"ERROR",a,"thrown by",e.attribution].join(" "));h=[];Z&&(d=[].slice.call(arguments),d[4]=e,Z.apply(g,d))};B.prototype={logError:function(a,b,c,f){b={message:b,logLevel:c||"ERROR",attribution:p(":",this.attribution,f)};if(g.ueLogError)return g.ueLogError(a||b,a?b:null),!0;console&&console.error&&(console.log(b),console.error(a));return!1},error:function(a,b,c,f){a=Error(p(":",f,a,c));a.attribution=p(":",this.attribution,b);throw a;},guardError:M(),guardFatal:M("FATAL"),guardCurrent:function(a){var b=
h[h.length-1];return b?M(b.logLevel,b).call(this,a):a},guardTime:function(a){var b=h[h.length-1],c=b&&b.name;return c&&c in x?function(){var b=r(),e=a.apply(this,arguments);x[c].async=(x[c].async||0)+r()-b;return e}:a},log:function(a,b,c){return this.logError(null,a,b,c)},declare:w([],!0,!0,!0),register:w([],!0),execute:w([]),AUI_BUILD_DATE:"3.24.11-2025-01-15",when:U(),now:U(!0),trigger:function(a,b,c){var f=t();this.declare(a,{data:b,pageElapsedTime:f-(g.aPageStart||NaN),triggerTime:f});c&&c.instrument&&
N.when("prv:a-logTrigger").execute(function(b){b(a)})},handleTriggers:function(){this.log("handleTriggers deprecated")},attributeErrors:function(a){return new B(a)},_namespace:function(a,b){return new B(a,b)},setPriority:function(a){Y?Y=!1:this.log("setPriority only accept the first call.")}};var k=y(g,"AmazonUIPageJS",new B);var N=k._namespace("PageJS","AmazonUI");N.declare("prv:p-debug",x);k.declare("p-recorder-events",[]);k.declare("p-recorder-stop",function(){});y(g,"P",k);V();if(l.addEventListener){var aa;
l.addEventListener("DOMContentLoaded",aa=function(){k.trigger("a-domready");l.removeEventListener("DOMContentLoaded",aa,!1)},!1)}var ba=l.documentElement,la=g._pd(k,F,u,O,ba,W,P,m,"3.24.11-2025-01-15");F(/UCBrowser/i)||la.localStorage&&O(ba,W.getItem("a-font-class"));k.declare("a-event-revised-handling",!1);g._sw(N,p,F,X,m,n,E,G,u,k);k.declare("a-fix-event-off",!1);m("pagejs:pkgExecTime",r()-ia)})(window,document,Date);
(function(b){function q(a,e,d){function g(a,b,c){var f=Array(e.length);~l&&(f[l]={});~m&&(f[m]=c);for(c=0;c<n.length;c++){var g=n[c],h=a[c];f[g]=h}for(c=0;c<p.length;c++)g=p[c],h=b[c],f[g]=h;a=d.apply(null,f);return~l?f[l]:a}"string"!==typeof a&&b.P.error("C001");-1===a.indexOf("@")&&-1<a.indexOf("/")&&(-1<a.indexOf("es3")||-1<a.indexOf("evergreen"))&&(a=a.substring(0,a.lastIndexOf("/")));if(!r[a]){r[a]=!0;d||(d=e,e=[]);a=a.split(":",2);var c=a[1]?a[0]:void 0,f=(a[1]||a[0]).replace(/@capability\//,
"@c/"),k=c?b.P._namespace(c):b.P,t=!f.lastIndexOf("@c/",0),u=!f.lastIndexOf("@m/",0),n=[];a=[];var p=[],v=[],m=-1,l=-1;for(c=0;c<e.length;c++){var h=e[c];"module"===h&&k.error("C002");"exports"===h?l=c:"require"===h?m=c:h.lastIndexOf("@p/",0)?h.lastIndexOf("@c/",0)&&h.lastIndexOf("@m/",0)?(n.push(c),a.push("mix:"+h)):(p.push(c),v.push(h)):(n.push(c),a.push(h.substr(3)))}k.when.apply(k,a).register("mix:"+f,function(){var a=[].slice.call(arguments);return t||u||~m||p.length?{capabilities:v,cardModuleFactory:function(b,
c){b=g(a,b,c);b.P=k;return b},require:~m?q:void 0}:g(a,[],function(){})});(t||u)&&k.when("mix:@amzn/mix.client-runtime","mix:"+f).execute(function(a,b){a.registerCapabilityModule(f,b)});k.when("mix:"+f).register("xcp:"+f,function(a){return a});var q=function(a,b,c){try{var e=-1<f.indexOf("/")?f.split("/")[0]:f,d=a[0],g=d.lastIndexOf("./",0)?d:e+"/"+d.substr(2),h=g.lastIndexOf("@p/",0)?"mix:"+g:g.substr(3);k.when(h).execute(function(a){try{b(a)}catch(x){c(x)}})}catch(w){c(w)}}}}"use strict";var r=
{};b.mix_d||((b.Promise?P:P.when("3p-promise")).register("@p/promise-is-ready",function(a){b.Promise=b.Promise||a}),(Array.prototype.includes?P:P.when("a-polyfill")).register("@p/polyfill-is-ready",function(){}),b.mix_d=function(a,b,d){P.when("@p/promise-is-ready","@p/polyfill-is-ready").execute("@p/mix-d-deps",function(){q(a,b,d)})},b.xcp_d=b.mix_d,P.when("mix:@amzn/mix.client-runtime").execute(function(a){P.declare("xcp:@xcp/runtime",a)}));b.mixTimeout||(b.mixTimeout=function(a,e,d){b.mixCardInitTimeouts||
(b.mixCardInitTimeouts={});b.mixCardInitTimeouts[e]&&clearTimeout(b.mixCardInitTimeouts[e]);b.mixCardInitTimeouts[e]=setTimeout(function(){P.log("Client-side initialization timeout","WARN",a)},d)});b.mix_csa_map=b.mix_csa_map||{};b.mix_csa_internal=b.mix_csa_internal||function(a,e,d){return b.mix_csa_map[e]=b.mix_csa_map[e]||b.csa(a,d)};b.mix_csa_internal_key=b.mix_csa_internal_key||function(a,b){for(var d="",e=0;e<b.length;e++){var c=b[e];void 0!==a[c]&&"object"!==typeof a[c]&&(d+=c+":"+a[c]+",")}if(!d)throw Error("bad mix-csa key gen.");
return d};b.mix_csa_event=b.mix_csa_event||function(a){try{var e=b.mix_csa_internal_key(a,["producerId"])}catch(d){return P.logError(d,"MIX C005","WARN",void 0),function(){}}try{return b.mix_csa_internal("Events",e,a)}catch(d){return P.logError(d,"MIX C004","WARN",e),function(){}}};b.mix_csa=b.mix_csa||function(a,e){try{e=e||"";var d=document.querySelectorAll(a);if(1<d.length)for(var g=0;g<d.length;g++){if(d[g].querySelector(e)){var c=d[g];break}}else 1===d.length&&(c=d[0]);if(!c)throw Error(" ");
return b.mix_csa_internal("Content",a,{element:c})}catch(f){return P.logError(f,"MIX C004","WARN",a),function(){}}}})(window);
  (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://m.media-amazon.com/images/I/61xJcNKKLXL.js?AUIClients/AmazonUIjQuery');
(window.AmazonUIPageJS ? AmazonUIPageJS : P).when('sp.load.js').execute(function() {
  (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://m.media-amazon.com/images/I/11zuylp74DL._RC|11Y+5x+kkTL.js,51F3LXOLEtL.js,11yKORv-GTL.js,11GgN1+C7hL.js,01+z+uIeJ-L.js,01VRMV3FBdL.js,21u+kGQyRqL.js,012FVc3131L.js,11aD5q6kNBL.js,11rRjDLdAVL.js,51zH7YD-TsL.js,11nAhXzgUmL.js,119kvzYmMJL.js,1110g-SvlBL.js,11npBNHo-jL.js,21eKR4hvwNL.js,0190vxtlzcL.js,51xvEQZx5oL.js,01JYHc2oIlL.js,31nfKXylf6L.js,01ktRCtOqKL.js,01ASnt2lbqL.js,11bEz2VIYrL.js,31o2NGTXThL.js,01rpauTep4L.js,31N+6dLod0L.js,01tvglXfQOL.js,11+FwJUUPNL.js,014gnDeJDsL.js,11vb6P5C5AL.js,01xsebo5tEL.js_.js?AUIClients/AmazonUI');
  (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://m.media-amazon.com/images/I/51tQKx1B9KL.js?AUIClients/CardJsRuntimeBuzzCopyBuild');
});
</script>
<!-- sp:end-feature:aui-assets -->
<!-- sp:feature:nav-inline-css -->
<!-- NAVYAAN CSS -->

<style type="text/css">
.nav-sprite-v1 .nav-sprite, .nav-sprite-v1 .nav-icon {
  background-image: url(https://m.media-amazon.com/images/G/01/gno/sprites/nav-sprite-global-1x-reorg-privacy._CB541706272_.png);
  background-position: 0 1000px;
  background-repeat: repeat-x;
}
.nav-spinner {
  background-image: url(https://m.media-amazon.com/images/G/01/javascripts/lib/popover/images/snake._CB485935611_.gif);
  background-position: center center;
  background-repeat: no-repeat;
}
.nav-timeline-icon, .nav-access-image, .nav-timeline-prime-icon {
  background-image: url(https://m.media-amazon.com/images/G/01/gno/sprites/timeline_sprite_1x._CB485945973_.png);
  background-repeat: no-repeat;
}
</style>
<link rel="stylesheet" href="https://images-na.ssl-images-amazon.com/images/I/41jlFlg1o8L._RC|71UMEJg6ijL.css,51uyq4Mg2YL.css,21xaudVTL0L.css,01FcI3FsaiL.css,21Hc1s0-E4L.css,31YZpDCYJPL.css,21DwGGPS1eL.css,41EtvNY2OrL.css,11HvNwu+WGL.css,31K0jc2KvHL.css,01H8CHB5aiL.css,21KQnzhmfTL.css,415g7iDx4VL.css,419rkkXAJ9L.css_.css?AUIClients/NavDesktopUberAsset#desktop.language-en.us.488657-T2.878681-T1.1089549-T1" />
<!-- sp:end-feature:nav-inline-css -->
<!-- sp:feature:host-assets -->
<style>
#gw-desktop-herotator,#gw-desktop-herotator .a-carousel-viewport{height:300px}#gw-desktop-herotator.tall{z-index:0}#gw-desktop-herotator.tall,#gw-desktop-herotator.tall .a-carousel-controls{max-height:230px}#gw-desktop-herotator.tall .a-carousel-viewport{height:auto!important}#gw-desktop-herotator.tall .a-carousel-left,#gw-desktop-herotator.tall .a-carousel-right{max-height:250px}#gw-desktop-herotator.tall .a-carousel-viewport::before{background:linear-gradient(-180deg,rgba(234,237,237,0),#E3E6E6);bottom:0;content:"";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00E3E6E6', endColorstr='#E3E6E6', GradientType=0);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr='#00E3E6E6', endColorstr='#E3E6E6',GradientType=0)";left:0;pointer-events:none;position:absolute;right:0;top:250px;z-index:1}#gw-desktop-herotator.tall .a-carousel-container{overflow:visible}#gw-desktop-herotator.tall.single-slide-hero,#gw-desktop-herotator.tall.single-slide-hero .a-carousel-viewport{height:auto!important}#gw-desktop-herotator.tall.single-slide-hero,#gw-desktop-herotator.tall.single-slide-hero .a-carousel-controls{max-height:none!important;height:auto!important}#gw-desktop-herotator.tall.single-slide-hero{margin-bottom:-370px!important}#gw-desktop-herotator.tall.single-slide-hero .a-carousel-viewport::before{top:auto;bottom:0;height:350px}
</style>
<link rel="stylesheet" href="https://images-na.ssl-images-amazon.com/images/I/41945FR1dZL.css?AUIClients/AmazonGatewayAuiAssets#1011660-T1" />
<style>
.gw-card-layout .a-cardui{background:#fff;height:100%;position:relative;margin-bottom:0;margin-top:0;overflow:hidden;padding-top:20px}.gw-card-layout .a-cardui .a-cardui-header{padding:0 20px;margin-bottom:10px}.gw-card-layout .a-cardui .a-cardui-footer{padding:0 20px;margin-bottom:20px;position:absolute;bottom:0;width:100%}.gw-card-layout .a-cardui .a-cardui-body{padding:0 20px 56px 20px;margin-bottom:0}.gw-card-layout .a-cardui .a-cardui-body:last-child{padding-bottom:20px}.gw-card-layout .a-cardui:last-child{margin-bottom:0}.a-lt-ie9 .gw-card-layout .a-cardui .a-cardui-body{padding-bottom:20px}.gw-card-layout{font-size:13px!important;line-height:19px!important}.gw-card-layout .a-size-base{font-size:13px!important;line-height:19px!important}.gw-card-layout .a-size-small{font-size:12px!important;line-height:18px!important}.gw-card-layout .a-size-base-plus{font-size:15px!important;line-height:21px!important}.gw-card-layout .a-size-medium{font-size:17px!important;line-height:21.34px!important}.gw-card-layout .a-size-large{font-size:21px!important;line-height:27.3px!important}.gw-card-layout h2{font-size:21px!important;line-height:27.3px!important}.truncate-1line,.truncate-2line{display:block;overflow:hidden;text-overflow:ellipsis;-ms-text-overflow:ellipsis}.truncate-1line{white-space:nowrap}.truncate-2line{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:38px}.truncate-2line.a-size-base{max-height:38px}.truncate-2line.a-size-small{max-height:36px}.truncate-2line.a-size-base-plus{max-height:42px}.truncate-2line.a-size-medium{max-height:42.67px}.truncate-2line.a-size-large{max-height:54.6px}h2.truncate-2line{max-height:54.6px}.gw-card-layout .a-cardui.gw-media-card{padding-top:0;color:#fff}.gw-card-layout .a-cardui.gw-media-card .a-cardui-footer,.gw-card-layout .a-cardui.gw-media-card .a-cardui-header{position:absolute;left:0;z-index:1;width:100%}.gw-card-layout .a-cardui.gw-media-card .a-cardui-header{margin-top:20px;padding:0 20px;top:0}.gw-card-layout .a-cardui.gw-media-card .a-cardui-header h3{margin-right:340px}.gw-card-layout .a-cardui.gw-media-card .a-cardui-footer{margin-bottom:20px;padding:0 20px;bottom:0}.gw-card-layout .a-cardui.gw-media-card .a-cardui-footer .a-link-normal{color:#fff}.gw-card-layout .a-cardui.gw-media-card .a-cardui-body{padding:0;width:100%;height:100%;overflow:hidden;position:relative}.gw-card-layout .a-cardui.gw-media-card .asinImage{position:absolute;top:0;bottom:0;right:20px;margin:auto}.gw-card-layout .a-cardui.gw-media-card .asinImage img{box-shadow:0 2px 6px 0 rgba(0,0,0,.5)}.gw-card-layout .a-cardui.gw-media-card .asinBackground{width:100%;height:100%;overflow:hidden;background-repeat:no-repeat;background-position:center right;background-size:cover;filter:blur(10px);-webkit-filter:blur(10px);filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='10px');-ms-filter:"progid:DXImageTransform.Microsoft.Blur(PixelRadius='10px')";transform:scale(1.1);-webkit-transform:scale(1.1)}.gw-card-layout .a-cardui.gw-media-card .backgroundGradient{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right,#111,rgba(17,17,17,.2));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#111111, endColorstr=#17171733, GradientType=1);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#111111, endColorstr=#17171733, GradientType=1)"}.gw-card-layout[data-flow-dir="h"]{display:-webkit-flex;display:flex;-webkit-flex-flow:row wrap;flex-flow:row wrap}.gw-card-layout[data-flow-dir="h"]>.gw-col{height:420px;min-height:420px;-webkit-flex:1 0 290px;flex:1 0 290px;padding-left:10px;padding-right:10px;min-width:290px}.gw-card-layout[data-flow-dir="h"] .card-flow-row-break{-webkit-flex:1 0 100%;flex:1 0 100%}.gw-card-layout[data-flow-dir="h"]>.gw-col[data-col-span-ws="2"]{-webkit-flex:2 0 580px;flex:2 0 580px}.gw-card-layout[data-flow-dir="h"]>.gw-col[data-col-span-ws="4"]{-webkit-flex:1 0 100%;flex:1 0 100%}.gw-card-layout[data-flow-dir="h"] .gw-card-layout[data-flow-dir="v"]{display:-webkit-flex;display:flex;-webkit-flex-flow:column nowrap;flex-flow:column nowrap;margin-top:-10px;margin-bottom:-10px}.gw-card-layout[data-flow-dir="v"]>.gw-row{-webkit-flex:1 0 0;flex:1 0 0;margin-top:10px;margin-bottom:10px}.gw-card-layout [data-order-ws="1"]{-webkit-order:1;order:1}.gw-card-layout [data-order-ws="2"]{-webkit-order:2;order:2}.gw-card-layout [data-order-ws="3"]{-webkit-order:3;order:3}.gw-card-layout [data-order-ws="4"]{-webkit-order:4;order:4}.gw-card-layout [data-order-ws="5"]{-webkit-order:5;order:5}.gw-card-layout [data-order-ws="6"]{-webkit-order:6;order:6}.gw-card-layout [data-order-ws="7"]{-webkit-order:7;order:7}.gw-card-layout [data-order-ws="8"]{-webkit-order:8;order:8}.gw-card-layout [data-order-ws="9"]{-webkit-order:9;order:9}.gw-card-layout [data-order-ws="10"]{-webkit-order:10;order:10}.gw-card-layout [data-order-ws="11"]{-webkit-order:11;order:11}.gw-card-layout [data-order-ws="12"]{-webkit-order:12;order:12}.gw-card-layout [data-order-ws="13"]{-webkit-order:13;order:13}.gw-card-layout .gw-col.gw-fixed-col{min-width:320px}@media (min-width:1240px){.gw-card-layout>hr:last-of-type{display:none}}@media (max-width:1239px){.gw-card-layout[data-flow-dir="h"]>.gw-col{-webkit-flex-basis:33.33333%;flex-basis:33.33333%;min-width:33.33333%}.gw-card-layout[data-flow-dir="h"]>.gw-col[data-col-span-sm="2"]{-webkit-flex:2 0 66.66667%;flex:2 0 66.66667%}.gw-card-layout[data-flow-dir="h"]>.gw-col[data-col-span-sm="3"]{-webkit-flex:1 0 100%;flex:1 0 100%}.gw-card-layout [data-order-sm="1"]{-webkit-order:1;order:1}.gw-card-layout [data-order-sm="2"]{-webkit-order:2;order:2}.gw-card-layout [data-order-sm="3"]{-webkit-order:3;order:3}.gw-card-layout [data-order-sm="4"]{-webkit-order:4;order:4}.gw-card-layout [data-order-sm="5"]{-webkit-order:5;order:5}.gw-card-layout [data-order-sm="6"]{-webkit-order:6;order:6}.gw-card-layout [data-order-sm="7"]{-webkit-order:7;order:7}.gw-card-layout [data-order-sm="8"]{-webkit-order:8;order:8}.gw-card-layout [data-order-sm="9"]{-webkit-order:9;order:9}.gw-card-layout [data-order-sm="10"]{-webkit-order:10;order:10}.gw-card-layout [data-order-sm="11"]{-webkit-order:11;order:11}.gw-card-layout [data-order-sm="12"]{-webkit-order:12;order:12}.gw-card-layout [data-order-sm="13"]{-webkit-order:13;order:13}.gw-card-layout .gw-col.gw-fixed-col{min-width:none}}.gw-card-layout[data-flow-dir="h"]>.card-flow-row-break{height:20px;margin:0;border:none}.gw-card-layout[data-flow-dir="h"]>[data-display-at]{display:none}.gw-card-layout[data-flow-dir="h"]>[data-display-at*=ws]{display:block}.gw-card-layout[data-flow-dir="h"][data-grid-breakpoint=ws]>[data-hide-at-ws]{display:none!important}.gw-card-layout[data-flow-dir="h"] .gw-auto-height{height:auto!important;min-height:0!important}@media (max-width:1239px){.gw-card-layout[data-flow-dir="h"]{min-width:919px}.gw-card-layout[data-flow-dir="h"]>[data-display-at]{display:none}.gw-card-layout[data-flow-dir="h"]>[data-display-at*=sm]{display:block}.gw-card-layout[data-flow-dir="h"][data-grid-breakpoint=sm]>[data-hide-at-sm]{display:none!important}}
</style>
<script>
////////////////////////////////////////////
// BEGIN PACKAGE 
/////////////////////////
// BEGIN FILE GWI/event-manager.js
/////////////////////////
/*


Full source (including license, if applicable) included below.
*/
/**
 * This contains GWI event manager utility
 */
// FIXME: Good javascript code should work in strict mode
// "use strict";
var GWI = (function(window) {
  var self = {},
      latencyRegistry= {},
      NOOP = function() {};

  var eventManager = (function() {
    var manager = this,
        eventRegistry = {},
        globalHandlers = [];

    function Subscriber(eventIds, handler) {
      var subscriber = this;
      var eventObjs = [];
      for (var i = 0; i < eventIds.length; i++) {
        eventObjs.push({
          id : eventIds[i],
          occured : false
        });
      }

      function invokeHandler() {
        var occured = true;
        for (var i = 0; i < eventObjs.length; i++) {
          occured = occured && eventObjs[i].occured;
        }
        return occured;
      }

      subscriber.notify = function(eventId) {
        for (var i = 0; i < eventObjs.length; i++) {
          var eObj = eventObjs[i];
          if (eObj.id === eventId) {
            eObj.occured = true;
          }
        }
        if (invokeHandler()) {
          handler();
        }
      };
    }

    function Event(eventId, occured) {
      var event = this;
      var subscribers = [];
      event.time = 0;
      event.occured = occured;
      setEventTime();
      function setEventTime() {
        if(event.occured) {
          // see uet function in 
          // https://code.amazon.com/packages/ClickstreamBrowserDataJavaScript/blobs/mainline/--/javascript/head-open.js
          event.time = new Date().getTime();
        }
      }
      event.notifySubscribers = function() {
        event.occured = true;
        setEventTime();
        // notify all the subscribers
        for (var i = 0; i < subscribers.length; i++) {
          subscribers[i].notify(eventId);
        }
      };
      event.registerSubscriber = function(subscriber) {
        if (subscriber !== null && subscriber !== undefined) {
          subscribers.push(subscriber);
        }
        if (event.occured) {
          subscriber.notify(eventId);
        }
      };
    }
    manager.registerEvent = function(eventId, occured) {
      if (eventRegistry[eventId] === undefined) {
        eventRegistry[eventId] = new Event(eventId, occured);
        for (var i = 0; i < globalHandlers.length; i++) {
          var subscriber = new Subscriber([eventId], globalHandlers[i]);
          eventRegistry[eventId].registerSubscriber(subscriber);
        };
      }
    };
    manager.registerSubscriber = function(eventIds, handler) {
      var subscriber = new Subscriber(eventIds, handler);
      for (var i = 0; i < eventIds.length; i++) {
        var eventId = eventIds[i];
        manager.registerEvent(eventId, false);
        eventRegistry[eventId].registerSubscriber(subscriber);
      }
      return subscriber;
    };
    manager.notifySubscribers = function(eventId) {
      eventRegistry[eventId].notifySubscribers();
    };
    manager.getUnoccuredEvents = function(eventIds) {
      var unOccuredEvents = [],
          i;
      for (i = 0; i < eventIds.length; i++) {
        var eventId = eventIds[i];
        if (eventRegistry[eventId] === undefined || (eventRegistry[eventId] && !eventRegistry[eventId].occured)) {
          unOccuredEvents.push(eventId);
        }
      }
      return unOccuredEvents;
    };
    manager.getMaxTime = function(eventIds) {
      var time = 0,
          i;
      for (i = 0; i < eventIds.length; i++) {
        var eventId = eventIds[i];
        if(eventRegistry[eventId] && eventRegistry[eventId].time > time) {
          time = eventRegistry[eventId].time;
        }
      }
      return time;
    };
    manager.addGlobalHanlder = function(handler) {
      if (typeof handler === "function") {
        globalHandlers.push(handler);
      }
    };
    return manager;
  })();

  self.whenAll = function(eventIds, handler) {
    return eventManager.registerSubscriber(eventIds, handler);
  };

  self.whenAny = function(eventIds, handler) {
    var subscribers = [];
    for (var i = 0; i < eventIds.length; i++) {
      var eventId = eventIds[i];
      subscribers.push(self.whenAll([ eventId ], handler));
    }
    return subscribers;
  };
  
  // Global Event handler registered using this function
  self.onEvent = eventManager.addGlobalHanlder; 

  self.register = function(eventId) {
   // register eventId and invoke subscribers
    eventManager.registerEvent(eventId, true);
    eventManager.notifySubscribers(eventId);
  };

  self.recordLatency = function(scope) {
    if(!latencyRegistry[scope]){
      var message = scope + ' fired at ';
      window.GWI && GWI.util && GWI.util.debugLog(message, true);
      latencyRegistry[scope] = true;
      window.uet && uet('cf', scope, {
        wb : 1
      });
      window.uex && uex('ld', scope, {
        wb : 1
      });
    }
  };
  self.registerX1Once = function(P) {
    P && P.register('x1');
    self.registerX1Once = NOOP; 
  };
  self.fireX2Once = function(P, time) {
    if (window.uet) {
      // No documentation, https://tt.amazon.com/0143495131 
      uet('x2', undefined, undefined, time);
    }
    self.registerX2Once(P);
    self.fireX2Once = NOOP;
  };
  self.registerX2Once = function(P) {
    self.registerX2Once = NOOP; 
    // global event can cause this being called recursively
    // so set the function to empty first before register any event
    P && P.register('x2');
    self.register('x2');
  };
  self.regGwAtfReadyOnce = function(P) {
    P && P.register('gwAtfReady');
    self.register('gwAtfReady');
    self.regGwAtfReadyOnce = NOOP; 
  };
  self.getUnoccuredEvents = eventManager.getUnoccuredEvents; 
  self.getMaxTime = eventManager.getMaxTime; 
  return self;
})(window);
/////////////////////////
// END FILE GWI/event-manager.js
/////////////////////////
/////////////////////////
// BEGIN FILE GWI/gw-event-manager.js
/////////////////////////
/*


Full source (including license, if applicable) included below.
*/
"use strict";

P.register("gw-event-manager", function(){
    return {
        whenAll: window.GWI.whenAll
    };
});
/////////////////////////
// END FILE GWI/gw-event-manager.js
/////////////////////////
/////////////////////////
// BEGIN FILE GWI/preload.js
/////////////////////////
/*


Full source (including license, if applicable) included below.
*/
"use strict";
GWI.preload = function(src, onload) {
  if (!src) {
    return;
  }
  var img = new Image();
  img.onload = function() {
    onload && onload();
  };
  img.src = src;
  return img.complete;
};
/////////////////////////
// END FILE GWI/preload.js
/////////////////////////
/////////////////////////
// BEGIN FILE GWI/images.js
/////////////////////////
/*


Full source (including license, if applicable) included below.
*/
"use strict";
GWI.instrumentImages = function(scope, imgStr){
         var instrument = {};
         if (scope && imgStr) {
             instrument.imgArray = imgStr.split(" ");
             instrument.totalImgs = instrument.imgArray.length;
             instrument.scope = scope + '-visible';
             instrument.imgReady = function() {
                 instrument.totalImgs--;
                 if(instrument.totalImgs === 0){
                     GWI.recordLatency(instrument.scope);
                     GWI.register(instrument.scope);
                 }
             }
             for (var i = 0; i < instrument.imgArray.length; i++) {
                 var src = instrument.imgArray[i];
                 GWI.preload(src, instrument.imgReady);
             }
         }
         return instrument;
     };
/////////////////////////
// END FILE GWI/images.js
/////////////////////////
/////////////////////////
// BEGIN FILE GWI/util.js
/////////////////////////
/*


Full source (including license, if applicable) included below.
*/
/**
 * Billboard img instrumentation
 */
"use strict";
GWI.util = (function () {
  var GWI_DATA = 'data-gwi';
  var debugEnabled = undefined;

  function jsonData(data) {
    return window.JSON && JSON.parse && JSON.parse(data);
  }

  return {
    logCounter: function(counter){
      if(typeof ue == 'object' && typeof(ue.count) == 'function') {
        ue.count(counter, (ue.count(counter) || 0) + 1);
      }
    },

    logScope : function(scope) {
      var gwi = window.GWI;
      if (scope && gwi) {
        gwi.recordLatency(scope);
        gwi.register(scope);
      }
    },

    getParent : function(id) {
      var obj = document.getElementById(id);
      return obj && obj.parentElement;
    },

    gwiData : function(el) {
      return el && jsonData(el.getAttribute(GWI_DATA)) || {};
    },

    debugLog : function(message, recordTime) {
      if (!debugEnabled) {
        window.P && P.when('isDebug').execute(function(isDebug) {
          debugEnabled = isDebug ? isDebug : false;
        });
      }
      if (debugEnabled === true) {
        var elapsedTime = recordTime ? Date.now() - window.performance.timing.navigationStart : '';
        console.log('MetricsDebug: ', message + elapsedTime);
      }
    }
  }
}());
/////////////////////////
// END FILE GWI/util.js
/////////////////////////
/////////////////////////
// BEGIN FILE GWI/billboard.js
/////////////////////////
/*


Full source (including license, if applicable) included below.
*/
/**
 * Billboard img instrumentation
 */
"use strict";
GWI.BillboardWidget = function BillboardWidget(id, images) {
  if(window.GWI && window.GWI.util){
    images = images || [];
    var gwiUtil = window.GWI.util,
        i,
        root = gwiUtil.getParent(id),
        gwiData = gwiUtil.gwiData(root),
        loaded = [];

    function verifyLoaded() {
      for(var j = 0; j < loaded.length; ++j) {
        if(!loaded[j].complete) {
          return;
        }
      }
      gwiUtil.logScope(gwiData['visible']);
      gwiUtil.logScope(gwiData['active']);
    }

    for(i = 0; i < images.length; ++i) {
      (function(i) {
        var img = new Image();
        img.onload = verifyLoaded;
        img.src = images[i];
        loaded[i] = img;
      }(i));
    }
    verifyLoaded();
  }
};
/////////////////////////
// END FILE GWI/billboard.js
/////////////////////////
/////////////////////////
// BEGIN FILE GWI/asset-util.js
/////////////////////////
/*


Full source (including license, if applicable) included below.
*/
"use strict";
GWI.AssetUtil = (function() {
  var assetPreloadRegistry = {
    'image' : function(src) {
      if (src) {
        window.GwInstrumentation && window.GwInstrumentation.CF(src);
        var WU = window.ue;
        if (typeof WU === 'object' && typeof WU.count === 'function') {
          var counter = 'gw-preload-img';
          WU.count(counter, (WU.count(counter) || 0) + 1);
        }
      }
    }
  };
  function assetLoadMapper(asset) {
    if (asset && asset.src && asset.type
        && typeof assetPreloadRegistry[asset.type] === 'function') {
      assetPreloadRegistry[asset.type](asset.src);
    }
  }
  function load(assets) {
    assets = assets || [];
    for (var i = 0; i < assets.length; i++) {
      assetLoadMapper(assets[i]);
    }
  }
  return {
    load : load
  };
})();
/////////////////////////
// END FILE GWI/asset-util.js
/////////////////////////
/////////////////////////
// BEGIN FILE GWI/card-instrumentation.js
/////////////////////////
/*


Full source (including license, if applicable) included below.
*/
/**
 * Card instrumentation
 */
"use strict";
GWI.Card = (function (window, document) {
  var visibleSlots = [];

  // https://w.amazon.com/bin/view/ClientSideMetrics/UserDocs/JavascriptErrors#ueLogError
  function logJsError(exception, additionalInfo) {
    if (window.ueLogError) {
      window.ueLogError(exception, additionalInfo);
    }
  }

  function isVisible(element) {
    return (typeof(element.checkVisibility) == 'function') && element.checkVisibility();
  }

  // Auto called by Card rendering platform for individual widget
  function autoInstVisible(uniqueId) {
    if(window.GWI && GWI.util){
      // find all visible images under uniqueId
      var gwiUtil = GWI.util, 
          root = gwiUtil.getParent(uniqueId),
          widget = document.getElementById(uniqueId),
          imgs = widget && widget.getElementsByTagName("img") || [],
          i, j,
          scope = root && root.id,
          loaded = [];

      // if we failed to get id, log a counter and return
      if(!scope || 0 === scope.length || scope === uniqueId) {
        gwiUtil.logCounter('gatewayCardInstrumentationFail');
        return;
      }
      
      for (i = 0; i < imgs.length; i++) {
        gwiUtil.logCounter('gatewayCardImage');
        var img = imgs[i];
        img.onload = verifyLoaded;
        loaded[i] = img;
        img.onerror = logImageError;
      }

      function verifyLoaded() {
        for(j = 0; j < loaded.length; ++j) {
          if(!loaded[j].complete) {
            return;
          }
        }
        gwiUtil.logScope(scope + '-visible');
        if (!visibleSlots.includes(scope)) {
          visibleSlots.push(scope);
        }
      }

      function logImageError() {
        var cardName = root.getAttribute('data-csa-c-painter');
        var additionalInfo = {
          logLevel: 'ERROR',
          attribution: 'gatewayCardImageError',
          message: cardName + ': ', // prefix of error message
        }
        logJsError(new Error('Image failed to load ' + img.src), additionalInfo);
        gwiUtil.logCounter('gatewayCardImageError');
      }

      verifyLoaded();
    }
  }

  // Auto called by Card rendering platform for individual widget
  function autoInstActive(uniqueId) {
    if(window.GWI && GWI.util){
      // find all visible images under uniqueId
      var gwiUtil = GWI.util, 
          root = gwiUtil.getParent(uniqueId),
          scope = root && root.id;
          
      // if we failed to get id, log a counter and return
      if(!scope || 0 === scope.length || scope === uniqueId) {
        gwiUtil.logCounter('gatewayCardInstrumentationFail');
        return;
      }

      gwiUtil.logScope(scope + '-active');
    }
  }

  function logLoadedNotVisibleImages() {
    if (window.GWI && GWI.util) {
      visibleSlots.forEach(function(slot) {
        var gwiUtils = GWI.util,
            card = document.getElementById(slot),
            images = card && Array.prototype.slice.call(card.getElementsByTagName('img')) || [],
            notVisibleImages = [];

        // Do not check image visibility for slots that are not visible
        if (!isVisible(card)) {
          return;
        }

        gwiUtils.logCounter('gatewayCardImageLoaded'); // Count total Cards with loaded images as baseline
        images.forEach(function(img) {
          if (!isVisible(img)) {
            notVisibleImages.push(img.src);
          }
        })

        if (notVisibleImages.length) {
          var cardName = card.getAttribute('data-csa-c-painter'),
              placementId = card.getAttribute('data-pf_rd_p');
          gwiUtils.logCounter('gatewayCardImageLoadedNotVisible');
          var additionalInfo = {
            logLevel: 'WARN',
            attribution: 'gatewayCardImageLoadedNotVisible',
            message: cardName + ': ', // prefix of error message
          }
          logJsError(new Error("Image(s) loaded, but not visible in slot " + slot + ". PlacementId: " + placementId +
              ". Images: " + notVisibleImages), additionalInfo);
        }
      })
    }
  }

  return {
    autoInstVisible: autoInstVisible,
    autoInstActive: autoInstActive,
    logLoadedNotVisibleImages: logLoadedNotVisibleImages,
  }
}(window, document));
/////////////////////////
// END FILE GWI/card-instrumentation.js
/////////////////////////
/////////////////////////
// BEGIN FILE derived/atf-widget.js
/////////////////////////
/*


Full source (including license, if applicable) included below.
*/
"use strict";

P.register('atfWidgetComponent', function() {
  var NEVER_EVENT = "gw-never-event",
      ATF_ROW_COUNT = 2;

  function getAtfWidgets(atfRowCount) {
    // NodeList to Array for easier processing
    var gridCols = Array.prototype.slice.call(getWidgetsFromSelector('#gw-card-layout .gw-col')),
        i,
        atfWidgets = [],
        cardLayout = document.getElementById('gw-card-layout'),
        // Assume it is a wide layout if breakpoint undefined
        gridBreakpoint = (cardLayout && cardLayout.dataset && cardLayout.dataset.gridBreakpoint ) ? cardLayout.dataset.gridBreakpoint : 'ws',
        gridWidth = gridBreakpoint === 'xs'? 2: gridBreakpoint === 'sm' ? 3 : 4,
        gridOrder = 'data-order-' + gridBreakpoint,
        atfColCount = 0,
        additionalRow = 0,
        gridTotalSize = 0;

    for (i = 0; i < gridCols.length; i++) {
      gridTotalSize += getGridColSize(gridCols[i], gridBreakpoint);
    }

    for (i = atfRowCount; i >= 0; i--) {
      if (gridTotalSize >= i * gridWidth) {
        atfColCount = i * gridWidth;
        additionalRow = atfRowCount - i;
        break;
      }
    }

    // Make sure first N cards are the ones we care
    //TODO filter out gridCols based on gridOrder attribute presense before sorting
    gridCols.sort(function(a, b){return parseInt(a.getAttribute(gridOrder)) - parseInt(b.getAttribute(gridOrder))});

    var currColSize = 0;
    i = 0;
    while (currColSize < atfColCount) {
      currColSize += getGridColSize(gridCols[i], gridBreakpoint);
      Array.prototype.push.apply(atfWidgets, getWidgetsFromCol(gridCols[i]));
      i++;
    }

    // If too many grids punt, we will need to consider desktop rows
    // as part of the ATF
    if (additionalRow > 0) {
      var rowWidgets = getRowWidgets(gridWidth, gridBreakpoint);
      if (rowWidgets && rowWidgets.length >= additionalRow) {
        for (i = 0; i < additionalRow; i++ ) {
          Array.prototype.push.apply(atfWidgets, rowWidgets[i]);
        }
      } else {
        // If row widget not flushed, we should not fire af
        // af/gwAtfReady will be registed when page load in this case in AmazonGatewayHackAssets
        atfWidgets.push(NEVER_EVENT);
      }
    }

    return atfWidgets;
  }

  function getWidgetsFromCol(gridCol){
    // If there are multipule rows in a Column
    var rowWidgets = gridCol.querySelectorAll(".gw-row"),
        widgets = [];
    for (var j = 0; j < rowWidgets.length; j++) {
      if (!containsAd(rowWidgets[j])) {
        widgets.push(rowWidgets[j].id);
      }
    }

    // If this is the only widget current col contains
    // Also filter out Ads slots because they do not report latency
    /* Importing derived/_checkCsmDecoration.js */
if (hasClass(gridCol, 'celwidget') && !containsAd(gridCol)) {
    widgets.push(gridCol.id);
}
/* Done importing derived/_checkCsmDecoration.js */


    return widgets;
  }

  function containsAd(element) {
    // Using detection logic suggested by Ads team https://issues.amazon.com/GW-5824
    return element.getElementsByClassName('text/x-dacx-safeframe').length > 0 || element.getElementsByClassName('text/x-APE-lightAds').length > 0 || element.getElementsByTagName('iframe').length > 0;
  }

  function getGridColSize(gridCol, gridBreakpoint) {
    var sizeAttr = parseInt(gridCol.getAttribute('data-col-span-' + gridBreakpoint));
    return sizeAttr > 1 ? sizeAttr : 1;
  }

  /* Importing derived/_getBtfRowWidgets.js */
var DESKTOP_ROW = "#gw-content-grid .gwi-row";

function getRowWidgets(gridWidth, gridBreakpoint) {
    var layoutRows = [],
        rows = getWidgetsFromSelector(DESKTOP_ROW),
        i;
    for (i = 0; i < rows.length; i++ ) {
      var rowWidgets = [],
          row = rows[i];
      // shoveler case
      if(hasClass(row, "desktop-row")) {
        rowWidgets.push(row.id);
      }
      // billboard case
      if(hasClass(row, "billboardRowWrapper")) {
        var billboards = row.querySelectorAll(".billboard"),
            j;
        for (j = 0; j < billboards.length; j++ ) {
          rowWidgets.push(billboards[j].id);
        }
      }
      layoutRows.push(rowWidgets);
    }
    return layoutRows;
  }
/* Done importing derived/_getBtfRowWidgets.js */


  function hasClass(element, className) {
    return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1;
  }

  function getWidgetsFromSelector(selector) {
    if (typeof document.querySelectorAll !== 'function' && typeof document.querySelectorAll !== 'object') {
      var result = [];
      if (document.createStyleSheet && document.all) {
        var style = document.createStyleSheet(''), all = document.all, len = all.length, i;
        if (style && style.addRule && style.removeRule) {
          style.addRule(selector, 'gwTemp:forQS');
          for (i = 0; i < len; i += 1) {
            if (all[i].currentStyle.gwTemp === 'forQS') {
              result.push(all[i]);
            }
          }
          style.removeRule(0);
        }
      }
      return result;
    }
    return document.querySelectorAll(selector);
  }

  return {
    getWidgets: function() {
      return getAtfWidgets(ATF_ROW_COUNT);
    }
  };
});
/////////////////////////
// END FILE derived/atf-widget.js
/////////////////////////
/////////////////////////
// BEGIN FILE derived/duff.js
/////////////////////////
/*


Full source (including license, if applicable) included below.
*/
/**
 * This contains JS used to instrument the AF, gwAtfReady etc layout metrics based on the widget
 * level latency events for the desktop duff gateway.
 */

"use strict";
/**
 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice#Streamlining_cross-browser_behavior
 * Shim for "fixing" IE's lack of support (IE < 9) for applying slice
 * on host objects like NamedNodeMap, NodeList, and HTMLCollection
 */
(function () {
  var _slice = Array.prototype.slice;

  try {
    // Can't be used with DOM elements in IE < 9
    _slice.call(document.documentElement);
  } catch (e) { // Fails in IE < 9
    Array.prototype.slice = function(begin, end) {
      // IE < 9 gets unhappy with an undefined end argument
      end = (typeof end !== 'undefined') ? end : this.length;

      // For native Array objects, we use the native slice function
      if (Object.prototype.toString.call(this) === '[object Array]'){
        return _slice.call(this, begin, end);
      }

      // For array like object we handle it ourselves.
      var i, cloned = [],
        size, len = this.length;

      // Handle negative value for "begin"
      var start = begin || 0;
      start = (start >= 0) ? start : Math.max(0, len + start);

      // Handle negative value for "end"
      var upTo = (typeof end == 'number') ? Math.min(end, len) : len;
      if (end < 0) {
        upTo = len + end;
      }

      // Actual expected size of the slice
      size = upTo - start;

      if (size > 0) {
        cloned = new Array(size);
        if (this.charAt) {
          for (i = 0; i < size; i++) {
            cloned[i] = this.charAt(start + i);
          }
        } else {
          for (i = 0; i < size; i++) {
            cloned[i] = this[start + i];
          }
        }
      }

      return cloned;
    };
  }
}());

GWI.duff = (function addSubscription(window, document) {
  var NOOP = function() {};

  function getConfig() {
    return {
      mustEvents : [ 'cf' ],
    };
  }

  function getEventIds(widgets, suffix) {
    var eventIds = [],
        i;
    for (i = 0; i < widgets.length; i++) {
      eventIds.push(widgets[i] + suffix);
    }
    return eventIds;
  }

  // Return true if af is fired, otherwise return false
  function tryToFireAtf(afEventIds) {
    var unOccuredAfEventIds = GWI.getUnoccuredEvents(afEventIds),
        latestTime = GWI.getMaxTime(afEventIds);
    if (!unOccuredAfEventIds.length) {
      fireAtfOnce(latestTime);
      return true;
    }
    return false;
  }

  function fireAtfOnce(time) {
    fireAtfOnce = NOOP;

    if (window.uet) {
      // No documentation, https://tt.amazon.com/0143495131
      uet('af', undefined, undefined, time);
      var message = 'AF fired at ';
      window.GWI && GWI.util && GWI.util.debugLog(message, true);
      fireFn(time);
    }
    registerAtfOnce();
  };

  function fireFn(time){
    uet('fn', undefined, undefined, time);  //currently only for logging purposes
    var message = 'FN fired at ';
    window.GWI && GWI.util && GWI.util.debugLog(message, true);
    window.P && P.register('fn');
  }

  function registerAtfOnce() {
    // global event can cause this being called recursively
    // so set the function to empty first before register any event
    registerAtfOnce = NOOP;
    try {
      window.P && P.register('af');
      window.P && P.register('gwAtfReady');
      GWI.register('af');
      GWI.register('gwAtfReady');
      fireSPLoad();
    } catch(err) {
      // Double register can happen if somehow window load fires before
      // some latency event if eveything is cached
    }
  };

  function fireSPLoad() {
    window.P && P.register('sp.load.js');
    // To be used for instrumentation and for latency analysis
    window.uet && uet('cf', 'spLoadJs', {wb: 1});
    window.uex && uex('ld', 'spLoadJs', {wb: 1});
    window.GWI && GWI.util && GWI.util.logCounter('spLoadJs');
    var message = 'sp.load.js fired at ';
    window.GWI && GWI.util && GWI.util.debugLog(message, true);
  }

  var atfCalled = false;
  // FIXME: Update to use AH_5_COL_LAYOUT_335198, only need to listen to gw-grid-update
  // https://code.amazon.com/packages/AmazonGatewayCardGridAssets/blobs/37c0411ea2ef3f76b9340b72427fb8ce2154cf4b/--/src/grid-layout/_grid.js#L298,L308
  GWI.onEvent(function() {
    P.when('atfWidgetComponent').execute('fire-atf', function(atfWidgetComponent) {
      if (!atfCalled) {
        var config = getConfig(),
            atfWidgets = atfWidgetComponent.getWidgets();
            atfEvents = getEventIds(atfWidgets, '-visible');

        atfEvents = atfEvents.concat(config.mustEvents);
        atfCalled = tryToFireAtf(atfEvents);
      }
    });
  });
}(window, document));
/////////////////////////
// END FILE derived/duff.js
/////////////////////////
/////////////////////////
// BEGIN FILE critical/gw-instrumentation.js
/////////////////////////
/*


Full source (including license, if applicable) included below.
*/
/**
 * This contains some JS used to instrument the CF and AF metrics on the
 * desktop gateway.
 */

'use strict';

var GwInstrumentation = (function(window) {
  var self = {},
      cfCount = 0,
      h1Af = false,
      cfImgCached = 1,
      imageCFs = {};

  self.markAF = function() {
      // To prvent accidental gurupa hit that triggers JS error
  };

  self.markH1Af = function(ajaxParams) {
      h1Af = true;
      window.uet && uet('cf', 'h1Af', {wb: 1});
      window.uex && uex('ld', 'h1Af', {wb: 1});
      var message = 'H1Af fired at ';
      window.GWI && GWI.util && GWI.util.debugLog(message, true);
      window.P && P.register('h1Af');

      var firstSlide = document.getElementsByClassName('gw-critical-content')[0];
      if (firstSlide) {
          var cfImages = firstSlide.getElementsByTagName('img');
          for (var i = 0; i < cfImages.length; i++) {
              var imageSrc = cfImages[i].src;
              if (!imageCFs[imageSrc]) {
                  self.CF(imageSrc);
              }
          }
      }
      tryToFireCF();
      ajaxParams && fireAjaxAtf(ajaxParams);
  };

  // (CF) Image preload, typically hero-1 or takeover
  self.preload = function(src, onload) {
      if(!src) { return; }
      var img = new Image();
      img.onload = function() {
          onload && onload();
      };
      img.src = src;
      return img.complete;
  };

  self.CF = function() {
      var cf;
      var isReady = false;
      if(typeof arguments[0] === 'string') {
          var src = arguments[0];
          if(!imageCFs[src]) {
            cf = new self.CF();
            imageCFs[src] = cf;
            var isCached = self.preload(src, function(){
              // polyglot code for easy debugging and minification
              /*<&| '.debugStatement' &>
                  console.log("CF in-memory Image loaded and ready: " + src);
                </&>*/
              cf.ready();
            });
            // there can be more than 1 image in CF; mark cached if all are
            cfImgCached &= isCached;
          }
      }
      else if(this.constructor === self.CF) { // invoked with the new keyword
          cf = {};
          cfCount++;
          cf.ready = function() {
              if(!isReady) {
                isReady = true;
                cfCount--;
                tryToFireCF();
              }
          };
          return cf;
      }
      else {
          throw new Error("Incorrect invocation of GwInstrumentation.CF(...)");
      }
  };

  return self;

  function tagCFImageCache() {
    if(window.ue && ue.tag) {
      window.ue.tag(cfImgCached ? "gwCFImgCache" : "gwCFImgNoCache");
    }
  }

  function tryToFireCF() {
    if(h1Af && cfCount === 0) {
        window.uet && uet('cf');
        var message = 'CF fired at ';
        window.GWI && GWI.util && GWI.util.debugLog(message, true);
        window.P && P.register('cf');
        window.GWI && GWI.register('cf');
        tagCFImageCache();
    }
  }

  function fireAjaxAtf(ajaxParams) {
    P.when('gwAjax').execute(function(gwAjax) {
      gwAjax(ajaxParams.uri, {cache:false, type:'post', data:ajaxParams.data, id:'ajaxATF'});
    });
  }
}(window));
/////////////////////////
// END FILE critical/gw-instrumentation.js
/////////////////////////
/////////////////////////
// BEGIN FILE derived/linkdecorator.js
/////////////////////////
/*


Full source (including license, if applicable) included below.
*/
"use strict";
P.register("LinkDecorator", function () {
    var CEL_ATTRIBUTES = ['pf_rd_p', 'pd_rd_r', 'pd_rd_w', 'pd_rd_wg'];
    // Ref tag is  a special case that the one exist in links takes priority
    // https://w.amazon.com/bin/view/RefMarker we only support recommended ref_ in query parameter
    var NO_OVERRIDE_ATTRIBUTES = ['ref_'];
    var RID_KEY = "pf_rd_r";
    var PSEUDO_URL_PREFIX = 'javascript:';
    /*
        Check whether event has anchor element or not:
            a. if it has anchor element, apply decorate link logic
            b. if it doesn't, try to find it in parent nodes
    */
    var addMultiEventHandlers = function (s, eleId) {
        var pageContent = document.getElementById(eleId);
        s && s.split(" ").forEach(function (event) {
            if (pageContent && pageContent.addEventListener) {
                pageContent.addEventListener(event, eventHandler);
            }
            else if (pageContent && pageContent.attachEvent) {
                pageContent.attachEvent("on" + event, eventHandler);
            }
        });
    };
    var eventHandler = function (e) {
        e = e || window.event;
        if (notEligibleKeyboardEvent(e)) {
            return;
        }
        var element = e.target || e.srcElement;
        while (element && !!element.parentNode) {
            if (eligibleElement(element)) {
                decorateLink(element);
                break;
            }
            else if (element.id && element.id == 'gw-quick-look-btn') {
                applyUglyQuickLookLogic(element.parentNode);
                break;
            }
            element = element.parentNode;
        }
    };
    var notEligibleKeyboardEvent = function (event) {
        var eventType = event.type;
        var keyCode = event.which || event.keyCode;
        return eventType == "keydown" && keyCode !== 13;
    };
    var eligibleElement = function (element) {
        var tagName = element.tagName && element.tagName.toLowerCase();
        return tagName == 'a' || tagName == 'area';
    };
    var applyUglyQuickLookLogic = function (element) {
        var anchorList = element.getElementsByTagName && element.getElementsByTagName('a');
        for (var i = 0; i < anchorList.length; i++) {
            var anchor = anchorList && anchorList[i];
            anchor && decorateLink(anchor);
        }
    };
    /*
        1. Check whether queryParams contains correct requestID param or not
            a. if it does, skip whole logic
            b. If it does not, then there are two possibilities:
                i. RequestID param is present, but RequestID is incorrect (Most likely AX mode)
                    - get query params
                    - replace only requestID param. Keep other query params as is
                    - update element with new query params
                ii. RequestID param is missing. In this case we will assume links aren't decorated
                    - get query params
                    - find an parent element containing cel decoration
                    - fetch data attributes for whitelisted query params
                    - add whitelisted query params
                    - update element with new query params
    */
    var decorateLink = function (anchorElement) {
        var href = anchorElement.href;
        // TODO: remove CSM dependancy: https://issues-pdx.amazon.com/issues/GW-4222
        var rid = window.ue && window.ue.rid;
        /*
            Only execute decoration logic when all below conditions are fulfilled:
            1. href present
            2. ue.rid present
            3. href is not for shoveler/hero arrows or herf is javascript pseudo url
            4. rid amabot param is not present
        */
        href && (href.indexOf(PSEUDO_URL_PREFIX) !== 0) && rid && anchorElement.baseURI && isNonNavigatingHref(href, anchorElement.baseURI) &&
            (href.indexOf(RID_KEY + "=" + rid) < 0) && executeDecorator(rid, anchorElement);
    };
    /*
        ugly way to detect non-Navigating links like shoveler arrows! Shoveler arrows on our side uses
        href="#", which at JS Object level would result in "{page-uri}#". There might be <a> tags without
        href assigned which would be non navigating link, so we would exclude it as well.
    */
    var isNonNavigatingHref = function (href, baseUri) {
        return (href.substring(0, baseUri.length + 1) !== baseUri + "#") && href !== baseUri;
    };
    var executeDecorator = function (rid, anchorElement) {
        var urlMap = getUrlMap(anchorElement.href);
        var queryParams = urlMap.queryParams;
        if (!queryParams[RID_KEY]) {
            rid && (queryParams[RID_KEY] = rid);
            var celElement_1 = findCelElement(anchorElement);
            celElement_1 && forEach(CEL_ATTRIBUTES, function (attr) {
                var val = celElement_1.getAttribute("data-" + attr);
                val && (queryParams[attr] = val);
            });
            // for NO_OVERRIDE_ATTRIBUTES, if the parameters already exist, do not override it
            celElement_1 && forEach(NO_OVERRIDE_ATTRIBUTES, function (attr) {
                var val = celElement_1.getAttribute("data-" + attr);
                val && !queryParams[attr] && (queryParams[attr] = val);
            });
        }
        else if (rid && rid !== queryParams[RID_KEY]) {
            queryParams[RID_KEY] = rid;
        }
        anchorElement.href = urlMap.urlPath + "?" + queryParamsToString(queryParams);
    };
    // Well Element.search does not have great browser support. So using Element.href instead
    var getUrlMap = function (href) {
        var indexOfQueryParamStart = href.indexOf("?");
        if (indexOfQueryParamStart < 0) {
            return {
                "urlPath": href,
                "queryParams": {}
            };
        }
        var queryParams = {};
        // indexOfQueryParamStart + 1 to exclude "?"
        var array = href.substring(indexOfQueryParamStart + 1).split("&");
        forEach(array, function (val) {
            var param = val.split("=", 2);
            if (param.length == 2) {
                !queryParams[param[0]] && (queryParams[param[0]] = param[1]);
            }
        });
        return {
            "urlPath": href.substring(0, indexOfQueryParamStart),
            "queryParams": queryParams
        };
    };
    // Well Object.keys and Array.map does not have great browser coverage. so...
    var queryParamsToString = function (queryParams) {
        var tempArray = [];
        for (var key in queryParams) {
            tempArray.push(key + "=" + queryParams[key]);
        }
        return tempArray.join("&");
    };
    var findCelElement = function (element) {
        while (element && !!element.parentNode) {
            if (element.className && element.className.indexOf("celwidget") >= 0 && element.className.indexOf("csm-placement-id") >= 0)
                return element;
            element = element.parentNode;
        }
    };
    // Well Array.prototype.forEach does not have great browser converage. So...
    var forEach = function (array, callbackFunction) {
        for (var i = 0; i < array.length; i++) {
            callbackFunction(array[i]);
        }
    };
    return function (elementId) {
        addMultiEventHandlers("mousedown touchstart keydown", elementId);
    };
});

/////////////////////////
// END FILE derived/linkdecorator.js
/////////////////////////

// END PACKAGE 
////////////////////////////////////////////

(function(b){var a=window.AmazonUIPageJS||window.P,d=a._namespace||a.attributeErrors,c=d?d("AmazonGatewayHackAssets",""):a;c.guardFatal?c.guardFatal(b)(c,window):c.execute(function(){b(c,window)})})(function(b,a,d){a.P&&b.when("A","ready").execute(function(c){c.on("packard:glow:destinationChangeAll",function(){a.location.reload()})});b.when("A","jQuery","af","gw-desktop-herotator/dom-ready").execute("gwForceHires",function(a,b){a.loadHiResImage(b("#gw-desktop-herotator img"))});a.P&&b.when("p-detect").execute(function(){var a=
document;!/(^|\s+)a-touch(\s+|$)/.test(a.documentElement.className)&&("ontouchend"in a||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints)&&(a.documentElement.className+=" a-touch")});(function(a){a.P&&b.when("A").execute(function(b){a.GWI&&a.GWI.recordLatency("gwAUIReady")})})(a);a.P&&b.when("jQuery").execute(function(c){a.GWI&&a.GWI.recordLatency("jQueryReady");c(document).ready(function(){a.GWI&&a.GWI.recordLatency("jQueryDomReady")});c(a).load(function(){a.GWI&&a.GWI.recordLatency("jQueryWindowLoad");
try{b.register("af"),b.register("sp.load.js"),a.GWI&&GWI.util&&GWI.util.logCounter("spLoadJs"),b.register("gwAtfReady"),a.GWI&&GWI.util&&GWI.util.debugLog("On windowLoad, Fallback AF and sp.load.js fired at ",!0)}catch(e){}})});a.addEventListener("pageshow",function(c){a.GWI&&a.GWI.recordLatency("jQueryPageShow");try{b.register("af"),b.register("sp.load.js"),a.GWI&&GWI.util&&GWI.util.logCounter("spLoadJs"),b.register("gwAtfReady"),a.GWI&&GWI.util&&GWI.util.debugLog("On pageShow, Fallback AF and sp.load.js fired at ",
!0)}catch(e){}a.GWI&&GWI.Card&&GWI.Card.logLoadedNotVisibleImages()});a.P&&b.when("af").execute(function(){b.register("x1");b.register("x2")});a.P&&b.when("ready","af").execute(function(){b.register("gwLayoutReady");a.GWI&&a.GWI.recordLatency("gwLayoutReady")});a.P&&b.when("navCF").execute(function(){a.GWI&&a.GWI.recordLatency("navCF")});a.P&&b.when("A","gwLayoutReady").execute(function(b){b.capabilities.hires&&b.$(a).trigger("resize")});document.documentElement.setAttribute("data-useragent",navigator.userAgent);
document.documentElement.setAttribute("data-platform",navigator.platform)});
  (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://images-na.ssl-images-amazon.com/images/I/01rGP6HIADL.js?AUIClients/GenericObservableJS');
  (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://images-na.ssl-images-amazon.com/images/I/11lCLXBMk5L._RC|61YBxGSpjrL.js_.js?AUIClients/AmazonGatewayAuiAssets');
(function(e){var g=window.AmazonUIPageJS||window.P,k=g._namespace||g.attributeErrors,b=k?k("AmazonGatewayCardGridAssets",""):g;b.guardFatal?b.guardFatal(e)(b,window):b.execute(function(){e(b,window)})})(function(e,g,k){e.when("jQuery").register("GwGridLogic",function(b){function g(a){a=a||b("html").width();return n&&1239>=a?"sm":"ws"}function k(a,b){a.attr("data-hide-at-"+b,!0)}function h(a,b,c){if(!a.length)throw Error("No grid layout found with selector");this.$grid=a;this.selector=b;this.context=
c;this.sorted={}}function m(a,d){var c=b(a,d);if(!c.length)throw Error("No grid found with selector: "+a);this.gridDom=new h(c,a,d)}var p={xs:2,sm:3,ws:4},n=!1;b("html").hasClass("a-lt-ie9")||(n=!0);h.prototype.setBreakpoint=function(a){this.$grid.attr("data-grid-breakpoint",a)};h.prototype.sortFor=function(a){if(this.sorted[a])return this.sorted[a];var d=b(this.selector+"\x3e [data-order-"+a+"]",this.context).sort(function(c,f){c=b(c).data("order-"+a);f=b(f).data("order-"+a);return c<f?-1:c>f?1:
0});return this.sorted[a]=d};h.prototype.updateSourceOrder=function(a){};h.prototype.dropIncompleteRows=function(a){if(!this.$grid.data("init-"+a)){var d=this.sortFor(a),c=[],f=0,g=d.length,e=[];d.each(function(d,h){var l=b(h),q=l.hasClass("card-flow-row-break");l=l.data("col-span-"+a)||1;q||(f+=l);f>p[a]?(k(b(c),a),c=[h],f=l):c.push(h);if(q||d===g-1)f<p[a]?k(b(c),a):e=e.concat(c),c=[],f=0});b([e[0],e.pop()]).each(function(c,d){c=b(d);c.hasClass("card-flow-row-break")&&"desktop-ad-center-1"!==c.prev().attr("id")&&
k(c,a)});this.$grid.data("init-"+a,!0)}};m.prototype.init=function(){if(this.gridDom.$grid){this.breakpoint=g();this.update();var a=this;e.when("A").execute("RegisterResizeListener",function(b){b.on("resize",function(c,b){if(b.width||b.orientation)c=g(c.width),c!==a.breakpoint&&(a.breakpoint=c,a.update())})});return this}};m.prototype.update=function(){this.gridDom&&(this.gridDom.setBreakpoint(this.breakpoint),this.gridDom.dropIncompleteRows(this.breakpoint),this.gridDom.updateSourceOrder(this.breakpoint))};
return function(a,b){return new m(a,b)}})});
(window.AmazonUIPageJS ? AmazonUIPageJS : P).when('h1Af').execute(function() {
  (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://images-na.ssl-images-amazon.com/images/I/31PvjKh9oXL.js?AUIClients/AmazonGatewayHerotatorJS');
});
(window.AmazonUIPageJS ? AmazonUIPageJS : P).when('videoonpage').execute(function() {
  (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://images-na.ssl-images-amazon.com/images/I/91dn5m6T1dL.js?AUIClients/VideoJsCardsBuzz#language-en');
});
</script>
<title>Amazon.com. Spend less. Smile more.</title>
<meta name="description" content="Free shipping on millions of items. Get the best of Shopping and Entertainment with Prime. Enjoy low prices and great deals on the largest selection of everyday essentials and other products, including fashion, home, beauty, electronics, Alexa Devices, sporting goods, toys, automotive, pets, baby, books, video games, musical instruments, office supplies, and more.">
<meta name="keywords" content="Amazon, Amazon.com, Books, Online Shopping, Book Store, Magazine, Subscription, Music, CDs, DVDs, Videos, Electronics, Video Games, Computers, Cell Phones, Toys, Games, Apparel, Accessories, Shoes, Jewelry, Watches, Office Products, Sports & Outdoors, Sporting Goods, Baby Products, Health, Personal Care, Beauty, Home, Garden, Bed & Bath, Furniture, Tools, Hardware, Vacuums, Outdoor Living, Automotive Parts, Pet Supplies, Broadband, DSL">
<meta name="google" content="nositelinkssearchbox">
<meta name="google-site-verification" content="9vpzZueNucS8hPqoGpZ5r10Nr2_sLMRG3AnDtNlucc4">
<link rel="canonical" href="https://www.amazon.com/">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta property="fb:app_id" content="164734381262">
<meta name="twitter:card" value="summary">
<meta name="twitter:site:id" value="20793816">
<meta property="og:image" content="https://m.media-amazon.com/images/I/31epF-8N9LL.png" xmlns:og="http://opengraphprotocol.org/schema/">
<meta property="og:description" content="Free shipping on millions of items. Get the best of Shopping and Entertainment with Prime. Enjoy low prices and great deals on the largest selection of everyday essentials and other products, including fashion, home, beauty, electronics, Alexa Devices, sporting goods, toys, automotive, pets, baby, books, video games, musical instruments, office supplies, and more." xmlns:og="http://opengraphprotocol.org/schema/">
<meta name="msvalidate.01" content="3C8D6512B1E530046DE0569BA27093F3" />
<meta name="p:domain_verify" content="5de371cb20aa4232fe72f25d97e07dd6" />
<link rel="icon" href="/favicon.ico"><script type="text/javascript">
  window.P && P.when('A','ready').execute(function(A) {
    var $ = A.$;
    $('.feed-carousel').first().addClass('first-carousel');
    P.register('gw-first-carousel');
    if($('#desktop-ad-atf').height() === 0) {
      $('.gw-ad-row .a-fixed-right-grid-inner').css('padding-right','0px');
    }
  });
</script>
<!--&&&Portal&Delimiter&&&--><!-- sp:end-feature:host-assets -->
<!-- sp:feature:encrypted-slate-token -->
<meta name='encrypted-slate-token' content='AnYxCBOikgJO8Cg9n1LOJPvZk45/hOqGscB12WHHa9BEyg2yFEVDpoYV5YBSbKK4qKMM1KPVY7xG0EHiGdkTVzcK2p8PlUnWZ8uDItT+D2xo/lZpFFBf9gEADcCqbMzIlZeaYDeUnOfDSzX3/NX5X++JcIO2o3jlrH44xe+0yHpgZmdSBdNy1Gu3ayWF0at0H7eb1wrXBaEmu+zCan8eNoJEpvSXJRTwDgFeARvF5/gTab9BgvZSh0aDq5UmuF8W61XmP9v2SYEvDZA='>
<!-- sp:end-feature:encrypted-slate-token -->
<!-- sp:feature:csm:head-close -->
<script type='text/javascript'>
window.ue_ihe = (window.ue_ihe || 0) + 1;
if (window.ue_ihe === 1) {
(function(c){c&&1===c.ue_jsmtf&&"object"===typeof c.P&&"function"===typeof c.P.when&&c.P.when("mshop-interactions").execute(function(e){"object"===typeof e&&"function"===typeof e.addListener&&e.addListener(function(b){"object"===typeof b&&"ORIGIN"===b.dataSource&&"number"===typeof b.clickTime&&"object"===typeof b.events&&"number"===typeof b.events.pageVisible&&(c.ue_jsmtf_interaction={pv:b.events.pageVisible,ct:b.clickTime})})})})(ue_csm);
(function(c,e,b){function m(a){f||(f=d[a.type].id,"undefined"===typeof a.clientX?(h=a.pageX,k=a.pageY):(h=a.clientX,k=a.clientY),2!=f||l&&(l!=h||n!=k)?(r(),g.isl&&e.setTimeout(function(){p("at",g.id)},0)):(l=h,n=k,f=0))}function r(){for(var a in d)d.hasOwnProperty(a)&&g.detach(a,m,d[a].parent)}function s(){for(var a in d)d.hasOwnProperty(a)&&g.attach(a,m,d[a].parent)}function t(){var a="";!q&&f&&(q=1,a+="&ui="+f);return a}var g=c.ue,p=c.uex,q=0,f=0,l,n,h,k,d={click:{id:1,parent:b},mousemove:{id:2,
parent:b},scroll:{id:3,parent:e},keydown:{id:4,parent:b}};g&&p&&(s(),g._ui=t)})(ue_csm,window,document);


(function(s,l){function m(b,e,c){c=c||new Date(+new Date+t);c="expires="+c.toUTCString();n.cookie=b+"="+e+";"+c+";path=/"}function p(b){b+="=";for(var e=n.cookie.split(";"),c=0;c<e.length;c++){for(var a=e[c];" "==a.charAt(0);)a=a.substring(1);if(0===a.indexOf(b))return decodeURIComponent(a.substring(b.length,a.length))}return""}function q(b,e,c){if(!e)return b;-1<b.indexOf("{")&&(b="");for(var a=b.split("&"),f,d=!1,h=!1,g=0;g<a.length;g++)f=a[g].split(":"),f[0]==e?(!c||d?a.splice(g,1):(f[1]=c,a[g]=
f.join(":")),h=d=!0):2>f.length&&(a.splice(g,1),h=!0);h&&(b=a.join("&"));!d&&c&&(0<b.length&&(b+="&"),b+=e+":"+c);return b}var k=s.ue||{},t=3024E7,n=ue_csm.document||l.document,r=null,d;a:{try{d=l.localStorage;break a}catch(u){}d=void 0}k.count&&k.count("csm.cookieSize",document.cookie.length);k.cookie={get:p,set:m,updateCsmHit:function(b,e,c){try{var a;if(!(a=r)){var f;a:{try{if(d&&d.getItem){f=d.getItem("csm-hit");break a}}catch(k){}f=void 0}a=f||p("csm-hit")||"{}"}a=q(a,b,e);r=a=q(a,"t",+new Date);
try{d&&d.setItem&&d.setItem("csm-hit",a)}catch(h){}m("csm-hit",a,c)}catch(g){"function"==typeof l.ueLogError&&ueLogError(Error("Cookie manager: "+g.message),{logLevel:"WARN"})}}}})(ue_csm,window);


(function(l,e){function c(b){b="";var c=a.isBFT?"b":"s",d=""+a.oid,g=""+a.lid,h=d;d!=g&&20==g.length&&(c+="a",h+="-"+g);a.tabid&&(b=a.tabid+"+");b+=c+"-"+h;b!=f&&100>b.length&&(f=b,a.cookie?a.cookie.updateCsmHit(m,b+("|"+ +new Date)):e.cookie="csm-hit="+b+("|"+ +new Date)+n+"; path=/")}function p(){f=0}function d(b){!0===e[a.pageViz.propHid]?f=0:!1===e[a.pageViz.propHid]&&c({type:"visible"})}var n="; expires="+(new Date(+new Date+6048E5)).toGMTString(),m="tb",f,a=l.ue||{},k=a.pageViz&&a.pageViz.event&&
a.pageViz.propHid;a.attach&&(a.attach("click",c),a.attach("keyup",c),k||(a.attach("focus",c),a.attach("blur",p)),k&&(a.attach(a.pageViz.event,d,e),d({})));a.aftb=1})(ue_csm,ue_csm.document);


ue_csm.ue.stub(ue,"impression");


ue.stub(ue,"trigger");


if(window.ue&&uet) { uet('bb'); }

}
</script>
<script>window.ue && ue.count && ue.count('CSMLibrarySize', 3172)</script>
<!-- sp:end-feature:csm:head-close -->
<!-- sp:feature:head-close -->
<script>
window.P && P.register('bb');
if (typeof ues === 'function') {
  ues('t0', 'portal-bb', new Date());
  ues('ctb', 'portal-bb', 1);
}
</script>
</head><!-- sp:end-feature:head-close -->
<!-- sp:feature:start-body -->
<body class="a-m-us a-aui_72554-c a-aui_a11y_6_837773-c a-aui_killswitch_csa_logger_372963-c a-aui_pci_risk_banner_210084-c a-aui_template_weblab_cache_333406-c a-aui_tnr_v2_180836-c a-bw_aui_cxc_alert_measurement_1074111-c"><div id="a-page"><script type="a-state" data-a-state="{&quot;key&quot;:&quot;a-wlab-states&quot;}">{"AUI_A11Y_6_837773":"C","AUI_TNR_V2_180836":"C","AUI_TEMPLATE_WEBLAB_CACHE_333406":"C","BW_AUI_CXC_ALERT_MEASUREMENT_1074111":"C","AUI_72554":"C","AUI_KILLSWITCH_CSA_LOGGER_372963":"C","AUI_PCI_RISK_BANNER_210084":"C"}</script><script>typeof uex === 'function' && uex('ld', 'portal-bb', {wb: 1})</script><!-- sp:end-feature:start-body -->
<!-- sp:feature:csm:body-open -->
    <img height="1" width="1" style='display:none;visibility:hidden;' src='//fls-na.amazon.com/1/batch/1/OP/ATVPDKIKX0DER:133-0226288-2822526:4N26536XNK54Z8DY664K$uedata=s:%2Frd%2Fuedata%3Fstaticb%26id%3D4N26536XNK54Z8DY664K:0' alt="" onload="window.ue_sbl && window.ue_sbl();"/>


<script>
!function(){function n(n,t){var r=i(n);return t&&(r=r("instance",t)),r}var r=[],c=0,i=function(t){return function(){var n=c++;return r.push([t,[].slice.call(arguments,0),n,{time:Date.now()}]),i(n)}};n._s=r,this.csa=n}();;
csa('Config', {});
if (window.csa) {
    csa("Config", {
        'Application': 'Retail:Prod:www.amazon.com',
        'Events.Namespace': 'csa',
        'ObfuscatedMarketplaceId': 'ATVPDKIKX0DER',
        'Events.SushiEndpoint': 'https://unagi.amazon.com/1/events/com.amazon.csm.csa.prod',
        'CacheDetection.RequestID': "4N26536XNK54Z8DY664K",
        'CacheDetection.Callback': window.ue && ue.reset,
        'LCP.elementDedup': 1,
        'lob': '1'
    });

    csa("Events")("setEntity", {
        page: {requestId: "4N26536XNK54Z8DY664K", meaningful: "interactive"},
        session: {id: "133-0226288-2822526"}
    });
}
!function(r){var e,i,o="splice",u=r.csa,f={},c={},a=r.csa._s,s=0,l=0,g=-1,h={},v={},d={},n=Object.keys,p=function(){};function t(n,t){return u(n,t)}function m(n,t){var r=c[n]||{};k(r,t),c[n]=r,l++,S(U,0)}function w(n,t,r){var i=!0;return t=D(t),r&&r.buffered&&(i=(d[n]||[]).every(function(n){return!1!==t(n)})),i?(h[n]||(h[n]=[]),h[n].push(t),function(){!function(n,t){var r=h[n];r&&r[o](r.indexOf(t),1)}(n,t)}):p}function b(n,t){if(t=D(t),n in v)return t(v[n]),p;return w(n,function(n){return t(n),!1})}function y(n,t){if(u("Errors")("logError",n),f.DEBUG)throw t||n}function E(){return Math.abs(4294967295*Math.random()|0).toString(36)}function D(n,t){return function(){try{return n.apply(this,arguments)}catch(n){y(n.message||n,n)}}}function S(n,t){return r.setTimeout(D(n),t)}function U(){for(var n=0;n<a.length;){var t=a[n],r=t[0]in c;if(!r&&!i)return void(s=a.length);r?(a[o](s=n,1),I(t)):n++}g=l}function I(n){var t=c[n[0]],r=n[1],i=r[0];if(!t||!t[i])return y("Undefined function: "+t+"/"+i);e=n[3],c[n[2]]=t[i].apply(t,r.slice(1))||{},e=0}function O(){i=1,U()}function k(t,r){n(r).forEach(function(n){t[n]=r[n]})}b("$beforeunload",O),m("Config",{instance:function(n){k(f,n)}}),u.plugin=D(function(n){n(t)}),t.config=f,t.register=m,t.on=w,t.once=b,t.blank=p,t.emit=function(n,t,r){for(var i=h[n]||[],e=0;e<i.length;)!1===i[e](t)?i[o](e,1):e++;v[n]=t||{},r&&r.buffered&&(d[n]||(d[n]=[]),100<=d[n].length&&d[n].shift(),d[n].push(t||{}))},t.UUID=function(){return[E(),E(),E(),E()].join("-")},t.time=function(n){var t=e?new Date(e.time):new Date;return"ISO"===n?t.toISOString():t.getTime()},t.error=y,t.warn=function(n,t){if(u("Errors")("logWarn",n),f.DEBUG)throw t||n},t.exec=D,t.timeout=S,t.interval=function(n,t){return r.setInterval(D(n),t)},(t.global=r).csa._s.push=function(n){n[0]in c&&(!a.length||i)?(I(n),a.length&&g!==l&&U()):a[o](s++,0,n)},U(),S(function(){S(O,f.SkipMissingPluginsTimeout||5e3)},1)}("undefined"!=typeof window?window:global);csa.plugin(function(o){var f="addEventListener",e="requestAnimationFrame",t=o.exec,r=o.global,u=o.on;o.raf=function(n){if(r[e])return r[e](t(n))},o.on=function(n,e,t,r){if(n&&"function"==typeof n[f]){var i=o.exec(t);return n[f](e,i,r),function(){n.removeEventListener(e,i,r)}}return"string"==typeof n?u(n,e,t,r):o.blank}});csa.plugin(function(o){var t,n,r={},e="localStorage",c="sessionStorage",a="local",i="session",u=o.exec;function s(e,t){var n;try{r[t]=!!(n=o.global[e]),n=n||{}}catch(e){r[t]=!(n={})}return n}function f(){t=t||s(e,a),n=n||s(c,i)}function l(e){return e&&e[i]?n:t}o.store=u(function(e,t,n){f();var o=l(n);return e?t?void(o[e]=t):o[e]:Object.keys(o)}),o.storageSupport=u(function(){return f(),r}),o.deleteStored=u(function(e,t){f();var n=l(t);if("function"==typeof e)for(var o in n)n.hasOwnProperty(o)&&e(o,n[o])&&delete n[o];else delete n[e]})});csa.plugin(function(n){n.types={ovl:function(n){var r=[];if(n)for(var i in n)n.hasOwnProperty(i)&&r.push(n[i]);return r}}});csa.plugin(function(a){var e=a.config,n="Errors",c="fcsmln",s=e["KillSwitch."+n];function r(n){return function(e){a("Metrics",{producerId:"csa",dimensions:{message:e}})("recordMetric",n,1)}}function t(r){var t,o,l=a("Events",{producerId:r.producerId,lob:e.lob||"0"}),i=["name","type","csm","adb"],u={url:"pageURL",file:"f",line:"l",column:"c"};this.log=function(e){if(!s&&!function(e){if(!e)return!0;for(var n in e)return!1;return!0}(e)){var n=r.logOptions||{ent:{page:["pageType","subPageType","requestId"]}};l("log",function(n){return t=a.UUID(),o={messageId:t,schemaId:r.schemaId||"<ns>.Error.6",errorMessage:n.m||null,attribution:n.attribution||null,logLevel:"FATAL",url:null,file:null,line:null,column:null,stack:n.s||[],context:n.cinfo||{},metadata:{}},n.logLevel&&(o.logLevel=""+n.logLevel),i.forEach(function(e){n[e]&&(o.metadata[e]=n[e])}),c in n&&(o.metadata[c]=n[c]+""),"INFO"===n.logLevel||Object.keys(u).forEach(function(e){"number"!=typeof n[u[e]]&&"string"!=typeof n[u[e]]||(o[e]=""+n[u[e]])}),o}(e),n)}}}a.register(n,{instance:function(e){return new t(e||{})},logError:r("jsError"),logWarn:r("jsWarn")})});csa.plugin(function(o){var r,e,n,t,a,i="function",u="willDisappear",f="$app.",p="$document.",c="focus",s="blur",d="active",l="resign",$=o.global,b=o.exec,m=o.config["Transport.AnonymizeRequests"]||!1,g=o("Events"),h=$.location,v=$.document||{},y=$.P||{},P=(($.performance||{}).navigation||{}).type,w=o.on,k=o.emit,E=v.hidden,T={};h&&v&&(w($,"beforeunload",D),w($,"pagehide",D),w(v,"visibilitychange",R(p,function(){return v.visibilityState||"unknown"})),w(v,c,R(p+c)),w(v,s,R(p+s)),y.when&&y.when("mash").execute(function(e){e&&(w(e,"appPause",R(f+"pause")),w(e,"appResume",R(f+"resume")),R(f+"deviceready")(),$.cordova&&$.cordova.platformId&&R(f+cordova.platformId)(),w(v,d,R(f+d)),w(v,l,R(f+l)))}),e=$.app||{},n=b(function(){k(f+"willDisappear"),D()}),a=typeof(t=e[u])==i,e[u]=b(function(){n(),a&&t()}),$.app||($.app=e),"complete"===v.readyState?A():w($,"load",A),E?S():x(),o.on("$app.blur",S),o.on("$app.focus",x),o.on("$document.blur",S),o.on("$document.focus",x),o.on("$document.hidden",S),o.on("$document.visible",x),o.register("SPA",{newPage:I}),I({transitionType:{0:"hard",1:"refresh",2:"back-button"}[P]||"unknown"}));function I(n,e){var t=!!r,a=(e=e||{}).keepPageAttributes;t&&(k("$beforePageTransition"),k("$pageTransition")),t&&!a&&g("removeEntity","page"),r=o.UUID(),a?T.id=r:T={schemaId:"<ns>.PageEntity.2",id:r,url:m?h.href.split("?")[0]:h.href,server:h.hostname,path:h.pathname,referrer:m?v.referrer.split("?")[0]:v.referrer,title:v.title},Object.keys(n||{}).forEach(function(e){T[e]=n[e]}),g("setEntity",{page:T}),k("$pageChange",T,{buffered:1}),t&&k("$afterPageTransition")}function A(){k("$load"),k("$ready"),k("$afterload")}function D(){k("$ready"),k("$beforeunload"),k("$unload"),k("$afterunload")}function S(){E||(k("$visible",!1,{buffered:1}),E=!0)}function x(){E&&(k("$visible",!0,{buffered:1}),E=!1)}function R(n,t){return b(function(){var e=typeof t==i?n+t():n;k(e)})}});csa.plugin(function(c){var e="Events",n="UNKNOWN",s="id",a="all",i="messageId",o="timestamp",u="producerId",r="application",f="obfuscatedMarketplaceId",d="entities",l="schemaId",p="version",v="attributes",g="<ns>",b="lob",t="session",h=c.config,m=(c.global.location||{}).host,I=h[e+".Namespace"]||"csa_other",y=h.Application||"Other"+(m?":"+m:""),O=h["Transport.AnonymizeRequests"]||!1,E=c("Transport"),U={},A=function(e,t){Object.keys(e).forEach(t)};function N(n,i,o){A(i,function(e){var t=o===a||(o||{})[e];e in n||(n[e]={version:1,id:i[e][s]||c.UUID()}),S(n[e],i[e],t)})}function S(t,n,i){A(n,function(e){!function(e,t,n){return"string"!=typeof t&&e!==p?c.error("Attribute is not of type string: "+e):!0===n||1===n||(e===s||!!~(n||[]).indexOf(e))}(e,n[e],i)||(t[e]=n[e])})}function k(o,e,r){A(e,function(e){var t=o[e];if(t[l]){var n={},i={};n[s]=t[s],n[u]=t[u]||r[u],n[l]=t[l],n[p]=t[p]++,n[v]=i,w(n,r),S(i,t,1),D(i),E("log",n)}})}function w(e,t){e[o]=function(e){return"number"==typeof e&&(e=new Date(e).toISOString()),e||c.time("ISO")}(e[o]),e[i]=e[i]||c.UUID(),e[r]=y,e[f]=h.ObfuscatedMarketplaceId||n,e[l]=e[l].replace(g,I),t&&t[b]&&(e[b]=t[b])}function D(e){delete e[p],delete e[l],delete e[u]}function T(o){var r={};this.log=function(e,t){var n={},i=(t||{}).ent;return e?"string"!=typeof e[l]?c.error("A valid schema id is required for the event"):(w(e,o),N(n,U,i),N(n,r,i),N(n,e[d]||{},i),A(n,function(e){D(n[e])}),e[u]=o[u],e[d]=n,t&&t[b]&&(e[b]=t[b]),void E("log",e,t)):c.error("The event cannot be undefined")},this.setEntity=function(e){O&&delete e[t],N(r,e,a),k(r,e,o)}}h["KillSwitch."+e]||c.register(e,{setEntity:function(e){O&&delete e[t],c.emit("$entities.set",e,{buffered:1}),N(U,e,a),k(U,e,{producerId:"csa",lob:h[b]||"0"})},removeEntity:function(e){delete U[e]},instance:function(e){return new T(e)}})});csa.plugin(function(s){var c,g="Transport",l="post",f="preflight",r="csa.cajun.",i="store",a="deleteStored",u="sendBeacon",t="__merge",e="messageId",n=".FlushInterval",o=0,d=s.config[g+".BufferSize"]||2e3,h=s.config[g+".RetryDelay"]||1500,p=s.config[g+".AnonymizeRequests"]||!1,v={},y=0,m=[],E=s.global,R=E.document,b=s.timeout,k=E.Object.keys,w=s.config[g+n]||5e3,I=w,O=s.config[g+n+".BackoffFactor"]||1,S=s.config[g+n+".BackoffLimit"]||3e4,B=0;function T(n){if(864e5<s.time()-+new Date(n.timestamp))return s.warn("Event is too old: "+n);y<d&&(n[e]in v||(v[n[e]]=n,y++),"function"==typeof n[t]&&n[t](v[n[e]]),!B&&o&&(B=b(q,function(){var n=I;return I=Math.min(n*O,S),n}())))}function q(){m.forEach(function(e){var o=[];k(v).forEach(function(n){var t=v[n];e.accepts(t)&&o.push(t)}),o.length&&(e.chunks?e.chunks(o).forEach(function(n){D(e,n)}):D(e,o))}),v={},B=0}function D(t,e){function o(){s[a](r+n)}var n=s.UUID();s[i](r+n,JSON.stringify(e)),[function(n,t,e){var o=E.navigator||{},r=E.cordova||{};if(p)return 0;if(!o[u]||!n[l])return 0;n[f]&&r&&"ios"===r.platformId&&!c&&((new Image).src=n[f]().url,c=1);var i=n[l](t);if(!i.type&&o[u](i.url,i.body))return e(),1},function(n,t,e){if(!n[l])return 0;var o=n[l](t),r=o.url,i=o.body,c=o.type,f=new XMLHttpRequest,a=0;function u(n,t,e){f.open("POST",n),f.withCredentials=!p,e&&f.setRequestHeader("Content-Type",e),f.send(t)}return f.onload=function(){f.status<299?e():s.config[g+".XHRRetries"]&&a<3&&b(function(){u(r,i,c)},++a*h)},u(r,i,c),1}].some(function(n){try{return n(t,e,o)}catch(n){}})}k&&(s.once("$afterload",function(){o=1,function(e){(s[i]()||[]).forEach(function(n){if(!n.indexOf(r))try{var t=s[i](n);s[a](n),JSON.parse(t).forEach(e)}catch(n){s.error(n)}})}(T),s.on(R,"visibilitychange",q,!1),q()}),s.once("$afterunload",function(){o=1,q()}),s.on("$afterPageTransition",function(){y=0,I=w}),s.register(g,{log:T,register:function(n){m.push(n)}}))});csa.plugin(function(n){var r=n.config["Events.SushiEndpoint"];n("Transport")("register",{accepts:function(n){return n.schemaId},post:function(n){var t=n.map(function(n){return{data:n}});return{url:r,body:JSON.stringify({events:t})}},preflight:function(){var n,t=/\/\/(.*?)\//.exec(r);return t&&t[1]&&(n="https://"+t[1]+"/ping"),{url:n}},chunks:function(n){for(var t=[];500<n.length;)t.push(n.splice(0,500));return t.push(n),t}})});csa.plugin(function(n){var t,a,o,r,e=n.config,i="PageViews",d=e[i+".ImpressionMinimumTime"]||1e3,s="hidden",c="innerHeight",l="innerWidth",g="renderedTo",f=g+"Viewed",m=g+"Meaningful",u=g+"Impressed",p=1,h=2,v=3,w=4,P=5,y="loaded",I=7,b=8,T=n.global,S=n.on,E=n("Events",{producerId:"csa",lob:e.lob||"0"}),K=T.document,V={},$={},M=P,R=e["KillSwitch."+i],H=e["KillSwitch.PageRender"],W=e["KillSwitch.PageImpressed"];function j(e){if(!V[I]){if(V[e]=n.time(),e!==v&&e!==y||(t=t||V[e]),t&&M===w){if(a=a||V[e],!R)(i={})[m]=t-o,i[f]=a-o,k("PageView.5",i);r=r||n.timeout(x,d)}var i;if(e!==P&&e!==p&&e!==h||(clearTimeout(r),r=0),e!==p&&e!==h||H||k("PageRender.4",{transitionType:e===p?"hard":"soft"}),e===I&&!W)(i={})[m]=t-o,i[f]=a-o,i[u]=V[e]-o,k("PageImpressed.3",i)}}function k(e,i){$[e]||(i.schemaId="<ns>."+e,E("log",i,{ent:"all"}),$[e]=1)}function q(){0===T[c]&&0===T[l]?(M=b,n("Events")("setEntity",{page:{viewport:"hidden-iframe"}})):M=K[s]?P:w,j(M)}function x(){j(I),r=0}function z(){var e=o?h:p;V={},$={},a=t=0,o=n.time(),j(e),q()}function A(){var e=K.readyState;"interactive"===e&&j(v),"complete"===e&&j(y)}K&&void 0!==K[s]?(z(),S(K,"visibilitychange",q,!1),S(K,"readystatechange",A,!1),S("$afterPageTransition",z),S("$timing:loaded",A),n.once("$load",A)):n.warn("Page visibility not supported")});csa.plugin(function(c){var s=c.config["Interactions.ParentChainLength"]||35,e="click",r="touches",f="timeStamp",o="length",u="pageX",g="pageY",p="pageXOffset",h="pageYOffset",m=250,v=5,d=200,l=.5,t={capture:!0,passive:!0},X=c.global,Y=c.emit,n=c.on,x=X.Math.abs,a=(X.document||{}).documentElement||{},y={x:0,y:0,t:0,sX:0,sY:0},N={x:0,y:0,t:0,sX:0,sY:0};function b(t){if(t.id)return"//*[@id='"+t.id+"']";var e=function(t){var e,n=1;for(e=t.previousSibling;e;e=e.previousSibling)e.nodeName===t.nodeName&&(n+=1);return n}(t),n=t.nodeName;return 1!==e&&(n+="["+e+"]"),t.parentNode&&(n=b(t.parentNode)+"/"+n),n}function I(t,e,n){var a=c("Content",{target:n}),i={schemaId:"<ns>.ContentInteraction.2",interaction:t,interactionData:e,messageId:c.UUID()};if(n){var r=b(n);r&&(i.attribution=r);var o=function(t){for(var e=t,n=e.tagName,a=!1,i=t?t.href:null,r=0;r<s;r++){if(!e||!e.parentElement){a=!0;break}n=(e=e.parentElement).tagName+"/"+n,i=i||e.href}return a||(n=".../"+n),{pc:n,hr:i}}(n);o.pc&&(i.interactionData.parentChain=o.pc),o.hr&&(i.interactionData.href=o.hr)}a("log",i),Y("$content.interaction",{e:i,w:a})}function i(t){I(e,{interactionX:""+t.pageX,interactionY:""+t.pageY},t.target)}function C(t){if(t&&t[r]&&1===t[r][o]){var e=t[r][0];N=y={e:t.target,x:e[u],y:e[g],t:t[f],sX:X[p],sY:X[h]}}}function D(t){if(t&&t[r]&&1===t[r][o]&&y&&N){var e=t[r][0],n=t[f],a=n-N.t,i={e:t.target,x:e[u],y:e[g],t:n,sX:X[p],sY:X[h]};N=i,d<=a&&(y=i)}}function E(t){if(t){var e=x(y.x-N.x),n=x(y.y-N.y),a=x(y.sX-N.sX),i=x(y.sY-N.sY),r=t[f]-y.t;if(m<1e3*e/r&&v<e||m<1e3*n/r&&v<n){var o=n<e;o&&a&&e*l<=a||!o&&i&&n*l<=i||I((o?"horizontal":"vertical")+"-swipe",{interactionX:""+y.x,interactionY:""+y.y,endX:""+N.x,endY:""+N.y},y.e)}}}n(a,e,i,t),n(a,"touchstart",C,t),n(a,"touchmove",D,t),n(a,"touchend",E,t)});csa.plugin(function(s){var a,o,t,c,e,n="MutationObserver",l="observe",i="disconnect",f="_csa_flt",b="_csa_llt",d="_csa_mr",p="_csa_mi",v="lastChild",m="length",h={childList:!0,subtree:!0},_=10,g=25,r=1e3,y=4,u=s.global,k=u.document,w=k.body||k.documentElement,I=Date.now,L=[],O=[],B=[],M=0,x=0,C=0,D=1,E=[],F=[],S=0,V=s.blank;I&&u[n]&&(M=0,o=new u[n]($),(t=new u[n](Y))[l](w,{attributes:!0,subtree:!0,attributeFilter:["src"],attributeOldValue:!0}),V=s.on(u,"scroll",j,{passive:!0}),s.once("$ready",A),D&&(z(),e=s.interval(q,r)),s.register("SpeedIndexBuffers",{getBuffers:function(e){e&&(A(),j(),e(M,E,L,O,B),o&&o[i](),t&&t[i](),V())},registerListener:function(e){a=e},replayModuleIsLive:function(){s.timeout(A,0)}}));function Y(e){L.push({t:I(),m:e})}function $(e){O.push({t:I(),m:e}),C=1,a&&a()}function j(){C&&(B.push({t:I(),y:x}),x=u.pageYOffset,C=0)}function q(){var e=I();(!c||r<e-c)&&z()}function z(){for(var e=w,t=I(),n=[],i=[],r=0,u=0;e;)e[f]?++r:(e[f]=t,n.push(e),u=1),i[m]<y&&i.push(e),e[p]=S,e[b]=t,e=e[v];u&&(r<F[m]&&function(e){for(var t=e,n=F[m];t<n;t++){var i=F[t];if(i){if(i[d])break;if(i[p]<S){i[d]=1,o[l](i,h);break}}}}(r),F=i,E.push({t:t,m:n}),++S,C=u,a&&a()),D&&s.timeout(z,u?_:g),c=t}function A(){D&&(D=0,e&&u.clearInterval(e),e=null,z(),o[l](w,h))}});

var ue_dsbl_ss_um = true;
csa.plugin(function(b){var a=b.global,e=a.uet,g=a.uex,h=a.ue,c=a.Object,k=0,d={largestContentfulPaint:"lcp",visuallyLoaded50:"vl50",visuallyLoaded90:"vl90",visuallyLoaded100:"vl100"};a.ue_dsbl_ss_um||(d.speedIndex="si",d.atfSpeedIndex="atfsi");b&&e&&g&&c.keys&&h&&(b.once("$ditched.beforemitigation",function(){k=1}),c.keys(d).forEach(function(a){b.on("$timing:"+a,function(b){var f=d[a];if(h.isl||k){var c="csa:"+f;e(f,c,void 0,b);g("at",c)}else e(f,void 0,void 0,b)})}))});


window.rx = { 'rid':'4N26536XNK54Z8DY664K', 'sid':'133-0226288-2822526', 'c':{  'rxp':'/rd/uedata' }};
</script>
<script>window.ue && ue.count && ue.count('CSMLibrarySize', 16252)</script>
<!-- sp:end-feature:csm:body-open -->
<!-- sp:feature:nav-inline-js -->
<!-- NAVYAAN JS -->

<script type="text/javascript">!function(n){function e(n,e){return{m:n,a:function(n){return[].slice.call(n)}(e)}}document.createElement("header");var r=function(n){function u(n,r,u){n[u]=function(){a._replay.push(r.concat(e(u,arguments)))}}var a={};return a._sourceName=n,a._replay=[],a.getNow=function(n,e){return e},a.when=function(){var n=[e("when",arguments)],r={};return u(r,n,"run"),u(r,n,"declare"),u(r,n,"publish"),u(r,n,"build"),r.depends=n,r.iff=function(){var r=n.concat([e("iff",arguments)]),a={};return u(a,r,"run"),u(a,r,"declare"),u(a,r,"publish"),u(a,r,"build"),a},r},u(a,[],"declare"),u(a,[],"build"),u(a,[],"publish"),u(a,[],"importEvent"),r._shims.push(a),a};r._shims=[],n.$Nav||(n.$Nav=r("rcx-nav")),n.$Nav.make||(n.$Nav.make=r)}(window)</script><script type="text/javascript">
$Nav.importEvent('navbarJS-beaconbelt');
$Nav.declare('img.sprite', {
  'png32': 'https://m.media-amazon.com/images/G/01/gno/sprites/nav-sprite-global-1x-reorg-privacy._CB541706272_.png',
  'png32-2x': 'https://m.media-amazon.com/images/G/01/gno/sprites/nav-sprite-global-2x-reorg-privacy._CB541706272_.png'
});
$Nav.declare('img.timeline', {
  'timeline-icon-2x': 'https://m.media-amazon.com/images/G/01/gno/sprites/timeline_sprite_2x._CB443581191_.png'
});
window._navbarSpriteUrl = 'https://m.media-amazon.com/images/G/01/gno/sprites/nav-sprite-global-1x-reorg-privacy._CB541706272_.png';
$Nav.declare('img.pixel', 'https://m.media-amazon.com/images/G/01/x-locale/common/transparent-pixel._CB485935036_.gif');
</script>

<img src="https://m.media-amazon.com/images/G/01/gno/sprites/nav-sprite-global-1x-reorg-privacy._CB541706272_.png" style="display:none" alt=""/>
<script type="text/javascript">var nav_t_after_preload_sprite = + new Date();</script>
<script>
(window.AmazonUIPageJS ? AmazonUIPageJS : P).when('navCF').execute(function() {
  (window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://images-na.ssl-images-amazon.com/images/I/51zmCyOWOfL._RC|716gasHU4PL.js,01QvReFeJyL.js,01VfhmbHmKL.js,71KM3Dux7-L.js,41jBieyCvYL.js,01wXnKULArL.js,01+pnQJuQ0L.js,21Un7Tx1UGL.js,41lXbNNGwGL.js,51HrkAbbpLL.js,31pICZB5M9L.js,11lw6J7z8iL.js,31+UifI0MIL.js,01VYGE8lGhL.js,01tDwkxEoCL.js_.js?AUIClients/NavDesktopUberAsset#desktop.language-en.us.878681-T1.1079958-T1.803398-T1.1089549-T1.948355-T1.1121224-T1');
});
</script>
<!-- sp:end-feature:nav-inline-js -->
<!-- sp:feature:nav-skeleton -->
<!-- sp:end-feature:nav-skeleton -->
<!-- sp:feature:navbar -->

<!--Pilu -->


  <!-- NAVYAAN -->











<!-- navmet initial definition -->



<script type='text/javascript'>
    if(window.navmet===undefined) {
      window.navmet=[];
      if (window.performance && window.performance.timing && window.ue_t0) {
        var t = window.performance.timing;
        var now = + new Date();
        window.navmet.basic = {
          'networkLatency': (t.responseStart - t.fetchStart),
          'navFirstPaint': (now - t.responseStart),
          'NavStart': (now - window.ue_t0)
        };
        window.navmet.push({key:"NavFirstPaintStart",end:+new Date(),begin:window.ue_t0});
      }
    }
    if (window.ue_t0) {
      window.navmet.push({key:"NavMainStart",end:+new Date(),begin:window.ue_t0});
    }
</script>




<script type='text/javascript'>window.navmet.tmp=+new Date();</script>
  <script type='text/javascript'>
    // Nav start should be logged at this place only if request is NOT progressively loaded.
    // For progressive loading case this metric is logged as part of skeleton.
    // Presence of skeleton signals that request is progressively loaded.
    if(!document.getElementById("navbar-skeleton")) {
      window.uet && uet('ns');
    }
    window._navbar = (function (o) {
      o.componentLoaded = o.loading = function(){};
      o.browsepromos = {};
      o.issPromos = [];
      return o;
    }(window._navbar || {}));
    window._navbar.declareOnLoad = function () { window.$Nav && $Nav.declare('page.load'); };
    if (window.addEventListener) {
      window.addEventListener("load", window._navbar.declareOnLoad, false);
    } else if (window.attachEvent) {
      window.attachEvent("onload", window._navbar.declareOnLoad);
    } else if (window.$Nav) {
      $Nav.when('page.domReady').run("OnloadFallbackSetup", function () {
        window._navbar.declareOnLoad();
      });
    }
    window.$Nav && $Nav.declare('logEvent.enabled',
      'false');

    window.$Nav && $Nav.declare('config.lightningDeals', {});
  </script>

    <style mark="aboveNavInjectionCSS" type="text/css">
       #nav-flyout-ewc .nav-flyout-buffer-left { display: none; } #nav-flyout-ewc .nav-flyout-buffer-right { display: none; } div#navSwmHoliday.nav-focus {border: none;margin: 0;}
    </style>
    <script mark="aboveNavInjectionJS" type="text/javascript">
      try {
        if(window.navmet===undefined)window.navmet=[]; if(window.$Nav) { $Nav.when('$', 'config', 'flyout.accountList', 'SignInRedirect', 'dataPanel').run('accountListRedirectFix', function ($, config, flyout, SignInRedirect, dataPanel) { if (!config.accountList) { return; } flyout.getPanel().onData(function (data) { if (SignInRedirect) { var $anchors = $('[data-nav-role=signin]', flyout.elem()); $.each($anchors, function(i, anchorEl) {SignInRedirect.setRedirectUrl($(anchorEl), null, null);});}});}); $Nav.when('$').run('defineIsArray', function(jQuery) { if(jQuery.isArray===undefined) { jQuery.isArray=function(param) { if(param.length===undefined) { return false; } return true; }; } }); $Nav.declare('config.cartFlyoutDisabled', 'true'); $Nav.when('$','$F','config','logEvent','panels','phoneHome','dataPanel','flyouts.renderPromo','flyouts.sloppyTrigger','flyouts.accessibility','util.mouseOut','util.onKey','debug.param').build('flyouts.buildSubPanels',function($,$F,config,logEvent,panels,phoneHome,dataPanel,renderPromo,createSloppyTrigger,a11yHandler,mouseOutUtility,onKey,debugParam){var flyoutDebug=debugParam('navFlyoutClick');return function(flyout,event){var linkKeys=[];$('.nav-item',flyout.elem()).each(function(){var $item=$(this);linkKeys.push({link:$item,panelKey:$item.attr('data-nav-panelkey')});});if(linkKeys.length===0){return;} var visible=false;var $parent=$('<div class=\'nav-subcats\'></div>').appendTo(flyout.elem());var panelGroup=flyout.getName()+'SubCats';var hideTimeout=null;var sloppyTrigger=createSloppyTrigger($parent);var showParent=function(){if(hideTimeout){clearTimeout(hideTimeout);hideTimeout=null;} if(visible){return;} var height=$('#nav-flyout-shopAll').height(); $parent.css({'height': height});$parent.animate({width:'show'},{duration:200,complete:function(){$parent.css({overflow:'visible'});}});visible=true;};var hideParentNow=function(){$parent.stop().css({overflow:'hidden',display:'none',width:'auto',height:'auto'});panels.hideAll({group:panelGroup});visible=false;if(hideTimeout){clearTimeout(hideTimeout);hideTimeout=null;}};var hideParent=function(){if(!visible){return;} if(hideTimeout){clearTimeout(hideTimeout);hideTimeout=null;} hideTimeout=setTimeout(hideParentNow,10);};flyout.onHide(function(){sloppyTrigger.disable();hideParentNow();this.elem().hide();});var addPanel=function($link,panelKey){var panel=dataPanel({className:'nav-subcat',dataKey:panelKey,groups:[panelGroup],spinner:false,visible:false});if(!flyoutDebug){var mouseout=mouseOutUtility();mouseout.add(flyout.elem());mouseout.action(function(){panel.hide();});mouseout.enable();} var a11y=a11yHandler({link:$link,onEscape:function(){panel.hide();$link.focus();}});var logPanelInteraction=function(promoID,wlTriggers){var logNow=$F.once().on(function(){var panelEvent=$.extend({},event,{id:promoID});if(config.browsePromos&&!!config.browsePromos[promoID]){panelEvent.bp=1;} logEvent(panelEvent);phoneHome.trigger(wlTriggers);});if(panel.isVisible()&&panel.hasInteracted()){logNow();}else{panel.onInteract(logNow);}};panel.onData(function(data){renderPromo(data.promoID,panel.elem());logPanelInteraction(data.promoID,data.wlTriggers);});panel.onShow(function(){var columnCount=$('.nav-column',panel.elem()).length;panel.elem().addClass('nav-colcount-'+columnCount);showParent();var $subCatLinks=$('.nav-subcat-links > a',panel.elem());var length=$subCatLinks.length;if(length>0){var firstElementLeftPos=$subCatLinks.eq(0).offset().left;for(var i=1;i<length;i++){if(firstElementLeftPos===$subCatLinks.eq(i).offset().left){$subCatLinks.eq(i).addClass('nav_linestart');}} if($('span.nav-title.nav-item',panel.elem()).length===0){var catTitle=$.trim($link.html());catTitle=catTitle.replace(/ref=sa_menu_top/g,'ref=sa_menu');var $subPanelTitle=$('<span class=\'nav-title nav-item\'>'+ catTitle+'</span>');panel.elem().prepend($subPanelTitle);}} $link.addClass('nav-active');});panel.onHide(function(){$link.removeClass('nav-active');hideParent();a11y.disable();sloppyTrigger.disable();});panel.onShow(function(){a11y.elems($('a, area',panel.elem()));});sloppyTrigger.register($link,panel);if(flyoutDebug){$link.click(function(){if(panel.isVisible()){panel.hide();}else{panel.show();}});} var panelKeyHandler=onKey($link,function(){if(this.isEnter()||this.isSpace()){panel.show();}},'keydown',false);$link.focus(function(){panelKeyHandler.bind();}).blur(function(){panelKeyHandler.unbind();});panel.elem().appendTo($parent);};var hideParentAndResetTrigger=function(){hideParent();sloppyTrigger.disable();};for(var i=0;i<linkKeys.length;i++){var item=linkKeys[i];if(item.panelKey){addPanel(item.link,item.panelKey);}else{item.link.mouseover(hideParentAndResetTrigger);}}};});};
      } catch ( err ) {
        if ( window.$Nav ) {
          window.$Nav.when('metrics', 'logUeError').run(function(metrics, log) {
            metrics.increment('NavJS:AboveNavInjection:error');
            log(err.toString(), {
              'attribution': 'rcx-nav',
              'logLevel': 'FATAL'
            });
          });
        }
      }
    </script>

  <noscript>
    <style type="text/css"><!--
      #navbar #nav-shop .nav-a:hover {
        color: #ff9900;
        text-decoration: underline;
      }
      #navbar #nav-search .nav-search-facade,
      #navbar #nav-tools .nav-icon,
      #navbar #nav-shop .nav-icon,
      #navbar #nav-subnav .nav-hasArrow .nav-arrow {
        display: none;
      }
      #navbar #nav-search .nav-search-submit,
      #navbar #nav-search .nav-search-scope {
        display: block;
      }
      #nav-search .nav-search-scope {
        padding: 0 5px;
      }
      #navbar #nav-search .nav-search-dropdown {
        position: relative;
        top: 5px;
        height: 23px;
        font-size: 14px;
        opacity: 1;
        filter: alpha(opacity = 100);
      }
    --></style>
 </noscript>
<script type='text/javascript'>window.navmet.push({key:'PreNav',end:+new Date(),begin:window.navmet.tmp});</script>

<a id='nav-top'></a>





  
<nav 
  id="shortcut-menu" 
  class="nav-assistant" 
  aria-label="Shortcuts menu"
  tabindex="-1" 
  role="navigation" 
  
>
  <ul role="menu" aria-label="Shortcuts menu">
    <h2 id="nav-assistant-links-heading" class="nav-assistant-heading nav-assistant-headers-font">Skip to</h2>
    <li role="presentation" class="nav-assistant-links-container">
      <ul role="group" aria-labelledby="nav-assistant-links-heading">
        <li role="presentation">
          <a      
            id="nav-assist-skip-to-main-content"
            role="menuitem"
            aria-label="Skip to main content"
            tabindex="0"
            data-target="#skippedLink"
            data-nav-assist-menu-item-index="0"
            class="a-link nav-assistant-link nav-assistant-menu-item nav-assistant-link-item"
          >Main content</a>
        </li>
      </ul>
    </li>
    <hr class="nav-assistant-separator" aria-hidden="true" />
    <h2 id="shortcuts-heading" class="nav-assistant-heading nav-assistant-headers-font font-color">
      Keyboard shortcuts
    </h2>
    <li role="presentation" class="keyboard-shortcuts-list-container">
      <ul role="group" aria-labelledby="shortcuts-heading">
        <li 
          id="nav-assist-search" 
          role="menuitem" 
          tabindex="-1" 
          class="nav-assistant-menu-item nav-assistant-link-item nav-assistant-keyboard-shortcut-item"
          data-actuators="[{&quot;eventCode&quot;:&quot;Slash&quot;,&quot;eventKey&quot;:&quot;÷&quot;,&quot;isShiftRequired&quot;:false},{&quot;eventCode&quot;:&quot;Digit7&quot;,&quot;eventKey&quot;:&quot;\\&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventCode&quot;:&quot;Period&quot;,&quot;eventKey&quot;:&quot;\\&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventCode&quot;:&quot;Slash&quot;,&quot;eventKey&quot;:&quot;/&quot;,&quot;isShiftRequired&quot;:false},{&quot;eventCode&quot;:&quot;Digit7&quot;,&quot;eventKey&quot;:&quot;/&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventCode&quot;:&quot;Period&quot;,&quot;eventKey&quot;:&quot;/&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventKey&quot;:&quot;/&quot;,&quot;isShiftRequired&quot;:false}]"
          data-nav-assist-menu-item-index="1"
          data-target="#twotabsearchtextbox"
        >
            <a aria-label="Search, alt, forward slash">
              <div class="keyboard-shortcut-container" aria-hidden="true">
                <span class="shortcut-name nav-assistant-card-font a-link">Search</span>
                <div class="shortcut-keys-container">
                    <span class="shortcut-key nav-assistant-card-font font-color">alt</span>
                    <span class="plus-sign-color">+</span>
                    <span class="shortcut-key nav-assistant-card-font font-color">/</span>
                    
                </div>
              </div>
            </a>
        </li>
        <li 
          id="nav-assist-cart" 
          role="menuitem" 
          tabindex="-1" 
          class="nav-assistant-menu-item nav-assistant-link-item nav-assistant-keyboard-shortcut-item"
          data-actuators="[{&quot;eventKey&quot;:&quot;Ç&quot;,&quot;eventCode&quot;:&quot;KeyC&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventKey&quot;:&quot;¢&quot;,&quot;eventCode&quot;:&quot;KeyC&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventKey&quot;:&quot;C&quot;,&quot;isShiftRequired&quot;:true}]"
          data-nav-assist-menu-item-index="2"
          data-target="/gp/cart/view.html/?ref_&#x3D;nav_assist"
        >
            <a aria-label="Cart, shift, alt, c">
              <div class="keyboard-shortcut-container" aria-hidden="true">
                <span class="shortcut-name nav-assistant-card-font a-link">Cart</span>
                <div class="shortcut-keys-container">
                    <span class="shortcut-key nav-assistant-card-font font-color">shift</span>
                    <span class="plus-sign-color">+</span>
                    <span class="shortcut-key nav-assistant-card-font font-color">alt</span>
                    <span class="plus-sign-color">+</span>
                    <span class="shortcut-key nav-assistant-card-font font-color">c</span>
                    
                </div>
              </div>
            </a>
        </li>
        <li 
          id="nav-assist-home" 
          role="menuitem" 
          tabindex="-1" 
          class="nav-assistant-menu-item nav-assistant-link-item nav-assistant-keyboard-shortcut-item"
          data-actuators="[{&quot;eventKey&quot;:&quot;Ó&quot;,&quot;eventCode&quot;:&quot;KeyH&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventKey&quot;:&quot;Î&quot;,&quot;eventCode&quot;:&quot;KeyH&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventKey&quot;:&quot;H&quot;,&quot;isShiftRequired&quot;:true}]"
          data-nav-assist-menu-item-index="3"
          data-target="/?ref_&#x3D;nav_assist"
        >
            <a aria-label="Home, shift, alt, h">
              <div class="keyboard-shortcut-container" aria-hidden="true">
                <span class="shortcut-name nav-assistant-card-font a-link">Home</span>
                <div class="shortcut-keys-container">
                    <span class="shortcut-key nav-assistant-card-font font-color">shift</span>
                    <span class="plus-sign-color">+</span>
                    <span class="shortcut-key nav-assistant-card-font font-color">alt</span>
                    <span class="plus-sign-color">+</span>
                    <span class="shortcut-key nav-assistant-card-font font-color">h</span>
                    
                </div>
              </div>
            </a>
        </li>
        <li 
          id="nav-assist-your-orders" 
          role="menuitem" 
          tabindex="-1" 
          class="nav-assistant-menu-item nav-assistant-link-item nav-assistant-keyboard-shortcut-item"
          data-actuators="[{&quot;eventKey&quot;:&quot;Ø&quot;,&quot;eventCode&quot;:&quot;KeyO&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventKey&quot;:&quot;Œ&quot;,&quot;eventCode&quot;:&quot;KeyO&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventKey&quot;:&quot;O&quot;,&quot;isShiftRequired&quot;:true}]"
          data-nav-assist-menu-item-index="4"
          data-target="/gp/css/order-history/?ref_&#x3D;nav_assist"
        >
            <a aria-label="Your orders, shift, alt, o">
              <div class="keyboard-shortcut-container" aria-hidden="true">
                <span class="shortcut-name nav-assistant-card-font a-link">Orders</span>
                <div class="shortcut-keys-container">
                    <span class="shortcut-key nav-assistant-card-font font-color">shift</span>
                    <span class="plus-sign-color">+</span>
                    <span class="shortcut-key nav-assistant-card-font font-color">alt</span>
                    <span class="plus-sign-color">+</span>
                    <span class="shortcut-key nav-assistant-card-font font-color">o</span>
                    
                </div>
              </div>
            </a>
        </li>
        <li 
          id="nav-assist-show-shortcuts" 
          role="menuitem" 
          tabindex="-1" 
          class="nav-assistant-menu-item  nav-assistant-keyboard-shortcut-item"
          data-actuators="[{&quot;eventKey&quot;:&quot;¸&quot;,&quot;eventCode&quot;:&quot;KeyZ&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventKey&quot;:&quot;ˇ&quot;,&quot;eventCode&quot;:&quot;KeyY&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventKey&quot;:&quot;Å&quot;,&quot;eventCode&quot;:&quot;KeyW&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventKey&quot;:&quot;Z&quot;,&quot;eventCode&quot;:&quot;KeyZ&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventKey&quot;:&quot;Z&quot;,&quot;eventCode&quot;:&quot;KeyY&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventKey&quot;:&quot;Z&quot;,&quot;eventCode&quot;:&quot;KeyW&quot;,&quot;isShiftRequired&quot;:true},{&quot;eventKey&quot;:&quot;Z&quot;,&quot;isShiftRequired&quot;:true}]"
          data-nav-assist-menu-item-index="5"
          data-target="a[data-nav-assist-menu-item-index&#x3D;&quot;0&quot;]"
        >
            <span class="nav-assistant-visually-hidden-text">Show/hide shortcuts, shift, alt, z</span>
              <div class="keyboard-shortcut-container" aria-hidden="true">
                <span class="shortcut-name nav-assistant-card-font ">Show/Hide shortcuts</span>
                <div class="shortcut-keys-container">
                    <span class="shortcut-key nav-assistant-card-font font-color">shift</span>
                    <span class="plus-sign-color">+</span>
                    <span class="shortcut-key nav-assistant-card-font font-color">alt</span>
                    <span class="plus-sign-color">+</span>
                    <span class="shortcut-key nav-assistant-card-font font-color">z</span>
                    
                </div>
              </div>
            
        </li>
      </ul>
    </li>
  </ul>
</nav>





<script type='text/javascript'>window.navmet.main=+new Date();</script>



<header id="navbar-main" class = "nav-opt-sprite nav-flex nav-locale-us nav-lang-en nav-ssl nav-unrec nav-progressive-attribute">

   
  <div id='navbar' cel_widget_id='Navigation-desktop-navbar'
  role='navigation' class="nav-sprite-v1 celwidget nav-bluebeacon nav-a11y-t1 bold-focus-hover layout2 nav-flex layout3 layout3-alt nav-packard-glow hamburger nav-progressive-attribute" aria-label="Primary">
    <div id='nav-belt'>
      <div class='nav-left'>
        <script type='text/javascript'>window.navmet.tmp=+new Date();</script>
  <div id="nav-logo" >
    <a href="/ref=nav_logo" id="nav-logo-sprites" class="nav-logo-link nav-progressive-attribute" aria-label="Amazon">
      <span class="nav-sprite nav-logo-base"></span>
      <span id="logo-ext" class="nav-sprite nav-logo-ext nav-progressive-content"></span>
      <span class="nav-logo-locale">.us</span>
    </a>
  </div>
<script type='text/javascript'>window.navmet.push({key:'Logo',end:+new Date(),begin:window.navmet.tmp});</script>
        
<div id="nav-global-location-slot">
    <span id="nav-global-location-data-modal-action" class="a-declarative nav-progressive-attribute" data-a-modal='{&quot;width&quot;:375, &quot;closeButton&quot;:&quot;true&quot;,&quot;popoverLabel&quot;:&quot;Choose your location&quot;, &quot;ajaxHeaders&quot;:{&quot;anti-csrftoken-a2z&quot;:&quot;hEAP9DshfgA//I9NWlkD77wk3YP2SlYYrk8UW//KAvMCAAAAAGeLWZMAAAAB&quot;}, &quot;name&quot;:&quot;glow-modal&quot;, &quot;url&quot;:&quot;/portal-migration/hz/glow/get-rendered-address-selections?deviceType&#x3D;desktop&amp;pageType&#x3D;Gateway&amp;storeContext&#x3D;NoStoreName&amp;actionSource&#x3D;desktop-modal&quot;, &quot;footer&quot;:&quot;&lt;span class&#x3D;\&quot;a-declarative\&quot; data-action&#x3D;\&quot;a-popover-close\&quot; data-a-popover-close&#x3D;\&quot;{}\&quot;&gt;&lt;span class&#x3D;\&quot;a-button a-button-primary\&quot;&gt;&lt;span class&#x3D;\&quot;a-button-inner\&quot;&gt;&lt;button name&#x3D;\&quot;glowDoneButton\&quot; class&#x3D;\&quot;a-button-text\&quot; type&#x3D;\&quot;button\&quot;&gt;Done&lt;/button&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&quot;,&quot;header&quot;:&quot;Choose your location&quot;}' data-action="a-modal">
        <a id="nav-global-location-popover-link" role="button" tabindex="0" class="nav-a nav-a-2 a-popover-trigger a-declarative nav-progressive-attribute" href="">
            <div class="nav-sprite nav-progressive-attribute" id="nav-packard-glow-loc-icon"></div>
            <div id="glow-ingress-block">
                <span class="nav-line-1 nav-progressive-content" id="glow-ingress-line1">
                   Deliver to
                </span>
                <span class="nav-line-2 nav-progressive-content" id="glow-ingress-line2">
                   Dominican Republic
                </span>
            </div>
        </a>
        </span>
        <input data-addnewaddress="add-new" id="unifiedLocation1ClickAddress" name="dropdown-selection" type="hidden" value="add-new" class="nav-progressive-attribute" />
        <input data-addnewaddress="add-new" id="ubbShipTo" name="dropdown-selection-ubb" type="hidden" value="add-new" class="nav-progressive-attribute"/>
        <input id="glowValidationToken" name="glow-validation-token" type="hidden" value="hEAP9DshfgA//I9NWlkD77wk3YP2SlYYrk8UW//KAvMCAAAAAGeLWZMAAAAB" class="nav-progressive-attribute"/>
        <input id="glowDestinationType" name="glow-destination-type" type="hidden" value="COUNTRY" class="nav-progressive-attribute"/>
</div>

<div id="nav-global-location-toaster-script-container" class="nav-progressive-content">
    <!-- NAVYAAN-GLOW-NAV-TOASTER -->
          <script>
              P.when('glow-toaster-strings').execute(function(S) {
                S.load({"glow-toaster-address-change-error":"An error has occurred and the address has not been updated. Please try again.","glow-toaster-unknown-error":"An error has occurred. Please try again."});
             });
          </script>
          <script>
              P.when('glow-toaster-manager').execute(function(M) {
                M.create({"pageType":"Gateway","aisTransitionState":null,"rancorLocationSource":"IP_GEOLOCATION"})
              });
          </script>
</div>

      </div>
          <div class='nav-fill'>
            <script type='te

Resolver

Resolver ASN
AS15169
Resolver IP
172.217.36.88
Resolver Network Name
Google LLC
Report ID
20250118T073027Z_webconnectivity_DO_6400_n1_0rVu3qouyqHsHoeo
Platform
linux
Software Name
ooniprobe-cli-unattended (3.23.0)
Measurement Engine
ooniprobe-engine (3.23.0)

Raw Measurement Data

Loading