(function(h){var k=window.AmazonUIPageJS||window.P,n=k._namespace||k.attributeErrors,c=n?n("PuffAuiAssets",""):k;c.guardFatal?c.guardFatal(h)(c,window):c.execute(function(){h(c,window)})})(function(h,k,n){h.when("A","PuffOrchestrator","PuffTrackingUtils","afterLoad").execute("PuffEntryPoint",function(c,a,g){g.startTimer(g.TOTAL_TIME_TIMER_NAME);a.orchestrate()});"use strict";h.when("A","PuffServiceHelper","PuffServiceResponseHandler","PuffSuppressionManager","PuffTrackingUtils","ready").register("PuffOrchestrator", function(c,a,g,f,b){return{orchestrate:function(){try{f.isCurrentlySuppressed()?(b.recordTotalTime("ActiveSuppression"),b.recordTotalTime()):a.callGetContent().done(function(a,d,l){g.handleGetContentSuccess(a,d,l);b.recordTotalTime("Success")}).fail(function(a,d,l){g.handleGetContentError(a,d,l);b.recordTotalTime("Failed")}).always(function(){return b.recordTotalTime()})}catch(e){b.logError("Uncaught error during Puff orchestration. Due to: "+e.message),b.recordTotalTime("Failed"),b.recordTotalTime()}}}}); "use strict";h.when("A","PuffTrackingUtils","PuffRequestAttributeUtils","ready").register("PuffServiceHelper",function(c,a,g){var f=function(){var a=g.getPageTypeValues();return{pageType:a.pageType,subPageType:a.subPageType,referrer:document.referrer,hostName:k.location.host,path:k.location.pathname,queryString:k.location.search}};return{callGetContent:function(){a.startTimer("GetContentTimer");return c.$.ajax("/puff/content",{data:{data:JSON.stringify(f())}}).done(function(b,e,d){a.recordTimer("GetContentTimer", "GetContentTime:Success");a.recordTimer("GetContentTimer","GetContentTime:Status:"+d.status)}).fail(function(b,e,d){a.recordTimer("GetContentTimer","GetContentTime:Fail");a.recordTimer("GetContentTimer","GetContentTime:Status:"+b.status)}).always(function(){a.recordTimer("GetContentTimer","GetContentTime")})},callRecordImpression:function(b,e,d,l){e={periodicDisplayIdentifier:e,campaignIdentifier:d,placementIdentifier:l};e=c.$.extend({},f(),e);a.startTimer("RecordImpressionTimer");return c.$.ajax("/puff/impression", {type:"POST",contentType:"application/json",headers:{"anti-csrftoken-a2z":b},data:JSON.stringify(e)}).done(function(d,b,r){a.recordTimer("RecordImpressionTimer","RecordImpressionTime:Success");a.recordTimer("RecordImpressionTimer","RecordImpressionTime:Status:"+r.status)}).fail(function(d,b,r){a.recordTimer("RecordImpressionTimer","RecordImpressionTime:Fail");a.recordTimer("RecordImpressionTimer","RecordImpressionTime:Status:"+d.status)}).always(function(){a.recordTimer("RecordImpressionTimer","RecordImpressionTime")})}, callOptOut:function(b,e,d,l){e={periodicDisplayIdentifier:e,campaignIdentifier:d,placementIdentifier:l};e=c.$.extend({},f(),e);return c.$.ajax("/puff/opt-out",{type:"POST",contentType:"application/json",headers:{"anti-csrftoken-a2z":b},data:JSON.stringify(e)}).done(function(d,b,r){a.recordTimer("OptOutTimer","OptOutTime:Success");a.recordTimer("OptOutTimer","OptOutTime:Status:"+r.status)}).fail(function(d,b,r){a.recordTimer("OptOutTimer","OptOutTime:Fail");a.recordTimer("OptOutTimer","OptOutTime:Status:"+ d.status)}).always(function(){a.recordTimer("OptOutTimer","OptOutTime")})}}});"use strict";h.when("A","PuffTrackingUtils","PuffRequestAttributeUtils","ready").register("PuffSuppressionManager",function(c,a,g){var f=function(){return JSON.parse(localStorage.getItem("puff:suppression")||"{}")};return{isCurrentlySuppressed:function(){return a.runWithTimer(function(){try{var b,e=g.getSessionId();b=e?f()[e]:n;return Date.parse(b&&b.suppressUntil)>Date.now()}catch(d){return a.emitMetric("SuppressionCheckThrew"), a.logError("Couldn't check suppression status. Defaulting to not suppressed. Message: "+d.message),!1}},"CheckIsSuppressedTime")},saveSuppression:function(b){return a.runWithTimer(function(){try{var e;var d=g.getSessionId();if(d)if(b.suppressUntil&&Date.parse(b.suppressUntil)){var l=f();l[d]=b;localStorage.setItem("puff:suppression",JSON.stringify(l));e=!0}else a.logError("Suppression not valid. Got: "+JSON.stringify(b)),e=!1;else a.logError("Can't save suppression. No sessionId available."),e=!1; return e}catch(c){return a.emitMetric("SuppressionSaveThrew"),a.logError("Failed to save suppression. "+c.message),!1}},"SaveSuppressionTime")}}});"use strict";h.when("A","PuffSuppressionManager","PuffRenderingHandler","PuffTrackingUtils","PuffServiceHelper","ready").register("PuffServiceResponseHandler",function(c,a,g,f,b){var e=function(){return c.$(".nav-input")&&c.$(".nav-input").is(":focus")?(f.recordTotalTime("SearchActive"),!0):!1};return{handleGetContentSuccess:function(d,l,m){if(d&&204!== m.status)switch(f.recordTotalTime(d.responseType),d.responseType){case "SUPPRESSION":a.saveSuppression(d.suppression);f.recordTotalTime("Suppressed");break;case "IMPRESSIONABLE_NO_RENDER":e()||(b.callRecordImpression(d.csrfToken,d.periodicDisplayIdentifier,d.campaignIdentifier,d.placementIdentifier),d.suppression&&(f.recordTotalTime("SuppressedAfterImpression"),a.saveSuppression(d.suppression)),f.recordTotalTime("ImpressionableNoRender"));break;case "RENDERED_FALLBACK":case "RENDERED_PRIMARY":if(!e()){try{c.$("body").append(d.content), c.state.parse(),g.handle(d)}catch(u){throw f.emitMetric("DisplayFailed"),Error("Problem adding content to body or rendering. "+u.message);}f.recordTotalTime("Rendered")}break;default:f.logWarning("Got an unexpected responseType: "+d.responseType),f.recordTotalTime("UnsupportedResponseType")}else f.recordTotalTime("NoRender")},handleGetContentError:function(a,b,e){e="";try{e=JSON.parse(a.responseText).message}catch(u){e="Couldn't parse responseText. Got: "+(a.responseText&&a.responseText.substring(0, 200))}f.logError("Error calling puff service getContent. Status: "+a.status+". TextStatus: "+b+". Message: "+e)}}});"use strict";h.when("A","a-popover","PuffTrackingUtils","ready").register("PuffPopoverRenderer",function(c,a,g){var f=function(a,d){var f="a:popover:afterHide:"+a.contentId,g=l(d),p=g,h=g.parent().css("position");h&&"static"!==h.toLowerCase()||g.parent().css("position","relative");var g=m(g),n=function(){g.css({top:p.position().top,left:p.position().left})};c.$(k).bind("resize",n);e(f, g,p,h,n);return b(a,g,f,d)},b=function(b,e,l,c){var g=d(b).detach(),f=c.customCssClass;c={name:b.contentId,inlineContent:g.addClass("show")[0].outerHTML,header:b.header,hideHeader:b.hideHeader,width:c.width,position:c.position};var m=a.create(e,c);m.show();f&&m.$popover.addClass(f);return{dismissXEventName:"a:popover:dismiss:"+b.contentId,afterHideEventName:l,hideFunction:function(){m.hide()},displayedPuffContentSelector:m.getContent()}},e=function(b,d,e,l,f){c.on(b,function(b){a.remove(d);d.remove(); c.$(k).unbind("resize",f);e.parent().css("position",l)})},d=function(a){var b=c.$("#"+a.contentId);if(!b.length)throw g.emitMetric("PopoverRenderer:NoHiddenContent"),Error("No content for popover found at id: "+a.contentId);return b},l=function(a){var b=c.$(a.trigger);if(!b.length)throw g.emitMetric("PopoverRenderer:NoAnchorContent"),Error("No content to anchor popover to at: "+a.trigger);return b},m=function(a){var b=c.$("\x3cspan/\x3e").css({display:"block",width:a.outerWidth(!0),height:a.outerHeight(!0), position:"absolute",top:a.position().top,left:a.position().left});b.insertAfter(a);return b};return{render:function(a,b){return g.runWithTimer(function(){return f(a,b)},"DisplayPopoverTime")}}});"use strict";h.when("A","PuffPopoverRenderer","PuffDismissHandler","PuffOptOutHandler","PuffServiceHelper","PuffSuppressionManager","PuffTrackingUtils","PuffCtaHandler","ready").register("PuffRenderingHandler",function(c,a,g,f,b,e,d,l){var m=["contentId","showHeader"],k=function(){var a=c.state("paladin-dynamic-content-state"); if(!a)throw d.emitMetric("NoDynamicState"),Error("No paladin-dynamic-content-state page state found.");m.forEach(function(b){if(!a[b])throw d.emitMetric("MissingDynamicStateKey"),Error("Puff dynamic state does not have value for: "+b);});return a};return{handle:function(c){var m;m=k();var h=c.type;switch(h){case "popover":m=a.render(m,c);break;default:throw Error("Invalid puff content type: "+h);}d.recordTotalTime("Displayed");d.emitEvent("smi_puff_impression",c.periodicDisplayIdentifier+":"+c.campaignIdentifier+ ":"+c.placementIdentifier);b.callRecordImpression(c.csrfToken,c.periodicDisplayIdentifier,c.campaignIdentifier,c.placementIdentifier);c.suppression&&(d.recordTotalTime("SuppressedAfterImpression"),e.saveSuppression(c.suppression));var h=m.afterHideEventName,n=m.displayedPuffContentSelector;g.init(n,m.dismissXEventName,h,m.hideFunction,c);f.init(c,n,h);l.init(n,h,c)}}});"use strict";h.when("A","PuffServiceHelper","PuffTrackingUtils","ready").register("PuffOptOutHandler",function(c,a,g){var f=void 0, b=void 0,e=void 0,d=void 0,l=!1,m=function(){l||(a.callOptOut(e.csrfToken,e.periodicDisplayIdentifier,e.campaignIdentifier,e.placementIdentifier),g.emitEvent("smi_puff_optOut",e.periodicDisplayIdentifier+":"+e.campaignIdentifier+":"+e.placementIdentifier),g.recordTimer("DisplayTimeUntilOptOut"),f.undelegate("a","click",h),c.off(d,k),l=!0)},h=function(a){c.$(a.currentTarget).hasClass("opt-out")&&m()},k=function(){0