function amzn_ads(e){"use strict";try{amznads.updateAds(e)}catch(n){try{console.log("amzn_ads: "+n)}catch(t){}}}var amzn_console=function(){var e={};return e.log=function(){},e}();window.console&&(amzn_console=window.console);var amznads=function(e,n,t,a){"use strict";var o="https:"===n.location.protocol;return e.protocol=o?"https://":"http://",e.host="aax-us-east.amazon-adsystem.com",e.dtb_svc="/e/dtb/bid",e.debug_mode=e.debug_mode||!1,e.log=function(e){try{a.log(e)}catch(n){}},e.ads||(e.ads={}),e.updateAds=function(n){e.ads=n.ads},e.getAdsAsync=function(n,t,a){e.getAds(n,t,a,!0)},e.getAds=function(a,o,d,r){e.src_id=a;var d=d||{},s=d.u,g=d.d;if(!s){s=encodeURIComponent(n.documentURI);try{s=encodeURIComponent(t.top.location.href)}catch(c){}}if(s&&-1!==s.indexOf("amzn_debug_mode")&&(e.debug_mode=!0),g)try{n.domain=g,e.debug_mode&&e.log("amznads.getAds(): Using domain="+g)}catch(i){e.debug_mode&&e.log("amznads.getAds(): Unable to override document domain with '"+g+"'; exception="+i)}e.debug_mode&&e.log("amznads.getAds(): Using url="+s);var u="src="+a+"&u="+s+"&cb="+Math.round(1e7*Math.random());o&&(u+="&sz="+o);var m=e.protocol+e.host+e.dtb_svc+"?"+u;if(e.debug_mode&&e.log("amznads.getAds: "+(r?"Async ":"")+"Call to: "+m),r){var l=n.createElement("script");l.type="text/javascript",l.async=!0,l.src=m;var p=n.getElementsByTagName("script")[0];p.parentNode.insertBefore(l,p)}else n.write(""),n.close()},e.renderAd=function(t,a){if(e.debug_mode&&e.log("amznads.renderAd: key="+a+"; ad-tag="+e.ads[a]),e.ads[a])t.write(e.ads[a]),t.close();else{var o=new Object;o.actualKey=a,o.expectedKeys=e.getTokens();var d=encodeURIComponent(JSON.stringify(o)),r="src="+e.src_id+"&errorType=keyValueMismatch"+"&errorJSON="+d+"&cb="+Math.round(1e7*Math.random()),s=e.protocol+e.host+"/e/dtb/dgn"+"?"+r;e.debug_mode&&e.log("amznads.renderAd: keyValueMismatch detected, expectedKey="+a+", actualKeys="+e.getTokens()),n.write(""),n.close()}},e.hasAds=function(n){var t;if(!n)try{return Object.keys(e.ads).length>0}catch(a){e.debug_mode&&e.log("amznads.hasAds: looks like IE 8 (and below): "+a);for(t in e.ads)if(e.ads.hasOwnProperty(t))return!0}for(t in e.ads)if(e.ads.hasOwnProperty(t)&&t.indexOf(n)>0)return!0;return!1},e.setTargeting=function(n,t){var a;for(a in e.ads)if(e.ads.hasOwnProperty(a)){if(t&&a.indexOf(t)<0)continue;n(a,"1")}},e.setTargetingForGPTAsync=function(n){try{if(n){var t=e.getTokens();"undefined"!=typeof t&&t.length>0&&googletag.cmd.push(function(){googletag.pubads().setTargeting(n,t)})}else{var a;for(a in e.ads)e.ads.hasOwnProperty(a)&&googletag.cmd.push(function(){googletag.pubads().setTargeting(a,"1")})}e.debug_mode&&e.log("amznads.setTargetingForGPTAsync: Completed successfully. Number of ads returned by Amazon: "+e.ads.length)}catch(o){e.debug_mode&&e.log("amznads.setTargetingForGPTAsync: ERROR - "+o)}},e.setTargetingForGPTSync=function(n){try{if(n){var t=e.getTokens();"undefined"!=typeof t&&t.length>0&&googletag.pubads().setTargeting(n,t)}else{var a;for(a in e.ads)e.ads.hasOwnProperty(a)&&googletag.pubads().setTargeting(a,"1")}e.debug_mode&&e.log("amznads.setTargetingForGPTSync: Completed successfully. Number of ads returned by Amazon: "+e.ads.length)}catch(o){e.debug_mode&&e.log("amznads.setTargetingForGPTSync: ERROR - "+o)}},e.appendTargetingToAdServerUrl=function(n){var t=n;try{-1===n.indexOf("?")&&(n+="?");var a;for(a in e.ads)e.ads.hasOwnProperty(a)&&(n+="&"+a+"=1");e.debug_mode&&e.log("amznads.appendTargetingToAdServerUrl: Completed successfully. Number of ads returned by Amazon: "+e.ads.length)}catch(o){e.debug_mode&&e.log("amznads.appendTargetingToAdServerUrl: ERROR - "+o)}return e.debug_mode&&e.log("amznads.appendTargetingToAdServerUrl: input url: "+t+"\nreturning url: "+n),n},e.appendTargetingToQueryString=function(n){var t=n;try{var a;for(a in e.ads)e.ads.hasOwnProperty(a)&&(n+="&"+a+"=1")}catch(o){e.debug_mode&&e.log("amznads.appendTargetingToQueryString: ERROR - "+o)}return e.debug_mode&&e.log("amznads.appendTargetingToQueryString: input query-string:"+t+"\nreturning query-string:"+n),n},e.getTokens=function(n){var t,a=[];try{for(t in e.ads)if(e.ads.hasOwnProperty(t)){if(n&&t.indexOf(n)<0)continue;a.push(t)}}catch(o){e.debug_mode&&e.log("amznads.getTokens: ERROR - "+o)}return e.debug_mode&&e.log("amznads.getTokens: returning tokens = "+a),a},e.getKeys=e.getTokens,e}(amznads||{},document,window,amzn_console);window.amzn_ads=amzn_ads,window.amznads=amznads;