discourse/spec/fixtures/onebox/amazon.response

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

3773 lines
814 KiB
Plaintext
Raw Normal View History

<html class="a-touch a-mobile a-js a-audio a-video a-canvas a-svg a-drag-drop a-geolocation a-history a-webworker a-autofocus a-input-placeholder a-textarea-placeholder a-local-storage a-touch a-gradients a-hires a-transform3d a-touch-scrolling a-ios a-mobile a-text-shadow a-text-stroke a-box-shadow a-border-radius a-border-image a-opacity a-transform a-transition a-ember" data-19ax5a9jf="mongoose" data-aui-build-date="3.18.2-2018-02-15" data-ember-extension="1" data-aui-version="00fd8dd141900eab878ed8d98dc8a72ba5df647b"><script type="text/javascript">window["_gaUserPrefs"] = { ioo : function() { return true; } }</script><!-- sp:feature:head-start --><head><script async="" src="https://images-na.ssl-images-amazon.com/images/G/01/AUIClients/ClientSideMetricsAUIJavascript-96ea10f95c9c40ac3d7cc81f2d76b78f0fdf178b._V2_.js" crossorigin="anonymous"></script><script>var aPageStart = (new Date()).getTime();</script><meta name="viewport" content="width=device-width, maximum-scale=1, minimum-scale=1, initial-scale=1, user-scalable=no, shrink-to-fit=no"><meta charset="utf-8">
<script type="text/javascript">var ue_t0=ue_t0||+new Date();</script><!-- sp:feature:cs-optimization -->
<meta http-equiv="x-dns-prefetch-control" content="on"><link rel="dns-prefetch" href="//images-na.ssl-images-amazon.com"><link rel="dns-prefetch" href="//m.media-amazon.com"><link rel="dns-prefetch" href="//completion.amazon.com"><script type="text/javascript">
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(){if(1==window.ueinit)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:[],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 = '7F3MGDYTH1YH8KVBSFWJ',
ue_url = '/gp/uedata',
ue_navtiming = 1,
ue_mid = 'ATVPDKIKX0DER',
ue_sid = '147-0816675-1753153',
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_fcsn = 1,
ue_urt = 3,
ue_rpl_ns = 'cel-rpl',
ue_ddq = 1,
ue_fpf = '//fls-na.amazon.com/1/batch/1/OP/ATVPDKIKX0DER:147-0816675-1753153:7F3MGDYTH1YH8KVBSFWJ$uedata=s:',
ue_rsc = 0,
ue_cdt = 1,
ue_swi = 1;
function ue_viz(){(function(c,e,a){function k(b){if(c.ue.viz.length<p&&!l){var a=b.type;b=b.originalEvent;/^focus./.test(a)&&b&&(b.toElement||b.fromElement||b.relatedTarget)||(a=e[m]||("blur"==a||"focusout"==a?"hidden":"visible"),c.ue.viz.push(a+":"+(+new Date-c.ue.t0)),"visible"==a&&(ue.isl&&uex("at"),l=1))}}for(var l=0,f,g,m,n=["","webkit","o","ms","moz"],d=0,p=20,h=0;h<n.length&&!d;h++)if(a=n[h],f=(a?a+"H":"h")+"idden",d="boolean"==typeof e[f])g=a+"visibilitychange",m=(a?a+"V":"v")+"isibilityState";
k({});d&&e.addEventListener(g,k,0);c.ue&&d&&(c.ue.pageViz={event:g,propHid:f})})(ue_csm,document,window)};
(function(a,g,x){function z(a){return a&&a.replace&&a.replace(/^\s+|\s+$/g,"")}function q(a){return"undefined"===typeof a}function J(e){if(a.ue_fpf&&g.encodeURIComponent&&e){var b=new Image;e=""+a.ue_fpf+g.encodeURIComponent(e)+":"+(+new Date-a.ue_t0);a.ue.iel.push(b);b.src=e}}function D(e){if(e&&0<e.length){var b=new Image;a.ue.iel.push(b);b.src=e}}function t(e,b,c,l){var g=l||+new Date,h;a.ueam&&a.ueam(b,e,l);if(b||q(c)){if(e)for(h in l=b?f("t",b)||f("t",b,{}):a.ue.t,l[e]=g,c)c.hasOwnProperty(h)&&
f(h,b,c[h]);return g}}function f(e,b,c){var l=a.ue,f=b&&b!=l.id?l.sc[b]:l;f||(f=l.sc[b]={});"id"==e&&c&&(l.cfa2=1);return f[e]=c||f[e]}function A(e,b,c,f,g){c="on"+c;var h=b[c];"function"===typeof h?e&&(a.ue.h[e]=h):h=function(){};b[c]=g?function(a){f(a);h(a)}:function(a){h(a);f(a)};b[c]&&(b[c].isUeh=1)}function E(e,b,c){function l(b,c){var d=[b],L=0,g={},l,h;c?(d.push("m=1"),g[c]=1):g=a.ue.sc;for(h in g)if(g.hasOwnProperty(h)){var k=f("wb",h),m=f("t",h)||{},p=f("t0",h)||a.ue.t0,n;if(c||2==k){k=k?
L++:"";d.push("sc"+k+"="+h);for(n in m)3>=n.length&&!q(m[n])&&null!==m[n]&&d.push(n+k+"="+(m[n]-p));d.push("t"+k+"="+m[e]);if(f("ctb",h)||f("wb",h))l=1}}!B&&l&&d.push("ctb=1");return d.join("&")}function K(b,c){if(a.ue.b){var e=a.ue.b;a.ue.b="";h(e,b,c,1)}}function h(b,c,e,d){if(b){var f=!d||!a.ue.log,l=a.ue_err,h;if(f&&(D(b),C&&"ul"===c&&r))try{r[F+a.ue.oid]=b}catch(k){}M?J(b):a.ue.log&&(h=g.chrome&&"ul"==c,a.ue.log(b,"uedata",a.ue_svi?{n:1,img:!d&&h?1:0}:{n:1}),a.ue.ielf.push(b));l&&!l.ts&&l.startTimer();
K(c,e);C&&f&&"ld"===c&&N(F,function(a){a&&a.length&&(a+="&csmtags=was-recoverered");D(a)})}}function v(b){if(!ue.collected){var c=b.timing,e=b.navigation,d=ue.t;c&&(d.na_=c.navigationStart,d.ul_=c.unloadEventStart,d._ul=c.unloadEventEnd,d.rd_=c.redirectStart,d._rd=c.redirectEnd,d.fe_=c.fetchStart,d.lk_=c.domainLookupStart,d._lk=c.domainLookupEnd,d.co_=c.connectStart,d._co=c.connectEnd,d.sc_=c.secureConnectionStart,d.rq_=c.requestStart,d.rs_=c.responseStart,d._rs=c.responseEnd,d.dl_=c.domLoading,d.di_=
c.domInteractive,d.de_=c.domContentLoadedEventStart,d._de=c.domContentLoadedEventEnd,d._dc=c.domComplete,d.ld_=c.loadEventStart,d._ld=c.loadEventEnd,c=d.na_,b="function"!==typeof b.now||q(c)?0:new Date(c+b.now())-new Date,d.ntd=b+a.ue.t0);e&&(d.ty=e.type+a.ue.t0,d.rc=e.redirectCount+a.ue.t0);ue.collected=1}}function s(b){var c=n&&n.navigation?n.navigation.type:y,d=c&&2!=c,e=a.ue.bfini;a.ue.cfa2||(e&&1<e&&(b+="&bfform=1",d||(a.ue.isBFT=e-1)),2==c&&(b+="&bfnt=1",a.ue.isBFT=a.ue.isBFT||1),a.ue.ssw&&
a.ue.isBFT&&(q(a.ue.isNRBF)&&(c=a.ue.ssw(a.ue.oid),c.e||q(c.val)||(a.ue.isNRBF=1<c.val?0:1)),q(a.ue.isNRBF)||(b+="&nrbf="+a.ue.isNRBF)),a.ue.isBFT&&!a.ue.isNRBF&&(b+="&bft="+a.ue.isBFT));return b}if(b||q(c)){for(var m in c)c.hasOwnProperty(m)&&f(m,b,c[m]);t("pc",b,c);m=f("id",b)||a.ue.id;var d=a.ue.url+"?"+e+"&v="+a.ue.v+"&id="+m,B=f("ctb",b)||f("wb",b),n=g.performance||g.webkitPerformance,k,p;B&&(d+="&ctb="+B);1<a.ueinit&&(d+="&ic="+a.ueinit);!a.ue._fi||"at"!=e||b&&b!=m||(d+=a.ue._fi());if(!("ld"!=
e&&"ul"!=e||b&&b!=m)){if("ld"==e){try{g.onbeforeunload&&g.onbeforeunload.isUeh&&(g.onbeforeunload=null)}catch(A){}if(g.chrome)for(p=0;p<ue.ulh.length;p++)G("beforeunload",ue.ulh[p]);(p=x.ue_backdetect)&&p.ue_back&&p.ue_back.value++;a._uess&&(k=a._uess());a.ue.isl=1}ue._bf&&(d+="&bf="+ue._bf());a.ue_navtiming&&n&&n.timing&&(f("ctb",m,"1"),1==a.ue_navtiming&&t("tc",y,y,n.timing.navigationStart));n&&v(n);a.ue.t.hob=a.ue_hob;a.ue.t.hoe=a.ue_hoe;a.ue.ifr&&(d+="&ifr=1")}t(e,b,c);c="ld"==e&&b&&f("wb",b);
var w;c||b&&b!==m||O(b);c||m==a.ue.oid||P((f("t",b)||{}).tc||+f("t0",b),+f("t0",b));a.ue_mbl&&a.ue_mbl.cnt&&!c&&(d+=a.ue_mbl.cnt());c?f("wb",b,2):"ld"==e&&(u.lid=z(m));for(w in a.ue.sc)if(1==f("wb",w))break;if(c){if(a.ue.s)return;d=l(d,null)}else p=l(d,null),p!=d&&(p=s(p),a.ue.b=p),k&&(d+=k),d=l(d,b||a.ue.id);d=s(d);if(a.ue.b||c)for(w in a.ue.sc)2==f("wb",w)&&delete a.ue.sc[w];k=0;ue._rt&&(d+="&rt="+ue._rt());c||(a.ue.s=0,(k=a.ue_err)&&0<k.ec&&k.pec<k.ec&&(k.pec=k.ec,d+="&ec="+k.ec+"&ecf="+k.ecf),
k=f("ctb",b),f("t",b,{}));d&&a.ue.tag&&0<a.ue.tag().length&&(d+="&csmtags="+a.ue.tag().join("|"),a.ue.tag=a.ue.tagC());d&&a.ue.viz&&0<a.ue.viz.length&&(d+="&viz="+a.ue.viz.join("|"),a.ue.viz=[]);d&&!q(a.ue_pty)&&(d+="&pty="+a.ue_pty+"&spty="+a.ue_spty+"&pti="+a.ue_pti);d&&a.ue.tabid&&(d+="&tid="+a.ue.tabid);d&&a.ue.aftb&&(d+="&aftb=1");d&&a.ue.sbf&&(d+="&sbf=1");!a.ue._ui||b&&b!=m||(d+=a.ue._ui());a.ue.a=d;h(d,e,k,c)}}function O(a){var b=g.ue_csm_markers||{},c;for(c in b)b.hasOwnProperty(c)&&t(c,
a,y,b[c])}function v(a,b,c){c=c||g;c.addEventListener?c.addEventListener(a,b,!!window.ue_clf):c.attachEvent&&c.attachEvent("on"+a,b)}function G(a,b,c){c=c||g;c.removeEventListener?c.removeEventListener(a,b,!!window.ue_clf):c.detachEvent&&c.detachEvent("on"+a,b)}function H(){function e(){a.onUl()}function b(a){return function(){c[a]||(c[a]=1,E(a))}}var c=a.ue.r,f,q;a.onLd=b("ld");a.onLdEnd=b("ld");a.onUl=b("ul");f={stop:b("os")};g.chrome?(v("beforeunload",e),ue.ulh.push(e)):f[Q]=a.onUl;for(q in f)f.hasOwnProperty(q)&&
A(0,g,q,f[q]);a.ue_viz&&ue_viz();R&&v("readystatechange",S,x);v("load",a.onLd);t("ue")}function S(){"complete"===x.readyState&&(T?setTimeout(I,0):I())}function I(){var e;if(!(e=ue.isl)&&(e=U))a:{e=x.images||[];for(var b=0;b<e.length;b++)if(!1===e[b].complete){e=!1;break a}e=!0}if(!e)a.onUl()}function P(e,b){a.ue_mbl&&a.ue_mbl.ajax&&a.ue_mbl.ajax(e,b);a.ue.tag("ajax-transition")}function N(a,b){if(r)try{for(var c=0;c<r.length;c++){var f=r.key(c);0===f.indexOf(a)&&(b(r[f]),r.removeItem(f))}}catch(g){}}
a.ueinit=(a.ueinit||0)+1;var u={t0:g.aPageStart||a.ue_t0,id:a.ue_id,url:a.ue_url,rid:a.ue_id,a:"",b:"",h:{},r:{ld:0,oe:0,ul:0},s:1,t:{},sc:{},iel:[],ielf:[],fc_idx:{},viz:[],v:"0.200010.0",d:a.ue&&a.ue.d,log:a.ue&&a.ue.log,clog:a.ue&&a.ue.clog,onflush:a.ue&&a.ue.onflush,onunload:a.ue&&a.ue.onunload,stub:a.ue&&a.ue.stub,lr:a.ue&&a.ue.lr,exec:a.ue&&a.ue.exec,event:a.ue&&a.ue.event,onSushiUnload:a.ue&&a.ue.onSushiUnload,onSushiFlush:a.ue&&a.ue.onSushiFlush,ulh:[],cfa2:0},M=a.ue_fpf?1:0,C=1===a.ue_sspb,
s;if(s=C)a:{try{s=g.sessionStorage;break a}catch(V){}s=void 0}var r=s,F="csmpb-",R=1===a.ue_rsc||3===a.ue_rsc,T=3===a.ue_rsc,U=1===a.ue_rsc,Q="beforeunload",y;u.oid=z(u.id);u.lid=z(u.id);a.ue=u;a.ue._t0=a.ue.t0;a.ue.tagC=function(){var a={};return function(b){b&&(a[b]=1);b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b}};a.ue.tag=a.ue.tagC();a.ue.ifr=g.top!==g.self||g.frameElement?1:0;ue.attach=v;ue.detach=G;ue.reset=function(e,b){e&&(a.ue_cel&&a.ue_cel.reset(),a.ue.t0=+new Date,a.ue.rid=
e,a.ue.id=e,a.ue.fc_idx={},a.ue.viz=[])};a.uei=H;a.ueh=A;a.ues=f;a.uet=t;a.uex=E;H()})(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){var a=b.ue;a.cv={};a.cv.scopes={};a.count=function(c,b,d){var e={},f=a.cv;e.counter=c;e.value=b;e.t=a.d();d&&d.scope&&(f=a.cv.scopes[d.scope]=a.cv.scopes[d.scope]||{},e.scope=d.scope);if(void 0===b)return f[c];f[c]=b;c=0;d&&d.bf&&(c=1);a.clog&&0===c?a.clog(e,"csmcount",{bf:c}):a.log&&a.log(e,"csmcount",{c:1,bf:c})};a.count("baselineCounter2",1);a&&a.event&&(a.event({requestId:b.ue_id||"rid",server:b.ue_sn||"sn",obfuscatedMarketplaceId:b.ue_mid||"mid"},"csm","csm.CSMBaselineEvent.4"),
a.count("nexusBaselineCounter",1,{bf:1}))})(ue_csm);
var ue_hoe = +new Date();
</script>
<!-- 9xl60eorxh4r8d777tamp408h07nlirdye9n --><!-- sp:feature:aui-assets-configure -->
<!-- sp:feature:aui-assets-css -->
<link rel="stylesheet" href="https://images-na.ssl-images-amazon.com/images/I/51Evq4eMXsL._RC|01-yf03D4rL.css,01gq5Ie9j3L.css,31stfprY0tL.css,01d8Fs5iBdL.css,21ZwnZnTQ7L.css,11UksSmDw-L.css,11+zKfQDbkL.css,21quTPIGBxL.css,01jkimhv0aL.css,310yHWaTVRL.css,01COiFb05sL.css,01djTkqmZSL.css,11pdOHTh95L.css,21g9AOmZB5L.css,11X2-nh0PYL.css,01h2e2BEitL.css,110Q3MAjYJL.css,11aMMTVEKqL.css,11oyQ9RIYtL.css,01vd5lqeZUL.css,31VU7Pt5U6L.css,01kPgnKe7wL.css,11mmd1QliNL.css,01Alnvtt1zL.css,01BBs40O5ZL.css_.css?AUIClients/AmazonUI#mobile.us.not-trident">
<!-- sp:feature:aui-assets-js -->
<script>
(function(g,h,L,la){function B(a){t&&t.tag&&t.tag(q(":","aui",a))}function u(a,b){t&&t.count&&t.count("aui:"+a,0===b?0:b||(t.count("aui:"+a)||0)+1)}function p(a){try{return a.test(navigator.userAgent)}catch(b){return!1}}function w(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,c)}function q(a,b,c,e){b=b&&c?b+a+c:b||c;return e?q(a,b,e):b}function C(a,b,c){try{Object.defineProperty(a,b,{value:c,writable:!1})}catch(e){a[b]=c}return c}function M(){return setTimeout(W,
0)}function ma(a,b){var c=a.length,e=c,f=function(){e--||(N.push(b),O||(M(),O=!0))};for(f();c--;)X[a[c]]?f():(x[a[c]]=x[a[c]]||[]).push(f)}function na(a,b,c,e,f){var d=h.createElement(a?"script":"link");w(d,"error",e);f&&w(d,"load",f);if(a){d.type="text/javascript";d.async=!0;if(a=c)a=-1!==b.indexOf("images/I")||/AUIClients/.test(b);a&&d.setAttribute("crossorigin","anonymous");d.src=b}else d.rel="stylesheet",d.href=b;h.getElementsByTagName("head")[0].appendChild(d)}function Y(a,b){function c(c,e){function f(){na(b,
c,h,function(b){!D&&h?(h=!1,u("resource_retry"),f()):(u("resource_error"),a.log("Asset failed to load: "+c,D?"WARN":void 0));b&&b.stopPropagation?b.stopPropagation():g.event&&(g.event.cancelBubble=!0)},e)}if(Z[c])return!1;Z[c]=!0;u("resource_count");var h=!0;return!f()}if(b){var e=0,f=0;c.andConfirm=function(a,b){return c(a,function(){e++;b&&b.apply(this,arguments)})};c.confirm=function(){f++};c.getCsriCounters=function(){return{reqs:e,full:f}}}return c}function oa(a,b,c){for(var e={name:a,guard:function(c){return b.guardFatal(a,
c)},logError:function(c,d,e){b.logError(c,d,e,a)}},f=[],d=0;d<c.length;d++)E.hasOwnProperty(c[d])&&(f[d]=P.hasOwnProperty(c[d])?P[c[d]](E[c[d]],e):E[c[d]]);return f}function y(a,b,c,e,f){return function(d,h){function l(){var a=null;e?a=h:"function"===typeof h&&(p.start=z(),a=h.apply(g,oa(d,k,m)),p.end=z());if(b){E[d]=a;a=d;for(X[a]=!0;(x[a]||[]).length;)x[a].shift()();delete x[a]}p.done=!0}var k=f||this;"function"===typeof d&&(h=d,d=void 0);b&&(d=(d||"__NONAME__").replace(/^prv:/,""),Q.hasOwnProperty(d)&&
k.error(q(", reregistered by ",q(" by ",d+" already registered",Q[d]),k.attribution),d),Q[d]=k.attribution);for(var m=[],n=0;n<a.length;n++)m[n]=a[n].replace(/^prv:/,"");var p=aa[d||"anon"+ ++pa]={depend:m,registered:z(),namespace:k.namespace};c?l():ma(m,k.guardFatal(d,l));return{decorate:function(a){P[d]=k.guardFatal(d,a)}}}}function ba(a){return function(){var b=Array.prototype.slice.call(arguments);return{execute:y(b,!1,a,!1,this),register:y(b,!0,a,!1,this)}}}function R(a,b){return function(c,
e){e||(e=c,c=void 0);var f=this.attribution;return function(){v.push(b||{attribution:f,name:c,logLevel:a});var d=e.apply(this,arguments);v.pop();return d}}}function F(a,b){this.load={js:Y(this,!0),css:Y(this)};C(this,"namespace",b);C(this,"attribution",a)}function ca(){h.body?n.trigger("a-bodyBegin"):setTimeout(ca,20)}function A(a,b){if(b){for(var c=a.className.split(" "),e=c.length;e--;)if(c[e]===b)return;a.className+=" "+b}}function da(a,b){for(var c=a.className.split(" "),e=[],f;void 0!==(f=c.pop());)f&&
f!==b&&e.push(f);a.className=e.join(" ")}function ea(a){try{return a()}catch(b){return!1}}function G(){if(H){var a=g.innerWidth?{w:g.innerWidth,h:g.innerHeight}:{w:k.clientWidth,h:k.clientHeight};5<Math.abs(a.w-S.w)||50<a.h-S.h?(S=a,I=4,(a=l.mobile||l.tablet?450<a.w&&a.w>a.h:1250<=a.w)?A(k,"a-ws"):da(k,"a-ws")):0<I&&(I--,fa=setTimeout(G,16))}}function qa(a){(H=void 0===a?!H:!!a)&&G()}function ra(){return H}"use strict";var J=L.now=L.now||function(){return+new L},z=function(a){return a&&a.now?a.now.bind(a):
J}(g.performance);la=z();var r=g.AmazonUIPageJS||g.P;if(r&&r.when&&r.register)throw Error("A copy of P has already been loaded on this page.");var t=g.ue;B();B("aui_build_date:3.18.2-2018-02-15");var N=[],O=!1,W;W=function(){for(var a=M(),b=J();N.length;)if(N.shift()(),50<J()-b)return;clearTimeout(a);O=!1};p(/OS 6_[0-9]+ like Mac OS X/i)&&w(g,"scroll",M);var X={},x={},Z={},D=!1;w(g,"beforeunload",function(){D=!0;setTimeout(function(){D=!1},1E4)});var Q={},E={},P={},aa={},pa=0,T,v=[],ga=g.onerror;
g.onerror=function(a,b,c,e,f){f&&"object"===typeof f||(f=Error(a,b,c),f.columnNumber=e,f.stack=b||c||e?q(String.fromCharCode(92),f.message,"at "+q(":",b,c,e)):void 0);var d=v.pop()||{};f.attribution=q(":",f.attribution||d.attribution,d.name);f.logLevel=d.logLevel;f.attribution&&console&&console.log&&console.log([f.logLevel||"ERROR",a,"thrown by",f.attribution].join(" "));v=[];ga&&(d=[].slice.call(arguments),d[4]=f,ga.apply(g,d))};F.prototype={logError:function(a,b,c,e){b={message:b,logLevel:c||"ERROR",
attribution:q(":",this.attribution,e)};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,e){a=Error(q(":",e,a,c));a.attribution=q(":",this.attribution,b);throw a;},guardError:R(),guardFatal:R("FATAL"),guardCurrent:function(a){var b=v[v.length-1];return b?R(b.logLevel,b).call(this,a):a},log:function(a,b,c){return this.logError(null,a,b,c)},declare:y([],!0,!0,!0),register:y([],!0),execute:y([]),AUI_BUILD_DATE:"3.18.2-2018-02-15",
when:ba(),now:ba(!0),trigger:function(a,b,c){var e=J();this.declare(a,{data:b,pageElapsedTime:e-(g.aPageStart||NaN),triggerTime:e});c&&c.instrument&&T.when("prv:a-logTrigger").execute(function(b){b(a)})},handleTriggers:function(){this.log("handleTriggers deprecated")},attributeErrors:function(a){return new F(a)},_namespace:function(a,b){return new F(a,b)}};var n=C(g,"AmazonUIPageJS",new F);T=n._namespace("PageJS","AmazonUI");T.declare("prv:p-debug",aa);n.declare("p-recorder-events",[]);n.declare("p-recorder-stop",
function(){});C(g,"P",n);ca();if(h.addEventListener){var ha;h.addEventListener("DOMContentLoaded",ha=function(){n.trigger("a-domready");h.removeEventListener("DOMContentLoaded",ha,!1)},!1)}var k=h.documentElement,U=function(){var a=["O","ms","Moz","Webkit"],b=h.createElement("div");return{testGradients:function(){b.style.cssText=("background-image:-webkit-gradient(linear,left top,right bottom,from(#9f9),to(white));background-image:"+a.join("linear-gradient(left top,#9f9, white);background-image:")).slice(0,
-17);return-1<b.style.backgroundImage.indexOf("gradient")},test:function(c){var e=c.charAt(0).toUpperCase()+c.substr(1);c=(a.join(e+" ")+e+" "+c).split(" ");for(e=c.length;e--;)if(""===b.style[c[e]])return!0;return!1},testTransform3d:function(){var a=!1;g.matchMedia&&(a=g.matchMedia("(-webkit-transform-3d)").matches);return a}}}(),r=k.className,ia=/(^| )a-mobile( |$)/.test(r),ja=/(^| )a-tablet( |$)/.test(r),l={audio:function(){return!!h.createElement("audio").canPlayType},video:function(){return!!h.createElement("video").canPlayType},
canvas:function(){return!!h.createElement("canvas").getContext},svg:function(){return!!h.createElementNS&&!!h.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect},offline:function(){return navigator.hasOwnProperty&&navigator.hasOwnProperty("onLine")&&navigator.onLine},dragDrop:function(){return"draggable"in h.createElement("span")},geolocation:function(){return!!navigator.geolocation},history:function(){return!(!g.history||!g.history.pushState)},webworker:function(){return!!g.Worker},
autofocus:function(){return"autofocus"in h.createElement("input")},inputPlaceholder:function(){return"placeholder"in h.createElement("input")},textareaPlaceholder:function(){return"placeholder"in h.createElement("textarea")},localStorage:function(){return"localStorage"in g&&null!==g.localStorage},orientation:function(){return"orientation"in g},touch:function(){return"ontouchend"in h},gradients:function(){return U.testGradients()},hires:function(){var a=g.devicePixelRatio&&1.5<=g.devicePixelRatio||
g.matchMedia&&g.matchMedia("(min-resolution:144dpi)").matches;u("hiRes"+(ia?"Mobile":ja?"Tablet":"Desktop"),a?1:0);return a},transform3d:function(){return U.testTransform3d()},touchScrolling:function(){return p(/Windowshop|android.([3-9]|[L-Z])|OS ([5-9]|[1-9][0-9]+)(_[0-9]{1,2})+ like Mac OS X|Chrome|Silk|Firefox|Trident.+?; Touch/i)},ios:function(){return p(/OS [1-9][0-9]*(_[0-9]*)+ like Mac OS X/i)&&!p(/trident|Edge/i)},android:function(){return p(/android.([1-9]|[L-Z])/i)&&!p(/trident|Edge/i)},
mobile:function(){return ia},tablet:function(){return ja}},m;for(m in l)l.hasOwnProperty(m)&&(l[m]=ea(l[m]));for(var V="textShadow textStroke boxShadow borderRadius borderImage opacity transform transition".split(" "),K=0;K<V.length;K++)l[V[K]]=ea(function(){return U.test(V[K])});var H=!0,fa=0,S={w:0,h:0},I=4;G();w(g,"resize",function(){clearTimeout(fa);I=4;G()});var ka={getItem:function(a){try{return g.localStorage.getItem(a)}catch(b){}},setItem:function(a,b){try{return g.localStorage.setItem(a,
b)}catch(c){}}};da(k,"a-no-js");A(k,"a-js");!p(/OS [1-8](_[0-9]*)+ like Mac OS X/i)||g.navigator.standalone||p(/safari/i)||A(k,"a-ember");r=[];for(m in l)l.hasOwnProperty(m)&&l[m]&&r.push("a-"+m.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()}));A(k,r.join(" "));k.setAttribute("data-aui-build-date","3.18.2-2018-02-15");n.register("p-detect",function(){return{capabilities:l,localStorage:l.localStorage&&ka,toggleResponsiveGrid:qa,responsiveGridEnabled:ra}});p(/UCBrowser/i)||l.localStorage&&
A(k,ka.getItem("a-font-class"));n.declare("a-event-revised-handling",!1);(m=navigator.serviceWorker)&&m.getRegistrations?(B("sw:unregister:supported"),m.getRegistrations().then(function(a){a.forEach(function(a){a.unregister().then(function(a){u("sw:unregister:success")}).catch(function(a){u("sw:unregister:failure");n.logError(a,"[AUI SW] Failed to unregister service worker:")})})})):B("sw:unregister:unsupported");n.declare("a-fix-event-off",!1);u("pagejs:pkgExecTime",z()-NaN)})(window,document,Date);
(window.AmazonUIPageJS ? AmazonUIPageJS : P).when('sp.load.js').execute(function() {
(window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://images-na.ssl-images-amazon.com/images/I/61ea4y7yPdL._RC|11IYhapguOL.js,61-dJ29Zw5L.js,21dmoxZTACL.js,01E8f3KV-NL.js,31fv8bqHLoL.js,31ReKJl2X6L.js,51nK0kUyg2L.js,11Mdh5CVmhL.js,01xMsWWFUQL.js,11KkQiUpBPL.js,113pP0Sfh0L.js,21auxuI+dRL.js,01PoLXBDXWL.js,61x-Yxr2raL.js,318CMPRminL.js,11SW3HEKjtL.js,01qkmZhGmAL.js,01jUS+y5YWL.js_.js?AUIClients/AmazonUI#mobile');
});
</script>
<!-- sp:feature:nav-inline-css -->
<style>.nav-sprite-v3 .nav-sprite {
background-image: url(https://images-na.ssl-images-amazon.com/images/G/01/gno/sprites/new-nav-sm-smile-sprite-global-1x_blueheaven._CB487546343_.png);
background-repeat: no-repeat;
}
.nav-spinner {
background-image: url(https://images-na.ssl-images-amazon.com/images/G/01/javascripts/lib/popover/images/snake._CB192571611_.gif);
}
</style><!-- -->
<link rel="stylesheet" href="https://images-na.ssl-images-amazon.com/images/I/51ZJNYh%2BOuL._RC|31H9QnSNj3L.css,01+72+wCC9L.css_.css?AUIClients/NavMobileMetaAsset#mobile">
<link rel="stylesheet" href="https://images-na.ssl-images-amazon.com/images/I/21EugTBba7L.css?AUIClients/RetailSearchAutocompleteAssets#mobile">
<!-- sp:feature:host-assets -->
<!-- htmlBeginMarker -->
<link rel="dns-prefetch" href="//images-na.ssl-images-amazon.com">
<script type="text/javascript">
var CSMReqs={af:{c:2,p:'atf'},cf:{c:2,p:'cf'}};
var DPTimestamps={mainImgRepl:{c:1}};
var setCSMReq = function(a){
a=a.toLowerCase();
var b=CSMReqs[a];
if(--b.c==0){
if(typeof b.f == 'function'){
b.f();
}
else{
if(typeof
uet=='function'){uet(a);};
if(typeof P !=
'undefined'){P.register(b.p);};
}
}
}
var setDPTimestamp = function(a, t){
var b=DPTimestamps[a];
var w = window;
if(b && --b.c===0){
if (w.ue && typeof w.ue_t0 !== 'undefined' && typeof w.ue.count==='function') {
w.ue.count(a, Date.now()-w.ue_t0);
if(t && w.ue && w.ue.tag) {w.ue.tag(t);}
}
}
}
var addlongPoleTag = function(marker,customtag){
marker=marker.toLowerCase();
var b=CSMReqs[marker];
if(b.c==0){
if(window.ue && ue.tag) {ue.tag(customtag);}
}
}
</script>
<script type="a-state" data-a-state="{&quot;key&quot;:&quot;detail-page-device-type&quot;}">{"deviceType":"mobile"}</script>
<script type="a-state" data-a-state="{&quot;key&quot;:&quot;metrics-schema&quot;}">{"widgetSchema":"dp:widget:","dimensionSchema":"dp:dims:"}</script>
<link rel="stylesheet" href="https://images-na.ssl-images-amazon.com/images/I/01ekIXTj5kL._RC|01j62IBqyaL.css,41wvsvL+sxL.css,31QLjTiBtrL.css,31ZYydvXTIL.css,11tkAOwE6OL.css,21xItms32EL.css,11q7D6YoQCL.css,018pZJ+Ms7L.css,21t5UAtA4iL.css,21mvSipn7pL.css,41Fasit8zhL.css,21QwDiO8ycL.css,01IHzhAZ28L.css,31no24Dqj1L.css,01wBE2Z+USL.css,11xlykx3aFL.css,01D-B-OeNDL.css,21CNSKZ67ML.css,11rhPo030XL.css,11zgKVdkIJL.css,51oAYplAOyL.css,21aa6KfRqJL.css,21lDMA2J74L.css,31AXqefcH0L.css,21thLxrpr2L.css,11P7nJr8UuL.css,012dCODns-L.css,11oH9gtOgDL.css,21ZKosCj0iL.css,313bzSzzhRL.css,21-9Q-rNd0L.css,01rgQ3jqo7L.css,01XzaDG7OBL.css,21Df5N8kF4L.css,61sSErmOJTL.css,014Z+MbaRaL.css,11hxZgqF80L.css,01QUs5FVXoL.css,016xTzXJLfL.css,31LBzl8T3vL.css,21DFs8eEV-L.css,11cAYJlTEgL.css,018mGORJ7tL.css,11fvu+DzMxL.css,11iDQvZvByL.css,01ticFfm7pL.css,01lh9w-GYYL.css,31UsSdSPS1L.css,01WKGP3G+gL.css,11Mso4bvY-L.css,01LCsoCesOL.css,11kkkHiWcRL.css,010kw0xkZfL.css,21M+Dg4s3dL.css,11qL99m7IWL.css_.css?AUIClients/DetailPageMobileWebMetaAsset#mobile.us.not-trident.130884-T1.121035-T1.128615-T1.133998-T1.133996-T1.113788-C.93121-T1.126720-T1.114362-T1.119597-T1.111960-T1.103671-T2.118535-T1.107067-T2.53691-T1.118886-T1.110554-T1.123375-T1.108941-T1.123873-T1.114779-T1.120067-T1.123880-T1.123881-T1.106820-T1.121807-T1.101955-T1.111760-T1.111763-T1.108310-T1.115439-T1.56891-T1.108343-T1.108344-T1.109378-T1.83029-T1.131720-T1">
<script type="text/javascript"> (typeof uet === 'function') && uet("x3") </script><style type="text/css">
#wow-twister-spinner {
background: url("https://images-na.ssl-images-amazon.com/images/G/01/amazonui/loading/loading-4x._V1_.gif") 50% 50% no-repeat;
}
#wow-twister-loading-dim {
background: url("https://images-na.ssl-images-amazon.com/images/G/01/amazonui/loading/loading-4x._V1_.gif") center center no-repeat;
}
</style><script>
(window.AmazonUIPageJS ? AmazonUIPageJS : P).when('atf').execute(function(){
(window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://images-na.ssl-images-amazon.com/images/I/11Muzrhwo6L._RC|41ecatjAVfL.js,31cePTj3CrL.js,11AncM+ZunL.js,31hW3BxWLXL.js,21rOwfZB9SL.js,3118lZR+khL.js,516Cu4vSzCL.js,51Hi2VfLU+L.js,21yUMfZsKLL.js,31CyVESxcFL.js,016DBHJkIYL.js,21GuNBYH4BL.js,51WIGchpq5L.js,818Z3w8jMsL.js,21hyeuTdJ9L.js,01H0TE47EIL.js,013NxCyC-FL.js,11QIUl6VLbL.js,21jBAndZe0L.js,51YzCqyJFIL.js,0111g0cQvbL.js,01nKqcvaCIL.js,01X117Z9PgL.js,51GV9EHW+bL.js,01X5C8pWB1L.js,518iKhtj8UL.js,11sP283FW3L.js,21333KksJEL.js,31egXBuM55L.js,01RHiyjONOL.js,31I-BifbuzL.js,210S22NrxIL.js,51ryEHyLJ5L.js,314ZAgS3sJL.js,11bXLfk2j0L.js,31AnMfsNpuL.js,01q0JZaOPlL.js,116kAgu6ebL.js,31ze7I-RWjL.js,21q3UdjiveL.js,21HlHGr1+aL.js,0193uyIciNL.js,01DShqNIDKL.js,51NhK1niNZL.js,71FaatbojhL.js,01BZK417f8L.js,319kjuuQkzL.js,21mtabjvdBL.js,41yLu0U-ZDL.js,21e16+5SkdL.js,11NHZnHlFmL.js,21CbPMxfA+L.js,015J4NGaO3L.js,11B4fwZPeqL.js,21-q-ofQTaL.js,01cY00OaNgL.js,01jqyAujTwL.js,01KcbtwkAOL.js,01-XJ1YSEXL.js,113LFYzRWdL.js,01NAT+3p7KL.js,111vgqp2a0L.js,51GfggKdyCL.js,01MZJG6lH8L.js,01VtYReatCL.js,31P9rtuG-7L.js,01mL-cPJ2YL.js,01RQtSMdG+L.js,21iHrbWUPtL.js,013tU+A3QIL.js,41qfJxctTDL.js,01ryq+28pGL.js,01l3c7okxRL.js,21lP+A1Np8L.js,01qwoVEkKlL.js,011HXD1ky3L.js,011X+p22ALL.js,01k57x9vvBL.js,01RNXZDiBuL.js,01ZF+ovNflL.js,31baJE6Ao6L.js,01S8y9NkxoL.js,41IRD+TgfRL.js,11ECelPydPL.js,01tJd4+VUOL.js,51-wBjbbYrL.js,410QCZl6RQL.js,01y-5aCXJyL.js,01rg6Ce9FhL.js_.js?AUIClients/DetailPageMobileWebMetaAsset#mobile.us.130884-T1.121035-T1.128615-T1.133998-T1.133996-T1.132705-T1.93121-T1.89963-T1.126720-T1.114362-T1.71277-T1.111960-T1.112610-T1.118535-T1.107067-T2.103593-C.53691-T1.123375-T1.123873-T1.114779-T1.120067-T1.123880-T1.123881-T1.122564-T1.99301-T1.106820-T1.121807-T1.101955-T1.103391-T1.111760-T1.111763-T1.135995-T1.108310-T1.105170-T2.107686-T1.108343-T1.108344-T1.109378-T1.123718-T1.87019-T1.83029-T1.100976-T1.131720-T1');
});
(window.AmazonUIPageJS ? AmazonUIPageJS : P).when('goldboxDealDetailPage').execute(function(){
(window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://images-na.ssl-images-amazon.com/images/I/81pPtFtJAnL.js?AUIClients/GoldboxUDPAssets');
});
</script>
<script type="text/javascript">
P.when('atf').register('sp.load.js');
P.when('A', 'a-touch').execute(function(A, aTouch){
var $ = A.$;
A.on('a:popover:beforeSlideOut', function(){
$(document).bind('click.a-secondary-view-block', function(e){
e.preventDefault();
e.stopImmediatePropagation();
A.delay(function(){
$(document).unbind('click.a-secondary-view-block');
}, 600);
});
A.delay(function(){
$(document).unbind('click.a-secondary-view-block');
}, 2000);
});
});
</script><meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="canonical" href="https://www.amazon.com/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X">
<meta name="description" content="Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers) [Bruce Tate] on Amazon.com. *FREE* shipping on qualifying offers. You should learn a programming language every year, as recommended by The Pragmatic Programmer</i>. But if one per year is good">
<meta name="title" content="Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers): Bruce Tate: 8601234653110: Amazon.com: Books">
<meta name="keywords" content="Bruce Tate,Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers),Pragmatic Bookshelf,193435659X,Software Development &amp; Engineering - General,Programming languages (Electronic computers),Programming languages.,COMPUTERS / Programming Languages / General,COMPUTERS / Software Development &amp; Engineering / General,Computer Books: General,Computers,Computers - Languages / Programming,Computing: Professional &amp; Programming,Programming &amp; scripting languages: general,Software Development,Software Engineering">
<title>Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers): Bruce Tate: 8601234653110: Amazon.com: Books</title>
<!--&&&Portal&Delimiter&&&--><!-- sp:end-feature:host-assets -->
<script type="text/javascript">
(function(e,c){function h(b,a){f.push([b,a])}function g(b,a){if(b){var c=e.head||e.getElementsByTagName("head")[0]||e.documentElement,d=e.createElement("script");d.async="async";d.src=b;d.setAttribute("crossorigin","anonymous");a&&a.onerror&&(d.onerror=a.onerror);a&&a.onload&&(d.onload=a.onload);c.insertBefore(d,c.firstChild)}}function k(){ue.uels=g;for(var b=0;b<f.length;b++){var a=f[b];g(a[0],a[1])}ue.deffered=1}var f=[];c.ue&&(ue.uels=h,c.ue.attach&&c.ue.attach("load",k))})(document,window);
(function(a){var b=a.alert;window.alert=function(){a.ueLogError&&a.ueLogError({message:"[CSM] Alert invocation detected with argument: "+arguments[0],logLevel:"WARN"});Function.prototype.apply.apply(b,[a,arguments||[]])}})(window);
(function(k,l,g){function m(a){c||(c=b[a.type].id,"undefined"===typeof a.clientX?(e=a.pageX,f=a.pageY):(e=a.clientX,f=a.clientY),2!=c||h&&(h!=e||n!=f)?(r(),d.isl&&l.setTimeout(function(){p("at",d.id)},0)):(h=e,n=f,c=0))}function r(){for(var a in b)b.hasOwnProperty(a)&&d.detach(a,m,b[a].parent)}function s(){for(var a in b)b.hasOwnProperty(a)&&d.attach(a,m,b[a].parent)}function t(){var a="";!q&&c&&(q=1,a+="&ui="+c);return a}var d=k.ue,p=k.uex,q=0,c=0,h,n,e,f,b={click:{id:1,parent:g},mousemove:{id:2,
parent:g},scroll:{id:3,parent:l},keydown:{id:4,parent:g}};d&&p&&(s(),d._ui=t)})(ue_csm,window,document);
if (window.ue && window.ue.uels) {
var cel_widgets = [ { "c":"celwidget" },{ "c":"feature" } ];
ue.uels("https://images-na.ssl-images-amazon.com/images/G/01/AUIClients/ClientSideMetricsAUIJavascript-96ea10f95c9c40ac3d7cc81f2d76b78f0fdf178b._V2_.js");
}
(function(k,c){function l(a,b){return a.filter(function(a){return a.initiatorType==b})}function f(a,c){if(b.t[a]){var g=b.t[a]-b._t0,e=c.filter(function(a){return 0!==a.responseEnd&&m(a)<g}),f=l(e,"script"),h=l(e,"link"),k=l(e,"img"),n=e.map(function(a){return a.name.split("/")[2]}).filter(function(a,b,c){return a&&c.lastIndexOf(a)==b}),q=e.filter(function(a){return a.duration<p}),s=g-Math.max.apply(null,e.map(m))<r|0;"af"==a&&(b._afjs=f.length);return a+":"+[e[d],f[d],h[d],k[d],n[d],q[d],s].join("-")}}
function m(a){return a.responseEnd-(b._t0-c.timing.navigationStart)}function n(){var a=c[h]("resource"),d=f("cf",a),g=f("af",a),a=f("ld",a);delete b._rt;b._ld=b.t.ld-b._t0;b._art&&b._art();return[d,g,a].join("_")}var p=20,r=50,d="length",b=k.ue,h="getEntriesByType";b._rre=m;b._rt=c&&c.timing&&c[h]&&n})(ue_csm,window.performance);
(function(m,d){function c(b){b="";var c=a.isBFT?"b":"s",d=""+a.oid,f=""+a.lid,g=d;d!=f&&20==f.length&&(c+="a",g+="-"+f);a.tabid&&(b=a.tabid+"+");b+=c+"-"+g;b!=e&&100>b.length&&(e=b,a.cookie?a.cookie.updateCsmHit(n,b+("|"+ +new Date),h):document.cookie="csm-hit="+b+("|"+ +new Date)+p+"; path=/")}function q(){e=0}function k(b){!0===d[a.pageViz.propHid]?e=0:!1===d[a.pageViz.propHid]&&c({type:"visible"})}var h=new Date(+new Date+6048E5),p="; expires="+h.toGMTString(),n="tb",e,a=m.ue||{},l=a.pageViz&&
a.pageViz.event&&a.pageViz.propHid;a.attach&&(a.attach("click",c),a.attach("keyup",c),l||(a.attach("focus",c),a.attach("blur",q)),l&&(a.attach(a.pageViz.event,k,d),k({})));a.aftb=1})(ue_csm,document);
ue_csm.ue.stub(ue,"impression");
(function(k,d,h){function f(a,c,b){a&&a.indexOf&&0===a.indexOf("http")&&0!==a.indexOf("https")&&l(s,c,a,b)}function g(a,c,b){a&&a.indexOf&&(location.href.split("#")[0]!=a&&null!==a&&"undefined"!==typeof a||l(t,c,a,b))}function l(a,c,b,e){m[b]||(e=u&&e?n(e):"N/A",d.ueLogError&&d.ueLogError({message:a+c+" : "+b,logLevel:v,stack:"N/A"},{attribution:e}),m[b]=1,p++)}function e(a,c){if(a&&c)for(var b=0;b<a.length;b++)try{c(a[b])}catch(d){}}function q(){return d.performance&&d.performance.getEntriesByType?
d.performance.getEntriesByType("resource"):[]}function n(a){if(a.id)return"//*[@id='"+a.id+"']";var c;c=1;var b;for(b=a.previousSibling;b;b=b.previousSibling)b.nodeName==a.nodeName&&(c+=1);b=a.nodeName;1!=c&&(b+="["+c+"]");a.parentNode&&(b=n(a.parentNode)+"/"+b);return b}function w(){var a=h.images;a&&a.length&&e(a,function(a){var b=a.getAttribute("src");f(b,"img",a);g(b,"img",a)})}function x(){var a=h.scripts;a&&a.length&&e(a,function(a){var b=a.getAttribute("src");f(b,"script",a);g(b,"script",a)})}
function y(){var a=h.styleSheets;a&&a.length&&e(a,function(a){if(a=a.ownerNode){var b=a.getAttribute("href");f(b,"style",a);g(b,"style",a)}})}function z(){if(A){var a=q();e(a,function(a){f(a.name,a.initiatorType)})}}function B(){e(q(),function(a){g(a.name,a.initiatorType)})}function r(){var a;a=d.location&&d.location.protocol?d.location.protocol:void 0;"https:"==a&&(z(),w(),x(),y(),B(),p<C&&setTimeout(r,D))}var s="[CSM] Insecure content detected ",t="[CSM] Ajax request to same page detected ",v="WARN",
m={},p=0,D=k.ue_nsip||1E3,C=5,A=1==k.ue_urt,u=!0;ue_csm.ue_disableNonSecure||(d.performance&&d.performance.setResourceTimingBufferSize&&d.performance.setResourceTimingBufferSize(300),r())})(ue_csm,window,document);
(function(d){d.ue_cel_stub||(d.ue_cel_stub=function(){var b={};return{registerModule:function(a,c){b[a]||(b[a]=c,b[a].on())},replayModule:function(a,c){b[a]&&(b[a].replay(c),b[a].off(),delete b[a])}}}())})(ue_csm);
(function(a,d,h){a.ue_mcm_stub||a.ue&&a.ue.isBF||(a.ue_mcm_stub=function(){function e(k){var b=c.d(),e=(d.body||{}).scrollWidth,l=(d.body||{}).scrollHeight,f;a.ue_cdt&&h&&"function"===typeof h.now&&k.timeStamp&&(f=h.now()-k.timeStamp,f=parseFloat(f.toFixed(2)));g.push({rawEvent:k,additionalData:{ots:b,ow:e,oh:l,odt:f}})}var c=a.ue,g=[];return{on:function(){c.attach&&c.attach("click",e,d)},off:function(){c.detach&&c.detach("click",e,d)},replay:function(a){for(var b=0;b<g.length;b++)a(g[b].rawEvent,
g[b].additionalData)}}}(),a.ue_cel_stub&&a.ue_cel_stub.registerModule("mcm",a.ue_mcm_stub))})(ue_csm,document,window.performance);
if(window.ue&&uet) { uet('bb'); }
</script><!-- 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>
<script type="text/javascript" async="" crossorigin="anonymous" src="https://images-na.ssl-images-amazon.com/images/I/11Muzrhwo6L._RC|41ecatjAVfL.js,31cePTj3CrL.js,11AncM+ZunL.js,31hW3BxWLXL.js,21rOwfZB9SL.js,3118lZR+khL.js,516Cu4vSzCL.js,51Hi2VfLU+L.js,21yUMfZsKLL.js,31CyVESxcFL.js,016DBHJkIYL.js,21GuNBYH4BL.js,51WIGchpq5L.js,818Z3w8jMsL.js,21hyeuTdJ9L.js,01H0TE47EIL.js,013NxCyC-FL.js,11QIUl6VLbL.js,21jBAndZe0L.js,51YzCqyJFIL.js,0111g0cQvbL.js,01nKqcvaCIL.js,01X117Z9PgL.js,51GV9EHW+bL.js,01X5C8pWB1L.js,518iKhtj8UL.js,11sP283FW3L.js,21333KksJEL.js,31egXBuM55L.js,01RHiyjONOL.js,31I-BifbuzL.js,210S22NrxIL.js,51ryEHyLJ5L.js,314ZAgS3sJL.js,11bXLfk2j0L.js,31AnMfsNpuL.js,01q0JZaOPlL.js,116kAgu6ebL.js,31ze7I-RWjL.js,21q3UdjiveL.js,21HlHGr1+aL.js,0193uyIciNL.js,01DShqNIDKL.js,51NhK1niNZL.js,71FaatbojhL.js,01BZK417f8L.js,319kjuuQkzL.js,21mtabjvdBL.js,41yLu0U-ZDL.js,21e16+5SkdL.js,11NHZnHlFmL.js,21CbPMxfA+L.js,015J4NGaO3L.js,11B4fwZPeqL.js,21-q-ofQTaL.js,01cY00OaNgL.js,01jqyAujTwL.js,01KcbtwkAOL.js,01-XJ1YSEXL.js,113LFYzRWdL.js,01NAT+3p7KL.js,111vgqp2a0L.js,51GfggKdyCL.js,01MZJG6lH8L.js,01VtYReatCL.js,31P9rtuG-7L.js,01mL-cPJ2YL.js,01RQtSMdG+L.js,21iHrbWUPtL.js,013tU+A3QIL.js,41qfJxctTDL.js,01ryq+28pGL.js,01l3c7okxRL.js,21lP+A1Np8L.js,01qwoVEkKlL.js,011HXD1ky3L.js,011X+p22ALL.js,01k57x9vvBL.js,01RNXZDiBuL.js,01ZF+ovNflL.js,31baJE6Ao6L.js,01S8y9NkxoL.js,41IRD+TgfRL.js,11ECelPydPL.js,01tJd4+VUOL.js,51-wBjbbYrL.js,410QCZl6RQL.js,01y-5aCXJyL.js,01rg6Ce9FhL.js_.js?AUIClients/DetailPageMobileWebMetaAsset#mobile.us.130884-T1.121035-T1.128615-T1.133998-T1.133996-T1.132705-T1.93121-T1.89963-T1.126720-T1.114362-T1.71277-T1.111960-T1.112610-T1.118535-T1.107067-T2.103593-C.53691-T1.123375-T1.123873-T1.114779-T1.120067-T1.123880-T1.123881-T1.122564-T1.99301-T1.106820-T1.121807-T1.101955-T1.103391-T1.111760-T1.111763-T1.135995-T1.108310-T1.105170-T2.107686-T1.108343-T1.108344-T1.109378-T1.123718-T1.87019-T1.83029-T1.100976-T1.131720-T1"></script><script type="text/javascript" async="" crossorigin="anonymous" src="https://images-na.ssl-images-amazon.com/images/I/61ea4y7yPdL._RC|11IYhapguOL.js,61-dJ29Zw5L.js,21dmoxZTACL.js,01E8f3KV-NL.js,31fv8bqHLoL.js,31ReKJl2X6L.js,51nK0kUyg2L.js,11Mdh5CVmhL.js,01xMsWWFUQL.js,11KkQiUpBPL.js,113pP0Sfh0L.js,21auxuI+dRL.js,01PoLXBDXWL.js,61x-Yxr2raL.js,318CMPRminL.js,11SW3HEKjtL.js,01qkmZhGmAL.js,01jUS+y5YWL.js_.js?AUIClients/AmazonUI#mobile"></script><script type="text/javascript" async="" crossorigin="anonymous" charset="utf-8" src="https://images-na.ssl-images-amazon.com/images/G/01/ape/sf/mobile/MAsf-1.15._CB488131535_.js?csm_attribution=APE-SafeFrame"></script><script type="text/javascript" async="" crossorigin="anonymous" src="https://images-na.ssl-images-amazon.com/images/I/61BFFVGtFXL.js?AUIClients/Swiper_AUIBuild"></script><script type="text/javascript" async="" crossorigin="anonymous" src="https://images-na.ssl-images-amazon.com/images/G/01/AUIClients/CustomerReviewsMedleyAssets-d22f4f962f932cc6922bccca8b5b14475c306dc6._V2_.js#AUIClients/CustomerReviewsMedleyAssets.device_type-mobile.secure.weblab-DP_PROFILE_REVIEWS_GENOME_WIDGET_INTEG_112957-T1.min"></script><script type="text/javascript" async="" crossorigin="anonymous" src="https://images-na.ssl-images-amazon.com/images/I/51-hMaw7m7L._RC|01eV4Oqoy5L.js,31qKd4DgPkL.js_.js?AUIClients/NavMobileMetaAsset"></script><script type="text/javascript" async="" crossorigin="anonymous" src="https://images-na.ssl-images-amazon.com/images/I/517%2B4eJ4RGL.js?AUIClients/RetailSearchAutocompleteAssets#mobile"></script><script type="text/javascript" async="" crossorigin="anonymous" src="https://images-na.ssl-images-amazon.com/images/I/11QXqf0G81L.js?AUIClients/RetailWebsiteOverlayAUIAssets"></script><style></style></head><!-- sp:feature:start-body -->
<body class="a-m-us a-aui_51744-c a-aui_57326-c a-aui_72554-c a-aui_accessibility_49860-c a-aui_attr_validations_1_51371-c a-aui_bolt_62845-c a-aui_ux_59374-c a-aui_ux_60000-c"><div id="a-page"><script type="a-state" data-a-state="{&quot;key&quot;:&quot;a-wlab-states&quot;}">{"AUI_51744":"C","AUI_57326":"C","AUI_72554":"C","AUI_ACCESSIBILITY_49860":"C","AUI_ATTR_VALIDATIONS_1_51371":"C","AUI_BOLT_62845":"C","AUI_UX_59374":"C","AUI_UX_60000":"C"}</script><script>typeof uex === 'function' && uex('ld', 'portal-bb', {wb: 1})</script>
<!-- sp:feature:nav-inline-js -->
<!-- From remote config v3-->
<script type="text/javascript">
(function(d){document.createElement("header");function b(e){return[].slice.call(e)}function c(f,e){return{m:f,a:b(e)}}var a=function(f){var g={};g._sourceName=f;g._replay=[];g.getNow=function(i,h){return h};function e(i,h,j){i[j]=function(){g._replay.push(h.concat(c(j,arguments)))}}g.when=function(){var i=[c("when",arguments)];var h={};e(h,i,"run");e(h,i,"declare");e(h,i,"publish");e(h,i,"build");return h};e(g,[],"declare");e(g,[],"build");e(g,[],"publish");e(g,[],"importEvent");a._shims.push(g);return g};a._shims=[];if(!d.$Nav){d.$Nav=a("rcx-nav")}if(!d.$Nav.make){d.$Nav.make=a}}(window));
$Nav.importEvent('navbarJS-mobile');
$Nav.declare('img.sprite', {
'png32': 'https://images-na.ssl-images-amazon.com/images/G/01/gno/sprites/new-nav-sm-smile-sprite-global-1x_blueheaven._CB487546343_.png',
'png32-2x': 'https://images-na.ssl-images-amazon.com/images/G/01/gno/sprites/new-nav-sm-smile-sprite-global-2x_blueheaven._CB487546343_.png'
});
window._navbarSpriteUrl = 'https://images-na.ssl-images-amazon.com/images/G/01/gno/sprites/new-nav-sm-smile-sprite-global-1x_blueheaven._CB487546343_.png';
$Nav.declare('img.pixel', 'https://images-na.ssl-images-amazon.com/images/G/01/x-locale/common/transparent-pixel._CB386942464_.gif');
var nav_t_after_preload_JS = + new Date();
</script>
<img src="https://images-na.ssl-images-amazon.com/images/G/01/gno/sprites/new-nav-sm-smile-sprite-global-1x_blueheaven._CB487546343_.png" style="display:none" alt="">
<!-- -->
<script>
(window.AmazonUIPageJS ? AmazonUIPageJS : P).when('navCF').execute(function(){
(window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://images-na.ssl-images-amazon.com/images/I/51-hMaw7m7L._RC|01eV4Oqoy5L.js,31qKd4DgPkL.js_.js?AUIClients/NavMobileMetaAsset');
(window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://images-na.ssl-images-amazon.com/images/I/517%2B4eJ4RGL.js?AUIClients/RetailSearchAutocompleteAssets#mobile');
});
</script>
<!-- sp:feature:navbar -->
<!-- NAVYAAN-UPNAV -->
<style type="text/css">
#nav-mobile-airstream-stripe {
background-color: #ffffff;
text-align: center;
}
#nav-mobile-airstream-stripe-img {
width: 100%;
max-height: 80px;
}
</style>
<div id="nav-mobile-airstream-stripe">
<a id="nav-mobile-airstream-link" href="/stream/ref=nav_upnav_mobile_C_detailaw" aria-hidden="true" tabindex="-1">
<img id="nav-mobile-airstream-stripe-img" src="https://images-na.ssl-images-amazon.com/images/G/01/airstream/mobile-upnav/C/mobile_upnav_C_latest_2x._CB492140722_.jpg" alt="Beautiful things, updated daily">
</a>
</div>
<script type="text/javascript">
if(typeof(P) !== 'undefined' || typeof(window.AmazonUIPageJS) !== 'undefined') {
(window.AmazonUIPageJS ? AmazonUIPageJS : P).when('navCF').execute(function() {
var pixelRatio = window.devicePixelRatio || 1;
if ( pixelRatio > 1 ) {
document.getElementById("nav-mobile-airstream-stripe-img").src = "https://images-na.ssl-images-amazon.com/images/G/01/airstream/mobile-upnav/C/mobile_upnav_C_latest_2x._CB492140722_.jpg";
}
});
}
</script>
<!-- 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)
};
}
}
</script>
<script type="text/javascript">window.navmet.tmp=+new Date();</script>
<style type="text/css">#nav-mobile-airstream-stripe img {max-width: 100%;}</style><script type="text/javascript">window.$Nav && $Nav.when('jQuery', 'searchScoping').run(function($){var hidden=$('#nav-search-form input[type=hidden]'); if(hidden.length===2 && hidden[1].value==='10329849011') {hidden[0].remove();}})</script><script type="text/javascript">var nav_t_after_ANI = + new Date();</script>
<script type="text/javascript">
window.$Nav && window.$Nav.declare("config",
{"searchISS":{"cxNoiseReductionTreatment":1,"cxNoiseReductionV2Treatment":"C","requestId":"7F3MGDYTH1YH8KVBSFWJ","isInIssXCatWeblabTreatment":0,"language":"en_US","pageType":"DetailAW","useSXISS":"","isAutoCompleteLegacyJsEnabled":0,"issRequestParamsTreatment":1,"mktID":"1","host":"completion.amazon.com/search/complete","sessionId":"147-0816675-1753153","customerId":"","aliases":"aps,amazon-custom-products,amazon-devices,amazonbasics,amazonfresh,stripbooks,popular,apparel,electronics,sporting,sports-and-fitness,outdoor-recreation,fan-shop,garden,videogames,toys-and-games,jewelry,digital-text,digital-music,prime-digital-music,watches,grocery,hpc,instant-video,handmade,handmade-jewelry,handmade-home-and-kitchen,prime-instant-video,shop-instant-video,baby-products,office-products,software,magazines,tools,automotive,misc,industrial,mi,pet-supplies,digital-music-track,digital-music-album,mobile,mobile-apps,movies-tv,music-artist,music-album,music-song,stripbooks-spanish,electronics-accessories,pantry,photo,audio-video,computers,furniture,kitchen,audible,audiobooks,beauty,shoes,arts-crafts,appliances,gift-cards,pets,outdoor,lawngarden,collectibles,replacement-parts,financial,fine-art,fashion,fashion-womens,fashion-womens-clothing,fashion-womens-jewelry,fashion-womens-shoes,fashion-womens-watches,fashion-womens-handbags,fashion-mens,fashion-mens-clothing,fashion-mens-jewelry,fashion-mens-shoes,fashion-mens-watches,fashion-girls,fashion-girls-clothing,fashion-girls-jewelry,fashion-girls-shoes,fashion-girls-watches,fashion-boys,fashion-boys-clothing,fashion-boys-jewelry,fashion-boys-shoes,fashion-boys-watches,fashion-baby,fashion-baby-boys,fashion-baby-girls,fashion-luggage,3d-printing,tradein-aps,local-services,vehicles,video-shorts,warehouse-deals,luxury-beauty,banjo-apps,black-friday,cyber-monday,alexa-skills,subscribe-with-amazon,courses,amazon-global-store,prime-wardrobe","ime":0,"autoScrollUpSearchBoxTreatment":0},"pseudoPrimeFirstBrowse":0,"searchIconAction":"footer","searchIconEvent":"nojs","navDeviceType":"mobile","mobileBlueheaven":"true","windowWidths":0}
);
</script>
<script type="text/javascript">var nav_t_after_config_declaration = + new Date();</script>
<script type="text/javascript">
window.uet && uet('ns');
</script>
<!-- navp-Vrsr3cp+2Yv15CGfa0SCeW/1kE5Q5VaVBHMAPdhYQdanhJOFvUEprNPB9FXGL2VHMkhQ789gy6M= rid-7F3MGDYTH1YH8KVBSFWJ (Thu Feb 15 06:32:08 2018) --><script type="text/javascript">window.navmet.push({key:'PreNav',end:+new Date(),begin:window.navmet.tmp});</script>
<!-- navp-Vrsr3cp+2Yv15CGfa0SCeW/1kE5Q5VaVBHMAPdhYQdanhJOFvUEprNPB9FXGL2VHMkhQ789gy6M= rid-7F3MGDYTH1YH8KVBSFWJ (Thu Feb 15 06:32:08 2018) -->
<script type="text/javascript">window.navmet.main=+new Date();</script>
<!-- NAVYAAN -->
<header class="nav-mobile nav-locale-us nav-lang-en nav-ssl nav-unrec nav-blueheaven">
<div id="navbar" role="navigation" class="nav-t-standard nav-sprite-v3">
<div id="nav-logobar">
<div class="nav-left">
<script type="text/javascript">window.navmet.tmp=+new Date();</script>
<div id="nav-logo">
<a href="/ref=navm_hdr_logo" class="nav-logo-link">
<span class="nav-sprite nav-logo-base"></span>
<span class="nav-sprite nav-logo-ext"></span>
<span class="nav-sprite nav-logo-locale"></span>
</a>
</div>
<script type="text/javascript">window.navmet.push({key:'Logo',end:+new Date(),begin:window.navmet.tmp});</script>
</div>
<div class="nav-right">
<a href="#nav-search-keywords" class="nav-a" id="nav-button-search">
<i class="nav-icon nav-icon-a11y nav-sprite">Search</i>
</a>
<a href="/gp/aw/ya/ref=navm_hdr_profile" class="nav-a" id="nav-button-avatar">
<i class="nav-icon nav-icon-a11y nav-sprite">your account</i>
</a>
<a href="/gp/aw/c/ref=navm_hdr_cart" aria-label="Cart" class="nav-a" id="nav-button-cart">
<div class="nav-cart-empty">
<i class="nav-icon nav-sprite"></i>
<span class="nav-cart-count">0</span>
</div>
</a>
</div>
</div>
<script type="text/javascript">var nav_t_after_searchbar = + new Date();</script>
</div>
</header>
<script type="text/javascript">var nav_t_after_navbar = + new Date();</script>
<script type="text/javascript">window.navmet.push({key:'NavBar',end:+new Date(),begin:window.navmet.main});</script>
<script type="text/javascript">window.navmet.tmp=+new Date();</script>
<script type="text/javascript">
(function (i) {
i.onload = function() {window.uet && uet('ne')};
i.src = window._navbarSpriteUrl;
}(new Image()));
var nav_t_end_nav = + new Date();
</script>
<script type="text/javascript">window.navmet.push({key:'PostNav',end:+new Date(),begin:window.navmet.tmp});</script>
<script type="text/javascript">window.navmet.MainEnd = new Date();</script>
<script type="a-state" data-a-state="{&quot;key&quot;:&quot;NAV:Constants&quot;}">{"aa_searchBox_in":"in","aa_all_departments":"All Departments"}</script>
<!-- sp:feature:host-atf -->
<div id="dp" class=" book_mobile ">
<div class="a-container" role="main">
<script type="text/javascript">
P.when('atf').execute(function(){
if(typeof uet === 'function'){(function(t){var w = window;w.awTags = w.awTags || {};w.awTags[t] = w.awTags[t] || (ue.tag(t) && 1)})('smart-device');uet('bb', 'udpv3auiwait', {wb: 1});};
P.when('A','jQuery','a-carousel-framework','a-popover-base','a-popover-ajax','a-state').execute(function(){
if(typeof uet === 'function'){(function(t){var w = window;w.awTags = w.awTags || {};w.awTags[t] = w.awTags[t] || (ue.tag(t) && 1)})('smart-device');uet('be', 'udpv3auiwait', {wb: 1});};
if(typeof uex === 'function'){(function(t){var w = window;w.awTags = w.awTags || {};w.awTags[t] = w.awTags[t] || (ue.tag(t) && 1)})('smart-device');uex('ld', 'udpv3auiwait', {wb: 1});};
});
});
if(typeof uet === 'function'){(function(t){var w = window;w.awTags = w.awTags || {};w.awTags[t] = w.awTags[t] || (ue.tag(t) && 1)})('smart-device');uet('bb', 'udpv3atfwait', {wb: 1});};
</script>
<script type="text/javascript">var encodedImgSrc="data:image/webp;base64,UklGRsoJAABXRUJQVlA4IL4JAADwNgCdASqnAMgAP3Gmw1UrpyQhqXc7eXguCelu3WBpKL1l9/dhVX336y+kAW7VpXNADiu/t5fLlsW7SeOjYjiJktTzfoDpE4PKtqEA/7h6dv6MdIj/cW//8PXAADD9z+4f/cP/uH+mSLhRgeIUsLbUeiAtql1eAx4KrN+ggp3/dDI/BFpFzrxsbXAVi7B4Qzb5NNAJ42l3rmkixDAmpkOef52fdgYfaEvnrim0ak7D/an97A3KzZOsV+zq2uUjDB5hq2IbatdDwbxRH9lIl3mhX0E+XrBNuv5PtjDKj0OyIh8grx6+m02XnEIBY6eHtWYy/mxLpy3wiJakQaAtwGVkQr3zwu92gzSET4TC/gfS/EFKP7drB6xnpIBKwuvRgFrV/LdzM6VzwWzYTYU393ULTpiZKmUAk0EN+7JsMvB90lQLnhE6MCS/43iSxmr5qVABtdcZlgPyoUsPM1R0KaSdvdO4Sf+OTVHws5T6d77vBIhyXSKiMjSYbp/6bt/zUZVw8qH4Op5V5xpAAZtN9sk2it4u/8AW/GktIYz0ZUJ+hXmsMHIpP7+EWvDqvhtHvJwi7qideTYU4dmONUfFH9uwAP7wKsq6KHNv+/71lq0R2S9vC3/uZbxKFxKX8pa3T46Ko+J/KQCC/8+gtP4CU3PChuaew55znO3EqsvJCuJ9mxq8GxaFnzxMxjdTPJnPaNEZbCoPeRY8YD5BafLYvM9B4ft38U3n4+d3vITeLMaoXH/s1pXPrB10SeZ/2OIUjQGphJdRhoaQEBWNkLd3bNaJ8buY8Cl0fBSQ4ZCfs7dOU03Lq+Km2G1V1BY8R2DYRLtHPcCa9ZW4KOSWEducIE6wtHuU8NNcV1shO5MolsVayIlX/M3lAuimR7VgSwUeVWtTN25rfeOXYgdSG7ytH3qqMX9IoMlCyz0DWIoaVRNcY50uXXDvil2MKT7qBNswx2HT+IgCWL9sdQ5lh0OrEe8fpwzedZ7WVaBB1wYeRL62jiKZfM6+b6+Ez8abg06akrRMn1JmmvpEVVxl1z1T7f8F5xS9t3BSd0eBoEMZt4V/OIagA4tFd/UKEtljjM2Du7+LYvmMqQrsIRLOrgHibkZ4FDWre5RkJe6GO7Ygpu3MOiMIzCMvhX8suI6BDSvrWIgxZiuurzG8liHR5fwXryyREhn/fR2YuB7ds62vOEwBlQdPaRPMudHHMzygslhm0PYtUlfeaaZm52SW9kSmDMBKHzdeHZLZxLiC47Iji4nl28KgHVEssoPO7Q9wAH1/GyC14iUyEz0k67+PJd3EfQcqMiY/JoAZaORNTrEiNhUI7IKejhw6mnc0f3z/+OOMhp4H1Zmjy6lc9qWQvp0D61FufmuPu28zaX+bP2G1wnUcIKjHt5MVOdSN1G0rA8SnzLKY5F7joeqlYS7lLlvLetHWTaKYm+F/avm8g8wy+xg8e6skE2UlKl/0c1XJVws8UC2qWn/pjO4sIwg/Jhin0N3Mn6KwApizPBEJWXK4XvPybBRW3bMzUeZc8i4xvk6R3w1Uk1WYD4NCwZ9NTek/2GHpcPQB39TKFzaq8vGfJSzSv850kveYiL3vOqMVkAC6E84ahdeJKdoS11Yny19JIF4TXrePo+v2tgnQwzaWGrvoqKtWldE5N9BqGHrT44C4lMh3T6+NSoZzru4DLBFJ4WCcjkLMQ18dpTa0VH+EEB8B00ewnXaiWP8W4txb6EdoSmV7O5okHCVv5zL8wZqH5K7bxRbGft51Xd+bcyXvhT3cQjeeGw4QzbcYI4mJxwBoCloam0gyxrwqQbl4tFAq+XVzY4e6xmvM0dSjn7fI98momKEgT9ORz1zQdSlJnK6QQ6HxSU1rG2CcKk9vdts8IE4rNQQtE4Yue0kwblw7+v+UbnUxlwMr/JtsNw9ujeY+hXycRGcW/OdTVhw/Ge1MzwTBe6UMkQoRr+Ec7z4d6kEfOlIQdlhnVYC8dx7FXmmnA8c92gh1iPg2ZrIl89pX0B5dLu/Cu5QvtVLIF/tuIX4ds7ApG8AnTv3UmCFzxCbVBhqOWLYADZ1fIPmGBuQHBjnSE78IidKuGBtMsFPxGSFFNjQzC+Fs1wJNeuhsS3A/dXzK94+R2MkeKSWHpn2supNXtZZ05tYYYHPAzTYFf3Q9ILogvAIV2C++fcmmoN8sT/U3DqavAbAZP/7eV9bXzS2jNLn0RWyJPygS35dFOcE6PBCs4LDWpqgwuD6uYCZLsUuauZY80BT3UMfy8o9QBw/9Ef6U9pXNKx4lfz2JQtri6MMkslY17eb9JfCJR2H7mElRazkRwED/i8g2YSXxh24ylRTmV34MbFe5XWrlpVPOHt0MWbaSkHX3Rr30ljdbFxEG8YFA5y1GJ/Y6ytzQX6Y/SDNFBnuf+epX3P0H5i87+hxrkAzJ+T2k4Ze6v0ErIw0de3Yle7d5dM+7bOADG5/viD5w4JrPagqoCd1387SixCPEbUbcVR9F/JVJyCAnyqNQgwdIyCPibdW5Mj7pgHRHIIZe5d5TrqstIj+elnUsp9Rz7kGFpMG9SUfDLxvWMvbfNO8E0RjKTnVubaQvbkcfldMWRGnwF7GASSMMk3pkMAuWK0gZ6WbikPz251ATBKpkG61R5Pkx4aLRix2aS1820LXPvZInccYCeg48shJK2gCvgqUMgYS18qpzECfzs2o6UV+xqKceRgkaR4lGkvlFwVS2BofjpGR6h3F9+l3BzjmUpvQSLBD9zY09vKfkmI4tIDhJPYcopK/sgXIjAlbRDfRzI6gs8OpxQZSM2i9dny8Ntf1iR6K4BxHfHi5u3I1QpVvd1nK/5ayFlVj+Ezo+C7HJsuEESD0HlzNWlBiB7eW9Y2SM0OUVZ69mki4Rrb3rNySvJ2MjegyHS3nsYKf0W94Qez+LeNTyv/VT1u7DBL5/vqG+X747g7XnOnvtA857n0rjTKr05HG883ArNUnGvK23dLfSeod/hYeD1g7fkZd6PJuV3Moy0HzyG2xWKS+U3AUNeG8ZcyUBcUKUvSfX3aGoBLWBYE8yMa38yoITV+eYHujsq1LRfpoOCmOkM/VJt2dMxmFSaZAbLQToZ5Vxnd8NdO0DDq7UKWQMOK1NcEHC7awlF3fiVL8FlF5suc5SYuudCt0es8vqCZtkoUkHM6/Zt5xe/GxvRcGvDVUKl4eyf0Rdb69KXkymXhnht1z7ZxMumIvkavkIl5EpDjpMDbgMOucvUbsO7owjqxWF/FUTMdOS4+wXEonZb05LrEYhMlwM95DBkpMgXbH9daeVWuBW175vkgikrru+IduuI5JExviQ9utx6thZ6AAA";</script><!-- MarkCF -->
<script type="text/javascript">
if(typeof uet === 'function'){uet('be', 'udpv3atfwait', {wb: 1});};
if(typeof uex === 'function'){uex('ld', 'udpv3atfwait', {wb: 1});};
</script>
<div id="ppd" class="a-row">
<div id="p2d_feature_div" data-feature-name="p2d" data-template-name="p2d" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="detailILM_feature_div" data-feature-name="detailILM" data-template-name="detailILM" class="a-section a-spacing-none feature t-prnt t-full">
<div class="a-row">
<div class="a-column a-span12">
<div style="margin: -1.2rem -1.4rem 0px; background-color: #FFFFFF;">
<div style="margin-left: auto; margin-right: auto; width: 320px;">
<a href="/gp/student/signup/info/ref=st_ILM_trialconmob/"><img alt="" src="https://images-na.ssl-images-amazon.com/images/G/01/img17/student/other/1061023_student_offtocollegestripe__ilm_640x90._CB503961461_.jpg" height="45" width="320" data-a-hires="https://images-na.ssl-images-amazon.com/images/G/01/img17/student/other/1061023_student_offtocollegestripe__ilm_640x90._CB503961461_.jpg"></a>
</div>
<hr>
</div>
</div>
</div>
</div>
<div id="pegasus_feature_div" data-feature-name="pegasus" data-template-name="pegasus" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="mobile_orderInformationGroup_feature_div" data-feature-name="mobile_orderInformationGroup" data-template-name="mobile_orderInformationGroup" class="a-section a-spacing-none feature">
</div>
<div id="dealOffer_feature_div" data-feature-name="dealOffer" data-template-name="dealOffer" class="a-section a-spacing-none feature t-prnt t-full">
<style>
.gb_box_info {border-color:#bbd3de;}
.gb_box_error {border-color:#c40000;}
.gb_box_warn {border-color:#8b6e00;}
.gb_box_success {border-color:#89cd89;}
</style>
</div>
<div id="andonCord_feature_div" data-feature-name="andonCord" data-template-name="andonCord" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="companyCompliancePolicies_feature_div" data-feature-name="companyCompliancePolicies" data-template-name="companyCompliancePolicies" class="a-section a-spacing-none feature t-prnt t-full">
<style>
.ccp-touch-link{
border-style: none;
}
.ccp-touch-link .a-icon-touch-link{
z-index: 1;
}
.a-touch-link.ccp-touch-link > .a-box-inner{
padding: 0 0 0 0;
}
.ccp-custom-messages-group-name{
padding: 20px 0 0;
}
</style>
</div>
<div id="productTitleGroupAnchor">
<div id="machineTranslation_feature_div" data-feature-name="machineTranslation" data-template-name="machineTranslation" class="a-section a-spacing-mini feature">
<style type="text/css">
#machine-translation-widget .a-size-base{
font-size: 1.4rem!important;
}
#machine-translation-widget .mt-link {
margin-left: 4px;
margin-right: 3px;
}
</style>
</div>
<div class="a-row a-spacing-none">
<div class="a-column a-span12 a-text-ellipsis">
<div id="brandByline_feature_div" class="">
</div>
<div id="byline_feature_div" class="t-prnt t-full">
<div id="byline" class="a-row a-spacing-none a-size-base feature a-text-ellipsis">
<a id="bylineContributor" class="a-size-base a-link-normal" href="/kindle-dbs/author/ref=mw_dp_a_ap?_encoding=UTF8&amp;author=Bruce%20Tate&amp;searchAlias=books&amp;asin=B001ITYIUU">Bruce Tate</a>
</div>
</div>
</div>
</div>
<div id="title_feature_div" class="a-section a-spacing-small t-prnt t-full">
<style>
.atfRedesignV2 .collapsed #expandTitleToggle {
background-image: url("https://images-na.ssl-images-amazon.com/images/G/01/burj/dp_plus-sprite-2x._CB315922441_.png");
top:1.4rem;
right: 0rem;
}
.atfRedesignV2 .expanded #expandTitleToggle{
background-image: url("https://images-na.ssl-images-amazon.com/images/G/01/burj/dp_min-sprite-2x._CB315922440_.png");
bottom: 1rem;
right: 1.6rem;
}
</style>
<div data-feature-name="title" data-template-name="title" class="a-section a-spacing-small">
<div class="a-row">
<div class="a-column a-span12">
<h1 id="title" class="a-size-medium">Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers)
<span class="a-size-medium a-color-secondary a-text-normal"></span>
</h1>
</div>
</div>
</div>
</div>
<div class="a-section a-spacing-none">
<span id="bookEdition" class="a-size-base a-color-base a-text-bold">1st Edition</span>
</div>
<div class="a-section a-spacing-base">
<div class="a-row">
<span class="a-size-small a-color-secondary a-text-bold">ISBN-13:</span>
<span class="a-size-small a-color-secondary"> 978-1934356593,</span>
<span class="a-size-small a-color-secondary a-text-bold">ISBN-10:</span>
<span class="a-size-small a-color-secondary"> 193435659X</span>
</div>
</div>
<div class="a-row">
<div id="averageCustomerReviews_feature_div" data-feature-name="averageCustomerReviews" data-template-name="averageCustomerReviews" class="a-column a-span12 a-text-left feature t-prnt t-full">
<a id="acrCustomerReviewLink" class="a-link-normal" href="/gp/aw/cr/193435659X/ref=mw_dp_cr">
<i class="a-icon a-icon-star-medium a-star-medium-4"><span class="a-icon-alt">4.2 out of 5 stars</span></i>
<span class="a-size-base">(58)</span>
<span id="textReviews" style="position: absolute; left: -10000px; top: auto; width: 2px; height: 1px; overflow: hidden;">Reviews</span>
</a>
</div>
</div>
<div id="adoptedData_feature_div" data-feature-name="adoptedData" data-template-name="adoptedData" class="a-section a-spacing-none feature t-prnt t-full">
<style>
#adoptedDataContainer .campusLogo {
height: 20px;
width: 20px;
margin-right: 0.5em;
}
#adoptedDataContainer .campusName {
line-height: 20px;
}
#adoptedDataContainer .nonDecorated {
text-decoration:none;
color:black;
}
#adoptedDataContainer > div {
padding-left:0.4em !important;
}
#adoptedDataContainer .secondaryViewTrigger {
width:100%;
padding-right:1em;
padding-left:3px;
}
#adoptedDataContainer .chevron {
position:absolute;
right:0.5em;
top:50%;
margin-top:-.5em;
}
</style>
</div>
<div id="imageBlock_feature_div" data-feature-name="imageBlock" data-template-name="imageBlock" class="a-section a-spacing-none feature t-part t-full">
<div id="image-block-row" class="a-row a-spacing-medium">
<div class="a-column a-span12 a-text-center">
<style type="text/css">
</style>
<style>
.image-size-wrapper {
height:200px;
line-height:200px;
}
#image-block .a-immersive-image-wrapper{
height:200px;
}
<!--imageBlock.viewAdapter.maxHeightpx -->
</style>
<div id="image-block" data-a-carousel-options="{&quot;carouselClass&quot;:&quot;mobile&quot;,&quot;minimum_gutter_width&quot;:0,&quot;show_partial_next&quot;:false,&quot;name&quot;:&quot;image-block-carousel&quot;,&quot;circular&quot;:true}" aria-hidden="true" data-a-display-strategy="single" data-a-ajax-strategy="none" data-a-class="mobile" class="a-begin a-carousel-container a-carousel-display-single a-carousel-transition-slide a-carousel-initialized"><input autocomplete="on" type="hidden" class="a-carousel-firstvisibleitem">
<div class="a-carousel-viewport a-gesture a-gesture-horizontal" id="anonCarousel1" style="height: 200px;"><ol class="a-carousel" role="list" style="width: 828px;"><li class="a-carousel-card" role="listitem" aria-setsize="2" aria-posinset="1" aria-hidden="false" style="visibility: visible; width: 414px; margin: 0px;">
<span class="a-declarative" data-action="a-secondary-view" data-a-secondary-view="{&quot;backButtonText&quot;:&quot;Back&quot;,&quot;hideHeader&quot;:true,&quot;name&quot;:&quot;immersive-view&quot;,&quot;scrollable&quot;:true}" data-a-immersive-view="true">
<a class="a-link-normal" href="#">
<div class="a-image-wrapper hide-image" data-declarativeactionname="immersive-view" data-imageblockcounter="imageBlockShownC" data-immersiveviewcounter="immersiveViewOpenedC" data-fling-container="true">
<div class="image-wrapper">
<div class="image-size-wrapper fp-image-wrapper " id="landing-image-wrapper" data-image-height="184" data-image-width="154" data-max-height="200" data-min-height="0" data-num-of-images="2" data-animate-image="0" data-image-sizes="[[333, 400], [324, 400]]" data-mainimage-large-pid="51opYcR6kVL" data-mainimage-hires-pid="">
<img alt="" src="https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._SY400_.jpg" data-fling-asin="193435659X" data-fling-refmarker="detail_main_image_block" data-midres-replacement="https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._SY200_.jpg" onload=";" class="imageLeft0 altImage" id="main-image" data-a-image-name="mainImage" height="px" width="px" data-a-hires="https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._SY400_.jpg"><script type="text/javascript">if(typeof encodedImgSrc != 'undefined' && encodedImgSrc != "" && document.getElementById("main-image")!=null){document.getElementById("main-image").src=encodedImgSrc;if(typeof uet === 'function') {uet('x2');}};</script>
</div>
</div>
</div>
</a>
</span>
</li><li class="a-carousel-card" role="listitem" aria-setsize="2" aria-posinset="2" aria-hidden="false" style="visibility: visible; width: 414px; margin: 0px;">
<span class="a-declarative" data-action="a-secondary-view" data-a-secondary-view="{&quot;backButtonText&quot;:&quot;Back&quot;,&quot;hideHeader&quot;:true,&quot;name&quot;:&quot;immersive-view&quot;,&quot;scrollable&quot;:true}" data-a-immersive-view="true">
<a class="a-link-normal" href="#">
<div class="a-image-wrapper " data-declarativeactionname="immersive-view" data-imageblockcounter="imageBlockShownC" data-immersiveviewcounter="immersiveViewOpenedC" data-fling-container="true">
<div class="image-wrapper">
<div class="image-size-wrapper fp-image-wrapper " data-image-width="154" data-image-height="189">
<img src="https://images-na.ssl-images-amazon.com/images/I/51doNUaU7zL._SY400_.jpg" class="a-image-wrapper a-manually-loaded carousel-img-manual-load altImage" id="" alt="" data-a-image-name="altImage" data-fling-asin="193435659X" data-fling-refmarker="detail_main_image_block" data-a-image-source="https://images-na.ssl-images-amazon.com/images/I/51doNUaU7zL._SY200_.jpg" data-a-hires="https://images-na.ssl-images-amazon.com/images/I/51doNUaU7zL._SY400_.jpg">
</div>
</div>
</div>
</a>
</span>
</li></ol></div>
<span class="a-end aok-hidden"></span></div>
</div>
</div>
<div id="image-block-pagination" class="a-row small">
<div class="a-column a-span12 a-spacing-small">
<span id="loadingImages" class="a-size-small a-color-secondary" style="display: none;">
Loading Images...
</span>
<div id="image-block-pagination-dots" class="a-pagination a-text-center increaseSize" style="display: block;"><ul class="a-pagination a-dots">
<li class="a-selected"></li>
<li></li>
</ul></div>
</div>
</div>
<img alt="" src="https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._SY400_.jpg" aria-hidden="true" class="a-hidden">
<div class="a-popover-preload" id="a-popover-immersive-view">
<div class="a-row main_carousel">
<div class="a-column a-span12 a-text-center a-spacing-small">
<div id="immersive-back-share-icon" class="a-row a-spacing-none">
<div class="a-column a-span6">
<span class="a-declarative" data-action="a-popover-close" data-a-popover-close="{}">
<span id="immersive-image-back" class="a-button"><span class="a-button-inner"><input class="a-button-input" type="submit" aria-labelledby="immersive-image-back-announce"><span id="immersive-image-back-announce" class="a-button-text" aria-hidden="true">
<span id="immersive-image-back-text" class="a-text-bold">
Back
</span>
</span></span></span>
</span>
</div>
</div>
<div id="immersive-main" data-a-carousel-options="{&quot;carouselClass&quot;:&quot;mobile&quot;,&quot;minimum_gutter_width&quot;:0,&quot;show_partial_next&quot;:false,&quot;name&quot;:&quot;image-block-immersive-main-carousel&quot;}" data-a-display-strategy="single" data-a-ajax-strategy="none" data-a-class="mobile" class="a-begin a-carousel-container a-carousel-display-single a-carousel-transition-slide" style="height: 686px;"><input autocomplete="on" type="hidden" class="a-carousel-firstvisibleitem">
<div class="a-carousel-viewport"><ol class="a-carousel" role="list">
<li class="a-carousel-card" role="listitem" aria-setsize="2" aria-posinset="1">
<div class="image-wrapper">
<div data-action="a-immersive-image" class="a-declarative a-immersive-image a-image-wrapper"><div class="a-immersive-image-wrapper">
<div data-a-image-name="immersiveViewMainImage" alt="" class="a-image-wrapper a-lazy-loaded a-manually-loaded immersive-carousel-img-manual-load" data-a-image-source="https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._SY400_.jpg" data-a-hires="https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._SL1500_.jpg" style=""><noscript>&lt;img alt="" src="https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._SY400_.jpg"&gt;</noscript></div>
</div></div>
</div>
</li>
<li class="a-carousel-card" role="listitem" aria-setsize="2" aria-posinset="2">
<div class="image-wrapper">
<div data-action="a-immersive-image" class="a-declarative a-immersive-image a-image-wrapper"><div class="a-immersive-image-wrapper">
<div data-a-image-name="immersiveViewMainImage" alt="" class="a-image-wrapper a-lazy-loaded a-manually-loaded immersive-carousel-img-manual-load" data-a-image-source="https://images-na.ssl-images-amazon.com/images/I/51doNUaU7zL._SY400_.jpg" data-a-hires="https://images-na.ssl-images-amazon.com/images/I/8129aV9t7vL._SL1500_.jpg" style=""><noscript>&lt;img alt="" src="https://images-na.ssl-images-amazon.com/images/I/51doNUaU7zL._SY400_.jpg"&gt;</noscript></div>
</div></div>
</div>
</li>
</ol></div>
<span class="a-end aok-hidden"></span></div>
</div>
</div>
<div class="a-row mini_carousel">
<div class="a-column a-span12 a-text-center a-spacing-small">
<div id="immersive-mini" data-a-carousel-options="{&quot;carouselClass&quot;:&quot;mobile&quot;,&quot;minimum_gutter_width&quot;:0,&quot;show_partial_next&quot;:false,&quot;name&quot;:&quot;image-block-immersive-mini-carousel&quot;}" data-a-class="mobile" class="a-begin a-carousel-container a-carousel-display-stretchyGoodness a-carousel-transition-slide" style="height:46px;"><input autocomplete="on" type="hidden" class="a-carousel-firstvisibleitem">
<div class="a-carousel-viewport"><ol class="a-carousel" role="list">
<li class="a-carousel-card" role="listitem" aria-setsize="2" aria-posinset="1">
<div class="image-wrapper">
<div class="a-image-wrapper">
<div alt="" class="a-image-wrapper a-lazy-loaded a-manually-loaded immersive-carousel-img-manual-load" data-a-image-source="https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._SS63_.jpg" data-a-hires="https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._SS126_.jpg" style=""><noscript>&lt;img alt="" src="https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._SS63_.jpg"&gt;</noscript></div>
</div>
</div>
</li>
<li class="a-carousel-card" role="listitem" aria-setsize="2" aria-posinset="2">
<div class="image-wrapper">
<div class="a-image-wrapper">
<div alt="" class="a-image-wrapper a-lazy-loaded a-manually-loaded immersive-carousel-img-manual-load" data-a-image-source="https://images-na.ssl-images-amazon.com/images/I/51doNUaU7zL._SS63_.jpg" data-a-hires="https://images-na.ssl-images-amazon.com/images/I/51doNUaU7zL._SS126_.jpg" style=""><noscript>&lt;img alt="" src="https://images-na.ssl-images-amazon.com/images/I/51doNUaU7zL._SS63_.jpg"&gt;</noscript></div>
</div>
</div>
</li>
</ol></div>
<span class="a-end aok-hidden"></span></div>
</div>
</div>
<div id="zoom-changeover" class="a-changeover"><div class="a-changeover-inner"><i class="a-icon a-icon-checkmark-inverse"></i><strong class="a-size-medium">Double-tap to zoom</strong></div></div>
<script type="text/javascript">
P.when('A','atf').execute(function(A){
A.trigger('image-block-immersive-view-refresh');
});
</script>
</div>
</div>
<div id="MediaMatrix_feature_div" data-feature-name="MediaMatrix" data-template-name="MediaMatrix" class="a-section a-spacing-none feature">
<!-- MediaMatrix Mobile should be suppressed when mediaMatrixItems collection is empty or has just a single item -->
<div id="mediaMatrixContainer" cel_widget_id="mediaMatrixMobFeature" class="celwidget">
<div class="a-row a-spacing-medium">
<span class="a-declarative" data-action="a-secondary-view" data-a-secondary-view="{&quot;backButtonText&quot;:&quot;Back&quot;,&quot;alternateBackground&quot;:&quot;true&quot;,&quot;name&quot;:&quot;mediaMatrix_secondary_view_div&quot;}">
<span id="mediaMatrixButton" class="a-button a-button-supplemental a-button-span12 a-button-toggle"><span class="a-button-inner"><i class="a-icon a-icon-supplemental"></i><input class="a-button-input" type="submit" aria-labelledby="mediaMatrixButton-announce"><span id="mediaMatrixButton-announce" class="a-button-text" aria-hidden="true">
Format
<strong class="dimension-label a-padding-mini">
Paperback
</strong>
</span></span></span>
<script type="text/javascript">
P.when('jQuery').execute(function($) {
$('a.mediaMatrixListItem').click(function() {
//Update selected state
$('a.mediaMatrixListItem').removeClass('a-active');
$(this).addClass('a-active');
var ue = window.ue;
if(ue && ue.count){
var mobileMediaMatrixSecViewRowClickedCounter = "mobileMediaMatrixSecViewRowClicked";
ue.count(mobileMediaMatrixSecViewRowClickedCounter, 1);
}
});
});
P.when('A').execute(function(A){
A.on("a:popover:afterShow:mediaMatrix_secondary_view_div", function(data){
var ue = window.ue;
if(ue && ue.count){
var mobileMediaMatrixSecViewOpenedCounter = "mobileMediaMatrixSecViewOpened";
ue.count(mobileMediaMatrixSecViewOpenedCounter, (ue.count(mobileMediaMatrixSecViewOpenedCounter) || 0) + 1);
}
});
});
</script>
</span>
</div>
<div class="a-popover-preload" id="a-popover-mediaMatrix_secondary_view_div">
<h2 class="a-spacing-base">
Select Format
</h2>
<div class="a-box a-vertical"><div class="a-box-inner a-padding-none"><ul class="a-unordered-list a-nostyle a-box-list a-last">
<!-- Override bucket winner in secondary-view with landingItem if they have same metabinding -->
<li class="a-align-center"><span class="a-list-item">
<a href="/gp/aw/d/B00AYQNR46/ref=tmm_kin_title_0?ie=UTF8&amp;qid=&amp;sr=" class="a-touch-link a-box a-touch-link-noborder a-touch-select mediaMatrixListItem"><div class="a-box-inner"><i class="a-icon a-icon-touch-select"></i>
<span class="a-text-bold">Kindle</span>
<span class="a-color-tertiary"></span>
<span class="a-color-price">$24.98</span>
<!-- NFCX Message-->
</div></a>
</span></li>
<!-- Override bucket winner in secondary-view with landingItem if they have same metabinding -->
<li class="a-align-center"><span class="a-list-item">
<a href="/gp/aw/d/193435659X/ref=tmm_pap_title_sr?ie=UTF8&amp;qid=&amp;sr=" class="a-touch-link a-box a-touch-link-noborder a-touch-select a-active mediaMatrixListItem"><div class="a-box-inner"><i class="a-icon a-icon-touch-select"></i>
<span class="a-text-bold">Paperback</span>
<span class="a-color-tertiary"></span>
<span class="a-color-price">$21.11</span>
<!-- NFCX Message-->
</div></a>
</span></li>
</ul></div></div>
</div>
<!-- Show the NFCX message on Mobile ebooks dp -->
</div>
</div>
<div id="newPitchPriceWrapper_feature_div" data-feature-name="newPitchPriceWrapper" data-template-name="newPitchPriceWrapper" class="a-section a-spacing-none feature t-prnt t-full">
<div class="a-section a-spacing-none">
<span class="a-size-small price-info-superscript">
$
</span>
<span class="price-large">
21
</span>
<span class="a-size-small price-info-superscript">
11
</span>
<div class="a-section a-spacing-none inlineBlock">
</div>
<div class="a-section a-spacing-none inlineBlock">
<span class="a-size-small">
<span aria-hidden="true" class="a-color-tertiary inlineBlock a-nowrap a-text-strike">$34.95</span>
<span id="listPriceLegalMessage">
</span>
<style>
#listPriceLegalMessageText {
margin-left: 4px !important;
}
#listPriceLegalMessage .a-popover-trigger:hover {
text-decoration: none !important;
}
#listPriceLegalMessage .a-icon-popover {
display: none !important;
margin-left: 0px !important;
margin-top: 6px !important;
}
</style>
</span>
</div>
<div class="a-section a-spacing-none inlineBlock">
<span class="a-size-small a-color-tertiary">
<span class="inlineBlock a-text-italic a-nowrap">Save $13.84 (40%)</span>
</span>
</div>
</div>
</div>
<div id="newOfferShippingMessage_feature_div" data-feature-name="newOfferShippingMessage" data-template-name="newOfferShippingMessage" class="a-section a-spacing-none feature t-prnt t-full">
<div class="a-section a-spacing-none a-spacing-top-micro">
<span id="ourPrice_availability" class="freePrimeShippingString">
</span>
</div>
<div class="a-section a-spacing-none">
<span class="freePrimeShippingString">
<span></span>
</span>
</div>
</div>
<div id="points_feature_div" data-feature-name="points" data-template-name="points" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="vatMessageLabel_feature_div" data-feature-name="vatMessageLabel" data-template-name="vatMessageLabel" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="preorderPriceGuarantee_feature_div" data-feature-name="preorderPriceGuarantee" data-template-name="preorderPriceGuarantee" class="a-section a-spacing-none feature t-prnt t-full">
<div class="a-section a-spacing-base">
</div>
</div>
<div id="dealOnChildItems_feature_div" data-feature-name="dealOnChildItems" data-template-name="dealOnChildItems" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="apubPrimeFirstBranding_feature_div" data-feature-name="apubPrimeFirstBranding" data-template-name="apubPrimeFirstBranding" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="apubPrimeFirstDiscount_feature_div" data-feature-name="apubPrimeFirstDiscount" data-template-name="apubPrimeFirstDiscount" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="p2d_feature_div" data-feature-name="p2d" data-template-name="p2d" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="pmpux_feature_div" data-feature-name="pmpux" data-template-name="pmpux" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="applicablePromotionList_feature_div" data-feature-name="applicablePromotionList" data-template-name="applicablePromotionList" class="a-section a-spacing-none feature t-prnt t-full">
<div id="applicable_promotion_list_sec" class="a-section">
<div id="apl_m_show_feature"></div>
<div class="a-section a-spacing-small">
<span class="a-color-success">Save an extra $1.29 at checkout.</span>
</div>
</div>
</div>
<div id="alternativeOfferEligibilityMessaging_feature_div" data-feature-name="alternativeOfferEligibilityMessaging" data-template-name="alternativeOfferEligibilityMessaging" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="newerVersion_feature_div" data-feature-name="newerVersion" data-template-name="newerVersion" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="quantity_feature_div" data-feature-name="quantity" data-template-name="quantity" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="availability_feature_div" data-feature-name="availability" data-template-name="availability" class="a-section a-spacing-none feature t-prnt t-full">
<div class="a-section a-spacing-none">
<div id="availability" class="a-section a-spacing-none">
<span class="a-size-medium a-color-success">
In Stock.
</span>
<div class="a-section a-spacing-none">
</div>
</div>
</div>
</div>
<div id="globalStoreBadgePopover_feature_div" data-feature-name="globalStoreBadgePopover" data-template-name="globalStoreBadgePopover" class="a-section a-spacing-none feature t-prnt t-full">
<div class="a-section a-spacing-none">
</div>
</div>
<div id="holidayDeliveryMessage_feature_div" data-feature-name="holidayDeliveryMessage" data-template-name="holidayDeliveryMessage" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="dpFastTrack_feature_div" data-feature-name="dpFastTrack" data-template-name="dpFastTrack" class="a-section a-spacing-none feature">
<div id="fast-track" class="a-section a-spacing-small a-spacing-top-small">
<div id="fast-track-message" class="a-section a-spacing-none">
<span class="a-text-bold">
</span>
This item ships to <b>Germany</b>. <b>Want it Monday, Feb. 19?</b> Order within <b><span id="ftCountdown" class="a-color-success a-color-available ftCountdownClass">4 hrs 42 mins</span></b> and choose <b>AmazonGlobal Priority Shipping</b> at checkout.
</div>
<input type="hidden" id="ftSelectAsin" value="193435659X">
<input type="hidden" id="ftSelectMerchant" value="ATVPDKIKX0DER">
</div>
</div>
<div id="shipsFromSoldBy_feature_div" data-feature-name="shipsFromSoldBy" data-template-name="shipsFromSoldBy" class="a-section a-spacing-none feature t-prnt t-full">
<div id="merchant-info" class="a-section a-spacing-small">
Ships from and sold by Amazon.com.
Gift-wrap available.
</div>
</div>
<div id="businessPricing_feature_div" data-feature-name="businessPricing" data-template-name="businessPricing" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="smileEligibility_feature_div" data-feature-name="smileEligibility" data-template-name="smileEligibility" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="holidayAvailabilityMessage_feature_div" data-feature-name="holidayAvailabilityMessage" data-template-name="holidayAvailabilityMessage" class="a-section a-spacing-none feature">
</div>
<div id="campusInfo_feature_div" data-feature-name="campusInfo" data-template-name="campusInfo" class="a-section a-spacing-none feature">
<style>
#campusInfoContainer .campusLogo {
height: 20px;
width: 20px;
margin-right: 0.5em;
}
#campusInfoContainer .campusName {
line-height: 20px;
}
#campusInfoContainer .nonDecorated {
text-decoration:none;
color:black;
}
#campusInfoContainer > div {
padding-left:0.4em !important;
}
#campusInfoContainer .secondaryViewTrigger {
width:100%;
padding-right:1em;
padding-left:3px;
}
#campusInfoContainer .chevron {
position:absolute;
right:0.5em;
top:50%;
margin-top:-.5em;
}
</style>
</div>
<div id="mobile_buybox_feature_div" data-feature-name="mobile_buybox" data-template-name="mobile_buybox" class="a-section a-spacing-none feature">
<div id="buybox" class="a-section a-spacing-small a-spacing-top-medium nocopypaste button-stack-unifiedLocation-top">
<div class="a-button-stack">
<div id="mobile_accordion_feature_div" data-feature-name="mobile_accordion" data-template-name="mobile_accordion" class="a-section a-spacing-none feature">
<div id="accordionRows_feature_div" data-feature-name="accordionRows" data-template-name="accordionRows" class="a-section a-spacing-none feature">
<div id="buyBoxAccordion" data-a-accordion-name="buybox-accordion" class="a-box-group a-accordion a-spacing-large" role="radiogroup">
<div id="usedAccordionRow" class="a-box accordion-row" data-a-accordion-row-name="usedAccordionRow"><div class="a-box-inner a-accordion-row-container">
<div class="a-accordion-row-a11y" role="radio" aria-checked="false" aria-expanded="false"><a aria="" data-action="a-accordion" class="a-accordion-row a-declarative accordion-header" href="#" aria-label=""><i class="a-icon a-accordion-radio a-icon-radio-inactive"></i><h5>
<div class="a-row header-text">Buy Used - Very Good</div>
<div class="a-row">
<span id="usedPrice" class="a-size-base a-color-secondary header-price a-text-normal">$17.99</span>
</div>
</h5></a></div>
<div class="a-accordion-inner accordion-row-content">
<div class="a-row a-spacing-base a-size-base a-color-secondary">
FREE Shipping on orders over $25
</div>
<div class="a-row a-spacing-base a-size-base">
<div aria-live="polite" data-a-expander-name="ubb_expander" data-a-expander-collapsed-height="59" class="a-expander-collapsed-height a-row a-expander-container a-expander-partial-collapse-container" style="max-height:59px; _height:59px">
<div aria-expanded="false" class="a-expander-content a-expander-partial-collapse-content" style="">
<span>Pages free from writing. Cover in good shape.</span>
</div>
<div class="a-expander-header a-expander-partial-collapse-header" style="opacity: 0; display: none;"><a href="javascript:void(0)" data-action="a-expander-toggle" class="a-declarative" data-a-expander-toggle="{&quot;allowLinkDefault&quot;:true, &quot;expand_prompt&quot;:&quot;See more&quot;, &quot;collapse_prompt&quot;:&quot;See less&quot;}"><i class="a-icon a-icon-extender-expand"></i><span class="a-expander-prompt">See more</span></a></div>
</div>
</div>
<div class="a-row a-spacing-base">
<span class="a-size-base">
Sold by <a href="/gp/aw/sp.html?ie=UTF8&amp;seller=A2AR4F5FDJUCZR&amp;isAmazonFulfilled=1">Mayon Collectibles</a> and fulfilled by Amazon.
</span>
</div>
<div id="accessCodeWarning" class="a-row a-spacing-top-micro">
<span class="a-size-mini a-color-tertiary">
Access codes and supplements are not guaranteed with used items.
</span>
</div>
<div id="unifiedLocation_feature_div" data-feature-name="unifiedLocation" data-template-name="unifiedLocation" class="a-section feature button-stack-unifiedLocation-bottom">
<script type="text/javascript">
P.now("LOCUX_DETALPAGE_51079_T1").execute(function(LOCUX_DETALPAGE_51079_T1) {
if (!LOCUX_DETALPAGE_51079_T1) {
P.declare("LOCUX_DETALPAGE_51079_T1", {});
}
});
</script>
<div class="a-section a-spacing-none a-spacing-top-mini">
<div id="locationUX" class="a-section button-stack-lux">
<span class="a-declarative" data-action="a-secondary-view" data-a-secondary-view="{&quot;backButtonText&quot;:&quot;Back&quot;,&quot;name&quot;:&quot;LUXAddressSelector&quot;,&quot;activate&quot;:&quot;onclick&quot;}">
<img alt="" src="https://images-na.ssl-images-amazon.com/images/G/01/detail-page/icons/button_stack_Icon_location_pin_2x._CB271282142_.png" height="16px" data-a-hires="https://images-na.ssl-images-amazon.com/images/G/01/detail-page/icons/button_stack_Icon_location_pin_2x._CB271282142_.png">
<span class="button-stack-lux">
Ship to:
</span>
<a class="a-link-normal lux-location-label button-stack-lux" href="#">
Germany
</a>
</span>
</div>
<div class="a-popover-preload" id="a-popover-LUXAddressSelector">
<div id="unifiedLocationTitleNoAddress" class="a-section a-spacing-none a-text-left">
<span class="a-size-medium a-text-bold">
To see addresses, please
</span>
</div>
<div class="a-section a-spacing-mini a-spacing-top-medium">
<span id="unifiedLocationSignIn" class="a-button a-button-span12 a-button-primary"><span class="a-button-inner"><input class="a-button-input" type="submit" aria-labelledby="unifiedLocationSignIn-announce"><span id="unifiedLocationSignIn-announce" class="a-button-text" aria-hidden="true">
Sign in
</span></span></span>
</div>
<div class="a-divider a-divider-break a-spacing-top-medium"><h5>or</h5></div>
<div id="unifiedLocationAddrInputDiv" class="a-section">
<span class="a-text-bold">
Use this location:
</span>
<div class="a-row a-spacing-top-micro" role="form">
<div class="a-column a-span7" role="form">
<div class="a-input-text-wrapper a-span12"><input type="text" maxlength="5" id="unifiedLocationAddrInput" placeholder="Enter US zip"></div>
</div>
<div class="a-column a-span5 a-span-last" role="button">
<span id="unifiedLocationAddrUpdate" class="a-button a-button-span12"><span class="a-button-inner"><input class="a-button-input" type="submit" aria-labelledby="unifiedLocationAddrUpdate-announce"><span id="unifiedLocationAddrUpdate-announce" class="a-button-text" aria-hidden="true">
Update
</span></span></span>
</div>
</div>
<div id="unifiedLocationInvalidInputAlert" class="a-row a-spacing-top-small aok-hidden">
<span class="a-color-error">
Please enter a valid US zip code.
</span>
</div>
<div id="LUXInvalidZipCodeAlert" class="a-row a-spacing-top-small aok-hidden" role="alert">
<div class="a-box a-alert-inline a-alert-inline-error a-spacing-none" aria-live="assertive" role="alert"><div class="a-box-inner a-alert-container"><i class="a-icon a-icon-alert"></i><div class="a-alert-content">
Please enter a valid US zip code.
</div></div></div>
</div>
<div id="LUXMilitaryZipCodeAlert" class="a-row a-spacing-top-small aok-hidden" role="alert">
<div class="a-box a-alert-inline a-alert-inline-info a-spacing-none"><div class="a-box-inner a-alert-container"><i class="a-icon a-icon-alert"></i><div class="a-alert-content">
Shipping to a APO/FPO/DPO? Please add the address to your address book. Make sure you include the unit and box numbers (if assigned).
</div></div></div>
</div>
</div>
<div class="a-divider a-divider-break a-spacing-base a-spacing-top-base lux-country-selector-divider"><h5>or</h5></div>
<div id="unifiedLocationCountrySelectionDiv" class="a-section a-spacing-mini a-spacing-top-small">
<div class="a-row">
<span class="a-declarative" data-action="a-secondary-view" data-a-secondary-view="{&quot;backButtonText&quot;:&quot;Back&quot;,&quot;name&quot;:&quot;LUXCountrySelector&quot;,&quot;activate&quot;:&quot;onclick&quot;}">
<a id="unifiedLocationCountrySelectionLink" href="#" class="a-touch-link a-box a-spacing-none a-spacing-top-micro"><div class="a-box-inner"><i class="a-icon a-icon-touch-link"></i>
Change country
</div></a>
</span>
</div>
</div>
</div>
<div class="a-popover-preload" id="a-popover-LUXCountrySelector">
<div id="LUXCountrySelections" class="a-section"></div>
</div>
<script type="text/javascript">
var shouldPopulateCountrySelector = true;
P.now("LOCUX_DETAILPAGE_68144_T1").execute(function(LOCUX_DETAILPAGE_68144_T1) {
if(LOCUX_DETAILPAGE_68144_T1) {
shouldPopulateCountrySelector = true;
}
});
var fullPageRefresh = false;
P.now("LOCUX_FULLPAGE_REFRESH").execute(function(LOCUX_FULLPAGE_REFRESH) {
if(LOCUX_FULLPAGE_REFRESH) {
fullPageRefresh = true;
}
});
P.now("LUXContext").execute(function(LUXContext) {
if (!LUXContext) {
P.declare("LUXContext", {
isRecognizedCustomer: false,
deviceType: "mobileWeb",
isOneClick: false,
clientPage: "DPX",
shouldPopulateCountrySelector: shouldPopulateCountrySelector,
fullPageRefresh: fullPageRefresh
});
}
});
P.when("LUXController").execute(function(LUXController) {
LUXController.init({
addressLabel : "",
addressId : "",
obfuscatedId : "",
countryCode : "DE",
zipCode : "12529",
state : "Land Berlin",
city : "Berlin",
district : "",
locationType : "IP2LOCATION"
});
});
</script>
</div>
<input type="hidden" name="addressID" value="new" id="unifiedLocationAddress" data-addnewaddress="new">
<script type="text/javascript">
P.now("LUXDPOnly").execute(function(DP) {
DP || P.declare("LUXDPOnly", {});
});
P.when("LUXDPRefreshController").execute(function(Controller) {
Controller.init({
asin : "193435659X",
merchantId : "ATVPDKIKX0DER",
deviceType : "mobile",
smid : "",
exMerchId : "",
wdg: "book_display_on_website",
oneClick : false,
addressId : "",
obfuscatedId : "",
city : "Berlin",
state : "Land Berlin",
countryCode : "DE",
zipCode : "12529",
district : "",
useTwisterRefresh : "C",
updateAddressForNon1Click : "T1",
relatedRequestId : "7F3MGDYTH1YH8KVBSFWJ"
});
});
</script>
</div>
<div class="a-row">
<div id="usedbuybox.addToCart" class="a-section">
<form id="addToCart" method="post" action="/gp/aw/c/ref=dp_uatc_mw" class="a-spacing-base">
<input type="hidden" name="a" value="193435659X" id="a">
<input type="hidden" name="o" value="add" id="o">
<input type="hidden" name="verificationSessionID" value="147-0816675-1753153" id="verificationSessionID">
<input type="hidden" name="oid" value="xAHjc5YB9iaKocBCkcupS%2B9gYXoy18Y29KKE%2FdFpGA0dGbW3HsqZZWTtYNqvzHjk2j7z4Gf2kvSN2QN1cC0COtIoowOuSp68cydsq3YTNoOFXmx4OE8LEcNfwVJntbQOLjlGjtL01GQGSbzPoKKz%2Bg%3D%3D" id="oid">
<input type="hidden" name="isUsedBuyBox" value="1" id="isUsedBuyBox">
<span class="a-button a-button-primary" id="a-autoid-0"><span class="a-button-inner"><input id="add-to-cart-button-ubb-mobile" class="a-button-input" type="submit" aria-labelledby="a-autoid-0-announce"><span class="a-button-text" aria-hidden="true" id="a-autoid-0-announce">Add to Cart</span></span></span>
</form>
</div>
</div>
</div>
</div></div>
<div id="newAccordionRow" class="a-box a-accordion-active accordion-row" data-a-accordion-row-name="newAccordionRow"><div class="a-box-inner a-accordion-row-container">
<div class="a-accordion-row-a11y" role="radio" aria-checked="true" aria-expanded="true"><a aria="" data-action="a-accordion" class="a-accordion-row a-declarative accordion-header" href="#" aria-label=""><i class="a-icon a-accordion-radio a-icon-radio-active"></i><h5>
<div class="a-row header-text">Buy New</div>
<div class="a-row">
<span id="newBuyBoxPrice" class="a-size-base a-color-price header-price a-text-normal">$21.11</span>
</div>
</h5></a></div>
<div class="a-accordion-inner accordion-row-content">
<div id="mobile_qualifiedBuybox_feature_div" data-feature-name="mobile_qualifiedBuybox" data-template-name="mobile_qualifiedBuybox" class="a-section a-spacing-none feature">
<div id="mobile_invitePlatformMessage_feature_div" data-feature-name="mobile_invitePlatformMessage" data-template-name="mobile_invitePlatformMessage" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="pwAvailabilityInclusion_feature_div" data-feature-name="pwAvailabilityInclusion" data-template-name="pwAvailabilityInclusion" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="pwFastTrackInclusion_feature_div" data-feature-name="pwFastTrackInclusion" data-template-name="pwFastTrackInclusion" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="pwShipsFromSoldByInclusion_feature_div" data-feature-name="pwShipsFromSoldByInclusion" data-template-name="pwShipsFromSoldByInclusion" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="glowContextualIngressPt_feature_div" data-feature-name="glowContextualIngressPt" data-template-name="glowContextualIngressPt" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="unifiedLocationAbove_feature_div" data-feature-name="unifiedLocationAbove" data-template-name="unifiedLocationAbove" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="unifiedLocationBelow_feature_div" data-feature-name="unifiedLocationBelow" data-template-name="unifiedLocationBelow" class="a-section a-spacing-none feature t-prnt t-full">
<div id="unifiedLocation_feature_div" data-feature-name="unifiedLocation" data-template-name="unifiedLocation" class="a-section feature button-stack-unifiedLocation-bottom">
<script type="text/javascript">
P.now("LOCUX_DETALPAGE_51079_T1").execute(function(LOCUX_DETALPAGE_51079_T1) {
if (!LOCUX_DETALPAGE_51079_T1) {
P.declare("LOCUX_DETALPAGE_51079_T1", {});
}
});
</script>
<div class="a-section a-spacing-none a-spacing-top-mini">
<div id="locationUX" class="a-section button-stack-lux">
<span class="a-declarative" data-action="a-secondary-view" data-a-secondary-view="{&quot;backButtonText&quot;:&quot;Back&quot;,&quot;name&quot;:&quot;LUXAddressSelector&quot;,&quot;activate&quot;:&quot;onclick&quot;}">
<img alt="" src="https://images-na.ssl-images-amazon.com/images/G/01/detail-page/icons/button_stack_Icon_location_pin_2x._CB271282142_.png" height="16px" data-a-hires="https://images-na.ssl-images-amazon.com/images/G/01/detail-page/icons/button_stack_Icon_location_pin_2x._CB271282142_.png">
<span class="button-stack-lux">
Ship to:
</span>
<a class="a-link-normal lux-location-label button-stack-lux" href="#">
Germany
</a>
</span>
</div>
</div>
<input type="hidden" name="addressID" value="new" id="unifiedLocationAddress" data-addnewaddress="new">
<script type="text/javascript">
P.now("LUXDPOnly").execute(function(DP) {
DP || P.declare("LUXDPOnly", {});
});
P.when("LUXDPRefreshController").execute(function(Controller) {
Controller.init({
asin : "193435659X",
merchantId : "ATVPDKIKX0DER",
deviceType : "mobile",
smid : "",
exMerchId : "",
wdg: "book_display_on_website",
oneClick : false,
addressId : "",
obfuscatedId : "",
city : "Berlin",
state : "Land Berlin",
countryCode : "DE",
zipCode : "12529",
district : "",
useTwisterRefresh : "C",
updateAddressForNon1Click : "T1",
relatedRequestId : "7F3MGDYTH1YH8KVBSFWJ"
});
});
</script>
</div>
</div>
<div id="mobileQuantity_feature_div" data-feature-name="mobileQuantity" data-template-name="mobileQuantity" class="a-section a-spacing-none feature t-prnt t-full">
<script type="a-state" data-a-state="{&quot;key&quot;:&quot;quantityState&quot;}">{"quantity":"1"}</script>
<div id="mobileQuantitySelection" class="a-section a-spacing-base button-stack-quantityButtonSpacing">
<div class="a-row a-spacing-base">
<div class="a-column a-span12 a-text-left">
<span class="a-dropdown-container a-hide-native"><label for="mobileQuantityDropDown" class="a-native-dropdown">Qty:</label><select name="quantity" autocomplete="off" id="mobileQuantityDropDown" tabindex="-1" class="a-native-dropdown">
<option value="1" selected="">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
</select><span tabindex="-1" class="a-button a-button-dropdown a-button-small" id="a-autoid-1" style="min-width: 0%;"><span class="a-button-inner"><span class="a-button-text a-declarative" data-action="a-dropdown-button" role="button" tabindex="0" aria-hidden="true" id="a-autoid-1-announce"><span class="a-dropdown-label">Qty:</span><span class="a-dropdown-prompt">1</span></span><i class="a-icon a-icon-dropdown"></i></span></span></span>
</div>
</div>
</div>
<script type="a-state" data-a-state="{&quot;key&quot;:&quot;minOrderQuantityState&quot;}">{"minOrderQuantity":"1"}</script>
</div>
<div id="businessPricing_feature_div" data-feature-name="businessPricing" data-template-name="businessPricing" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="simpleBundle_feature_div" data-feature-name="simpleBundle" data-template-name="simpleBundle" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="bbop_feature_div" data-feature-name="bbop" data-template-name="bbop" class="a-section a-spacing-none feature">
</div>
<div id="warrantyCheckBox_feature_div" data-feature-name="warrantyCheckBox" data-template-name="warrantyCheckBox" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="vasBuyBox_feature_div" data-feature-name="vasBuyBox" data-template-name="vasBuyBox" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="snsOptIn_feature_div" data-feature-name="snsOptIn" data-template-name="snsOptIn" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="inlineButtons_feature_div" data-feature-name="inlineButtons" data-template-name="inlineButtons" class="a-section a-spacing-none feature t-prnt t-full">
<form id="addToCart" method="post" action="/gp/aw/c/ref=mw_dp_buy_crt">
<input type="hidden" name="a" value="193435659X" id="a">
<input type="hidden" name="o" value="add" id="o">
<input type="hidden" name="oid" value="qpYstoUm2IWlPY1RqjQUzvk%2F4O9B7Pp7woGziNjZ%2BVuf9XauXgWmPRt4Dll7c4xoUH58XERmSulhFpGwShCxlUxvbmTV7pjNFoyT6iNzMizhROvlZUaWMQ%3D%3D" id="oid">
<input type="hidden" name="verificationSessionID" value="147-0816675-1753153" id="verificationSessionID">
<input type="hidden" name="colid" id="colid">
<input type="hidden" name="coliid" id="coliid">
<input type="hidden" name="quantity" value="1" id="quantity">
<input type="hidden" name="snsOptIn" id="snsOptIn">
<input type="hidden" name="rcxOrdFreq" id="rcxOrdFreq">
<input type="hidden" name="snsOfferListingID" id="snsOfferListingID">
<input type="hidden" name="snsMerchantID" id="snsMerchantID">
<input type="hidden" name="snsAddressId" id="snsAddressId">
<input type="hidden" name="snsMostCommonFrequency" id="snsMostCommonFrequency">
<input type="hidden" name="snsOnmlOfferId" id="snsOnmlOfferId">
<input type="hidden" name="rebateId" id="rebateId">
<div id="buybox.addToCart" class="a-section a-spacing-small">
<span class="a-button a-button-primary" id="a-autoid-2"><span class="a-button-inner"><input id="add-to-cart-button" name="submit.add-to-cart" title="Add to Shopping Cart" class="a-button-input" type="submit" aria-labelledby="a-autoid-2-announce"><span class="a-button-text a-text-center" aria-hidden="true" id="a-autoid-2-announce">
Add to Cart
</span></span></span>
</div>
</form>
</div>
<div id="digitalDashHighProminence_feature_div" data-feature-name="digitalDashHighProminence" data-template-name="digitalDashHighProminence" class="a-section a-spacing-none feature t-prnt t-full">
</div>
</div>
</div>
</div></div>
</div>
</div>
<div id="digitalDashHighProminenceAccordion_feature_div" data-feature-name="digitalDashHighProminenceAccordion" data-template-name="digitalDashHighProminenceAccordion" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="addToWishlistAccordion_feature_div" data-feature-name="addToWishlistAccordion" data-template-name="addToWishlistAccordion" class="a-section a-spacing-none feature t-prnt t-full">
<script type="a-state" data-a-state="{&quot;key&quot;:&quot;atbr-migration-state&quot;}">{"isVmbrEnabled":true,"isMigrationActive":true,"hasBabyReg":false}</script>
<script type="a-state" data-a-state="{&quot;key&quot;:&quot;atwl&quot;}">{"hzPopover":true,"useHzForAdd":true}</script>
<div class="a-section a-spacing-large a-spacing-top-large buttonStackBTFAlpha">
<form id="addToWishlist" method="post" action="https://www.amazon.com/ap/signin?openid.return_to=https%3A%2F%2Fwww.amazon.com%2Fgp%2Faw%2Fd%2F193435659X&amp;openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&amp;openid.assoc_handle=usflex&amp;openid.mode=checkid_setup&amp;openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&amp;openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&amp;">
<div id="wishlistButtonStack" class="a-section">
<a id="add-to-wishlist-button-submit" class="a-spacing-none a-link-normal" title="submit.add-to-registry.wishlist" href="https://www.amazon.com/ap/signin?openid.return_to=https%3A%2F%2Fwww.amazon.com%2Fgp%2Faw%2Fd%2F193435659X&amp;openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&amp;openid.assoc_handle=usflex&amp;openid.mode=checkid_setup&amp;openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&amp;openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&amp;">
ADD TO LIST
</a>
</div>
</form>
<div class="a-box a-alert-inline a-alert-inline-error a-hidden a-spacing-top-small" aria-live="assertive" role="alert"><div class="a-box-inner a-alert-container"><i class="a-icon a-icon-alert"></i><div class="a-alert-content">
<div id="atwl-error-message" class="a-section a-spacing-none">
We are sorry. Amazon has encountered an error. Please try again.
</div>
</div></div></div>
</div>
<hr class="a-spacing-large a-divider-normal">
</div>
<div id="digitalDashLowProminenceAccordion_feature_div" data-feature-name="digitalDashLowProminenceAccordion" data-template-name="digitalDashLowProminenceAccordion" class="a-section a-spacing-none feature t-prnt t-full">
</div>
</div>
</div>
</div>
</div>
<div id="p2d_feature_div" data-feature-name="p2d" data-template-name="p2d" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="redirection_feature_div" data-feature-name="redirection" data-template-name="redirection" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<div id="bundle_feature_div" data-feature-name="bundle" data-template-name="bundle" class="a-section a-spacing-none feature t-prnt t-full">
</div>
<script type="text/javascript">
setCSMReq('af');setCSMReq('af');
addlongPoleTag('af','awudplphtml');
</script>
<script type="text/javascript">
(function(d,w){
var url = "https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._SY400_.jpg";
var i = new Image();
i.onload = function () {
var img = d.getElementById("main-image");
if (img) {
img.src = url;
}
w.setDPTimestamp("mainImgRepl", img ? "inlineScript2" : "mainImgNotFound");
}
i.src = url;
})(document,window);
(function(d,w){
var logLatency = function(name) {
if(w.ue && w.ue.count) { w.ue.count(name, Date.now()-window.ue_t0); }
}
var altWT = "false";
var cl = d.getElementsByClassName("carousel-loader");
if (cl) {
for (var i=0; i<cl.length; i++) {
var l = d.createElement("img");
l.setAttribute("src", "https://images-na.ssl-images-amazon.com/images/G/01/amazonui/loading/loading-2x-gray._CB329354105_.gif");
l.setAttribute("class", "carousel-loader-img");
var t = d.createElement("img");
t.setAttribute("src", "https://images-na.ssl-images-amazon.com/images/G/01/x-locale/common/transparent-pixel._CB386942464_.gif");
t.setAttribute("class", "white-bg");
if (cl[i]) {
cl[i].appendChild(l);
cl[i].appendChild(t);
}
}
}
P.when('A', 'a-carousel-framework', 'jQuery').execute(function(A, f, $) {
f.createAll();
f.initializeAll();
var ds = "#image-block-pagination-dots";
f.onInit("image-block-carousel",function(p) {
logLatency("dpmob_carouselInitialized");
$('#loadingImages').hide();
$(ds).show();
selectDot(1);
});
function selectDot(index) {
var dots = $(ds+' li');
if (dots.length > 0) {
dots.removeClass('a-selected');
dots.eq(index-1).addClass('a-selected');
}
}
A.on("a:carousel:image-block-carousel:change:pageNumber", function(p) {
if (p.oldValue !== p.newValue) {
selectDot(p.newValue);
}
});
});
if(true) {
P.when('A','jQuery').execute(function(A, $) {
var ib = "#image-block .carousel-img-manual-load";
var $altImages = $(ib);
var len = altWT === "true" ? $altImages.length : 1;
for (var i=0; i<($altImages.length>0 ? len:0); i++) {
var url = $altImages[i].src || $($altImages[i]).data("a-image-source");
(function(index, imgUrl) {
if (imgUrl) {
var $altImPar = $($altImages[index]).parent();
var i = new Image();
i.onload = function() {
$altImPar.find('.carousel-loader').remove();
logLatency("dpmob_alt_image_"+(i+1)+"_ready");
};
i.src = imgUrl;
}
}(i, url));
}
altWT === "true" ? A.loadImageManually($(ib)) : A.loadImageManually($($(ib)[0]));
});
}
})(document, window);
P.when('jQuery').register('image-block-exp-weblab', function($) {
return {
getTreatment : function() {
return "T2";
},
getConditionalHiresTreatment : function() {
return "T1";
},
isEnhancedAltImageDiscoveryTreatmentTwo: function() {
return false;
},
isSlowPage : function() {
return false;
},
isImmersiveShareIconEnabledApp : function() {
return false;
},
isImmersiveShareIconEnabled : function() {
return false;
},
isCarouselFastInitEnabled : true,
carouselLoaderImage : "https://images-na.ssl-images-amazon.com/images/G/01/amazonui/loading/loading-2x-gray._CB329354105_.gif",
carouselWhiteBackground : "https://images-na.ssl-images-amazon.com/images/G/01/x-locale/common/transparent-pixel._CB386942464_.gif",
immersiveViewExpEnabled : false,
showToofanExperience : false,
enlargeImageBlockAIB : 0
};
});
P.when('jQuery').register('airy-image-block', function($) {
var shouldDetachExitFullScreen = false;
var currentIndex = 0;
var currentVideoIndex = 0;
var curContext;
var videoIndexPlayedPV = {};
var videoIndexPlayedIV = {};
var newAiryConfig = null;
var updateStateElement = $('#image-block');
return {
updateStateForAction : function($carousel, index, airyConfig) {
if (!airyConfig) {return;}
var airyInstance = airyConfig.instance;
if (airyInstance) {
airyInstance.pause();
}
currentVideoIndex = index;
curContext = airyConfig.contextName;
var $selectedCarouselItem = $carousel
.find('li.a-carousel-card')
.eq(index - 1);
var $playerContainer = $selectedCarouselItem.find('.airy-player-container');
if (!$playerContainer.length) {
return;
}
if (airyInstance) {
this._attachAndLoadMedia(airyInstance, $playerContainer);
return;
}
P.when('Airy').execute(function() {
airyInstance = this._embed($playerContainer, airyConfig.contextName);
airyConfig.embeddedCallback(airyInstance);
}.bind(this));
},
_embed : function($playerContainer, contextName) {
var $videoMetadata = $('#image-block-video-metadata');
var foresterParams = $videoMetadata.data('forester-params');
if (contextName != null) {
foresterParams.method += '.' + contextName;
}
var airyInstance;
var that = this;
var playerConfig = {
foresterMetadataParams : foresterParams,
mediaSourceInfo : $playerContainer.data('video-url'),
parentElement : $playerContainer[0],
bindings : {
screenchange : function() {
$slateImage = $('div.airy-player-container .image-size-wrapper, div.airy-player-container #airy-slate-preload');
$slateImage.css('visibility', 'visible');
$replayHint = $('div.airy-player-container .airy-replay-hint');
$replayHint.css('visibility', 'hidden');
var airyConfig = that.getNewAiryConfig();
if(airyConfig) {
airyInstance = airyConfig.instance;
if(airyInstance && !airyInstance.isFullScreen() && that.shouldDetachOnExitFullScreen()) {
that.setShouldDetachOnExitFullScreen(false);
that._detachAiryInstance(airyInstance);
that.updateStateForAction(that.getUpdateStateElement(), that.getCurrentIndex(), that.getNewAiryConfig());
}
}
},
normalscreen : function() {
if(!airyInstance && airyConfig) {
airyInstance = airyConfig.instance;
}
},
play : function() {
var inImmersive = curContext === 'ImmersiveView';
var videoMap = inImmersive ? videoIndexPlayedIV : videoIndexPlayedPV;
var metric = inImmersive ? "dpmob_videoPlayedIV" : "dpmob_videoPlayedPV";
if (!videoMap[currentVideoIndex]) {
videoMap[currentVideoIndex] = true;
if(window.ue && ue.count) { ue.count(metric); }
}
}
},
installFlashButtonText : "Install Flash Player",
installFlashPrompt : "Adobe Flash Player is required to watch this video.",
playbackErrorPrompt : "Sorry, an error has occurred while attempting video playback. Please try again later.",
videoUnsupportedPrompt : "Sorry, this video is unsupported on this browser.",
ageGate : {
deniedPrompt : "We're sorry. You are not old enough to watch this video.",
monthNames : [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
prompt : "This video is not intended for all audiences. What date were you born?",
submitText : "Submit",
regionCode : "na"
}
};
this._addSlateImageToPlayerConfig($playerContainer, playerConfig);
airyInstance = Airy.embed(playerConfig);
return airyInstance;
},
_attachAndLoadMedia : function(airyInstance, $playerContainer) {
if (!airyInstance) { return; }
airyInstance.attach($playerContainer[0]);
this._loadMedia(airyInstance, $playerContainer);
},
_loadMedia : function(airyInstance, $playerContainer) {
if (!airyInstance) { return; }
var videoUrl = $playerContainer.data('video-url');
if (airyInstance.getMediaSourceInfo() === videoUrl) { return; }
var loadMediaConfig = {
mediaSourceInfo : videoUrl
};
this._addSlateImageToPlayerConfig($playerContainer, loadMediaConfig);
airyInstance.loadMedia(loadMediaConfig);
},
_addSlateImageToPlayerConfig : function($playerContainer, playerConfig) {
var slateUrl = $playerContainer.data('slate-url');
var $slateImage = $playerContainer.find('.image-size-wrapper');
var slateUrlMatchesImageUrl = $slateImage.find('img').attr('src') === slateUrl;
var slateImageValue = slateUrlMatchesImageUrl ? $slateImage[0] : slateUrl;
playerConfig.slateImages = {
preloadSlate : slateImageValue
};
},
_detachAiryInstance : function(airyInstance) {
if (airyInstance && !airyInstance.isDetached() && !airyInstance.isFullScreen()) {
airyInstance.detach({isAsync : true});
}
},
setShouldDetachOnExitFullScreen : function(shouldDetach) {
shouldDetachExitFullScreen = shouldDetach;
},
shouldDetachOnExitFullScreen : function() {
return shouldDetachExitFullScreen;
},
_resizeIVCarousel : function() {
if($('#immersive-main img').length > 0){
var mainCarouselHeight = getMainCarouselHeight();
$('#immersive-main').css('height',mainCarouselHeight+'px');
$('#immersive-main ol').css('height',mainCarouselHeight+'px');
$('#immersive-main div.a-carousel-viewport').each(function(){
$(this).css('height',mainCarouselHeight+'px');
});
$('#immersive-main li.a-carousel-card').each(function(){
$(this).css('height',mainCarouselHeight+'px');
});
$('#immersive-main img').each(function(){
$(this).css('max-height',mainCarouselHeight+'px');
});
$('#immersive-main .slate-image-table img').each(function() {
$(this).css('max-height',(mainCarouselHeight - 65) + 'px');
});
}
},
getCurrentIndex : function() {
return currentIndex;
},
setCurrentIndex : function(index) {
currentIndex = index;
},
getNewAiryConfig : function() {
return newAiryConfig;
},
setNewAiryConfig : function(airyConfig) {
newAiryConfig = airyConfig
},
getUpdateStateElement : function() {
return updateStateElement;
},
setUpdateStateElement : function(element) {
updateStateElement = element;
},
imageBlockRefresh : function() {
videoIndexPlayedIV = {};
videoIndexPlayedPV = {};
}
};
});
P.when('jQuery').register("mobileIBmetricCollectionWeblab", function($) {
return {
isMobileIBmetricCollectionEnabled : false,
swipeReqCount : 0,
swipeSuccessCount : 0,
swipeCountsDiff : 0,
IVReqCount : 0,
IVSuccessCount : 0,
IVCountsDiff : 0,
onPrimaryImg : true,
logCountAndTime : function(metricName){
if(window.ue && ue.count) {
ue.count(metricName, 1);
ue.count(metricName + "Time", Date.now() - window.ue_t0);
}
},
logSpecificCount : function(metricName, metricValue){
if(window.ue && ue.count) {
ue.count(metricName, metricValue);
}
}
};
});
</script>
</div><script type="text/javascript"> var BtfTimeToParse_tctr = Date.now(); </script><!-- MarkAF -->
<div id="WrapperDivToHideBTF" style="display:block;">
<script type="text/javascript"> ue.count('BtfTimeToParse', Date.now() - BtfTimeToParse_tctr) </script> <script type="text/javascript">P.when('cf').execute(function() { ue.count('dp:widget:dpxSize:dpxBTFSize', 117);ue.count('dp:widget:dpxSize:dpxATFSize', 106);});</script>
<div id="dp-lazy-fast-track_feature_div" data-feature-name="dpFastTrack" data-template-name="dpFastTrack" class="a-section a-spacing-none feature t-prnt t-full">
<script type="text/javascript">
P.when('jQuery', 'atf').execute(function($){
$('#dpFastTrack_feature_div, .dpFastTrackPlaceholder').html($('#lazy-fast-track').html());
$('#lazy-fast-track').remove();
});
</script>
</div><div id="lazy-holidayAvailabilityMessage_feature_div" data-feature-name="holidayAvailabilityMessage" data-template-name="holidayAvailabilityMessage" class="a-section a-spacing-none feature t-prnt t-full">
<script type="text/javascript">
P.when('jQuery', 'atf').execute(function($){
$('#holidayAvailabilityMessage_feature_div').html($('#lazy-holidayAvailabilityMessage').html());
$('#lazy-holidayAvailabilityMessage').remove();
});
</script>
</div><div style="display:flex">
<div class="twister-spinner-preload" style="width:0px; height:0px"></div>
</div><div id="olp_feature_div" data-feature-name="olp" data-template-name="olp" class="a-section a-spacing-none feature t-prnt t-full">
<div id="olp" class="a-row a-spacing-medium buttonStackBTFAlpha">
<a class="a-link-normal" href="/gp/offer-listing/193435659X/ref=mw_dp_olp?ie=UTF8&amp;condition=all">
USED&nbsp;&amp;&nbsp;NEW&nbsp;(109)&nbsp;FROM&nbsp;<span class="a-color-price">$3.92</span>
</a>
</div>
</div><div id="tradeInButton_feature_div" data-feature-name="tradeInButton" data-template-name="tradeInButton" class="a-section a-spacing-none feature t-prnt t-full">
</div><div id="sellYoursHere_feature_div" data-feature-name="sellYoursHere" data-template-name="sellYoursHere" class="a-section a-spacing-none feature t-prnt t-full">
<div class="a-row">
<div class="a-column a-span12 a-spacing-none buttonStackBTFAlpha">
<a id="sellYoursHere" class="a-link-normal" href="/gp/aw/sellOnAmazonDispatcher.html/ref=udp_sdp_dispatcher?ie=UTF8&amp;ASIN=193435659X">SELL ON AMAZON
</a>
</div>
</div>
</div><div id="lazybbop_feature_div" data-feature-name="lazybbop" data-template-name="lazybbop" class="a-section a-spacing-none feature t-prnt t-full">
</div><div id="tellAFriendBox_feature_div" data-feature-name="tellAFriendBox" data-template-name="tellAFriendBox" class="a-section a-spacing-none feature t-part t-full">
<hr class="a-spacing-medium a-spacing-top-large a-divider-normal">
<script type="a-state" data-a-state="{&quot;key&quot;:&quot;swf-1-click-page-state&quot;}">{"placementId":"awdo_t1_ONzHAb73GYHY8"}</script>
<div id="buttonStack_tell_a_friend" class="a-row a-spacing-large buttonStackBTFAlpha">
<span class="a-declarative" data-action="swf-1-click-declarative" data-swf-1-click-declarative="{&quot;siteName&quot;:&quot;email&quot;}">
<div id="email" class="a-column a-span2 a-text-left a-spacing-none buttonStackBTFAlpha">
<a id="tell-a-friend" class="a-link-normal" target="_self" rel="noopener" href="/gp/aw/social/swf/193435659X/o=WriteEmail/ref=cm_sw_em_ov_awdo_t1_ONzHAb73GYHY8?ie=UTF8&amp;placementID=awdo_t1_ONzHAb73GYHY8&amp;asin=193435659X&amp;isOneClick=1">
<div class="a-section a-text-center buttonStackShareTap">
<i id="email_icon" class="a-icon a-icon-share-email swf-share-icon" role="img" aria-label="Email"></i>
</div>
</a>
</div>
</span>
<span class="a-declarative" data-action="swf-1-click-declarative" data-swf-1-click-declarative="{&quot;siteName&quot;:&quot;facebook&quot;,&quot;refId&quot;:&quot;fa&quot;}">
<div id="facebook" class="a-column a-span2 a-text-left a-spacing-none buttonStackBTFAlpha">
<a id="tell-a-friend" class="a-link-normal" target="_blank" rel="noopener" href="/gp/redirect.html/ref=cm_sw_cl_fa_awdo_t1_ONzHAb73GYHY8?_encoding=UTF8&amp;location=https%3A%2F%2Fwww.facebook.com%2Fdialog%2Fshare%3F_encoding%3DUTF8%26display%3Dpopup%26href%3Dhttps%253A%252F%252Fwww.amazon.com%252Fdp%252F193435659X%252Fref%253Dcm_sw_r_fa_awdo_t1_ONzHAb73GYHY8%26redirect_uri%3Dhttps%253A%252F%252Fwww.amazon.com%252Fgp%252Fpdp%252Ftaf%252Ffb_post_redirect.html%252Fref%253Dcm_sw_s_fa_awdo_t1_ONzHAb73GYHY8%26app_id%3D164734381262%26hashtag%3D%2523Amazon&amp;token=E0915379AEBDF40D2C90D4882003C7011F43D80C">
<div class="a-section a-text-center buttonStackShareTap">
<i id="facebook_icon" class="a-icon a-icon-share-facebook swf-share-icon" role="img" aria-label="Facebook"></i>
</div>
</a>
</div>
</span>
<span class="a-declarative" data-action="swf-1-click-declarative" data-swf-1-click-declarative="{&quot;siteName&quot;:&quot;sms&quot;,&quot;refId&quot;:&quot;sms&quot;}">
<div id="sms" class="a-column a-span2 a-text-left a-spacing-none buttonStackBTFAlpha">
<a id="tell-a-friend" class="a-link-normal" target="_self" rel="noopener" href="sms:&amp;body=Check%20this%20out%3A%20Seven%20Languages%20in%20Seven%20Weeks%3A%20A%20Pragmatic%20Guide%20to%20Learning%20Pr...%20https%3A%2F%2Fwww.amazon.com%2Fdp%2F193435659X%2Fref%3Dcm_sw_r_sms_awdo_t1_ONzHAb73GYHY8">
<div class="a-section a-text-center buttonStackShareTap">
<i id="sms_icon" class="a-icon a-icon-share-sms swf-share-icon" role="img"></i>
</div>
</a>
</div>
</span>
<div class="a-column a-span6 a-text-left buttonStackShareTap">
<span class="a-declarative" data-action="swf-share-btn-declarative" data-swf-share-btn-declarative="{&quot;refId&quot;:&quot;sb&quot;}">
<a id="swf-share-button" class="a-link-normal buttonStackShareTap" href="#">
<span class="a-declarative" data-action="a-sheet" data-a-sheet="{&quot;name&quot;:&quot;shareSheet&quot;,&quot;preloadDomId&quot;:&quot;swf-sheet-content&quot;,&quot;closeType&quot;:&quot;icon&quot;}">
SHARE
</span>
</a>
</span>
</div>
<div id="swf_whatsapp_not_installed_alert" class="a-section" role="alert">
<div class="a-box a-alert-inline a-alert-inline-error" aria-live="assertive" role="alert"><div class="a-box-inner a-alert-container"><i class="a-icon a-icon-alert"></i><div class="a-alert-content">
It looks like WhatsApp is not installed on your phone. Please use a different way to share.
</div></div></div>
</div>
</div>
<script type="a-state" data-a-state="{&quot;key&quot;:&quot;swf-share-sheet-page-state&quot;}">{"placementId":"awdb_t1_ONzHAb73GYHY8","mailToEnabled":false}</script>
<div id="swf-sheet-content" class="a-box aok-hidden"><div class="a-box-inner">
<div class="a-row a-size-base a-color-base swf-sheet-title a-ws-row" style="height:47px;">
<span>Share this product with friends</span>
</div>
<span class="a-declarative" data-action="swf-sheet-declarative" data-swf-sheet-declarative="{&quot;siteName&quot;:&quot;sms&quot;,&quot;refId&quot;:&quot;sms&quot;}">
<div id="swf-sheet-sms" class="a-row a-spacing-none a-color-base a-grid-vertical-align a-grid-center swf-sheet-network a-ws-row" style="height:50px;">
<a id="swf-sheet-network-link" class="a-link-normal a-box" target="_self" rel="noopener" href="sms:&amp;body=Check%20this%20out%3A%20Seven%20Languages%20in%20Seven%20Weeks%3A%20A%20Pragmatic%20Guide%20to%20Learning%20Pr...%20https%3A%2F%2Fwww.amazon.com%2Fdp%2F193435659X%2Fref%3Dcm_sw_r_sms_awdb_t1_ONzHAb73GYHY8">
<i id="swf-sms-img" class="a-icon a-icon-share-sms swf-sheet-icon" role="img"></i>
<span class="swf-network-share">Text Message</span>
</a>
</div>
</span>
<span class="a-declarative" data-action="swf-sheet-declarative" data-swf-sheet-declarative="{&quot;siteName&quot;:&quot;email&quot;}">
<div id="swf-sheet-email" class="a-row a-spacing-none a-color-base a-grid-vertical-align a-grid-center swf-sheet-network a-ws-row" style="height:50px;">
<a id="swf-sheet-network-link" class="a-link-normal a-box" target="_self" rel="noopener" href="/gp/aw/social/swf/193435659X/o=WriteEmail/ref=cm_sw_em_ov_awdb_t1_ONzHAb73GYHY8?ie=UTF8&amp;placementID=awdb_t1_ONzHAb73GYHY8&amp;asin=193435659X&amp;isOneClick=1">
<i id="swf-email-img" class="a-icon a-icon-share-email swf-sheet-icon" role="img" aria-label="Email"></i>
<span class="swf-network-share">Email</span>
</a>
</div>
</span>
<span class="a-declarative" data-action="swf-sheet-declarative" data-swf-sheet-declarative="{&quot;siteName&quot;:&quot;facebook&quot;,&quot;refId&quot;:&quot;fa&quot;}">
<div id="swf-sheet-facebook" class="a-row a-spacing-none a-color-base a-grid-vertical-align a-grid-center swf-sheet-network a-ws-row" style="height:50px;">
<a id="swf-sheet-network-link" class="a-link-normal a-box" target="_blank" rel="noopener" href="/gp/redirect.html/ref=cm_sw_cl_fa_awdb_t1_ONzHAb73GYHY8?_encoding=UTF8&amp;location=https%3A%2F%2Fwww.facebook.com%2Fdialog%2Fshare%3F_encoding%3DUTF8%26display%3Dpopup%26href%3Dhttps%253A%252F%252Fwww.amazon.com%252Fdp%252F193435659X%252Fref%253Dcm_sw_r_fa_awdb_t1_ONzHAb73GYHY8%26redirect_uri%3Dhttps%253A%252F%252Fwww.amazon.com%252Fgp%252Fpdp%252Ftaf%252Ffb_post_redirect.html%252Fref%253Dcm_sw_s_fa_awdb_t1_ONzHAb73GYHY8%26app_id%3D164734381262%26hashtag%3D%2523Amazon&amp;token=E0915379AEBDF40D2C90D4882003C7011F43D80C">
<i id="swf-facebook-img" class="a-icon a-icon-share-facebook swf-sheet-icon" role="img" aria-label="Facebook"></i>
<span class="swf-network-share">Facebook</span>
</a>
</div>
</span>
<span class="a-declarative" data-action="swf-sheet-declarative" data-swf-sheet-declarative="{&quot;siteName&quot;:&quot;twitter&quot;,&quot;refId&quot;:&quot;tw&quot;}">
<div id="swf-sheet-twitter" class="a-row a-spacing-none a-color-base a-grid-vertical-align a-grid-center swf-sheet-network a-ws-row" style="height:50px;">
<a id="swf-sheet-network-link" class="a-link-normal a-box" target="_blank" rel="noopener" href="/gp/redirect.html/ref=cm_sw_cl_tw_awdb_t1_ONzHAb73GYHY8?_encoding=UTF8&amp;location=https%3A%2F%2Ftwitter.com%2Fintent%2Ftweet%3Foriginal_referer%3Dhttps%25253A%25252F%25252Fwww.amazon.com%25252Fgp%25252Faw%25252Fd%25252F193435659X%25252Fref%25253Dcm_sw_r_tw_awdb_t1_x_ONzHAb73GYHY8%26text%3DSeven%2520Languages%2520in%2520Seven%2520Weeks%253A%2520A%2520Pragmatic%2520Guide%2520to%2520Learning%2520Programming%2520Lan...%26related%3Damazondeals%252Camazonmp3%26url%3Dhttps%253A%252F%252Fwww.amazon.com%252Fdp%252F193435659X%252Fref%253Dcm_sw_r_tw_awdb_t1_x_ONzHAb73GYHY8%26via%3Damazon&amp;token=BC5273EAB1B7E571BD3622704B44890CC537FE04">
<i id="swf-twitter-img" class="a-icon a-icon-share-twitter swf-sheet-icon" role="img" aria-label="Twitter"></i>
<span class="swf-network-share">Twitter</span>
</a>
</div>
</span>
<span class="a-declarative" data-action="swf-sheet-declarative" data-swf-sheet-declarative="{&quot;siteName&quot;:&quot;whatsapp&quot;,&quot;refId&quot;:&quot;wa&quot;}">
<div id="swf-sheet-whatsapp" class="a-row a-spacing-none a-color-base a-grid-vertical-align a-grid-center swf-sheet-network a-ws-row" style="height:50px;">
<a id="swf-sheet-network-link" class="a-link-normal a-box" target="_self" rel="noopener" href="whatsapp://send?text=Check%20this%20out%3A%20Seven%20Languages%20in%20Seven%20Weeks%3A%20A%20Pragmatic%20Guide%20to%20Learning%20Pro...%20https%3A%2F%2Fwww.amazon.com%2Fdp%2F193435659X%2Fref%3Dcm_sw_r_wa_awdb_t1_ONzHAb73GYHY8">
<i id="swf-whatsapp-img" class="a-icon a-icon-share-whatsapp swf-sheet-icon" role="img"></i>
<span class="swf-network-share">WhatsApp </span>
</a>
</div>
<div id="swf_bottom_sheet_wa_not_installed_alert" class="a-box a-alert-inline a-alert-inline-error" aria-live="assertive" role="alert"><div class="a-box-inner a-alert-container"><i class="a-icon a-icon-alert"></i><div class="a-alert-content">
It looks like WhatsApp is not installed on your phone. Please use a different way to share.
</div></div></div>
</span>
<span class="a-declarative" data-action="swf-sheet-declarative" data-swf-sheet-declarative="{&quot;siteName&quot;:&quot;pinterest&quot;,&quot;refId&quot;:&quot;pi&quot;}">
<div id="swf-sheet-pinterest" class="a-row a-spacing-none a-color-base a-grid-vertical-align a-grid-center swf-sheet-network a-ws-row" style="height:50px;">
<a id="swf-sheet-network-link" class="a-link-normal a-box" target="_blank" rel="noopener" href="/gp/redirect.html/ref=cm_sw_cl_pi_awdb_t1_ONzHAb73GYHY8?_encoding=UTF8&amp;location=https%3A%2F%2Fpinterest.com%2Fpin%2Fcreate%2Fbutton%3Furl%3Dhttps%253A%252F%252Fwww.amazon.com%252Fdp%252F193435659X%252Fref%253Dcm_sw_r_pi_awdb_t1_x_ONzHAb73GYHY8%26title%3DSeven%2520Languages%2520in%2520Seven%2520Weeks%253A%2520A%2520Pragmatic%2520Guide%2520to%2520Lear...%26description%3DSeven%2520Languages%2520in%2520Seven%2520Weeks%253A%2520A%2520Pragmatic%2520Guide%2520to%2520Lear...%2520https%253A%252F%252Fwww.amazon.com%252Fdp%252F193435659X%252Fref%253Dcm_sw_r_pi_awdb_t1_x_ONzHAb73GYHY8%26media%3Dhttps%253A%252F%252Fimages-na.ssl-images-amazon.com%252Fimages%252FI%252F51opYcR6kVL.jpg&amp;token=49402B6CEDC244163E355CFF5E75B587C25D0183">
<i id="swf-pinterest-img" class="a-icon a-icon-share-pinterest swf-sheet-icon" role="img" aria-label="Pinterest"></i>
<span class="swf-network-share">Pinterest</span>
</a>
</div>
</span>
<span class="a-declarative" data-action="swf-sheet-declarative" data-swf-sheet-declarative="{&quot;siteName&quot;:&quot;copy&quot;,&quot;refId&quot;:&quot;cp&quot;}">
<div id="swf-sheet-copy" class="a-row a-spacing-none a-color-base a-grid-vertical-align a-grid-center swf-sheet-network a-ws-row" style="height:50px;">
<a id="swf-sheet-network-link" class="a-link-normal a-box" target="_blank" rel="noopener" href="https://www.amazon.com/dp/193435659X/ref=cm_sw_r_cp_awdb_t1_ONzHAb73GYHY8">
<i id="swf-copy-img" class="a-icon a-icon-share-link swf-sheet-icon" role="img"></i>
<div class="a-section swf-copy-manual">
<span id="swf-copy-link">Copy</span><br>
<span id="swf-copy-instruction">press and hold to copy</span>
</div>
</a>
</div>
</span>
</div></div>
</div><div id="persistentWidget_feature_div" data-feature-name="persistentWidget" data-template-name="persistentWidget" class="a-section a-spacing-none feature t-prnt t-full">
<style>
.nfcx-mobile-container {
margin-left: -14px;
margin-right: -14px;
border-bottom: 1px;
padding-bottom: 14px;
border-top: 1px;
border-bottom-style: solid;
border-bottom-color: #979797;
border-top-color: #979797;
border-top-style: solid;
}
.pw-mobile-imagePosition {
margin-left: -14px;
}
</style>
</div><div id="buyOnAlexa_feature_div" data-feature-name="buyOnAlexa" data-template-name="buyOnAlexa" class="a-section a-spacing-none feature t-prnt t-full">
</div><div id="promotions_feature_div" data-feature-name="promotions" data-template-name="promotions" class="a-section a-spacing-none feature t-prnt t-full">
</div><div id="socialFabric_feature_div" data-feature-name="socialFabric" data-template-name="socialFabric" class="a-section a-spacing-none feature t-prnt t-full">
</div><div id="recommendations_feature_div" data-feature-name="recommendations" data-template-name="recommendations" class="a-section a-spacing-none feature">
</div>
<div class="aw-campaigns"></div><div class="aw-campaigns"></div><div class="aw-campaigns"><script>if (typeof uet === 'function' && typeof ues === 'function') {var scope = 'detail_mobile-hero-quick-promo_mweb';var placementId = '';ues('wb', 'adplacements:' + scope.replace(/\_/g, ':'), {wb:1}); uet('bb', 'adplacements:' + scope.replace(/\_/g, ':'), {wb:1}); if (placementId) {ues('wb', 'adplacements:' + placementId, {wb:1});uet('bb', 'adplacements:' + placementId, {wb:1});}}</script> <style>@media screen and (max-width:240px){ div[id$=ape_detail_mobile-hero-quick-promo_mweb_wrapper]{ width:auto !important;margin-left:auto !important;left:auto !important} div[id$=ape_detail_mobile-hero-quick-promo_mweb_text-wrapper]{ width:auto !important;margin-left:auto !important;left:auto !important}}@media screen and (orientation:landscape){ [id$=ape_detail_mobile-hero-quick-promo_mweb_wrapper]{ max-width:414px !important;margin:auto !important} [id$=ape_detail_mobile-hero-quick-promo_mweb_text-wrapper]{ max-width:414px !important;margin:auto !important}}</style> <div id="ape_detail_mobile-hero-quick-promo_mweb_wrapper" class="celwidget text/x-dacx-safeframe" style="position:relative; text-align:center; margin-left: -14px; margin-right: -14px; margin-top: 20px; height: 125px; overflow: hidden;" data-ad-details="{&quot;slot&quot; :&quot;detail_mobile-hero-quick-promo_mweb&quot;,&quot;pageType&quot;: &quot;detail&quot;,&quot;subPageType&quot;: &quot;mweb&quot;,&quot;slotName&quot; :&quot;mobile-hero-quick-promo&quot;,&quot;src&quot; : &quot;prefetchEnabled&quot;,&quot;adServer&quot; :&quot;cs&quot;,&quot;campaignId&quot; : &quot;11598&quot;,&quot;arid&quot; :&quot;d4f0ef13f48c4b3c907f7e04775cdb08&quot;, &quot;size&quot; :{&quot;width&quot; : &quot;100%&quot;,&quot;height&quot; : &quot;125px&quot;},&quot;maxAdWidth&quot;: &quot;&quot;,&quot;allowedSizes&quot; :[{&quot;width&quot;:&quot;414px&quot;,&quot;height&quot;:&quot;125px&quot;}, {&quot;width&quot;:&quot;100%&quot;,&quot;height&quot;:&quot;125px&quot;}],&quot;allowedDomains&quot; : [&quot;g-ecx.images-amazon.com&quot;, &quot;images-na.ssl-images-amazon.com&quot;],&quot;loadAfter&quot; : &quot;immediate&quot;,&quot;extraDelay&quot; : 0,&quot;iframeExtraStyle&quot;: &quot;width: 1px; min-width: 100%;&quot;,&quot;iframeClass&quot;: &quot;&quot;,&quot;iframeSandbox&quot;:&quot;&quot;,&quot;enablePrerenderLogic&quot;: false,&quot;adLabelWrapperId&quot;: &quot;ape_detail_mobile-hero-quick-promo_mweb_text-wrapper&quot;,&quot;adLabelId&quot;: &quot;ape_detail_mobile-hero-quick-promo_mweb_text&quot;,&quot;advTextWrapperDivStyle&quot;: &quot;position:relative; text-align:center; margin-left: -14px; margin-right: -14px; height: auto;&quot;,&quot;advertisementTextStyle&quot;: &quot;font-size: 10px; color: #555; text-align: right; margin: 0px 3px 6px 0;&quot;,&quot;advertisementTextHTMLContent&quot;: &quot;&quot;,&quot;advertisementTextHTMLContentEncoded&quot;: &quot;PGRpdiBpZD0iYXBlX2RldGFpbF9tb2JpbGUtaGVyby1xdWljay1wcm9tb19td2ViX3RleHQtd3JhcHBlciIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyB0ZXh0LWFsaWduOmNlbnRlcjsgbWFyZ2luLWxlZnQ6IC0xNHB4OyBtYXJnaW4tcmlnaHQ6IC0xNHB4OyBoZWlnaHQ6IGF1dG87IiAgPjxkaXYgaWQ9ImFwZV9kZXRhaWxfbW9iaWxlLWhlcm8tcXVpY2stcHJvbW9fbXdlYl90ZXh0IiBzdHlsZT0iZm9udC1zaXplOiAxMHB4OyBjb2xvcjogIzU1NTsgdGV4dC1hbGlnbjogcmlnaHQ7IG1hcmdpbjogMHB4IDNweCA2cHggMDsiICA+QWR2ZXJ0aXNlbWVudDwvZGl2PjwvZGl2Pg==&quot;,&quot;adPixels&quot;: [],&quot;adPixelDelay&quot;: &quot;0&quot;,&quot;aaxImpPixelUrl&quot;: &quot;https://aax-us-east.amazon-adsystem.com/e/loi/imp?b=QnGzS4eeEFlFHrJWaWuD4Y0AAAFhmeE25AEAAAGQATDtYC0&quot;,&quot;aaxInstrPixelUrl&quot;: &quot;https://aax-us-east.amazon-adsystem.com/x/px/QnGzS4eeEFlFHrJWaWuD4Y0AAAFhmeE25AEAAAGQATDtYC0/&quot;,&quot;htmlContent&quot;: &quot;&quot;,&quot;htmlContentEncoded&quot;: &quot;PGRpdiBpZD0iYXBlX2RldGFpbF9tb2JpbGUtaGVyby1xdWljay1wcm9tb19td2ViX2NyZWF0aXZlV3JhcHBlciIgICA+PCFkb2N0eXBlIGh0bWw+PGh0bWw+PGhlYWQ+PG1ldGEgY2hhcnNldD1VVEYtOD48dGl0bGU+PC90aXRsZT48c3R5bGU+aHRtbHtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjEuMTU7LW1zLXRleHQtc2l6ZS1hZGp1c3Q
</div><div class="aw-campaigns"></div><div class="aw-campaigns"></div>
<div id="addOnItem_feature_div" data-feature-name="addOnItem" data-template-name="addOnItem" class="a-section a-spacing-none feature t-prnt t-full">
</div><div id="sims-fbt-primary">
<div class="a-section a-spacing-large sims-fbt-container">
<h2 class="a-spacing-mini">
Frequently bought together
</h2>
<div class="a-box-group similarities-widget sims-fbt">
<div class="a-box" style="height:100px;"><div class="a-box-inner">
<div id="sims-fbt-no-images"><span class="a-color-secondary sims-fbt-choose-items-to-buy a-hidden">Choose items to buy together.</span></div>
<ul class="a-unordered-list a-nostyle a-vertical sims-fbt-images-list">
<li class="sims-fbt-image sims-fbt-image-1"><span class="a-list-item"> <img alt="Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers)" src="https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._AC_UL210_SR210,210_.jpg" data-fling-asin="193435659X" data-fling-refmarker="pd_aw_fbt_14_img_1" class="a-dynamic-image a-dynamic-image-container" height="70" width="70" data-a-dynamic-image="{&quot;https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._AC_UL140_SR140,140_.jpg&quot;:[140,140],&quot;https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._AC_UL70_SR70,70_.jpg&quot;:[70,70],&quot;https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._AC_UL210_SR210,210_.jpg&quot;:[210,210]}"> </span></li>
<li class="sims-fbt-image sims-fbt-image-2"><span class="a-list-item">
<a href="/gp/aw/d/1941222153/ref=pd_aw_fbt_14_img_2?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ" class="sims-fbt-image-link"><img alt="Seven More Languages in Seven Weeks: Languages That Are Shaping the Future" src="https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL210_SR210,210_.jpg" data-fling-asin="1941222153" data-fling-refmarker="pd_aw_fbt_14_img_2" class="a-dynamic-image a-dynamic-image-container" height="70" width="70" data-a-dynamic-image="{&quot;https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL210_SR210,210_.jpg&quot;:[210,210],&quot;https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL140_SR140,140_.jpg&quot;:[140,140],&quot;https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL70_SR70,70_.jpg&quot;:[70,70]}"></a>
</span></li>
<li class="sims-fbt-image sims-fbt-image-3"><span class="a-list-item">
<a href="/gp/aw/d/1934356921/ref=pd_aw_fbt_14_img_3?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ" class="sims-fbt-image-link"><img alt="Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement" src="https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL210_SR210,210_.jpg" data-fling-asin="1934356921" data-fling-refmarker="pd_aw_fbt_14_img_3" class="a-dynamic-image a-dynamic-image-container" height="70" width="70" data-a-dynamic-image="{&quot;https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL210_SR210,210_.jpg&quot;:[210,210],&quot;https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL140_SR140,140_.jpg&quot;:[140,140],&quot;https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL70_SR70,70_.jpg&quot;:[70,70]}"></a>
</span></li>
</ul>
</div></div>
<div id="fbt-expander-content" class="a-box a-last a-hidden"><div class="a-box-inner a-padding-none">
<ul class="a-unordered-list a-nostyle a-vertical">
<form class="sims-fbt-row-form" autocomplete="off"> <li class="sims-fbt-row-border"><span class="a-list-item">
<div class="sims-fbt-row">
<div class="sims-fbt-checkbox-div"><span class="a-declarative" data-action="fbt-checkbox-click" data-fbt-checkbox-click="{&quot;itemNum&quot;:&quot;1&quot;,&quot;offerListingID&quot;:&quot;aAN3%2BOZQtEJvoFRXyYikPQJKEdTY07uvf4lLoaq4lId9LRmUAObsrNE59FM90ysHcKuU%2FXrIFctsLn81CusntJYZ8zKGx0UZkui6Z3WTzGCM3aZbXXg7Fw%3D%3D&quot;,&quot;asin&quot;:&quot;193435659X&quot;}"><div data-a-input-name="offeringID.1" class="a-checkbox a-checkbox-fancy a-control-row a-touch-checkbox sims-fbt-checkbox"><label><input type="checkbox" name="offeringID.1" value="aAN3%2BOZQtEJvoFRXyYikPQJKEdTY07uvf4lLoaq4lId9LRmUAObsrNE59FM90ysHcKuU%2FXrIFctsLn81CusntJYZ8zKGx0UZkui6Z3WTzGCM3aZbXXg7Fw%3D%3D" checked=""><i class="a-icon a-icon-checkbox"></i><span class="a-label a-checkbox-label"></span></label></div></span></div>
<div class="sims-fbt-textbox-div sims-fbt-row-outer">
<div class="sims-fbt-item-details">
<div class="a-row sims-fbt-title">
<div class="p13n-sc-truncate p13n-sc-line-clamp-2" aria-hidden="true" data-rows="2">
<span class="sims-fbt-this-item a-text-bold">This item:</span>Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers)
</div>
</div> <span class="a-color-price"><span class="p13n-sc-price">$21.11</span></span> <i class="a-icon a-icon-prime sims-fbt-prime-badge" role="img" aria-label="Prime"></i>
</div>
</div>
</div>
</span></li><li class="sims-fbt-row-border"><span class="a-list-item">
<div class="sims-fbt-row">
<div class="sims-fbt-checkbox-div"><span class="a-declarative" data-action="fbt-checkbox-click" data-fbt-checkbox-click="{&quot;itemNum&quot;:&quot;2&quot;,&quot;offerListingID&quot;:&quot;LSVHb9KAobT91TBWBSk8QuKDDfbGnWSTBk3MdiKlUMQr%2Bs9JqV5iyMtHN92rhAqxIl6%2B2tOPe3EUWvwmHDB92tcw7fS8J5F8AIo2EhERMBedXLfv8gm19Q%3D%3D&quot;,&quot;asin&quot;:&quot;1941222153&quot;}"><div data-a-input-name="offeringID.2" class="a-checkbox a-checkbox-fancy a-control-row a-touch-checkbox sims-fbt-checkbox"><label><input type="checkbox" name="offeringID.2" value="LSVHb9KAobT91TBWBSk8QuKDDfbGnWSTBk3MdiKlUMQr%2Bs9JqV5iyMtHN92rhAqxIl6%2B2tOPe3EUWvwmHDB92tcw7fS8J5F8AIo2EhERMBedXLfv8gm19Q%3D%3D" checked=""><i class="a-icon a-icon-checkbox"></i><span class="a-label a-checkbox-label"></span></label></div></span></div>
<div class="sims-fbt-row-outer">
<a href="/gp/aw/d/1941222153/ref=pd_aw_fbt_14_2?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ" class="sims-fbt-item-details sims-fbt-link-box a-touch-link">
<i class="a-icon a-icon-touch-link"></i>
<div class="a-row sims-fbt-title">
<div class="p13n-sc-truncate p13n-sc-line-clamp-2" aria-hidden="true" data-rows="2">
Seven More Languages in Seven Weeks: Languages That Are Shaping the Future
</div>
</div> <span class="a-color-price"><span class="p13n-sc-price">$28.54</span></span> <i class="a-icon a-icon-prime sims-fbt-prime-badge" role="img" aria-label="Prime"></i>
</a>
</div>
</div>
</span></li><li class="sims-fbt-row-border"><span class="a-list-item">
<div class="sims-fbt-row">
<div class="sims-fbt-checkbox-div"><span class="a-declarative" data-action="fbt-checkbox-click" data-fbt-checkbox-click="{&quot;itemNum&quot;:&quot;3&quot;,&quot;offerListingID&quot;:&quot;OG%2BFhLwOc2w1Oh%2BmdBQ7LBHZA36ZaYDqSopK68DLfx%2FvY61A35TkEBTwRwj8VsCyoo2MoRChLNSSlBjGJqWHFptlSBADIOUqFgeD8%2BAZnSPY7ebDb9dFwA%3D%3D&quot;,&quot;asin&quot;:&quot;1934356921&quot;}"><div data-a-input-name="offeringID.3" class="a-checkbox a-checkbox-fancy a-control-row a-touch-checkbox sims-fbt-checkbox"><label><input type="checkbox" name="offeringID.3" value="OG%2BFhLwOc2w1Oh%2BmdBQ7LBHZA36ZaYDqSopK68DLfx%2FvY61A35TkEBTwRwj8VsCyoo2MoRChLNSSlBjGJqWHFptlSBADIOUqFgeD8%2BAZnSPY7ebDb9dFwA%3D%3D" checked=""><i class="a-icon a-icon-checkbox"></i><span class="a-label a-checkbox-label"></span></label></div></span></div>
<div class="sims-fbt-row-outer">
<a href="/gp/aw/d/1934356921/ref=pd_aw_fbt_14_3?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ" class="sims-fbt-item-details sims-fbt-link-box a-touch-link">
<i class="a-icon a-icon-touch-link"></i>
<div class="a-row sims-fbt-title">
<div class="p13n-sc-truncate p13n-sc-line-clamp-2" aria-hidden="true" data-rows="2">
Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
</div>
</div> <span class="a-color-price"><span class="p13n-sc-price">$26.28</span></span> <i class="a-icon a-icon-prime sims-fbt-prime-badge" role="img" aria-label="Prime"></i>
</a>
</div>
</div>
</span></li> </form>
<li class="sims-fbt-shipping-details-message-box"><span class="a-list-item"><span class="a-declarative" data-action="a-secondary-view" data-a-secondary-view="{&quot;disableAnimation&quot;:0,&quot;backButtonText&quot;:&quot;Back&quot;,&quot;name&quot;:&quot;sims-fbt-shipping-details&quot;,&quot;backToTop&quot;:1,&quot;hideHeader&quot;:0}"><a href="#" class="a-touch-link a-box sims-fbt-shipping-details-message-link"><div class="a-box-inner"><i class="a-icon a-icon-touch-link"></i><span><div class="a-box a-alert-inline a-alert-inline-info"><div class="a-box-inner a-alert-container"><i class="a-icon a-icon-alert"></i><div class="a-alert-content"><span class="sims-fbt-info-message">Some of these items ship sooner than the others.</span></div></div></div></span></div></a></span>
</span></li><li><span class="a-list-item">
<div class="sims-fbt-price-addToCart">
<span class="sims-fbt-data" data-fbt="{&quot;addToCartText&quot;:{&quot;1&quot;:&quot;Add to Cart&quot;,&quot;3&quot;:&quot;Add all three to Cart&quot;,&quot;2&quot;:&quot;Add both to Cart&quot;},&quot;allOfferListingIDs&quot;:[&quot;aAN3%2BOZQtEJvoFRXyYikPQJKEdTY07uvf4lLoaq4lId9LRmUAObsrNE59FM90ysHcKuU%2FXrIFctsLn81CusntJYZ8zKGx0UZkui6Z3WTzGCM3aZbXXg7Fw%3D%3D&quot;,&quot;LSVHb9KAobT91TBWBSk8QuKDDfbGnWSTBk3MdiKlUMQr%2Bs9JqV5iyMtHN92rhAqxIl6%2B2tOPe3EUWvwmHDB92tcw7fS8J5F8AIo2EhERMBedXLfv8gm19Q%3D%3D&quot;,&quot;OG%2BFhLwOc2w1Oh%2BmdBQ7LBHZA36ZaYDqSopK68DLfx%2FvY61A35TkEBTwRwj8VsCyoo2MoRChLNSSlBjGJqWHFptlSBADIOUqFgeD8%2BAZnSPY7ebDb9dFwA%3D%3D&quot;],&quot;currencySymbol&quot;:&quot;<span class='p13n-sc-price'>$<span class=\&quot;sims-fbt-price-value\&quot;></span></span>&quot;,&quot;currencyCode&quot;:&quot;USD&quot;,&quot;MAPText&quot;:&quot;To see our price, add these items to your cart. <a href='/gp/help/customer/display.html/ref=pd_aw_fbt_14_map?ie=UTF8&amp;nodeId=200339100&amp;refRID=7F3MGDYTH1YH8KVBSFWJ' class='sims-fbt-map-details-link'>Details</a>&quot;,&quot;shippingDetails&quot;:{&quot;123&quot;:&quot;availabilitysome&quot;,&quot;23&quot;:&quot;availabilityone&quot;,&quot;13&quot;:&quot;availabilityone&quot;,&quot;12&quot;:&quot;availabilityone&quot;},&quot;isAmazonApp&quot;:0,&quot;itemDetails&quot;:{&quot;LSVHb9KAobT91TBWBSk8QuKDDfbGnWSTBk3MdiKlUMQr%2Bs9JqV5iyMtHN92rhAqxIl6%2B2tOPe3EUWvwmHDB92tcw7fS8J5F8AIo2EhERMBedXLfv8gm19Q%3D%3D&quot;:{&quot;asin&quot;:&quot;1941222153&quot;,&quot;isPreorder&quot;:0,&quot;price&quot;:28.54,&quot;doesMAPPolicyApply&quot;:0},&quot;OG%2BFhLwOc2w1Oh%2BmdBQ7LBHZA36ZaYDqSopK68DLfx%2FvY61A35TkEBTwRwj8VsCyoo2MoRChLNSSlBjGJqWHFptlSBADIOUqFgeD8%2BAZnSPY7ebDb9dFwA%3D%3D&quot;:{&quot;asin&quot;:&quot;1934356921&quot;,&quot;isPreorder&quot;:0,&quot;price&quot;:26.28,&quot;doesMAPPolicyApply&quot;:0},&quot;aAN3%2BOZQtEJvoFRXyYikPQJKEdTY07uvf4lLoaq4lId9LRmUAObsrNE59FM90ysHcKuU%2FXrIFctsLn81CusntJYZ8zKGx0UZkui6Z3WTzGCM3aZbXXg7Fw%3D%3D&quot;:{&quot;asin&quot;:&quot;193435659X&quot;,&quot;isPreorder&quot;:0,&quot;price&quot;:21.11,&quot;doesMAPPolicyApply&quot;:0}},&quot;preOrderText&quot;:null,&quot;fbtStrings&quot;:null}"></span>
<div class="sims-fbt-total-price"><span class="fbt-total-price-text a-color-secondary">Total price:</span><span class="a-color-price fbt-total-price-value fbt-total-price-value-currency"><span class="p13n-sc-price">$75.93</span></span></div>
<div class="sims-fbt-add-to-cart">
<form name="frequentlyBoughtTogetherAddToCart" method="post" action="/gp/add-to-cart/html/ref=pd_aw_fbt_14_crt" autocomplete="off" class="sims-fbt-cart">
<div class="sims-fbt-form-input-elements"><input type="hidden" name="o" value="add"><input type="hidden" name="verificationSessionID" value="147-0816675-1753153"><input type="hidden" name="clientName" value="SimilaritiesMobileFBT"><input type="hidden" name="offerListingID.1" value="aAN3%2BOZQtEJvoFRXyYikPQJKEdTY07uvf4lLoaq4lId9LRmUAObsrNE59FM90ysHcKuU%2FXrIFctsLn81CusntJYZ8zKGx0UZkui6Z3WTzGCM3aZbXXg7Fw%3D%3D"><input type="hidden" name="ASIN.1" value="193435659X"><input type="hidden" name="ASIN.2" value="1941222153"><input type="hidden" name="offerListingID.2" value="LSVHb9KAobT91TBWBSk8QuKDDfbGnWSTBk3MdiKlUMQr%2Bs9JqV5iyMtHN92rhAqxIl6%2B2tOPe3EUWvwmHDB92tcw7fS8J5F8AIo2EhERMBedXLfv8gm19Q%3D%3D"><input type="hidden" name="discoveredAsins.1" value="1941222153"><input type="hidden" name="ASIN.3" value="1934356921"><input type="hidden" name="offerListingID.3" value="OG%2BFhLwOc2w1Oh%2BmdBQ7LBHZA36ZaYDqSopK68DLfx%2FvY61A35TkEBTwRwj8VsCyoo2MoRChLNSSlBjGJqWHFptlSBADIOUqFgeD8%2BAZnSPY7ebDb9dFwA%3D%3D"><input type="hidden" name="discoveredAsins.2" value="1934356921"></div>
<div class="a-row a-spacing-none">
<span class="a-button a-button-primary a-button-small sims-fbt-add-to-cart" id="a-autoid-3"><span class="a-button-inner"><input class="a-button-input" type="submit" aria-labelledby="a-autoid-3-announce"><span class="a-button-text a-text-center" aria-hidden="true" id="a-autoid-3-announce">Add all three to Cart</span></span></span>
</div>
</form></div>
</div>
</span></li>
</ul>
</div></div>
<div id="fbt-expander-heading" class="a-box"><div class="a-box-inner a-padding-none">
<span class="a-declarative" data-action="fbt-expander-action" data-fbt-expander-action="{&quot;expanderID&quot;:&quot;fbt-expander&quot;}"><a href="javascript:void(0)" data-action="a-expander-toggle" class="a-expander-header a-declarative a-expander-section-header a-color-base-background a-link-section-expander a-size-medium" data-a-expander-toggle="{&quot;allowLinkDefault&quot;:true, &quot;expand_prompt&quot;:&quot;<span class='fbt-expander-heading-text'> Buy all three:<span class=&quot;a-color-price fbt-total-price-value-currency&quot;><span class='p13n-sc-price'>$75.93</span></span></span>&quot;, &quot;collapse_prompt&quot;:&quot;&quot;}"><i class="a-icon a-icon-section-expand"></i><span class="a-expander-prompt"><span class="fbt-expander-heading-text"> Buy all three:<span class="a-color-price fbt-total-price-value-currency"><span class="p13n-sc-price">$75.93</span></span></span></span></a></span>
</div></div>
</div>
<div class="a-popover-preload" id="a-popover-sims-fbt-shipping-details">
<h2 class="a-spacing-micro">Frequently bought together</h2>
<div class="sims-fbt-shipping-details">
<div class="sims-fbt-shipping-item">
<a href="/gp/aw/d/193435659X/ref=pd_aw_fbt_14_sd_1?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ" class="a-touch-link a-box a-touch-link-noborder a-spacing-small a-spacing-top-small"><div class="a-box-inner"><i class="a-icon a-icon-touch-link"></i><span>
<div class="sims-fbt-details-image"> <img alt="Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers)" src="https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._AC_UL75_SR75,75_.jpg" class="a-dynamic-image a-dynamic-image-container" height="75" width="75" data-a-dynamic-image="{&quot;https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._AC_UL225_SR225,225_.jpg&quot;:[225,225],&quot;https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._AC_UL75_SR75,75_.jpg&quot;:[75,75],&quot;https://images-na.ssl-images-amazon.com/images/I/51opYcR6kVL._AC_UL150_SR150,150_.jpg&quot;:[150,150]}" data-a-manual-replacement="1"> </div>
<div class="a-row sims-fbt-shipping-title">
<div class="p13n-sc-truncate p13n-sc-line-clamp-2" aria-hidden="true" data-rows="2">
<span class="sims-fbt-this-item a-text-bold">This item:</span>Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers)
</div>
<div class="a-row sims-fbt-byline">
<div class="p13n-sc-truncate p13n-sc-line-clamp-1" aria-hidden="true" data-rows="1">
by Bruce Tate
</div>
</div></div>
</span></div></a>
<div class="sims-fbt-shipping-details-price-shipping">
<span class="a-color-price"><span class="p13n-sc-price">$21.11</span></span>
<div class="a-row"><span class="a-color-secondary">Paperback</span></div>
<div class="a-row"><span class="a-size-base a-color-secondary a-text-normal">FREE Shipping on orders over <span class="p13n-sc-price">$25</span>. <a class="a-link-normal sims-fbt-details-help-link" target="AmazonHelp" rel="noopener" href="/gp/help/customer/display.html/ref=pd_aw_fbt_14_sd_sdc_1?ie=UTF8&amp;nodeId=201910870&amp;refRID=7F3MGDYTH1YH8KVBSFWJ">Details</a></span></div>
<div class="a-row"><span class="a-size-base a-color-success">In Stock.</span></div>
<div class="a-row"><span class="a-size-base a-color-secondary a-text-normal">Ships from and sold by Amazon.com.</span></div>
</div>
</div><div class="sims-fbt-shipping-item">
<a href="/gp/aw/d/1941222153/ref=pd_aw_fbt_14_sd_2?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ" class="a-touch-link a-box a-touch-link-noborder a-spacing-small a-spacing-top-small"><div class="a-box-inner"><i class="a-icon a-icon-touch-link"></i><span>
<div class="sims-fbt-details-image"> <img alt="Seven More Languages in Seven Weeks: Languages That Are Shaping the Future" src="https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL75_SR75,75_.jpg" class="a-dynamic-image a-dynamic-image-container" height="75" width="75" data-a-dynamic-image="{&quot;https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL150_SR150,150_.jpg&quot;:[150,150],&quot;https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL75_SR75,75_.jpg&quot;:[75,75],&quot;https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL225_SR225,225_.jpg&quot;:[225,225]}" data-a-manual-replacement="1"> </div>
<div class="a-row sims-fbt-shipping-title">
<div class="p13n-sc-truncate p13n-sc-line-clamp-2" aria-hidden="true" data-rows="2">
Seven More Languages in Seven Weeks: Languages That Are Shaping the Future
</div>
<div class="a-row sims-fbt-byline">
<div class="p13n-sc-truncate p13n-sc-line-clamp-1" aria-hidden="true" data-rows="1">
by Bruce Tate
</div>
</div></div>
</span></div></a>
<div class="sims-fbt-shipping-details-price-shipping">
<span class="a-color-price"><span class="p13n-sc-price">$28.54</span></span>
<div class="a-row"><span class="a-color-secondary">Paperback</span></div>
<div class="a-row"><span class="a-size-base a-color-secondary a-text-normal"><b>FREE Shipping</b>. <a class="a-link-normal sims-fbt-details-help-link" target="AmazonHelp" rel="noopener" href="/gp/help/customer/display.html/ref=pd_aw_fbt_14_sd_sdc_2?ie=UTF8&amp;nodeId=201910870&amp;refRID=7F3MGDYTH1YH8KVBSFWJ">Details</a></span></div>
<div class="a-row"><span class="a-size-base a-color-error">Only 16 left in stock (more on the way).</span></div>
<div class="a-row"><span class="a-size-base a-color-secondary a-text-normal">Ships from and sold by Amazon.com.</span></div>
</div>
</div><div class="sims-fbt-shipping-item">
<a href="/gp/aw/d/1934356921/ref=pd_aw_fbt_14_sd_3?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ" class="a-touch-link a-box a-touch-link-noborder a-spacing-small a-spacing-top-small"><div class="a-box-inner"><i class="a-icon a-icon-touch-link"></i><span>
<div class="sims-fbt-details-image"> <img alt="Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement" src="https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL75_SR75,75_.jpg" class="a-dynamic-image a-dynamic-image-container" height="75" width="75" data-a-dynamic-image="{&quot;https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL150_SR150,150_.jpg&quot;:[150,150],&quot;https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL225_SR225,225_.jpg&quot;:[225,225],&quot;https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL75_SR75,75_.jpg&quot;:[75,75]}" data-a-manual-replacement="1"> </div>
<div class="a-row sims-fbt-shipping-title">
<div class="p13n-sc-truncate p13n-sc-line-clamp-2" aria-hidden="true" data-rows="2">
Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
</div>
<div class="a-row sims-fbt-byline">
<div class="p13n-sc-truncate p13n-sc-line-clamp-1" aria-hidden="true" data-rows="1">
by Eric Redmond
</div>
</div></div>
</span></div></a>
<div class="sims-fbt-shipping-details-price-shipping">
<span class="a-color-price"><span class="p13n-sc-price">$26.28</span></span>
<div class="a-row"><span class="a-color-secondary">Paperback</span></div>
<div class="a-row"><span class="a-size-base a-color-secondary a-text-normal"><b>FREE Shipping</b>. <a class="a-link-normal sims-fbt-details-help-link" target="AmazonHelp" rel="noopener" href="/gp/help/customer/display.html/ref=pd_aw_fbt_14_sd_sdc_3?ie=UTF8&amp;nodeId=201910870&amp;refRID=7F3MGDYTH1YH8KVBSFWJ">Details</a></span></div>
<div class="a-row"><span class="a-size-base a-color-error">Only 12 left in stock (more on the way).</span></div>
<div class="a-row"><span class="a-size-base a-color-secondary a-text-normal">Ships from and sold by Amazon.com.</span></div>
</div>
</div>
</div>
</div>
</div>
</div><div id="sponsoredProducts_feature_div" data-feature-name="sponsoredProducts" data-template-name="sponsoredProducts" class="a-section a-spacing-none feature">
<div class="a-row a-spacing-large"> <h2 class="a-carousel-heading">Sponsored products related to this item</h2> <div id="sp_phone_detail" data-a-carousel-options="{&quot;initialSeenAsins&quot;:&quot;\&quot;B002D657DY\&quot;,\&quot;B073X8633K\&quot;,\&quot;B01L9WVU92\&quot;,\&quot;B00YSK9T6O\&quot;,\&quot;B01NGYI9OH\&quot;,\&quot;B01NATJWGB\&quot;,\&quot;B017P2WPTO\&quot;&quot;,&quot;set_size&quot;:9,&quot;name&quot;:&quot;sp_phone_detail_carousel&quot;,&quot;show_partial_text&quot;:true,&quot;ajax&quot;:{&quot;params&quot;:{&quot;cc&quot;:7,&quot;wName&quot;:&quot;sp_phone_detail&quot;,&quot;referringSearchEngine&quot;:&quot;Amazon&quot;,&quot;start&quot;:7,&quot;ASIN&quot;:&quot;193435659X&quot;,&quot;pRID&quot;:&quot;7F3MGDYTH1YH8KVBSFWJ&quot;},&quot;url&quot;:&quot;/gp/nemo/spd/handlers/spd-shov.html&quot;},&quot;carousel_class&quot;:&quot;mobile&quot;}" data-a-display-strategy="stretchyGoodness" data-a-transition-strategy="none" data-a-class="mobile" class="a-begin a-carousel-container a-carousel-display-stretchyGoodness a-carousel-transition-none sponsored-products-detail-mobile"><input autocomplete="on" type="hidden" class="a-carousel-firstvisibleitem"> <div class="a-row a-carousel-controls a-carousel-row"><div class="a-carousel-row-inner"><div class="a-carousel-col a-carousel-center"><div class="a-carousel-viewport" sponsored-products-carousel-initialized="true"><ol class="a-carousel" role="list" style="width: 552px;"> <li class="a-carousel-card" style="height:259px; width:122px;" role="listitem"> <div id="sp_phone_detail_1934356433" data-asin="1934356433" data-viewpixelurl="/gp/sponsored-products/logging/log-action.html?qualifier=1518705128&amp;id=689593148697586&amp;widgetName=sp_phone_detail&amp;adId=200005114391581&amp;adIndex=0" class="a-section"> <noscript> &lt;img alt="" src="/gp/sponsored-products/logging/log-action.html?qualifier=1518705128&amp;id=689593148697586&amp;widgetName=sp_phone_detail&amp;adId=200005114391581&amp;eventType=2&amp;adIndex=0"&gt; </noscript> <script> P.when('AmazonClicks').execute(function(AC) { AC.loadImagePixel("/gp/sponsored-products/logging/log-action.html?qualifier=1518705128&id=689593148697586&widgetName=sp_phone_detail&adId=200005114391581&eventType=2&adIndex=0"); }); </script> <a class="a-link-normal" target="_top" rel="noopener" title="Agile Coaching" href="https://www.amazon.com/gp/slredirect/picassoRedirect.html/ref=sspa_mw_detail_0?ie=UTF8&amp;adId=A103945221Y2I051H3YV9&amp;qualifier=1518705128&amp;id=689593148697586&amp;widgetName=sp_phone_detail&amp;url=%2Fdp%2F1934356433%2Fref%3Dsspa_mw_detail_0%3Fpsc%3D1"> <div class="a-row"> <img alt="Agile Coaching" src="https://images-na.ssl-images-amazon.com/images/I/41w1N-NpW2L._AC_SS500_.jpg" height="115px" width="115px"> </div> <div class="a-row"> <span>Agile Coaching</span> </div> <div class="a-row"> <i class="a-icon a-icon-star a-star-4"></i> </div> <div class="a-row"> <span class="a-size-small a-color-secondary">24 reviews</span> </div> <div class="a-row"> <span class="a-color-price">$23.40</span> <span style="position: relative; top: 2px;"> <i class="a-icon a-icon-prime a-icon-small"></i> </span> </div> </a> </div> </li> <li class="a-carousel-card" style="height:259px; width:122px;" role="listitem"> <div id="sp_phone_detail_B073X6GNJ1" data-asin="B073X6GNJ1" data-viewpixelurl="/gp/sponsored-products/logging/log-action.html?qualifier=1518705128&amp;id=689593148697586&amp;widgetName=sp_phone_detail&amp;adId=200004227761221&amp;adIndex=1" class="a-section"> <noscript> &lt;img alt="" src="/g
</div><link rel="stylesheet" href="https://images-na.ssl-images-amazon.com/images/I/31Xp%2Bd6S31L.css?AUIClients/Swiper_AUIBuild">
<script>
(window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://images-na.ssl-images-amazon.com/images/I/61BFFVGtFXL.js?AUIClients/Swiper_AUIBuild');
</script>
<a></a><div id="mobile_aboutThisItemFeature_feature_div" data-feature-name="mobile_aboutThisItemFeature" data-template-name="mobile_aboutThisItemFeature" class="a-section a-spacing-none feature">
<div class="a-row a-spacing-large celwidget">
<div class="a-column a-span12">
<h2 class="a-box-title">About this item
</h2>
<div id="aboutThisItemFeature_boxGroup" class="a-box-group">
<div class="a-box feature"><div class="a-box-inner">
<div id="aplus_feature_div" data-feature-name="aplus" data-template-name="aplus" class="a-section a-spacing-none">
<h3>From the manufacturer</h3>
<div class="aplus-v2 mobile celwidget" cel_widget_id="m-aplus">
<style type="text/css">
.aplus-v2.mobile {display:inherit}
.aplus-v2.mobile .aplus-module {
min-width:inherit;
margin-bottom: 21px;
}
.aplus-v2.mobile .apm-sidemodule {width:inherit}
.aplus-v2.mobile .apm-fixed-width {width:inherit}
/* module-5 */
.aplus-v2.mobile .module-5{overflow:auto}
.aplus-v2.mobile .aplus-module-wrapper {
display: block;
}
.aplus-v2.mobile img.apm-middle-image {
vertical-align: middle;
}
.aplus-v2.mobile .apm-iconheader {
display: inline;
}
.aplus-v2.mobile .apm-tablemodule {
text-align: left;
}
.aplus-v2.mobile .apm-tablemodule-image {
background-color: #FFFFFF;
padding: 0 !important;
text-align: center;
overflow: hidden;
vertical-align: bottom;
}
.aplus-v2.mobile .apm-tablemodule-table .aplus-table-heading {
padding-bottom: 8px;
text-align: center;
}
.aplus-v2.mobile .apm-tablemodule-keyhead {
border-top: 1px solid #dddddd;
padding: 8px 14px 6px !important;
background-color: #f7f7f7;
font-weight: normal;
color: #626262;
float: none !important;
margin-right: 0;
text-align: center;
min-width: 106px;
}
.aplus-v2.mobile .apm-tablemodule-keyhead {
border-right: 1px solid #dddddd;
}
.aplus-v2.mobile .apm-tablemodule-keyvalue .aplus-table-data {
padding-top: 8px !important;
padding-left: 14px;
padding-bottom: 8px;
border-top: 1px solid #dddddd;
border-bottom: 1px solid #dddddd;
min-width: 150px;
}
.aplus-v2.mobile .apm-tablemodule-image {
background-color: #FFFFFF;
padding: 0 !important;
text-align: center;
overflow: hidden;
vertical-align: bottom;
}
.aplus-v2.mobile .apm-tablemodule-table .table-heading {
padding-bottom: 8px;
text-align: center;
}
.aplus-v2.mobile .apm-tablemodule-valuecell.selected {
background-color: #fff5ec;
}
</style>
<script>
if(P) {
P.when("a-expander").execute(function (expander) {
expander.initializeExpanders();
});
}
</script>
<script>
if(P) {
P.when("A","ready").execute(function (A) {
A.on('a:expander:aplus-module-expander:toggle:collapse', function(e) {
var $ = A.$;
var topOffset = $(e.expander.$expander[0]).offset().top;
if ($(window).scrollTop() > topOffset) {
$('html, body').animate({ scrollTop: topOffset });
}
});
});
}
</script>
<div class="celwidget aplus-module module-5" cel_widget_id="aplus-m-module-5">
<div class="aplus-module-wrapper">
<div class="apm-spacing">
<div class="apm-tablemodule">
<table class="a-normal a-align-center a-spacing-none apm-tablemodule-table">
<tbody><tr class="apm-tablemodule-imagerows">
<th class="aplus-table-heading apm-tablemodule-blankkeyhead"></th>
<th class="aplus-table-heading apm-tablemodule-image">
<a target="_blank" href="/dp/193435659X"><img alt="Seven Languages in Seven Weeks" src="https://images-na.ssl-images-amazon.com/images/G/01/aplusautomation/vendorimages/a300f6d7-7341-4a32-bab1-b66533b350ed.jpg._CB276699932__SR150,300_.jpg" width="121.66666666666667px"></a>
</th>
<th class="aplus-table-heading apm-tablemodule-image">
<a target="_blank" href="/dp/1941222153"><img alt="Seven More Languages in Seven Weeks" src="https://images-na.ssl-images-amazon.com/images/G/01/aplusautomation/vendorimages/e453c406-cbd6-44c9-a4e2-c10453614bc2.jpg._CB276699931__SR150,300_.jpg" width="121.66666666666667px"></a>
</th>
<th class="aplus-table-heading apm-tablemodule-image">
<a target="_blank" href="/dp/1934356921"><img alt="Seven Databases in Seven Weeks" src="https://images-na.ssl-images-amazon.com/images/G/01/aplusautomation/vendorimages/35736e8d-2d1c-493c-a932-0525a4e5b730.jpg._CB276699926__SR150,300_.jpg" width="121.66666666666667px"></a>
</th>
<th class="aplus-table-heading apm-tablemodule-image">
<a target="_blank" href="/dp/1937785637"><img alt="Seven Web Frameworks in Seven Weeks" src="https://images-na.ssl-images-amazon.com/images/G/01/aplusautomation/vendorimages/67654a0e-5def-427f-a386-fea3cbd594bf.jpg._CB276700139__SR150,300_.jpg" width="121.66666666666667px"></a>
</th>
<th class="aplus-table-heading apm-tablemodule-image">
<a target="_blank" href="/dp/1937785653"><img alt="Seven Concurrency Models in Seven Weeks" src="https://images-na.ssl-images-amazon.com/images/G/01/aplusautomation/vendorimages/67da9c9b-ddc2-446b-92bb-49b96a4986ed.jpg._CB276700135__SR150,300_.jpg" width="121.66666666666667px"></a>
</th>
<th class="aplus-table-heading apm-tablemodule-image">
<a target="_blank" href="/dp/1680501488"><img alt="Seven Mobile Apps in Seven Weeks" src="https://images-na.ssl-images-amazon.com/images/G/01/aplusautomation/vendorimages/83c6fa81-f098-4b6e-9102-efbb3c59b46b.jpg._CB276700128__SR150,300_.jpg" width="121.66666666666667px"></a>
</th>
</tr>
<tr class="apm-tablemodule-imagerows">
<th class="aplus-table-heading apm-tablemodule-blankkeyhead"></th>
<th class="aplus-table-heading">
<a target="_blank" href="/dp/193435659X">Seven Languages in Seven Weeks</a>
</th>
<th class="aplus-table-heading">
<a target="_blank" href="/dp/1941222153">Seven More Languages in Seven Weeks</a>
</th>
<th class="aplus-table-heading">
<a target="_blank" href="/dp/1934356921">Seven Databases in Seven Weeks</a>
</th>
<th class="aplus-table-heading">
<a target="_blank" href="/dp/1937785637">Seven Web Frameworks in Seven Weeks</a>
</th>
<th class="aplus-table-heading">
<a target="_blank" href="/dp/1937785653">Seven Concurrency Models in Seven Weeks</a>
</th>
<th class="aplus-table-heading">
<a target="_blank" href="/dp/1680501488">Seven Mobile Apps in Seven Weeks</a>
</th>
</tr>
<tr class="apm-tablemodule-keyvalue">
<th class="aplus-table-heading apm-tablemodule-keyhead">
<span class="a-size-base a-text-normal a-color-secondary">
Subtitle
</span>
</th>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
A Pragmatic Guide to Learning Programming Languages
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
Languages That Are Shaping the Future
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
A Guide to Modern Databases and the NoSQL Movement
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
Adventures in Better Web Apps
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
When Threads Unravel
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
Native Apps, Multiple Platforms
</span>
</td>
</tr>
<tr class="apm-tablemodule-keyvalue">
<th class="aplus-table-heading apm-tablemodule-keyhead">
<span class="a-size-base a-text-normal a-color-secondary">
Content Coverage
</span>
</th>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
Lua, Factor, Elixir, Elm, Julia, MiniKanren, and Idris
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
Redis, Neo4J, CouchDB, MongoDB, HBase, Riak and Postgres
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
Sinatra, CanJS, AngularJS, Ring, Webmachine, Yesod, and Immutant
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
Threads &amp; locks, functional programming, separating identity &amp; state, actors, sequential processes, data parallelism, and the lambda architecture
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
iOS, Android, Windows, RubyMotion, React Native, and Xamarin
</span>
</td>
</tr>
<tr class="apm-tablemodule-keyvalue">
<th class="aplus-table-heading apm-tablemodule-keyhead">
<span class="a-size-base a-text-normal a-color-secondary">
Pages
</span>
</th>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
328 pages
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
320 pages
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
354 pages
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
304 pages
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
300 pages
</span>
</td>
<td class="a-text-center aplus-table-data apm-tablemodule-valuecell" style="width:19rem;">
<span class="a-size-base">
360 pages
</span>
</td>
</tr>
</tbody></table>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
<div class="a-box feature"><div class="a-box-inner">
<div id="productDescription_feature_div" data-feature-name="productDescription" data-template-name="productDescription" class="a-section a-spacing-none">
<div class="a-section">
<span class="a-declarative" data-action="a-secondary-view" data-a-secondary-view="{&quot;backButtonText&quot;:&quot;Back&quot;,&quot;data&quot;:{&quot;secViewId&quot;:&quot;productDescription_secondary_view_div&quot;},&quot;name&quot;:&quot;productDescription_secondary_view_div&quot;}">
<a href="#" class="a-touch-link a-box a-touch-link-noborder"><div class="a-box-inner"><i class="a-icon a-icon-touch-link"></i>
<h3>
Description
</h3>
<div id="productDescription" class="a-section a-spacing-small">
<p class="a-color-base" dir="auto">
You should learn a programming language every year, as recommended by The Pragmatic Programmer. But if one per year is good, how about Seven Languages in Seven Weeks? In this book you'll get a hands-o ...
</p>
</div>
</div></a>
</span>
<script type="text/javascript">
P.when('jQuery','A', 'a-popover-base', 'a-popover-ajax').execute(function($, A, popovers, popoverAjax) {
A.on("a:popover:beforeShow:productDescription_secondary_view_div", function(data){
P.now('dpmob-sec-view-instrumentation').execute(function(secViewInstrumentation){
if(typeof secViewInstrumentation !== "undefined") {
// Record the click time before showing the secondary view.
secViewInstrumentation.recordClickTime('productDescription');
}
});
});
A.on("a:popover:afterShow:productDescription_secondary_view_div", function(data){
var featureName = 'productDescription';
P.now('dpmob-sec-view-instrumentation').execute(function(secViewInstrumentation){
if(typeof secViewInstrumentation !== "undefined") {
// Record the end time once the secondary view is shown.
secViewInstrumentation.recordEndTime(featureName);
// Post the recorded metrics
secViewInstrumentation.postMetrics(featureName);
}
});
});
});
</script>
<div class="a-popover-preload" id="a-popover-productDescription_secondary_view_div">
<h3>
Description
</h3>
<div id="productDescription_fullView">
<h3>Product description</h3>
<div class="a-section a-spacing-large">
<p>
</p><p>You should learn a programming language every year, as recommended by <i>The Pragmatic Programmer</i>. But if one per year is good, how about <i>Seven Languages in Seven Weeks</i>? In this book you'll get a hands-on tour of Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Whether or not your favorite language is on that list, you'll broaden your perspective of programming by examining these languages side-by-side. You'll learn something new from each, and best of all, you'll learn how to learn a language quickly.<br><br>Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With <i>Seven Languages in Seven Weeks,</i> by Bruce A. Tate, you'll go beyond the syntax-and beyond the 20-minute tutorial you'll find someplace online. This book has an audacious goal: to present a meaningful exploration of seven languages within a single book. Rather than serve as a complete reference or installation guide, <i>Seven Languages</i> hits what's essential and unique about each language. Moreover, this approach will help teach you how to grok new languages.<br><br>For each language, you'll solve a nontrivial problem, using techniques that show off the language's most important features. As the book proceeds, you'll discover the strengths and weaknesses of the languages, while dissecting the process of learning languages quickly--for example, finding the typing and programming models, decision structures, and how you interact with them.<br><br>Among this group of seven, you'll explore the most critical programming models of our time. Learn the dynamic typing that makes Ruby, Python, and Perl so flexible and compelling. Understand the underlying prototype system that's at the heart of JavaScript. See how pattern matching in Prolog shaped the development of Scala and Erlang. Discover how pure functional programming in Haskell is different from the Lisp family of languages, including Clojure.<br><br>Explore the concurrency techniques that are quickly becoming the backbone of a new generation of Internet applications. Find out how to use Erlang's let-it-crash philosophy for building fault-tolerant systems. Understand the actor model that drives concurrency design in Io and Scala. Learn how Clojure uses versioning to solve some of the most difficult concurrency problems.<br><br>It's all here, all in one place. Use the concepts from one language to find creative solutions in another-or discover a language that may become one of your favorites.</p>
<p></p>
</div>
<h3>Review</h3>
<div class="a-section a-spacing-large">
<p>
</p><p>""I have been programming for 25 years in a variety of hardware and software languages. After reading Seven Languages in Seven Weeks, I am starting to understand how to evaluate languages for their objective strengths and weaknesses. More importantly, I feel as if I could pick one of them to actually get some work done.""--Chris Kappler, Senior scientist Raytheon, BBN Technologies<br><br></p>
<p>""I spent most of my time as a computer sciences student saying I didn't want to be a software developer and then became one anyway. Seven Languages in Seven Weeks expanded my way of thinking about problems and reminded me what I love about programming.""--Travis Kaspar, Software engineer, Northrop Grumman<br><br></p>
<p>""Do you want seven kick starts into learning your "language of the year"? Do you want your thinking challenged about programming in general? Look no further than this book. I personally was taken back in time to my undergraduate computer science days, coasting through my programming languages survey course. The difference is that Bruce won't let you coast through this course! This isn't a leisurely read--you'll have to work this book. I believe you'll find it both mindblowing and intensely practical at the same time.""--Matt Stine Group leader, Research Application Development, St. Jude Children's Research Hospital</p>
<p></p>
</div>
<h3>About the Author</h3>
<div class="a-section a-spacing-large">
<p>
</p><div>
<p>Bruce Tate runs RapidRed, an Austin, TX-based practice that consults on lightweight development in Ruby. Previously he worked at IBM in roles ranging from a database systems programmer to Java consultant. He left IBM to work for several startups in roles ranging from Client Solutions Director to CTO. He speaks internationally and is the author of more than ten books, including From Java to Ruby, Deploying Rails Applications, the best-selling Bitter series, Beyond Java, and the Jolt-winning Better, Faster, Lighter Java.</p>
</div>
<p></p>
</div>
</div>
</div>
</div>
</div>
</div></div>
<div class="a-box feature"><div class="a-box-inner">
<div id="featureBulletsAndDetailBullets_feature_div" data-feature-name="featureBulletsAndDetailBullets" data-template-name="featureBulletsAndDetailBullets" class="a-section a-spacing-none">
<div class="a-section">
<span class="a-declarative" data-action="a-secondary-view" data-a-secondary-view="{&quot;backButtonText&quot;:&quot;Back&quot;,&quot;data&quot;:{&quot;secViewId&quot;:&quot;featureBulletsAndDetailBullets_secondary_view_div&quot;},&quot;name&quot;:&quot;featureBulletsAndDetailBullets_secondary_view_div&quot;}">
<a href="#" class="a-touch-link a-box a-touch-link-noborder"><div class="a-box-inner"><i class="a-icon a-icon-touch-link"></i>
<h3>
Features &amp; details
</h3>
<div id="productDetails_feature_div" class="a-section">
<h3>
<span>Product information</span>
<span>
</span>
</h3>
<div id="productDetails_techSpec_sections" class="a-section">
<h4></h4><table id="productDetails_techSpec_section_1" class="a-keyvalue prodDetTable" role="presentation">
<tbody><tr>
<th class="a-span3 prodDetSectionEntry">
Publisher
</th>
<td class="a-span9 a-align-center prodDetSectionEntry">
Pragmatic Bookshelf
</td>
</tr>
<tr>
<th class="a-span3 prodDetSectionEntry">
Publication date
</th>
<td class="a-span9 a-align-center prodDetSectionEntry">
November 20, 2010
</td>
</tr>
<tr>
<th class="a-span3 prodDetSectionEntry">
Language
</th>
<td class="a-span9 a-align-center prodDetSectionEntry">
English
</td>
</tr>
</tbody></table>
</div>
</div>
</div></a>
</span>
<script type="text/javascript">
P.when('jQuery','A', 'a-popover-base', 'a-popover-ajax').execute(function($, A, popovers, popoverAjax) {
A.on("a:popover:beforeShow:featureBulletsAndDetailBullets_secondary_view_div", function(data){
P.now('dpmob-sec-view-instrumentation').execute(function(secViewInstrumentation){
if(typeof secViewInstrumentation !== "undefined") {
// Record the click time before showing the secondary view.
secViewInstrumentation.recordClickTime('featureBulletsAndDetailBullets');
}
});
});
A.on("a:popover:afterShow:featureBulletsAndDetailBullets_secondary_view_div", function(data){
var featureName = 'featureBulletsAndDetailBullets';
P.now('dpmob-sec-view-instrumentation').execute(function(secViewInstrumentation){
if(typeof secViewInstrumentation !== "undefined") {
// Record the end time once the secondary view is shown.
secViewInstrumentation.recordEndTime(featureName);
// Post the recorded metrics
secViewInstrumentation.postMetrics(featureName);
}
});
});
});
</script>
<div class="a-popover-preload" id="a-popover-featureBulletsAndDetailBullets_secondary_view_div">
<h1>
About this item
</h1>
<div id="productDetails_secondary_view_div" class="a-section">
<h3>
<span>Product information</span>
<span>
</span>
</h3>
<div id="productDetails_techSpec_sections" class="a-section">
<h4></h4><table id="productDetails_techSpec_section_1" class="a-keyvalue prodDetTable" role="presentation">
<tbody><tr>
<th class="a-span3 prodDetSectionEntry">
Publisher
</th>
<td class="a-span9 a-align-center prodDetSectionEntry">
Pragmatic Bookshelf
</td>
</tr>
<tr>
<th class="a-span3 prodDetSectionEntry">
Publication date
</th>
<td class="a-span9 a-align-center prodDetSectionEntry">
November 20, 2010
</td>
</tr>
<tr>
<th class="a-span3 prodDetSectionEntry">
Language
</th>
<td class="a-span9 a-align-center prodDetSectionEntry">
English
</td>
</tr>
<tr>
<th class="a-span3 prodDetSectionEntry">
Product Dimensions
</th>
<td class="a-span9 a-align-center prodDetSectionEntry">
7.5 x 1.2 x 9.2 inches
</td>
</tr>
<tr>
<th class="a-span3 prodDetSectionEntry">
Shipping Weight
</th>
<td class="a-span9 a-align-center prodDetSectionEntry">
1.5 pounds
</td>
</tr>
<tr>
<th class="a-span3 prodDetSectionEntry">
Book length
</th>
<td class="a-span9 a-align-center prodDetSectionEntry">
330
</td>
</tr>
<tr>
<th class="a-span3 prodDetSectionEntry">
ISBN-10
</th>
<td class="a-span9 a-align-center prodDetSectionEntry">
193435659X
</td>
</tr>
<tr>
<th class="a-span3 prodDetSectionEntry">
ISBN-13
</th>
<td class="a-span9 a-align-center prodDetSectionEntry">
978-1934356593
</td>
</tr>
<tr>
</tr><tr>
<th class="a-color-secondary a-size-base prodDetSectionEntry">
Best Sellers Rank
</th>
<td>
147710
</td>
</tr>
</tbody></table>
</div>
<script type="text/javascript">
P.when('A', 'ready').execute(function(A) {
var asin = "";
A.declarative('enhanced-content-open-file', 'click', function(event) {
var pageAction = event.data;
window.ue.count("ProductInfo" + pageAction, 1);
A.ajax('/gp/product/ajax-handlers/enhanced-content-popover-metrics.html', {
method: 'post',
params: {"asin": asin, "pageAction": pageAction}
});
});
});
</script>
</div>
</div>
</div>
</div>
</div></div>
<div class="a-box feature"><div class="a-box-inner">
<div id="priceLegalInfo_feature_div" data-feature-name="priceLegalInfo" data-template-name="priceLegalInfo" class="a-section a-spacing-none">
<div id="priceLegalInfo_primary_view" class="a-section">
<span class="a-text-bold">
Pricing:
</span>
<span>
Savings are based on the strikethrough price. This is either the previous Amazon price or the
</span>
<a class="a-link-normal a-nowrap" href="/gp/help/customer/display.html/ref=help_search_1-1?nodeId=201133170">List Price.</a>
<span>
</span>
</div>
</div>
</div></div>
</div>
</div>
</div>
</div><script type="text/javascript">
setCSMReq('cf');
setCSMReq('cf');
</script><div id="p13n-m-mobile-purchase-sims-feature-1" class="celwidget" cel_widget_id="mobile-purchase-sims-feature-1">
<div id="sims-purchase" class="a-section a-spacing-large sims">
<h2 class="a-size-large a-spacing-base">Customers who bought this also bought</h2>
<div data-ajax-params="{&quot;auiDeviceType&quot;:&quot;mobile&quot;,&quot;featureId&quot;:&quot;SimilaritiesMobileCarousel&quot;,&quot;reftagPrefix&quot;:&quot;pd_aw_sim_14&quot;,&quot;productDetailsTemplateClass&quot;:&quot;PI::P13N::ViewTemplates::ProductDetails::Phone::Base&quot;,&quot;widgetTemplateClass&quot;:&quot;PI::P13N::ViewTemplates::List::Static::Phone&quot;,&quot;faceoutTemplateClass&quot;:&quot;PI::P13N::ViewTemplates::Product::Phone::ListFaceout&quot;}" data-ajax-url="/gp/p13n-shared/faceout-partial" data-p13n-feature-metadata="{&quot;baseAsin&quot;:&quot;193435659X&quot;}" data-p13n-feature-name="pd_aw_sim_14" data-p13n-global="{&quot;auiDeviceType&quot;:&quot;mobile&quot;,&quot;marketplaceId&quot;:&quot;ATVPDKIKX0DER&quot;,&quot;requestId&quot;:&quot;7F3MGDYTH1YH8KVBSFWJ&quot;,&quot;marketplace&quot;:&quot;US&quot;,&quot;session&quot;:&quot;147-0816675-1753153&quot;}" class="a-section a-spacing-micro p13n-sc-static-list">
<div class="a-section p13n-sc-list-cells-container">
<ul class="a-unordered-list a-nostyle a-vertical p13n-sc-list-cells">
<li data-fling-container="true" class="a-spacing-medium p13n-sc-list-item"><span class="a-list-item">
<div data-p13n-asin-metadata="{&quot;ref&quot;:&quot;pd_aw_sim_14_1&quot;,&quot;asin&quot;:&quot;1941222153&quot;}" class="a-fixed-left-grid p13n-asin"><div class="a-fixed-left-grid-inner" style="padding-left:11.2rem">
<div class="a-fixed-left-grid-col a-col-left" style="width:11.2rem;margin-left:-11.2rem;float:left;">
<a class="a-link-normal dpLanImgCacheUrl" data-dplanimgcachedurl="https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._SY200_QL15_.jpg" href="/gp/aw/d/1941222153/ref=pd_aw_sim_14_1?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;dpPl=1&amp;dpID=51TdacYRRuL" data-isdpimgcached="1">
<div class="p13n-sc-list-image-container"> <img alt="Seven More Languages in Seven Weeks: Languages That Are Shaping the Future" src="https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL300_SR300,300_.jpg" data-fling-asin="1941222153" data-fling-refmarker="pd_aw_sim_14_1" class="a-dynamic-image p13n-sc-dynamic-image" height="100" width="100" data-a-dynamic-image="{&quot;https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL200_SR200,200_.jpg&quot;:[200,200],&quot;https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL100_SR100,100_.jpg&quot;:[100,100],&quot;https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL300_SR300,300_.jpg&quot;:[300,300]}"> </div>
</a>
</div>
<div class="a-fixed-left-grid-col a-col-right" style="padding-left:0%;float:left;">
<a class="a-link-normal dpLanImgCacheUrl" data-dplanimgcachedurl="https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._SY200_QL15_.jpg" href="/gp/aw/d/1941222153/ref=pd_aw_sim_14_1?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;dpPl=1&amp;dpID=51TdacYRRuL" data-isdpimgcached="1">
<div class="p13n-sc-truncate p13n-sc-line-clamp-4" aria-hidden="true" data-rows="4">
Seven More Languages in Seven Weeks: Languages That Are Shaping the Future
</div>
<div class="a-icon-row a-spacing-none">
<div class="a-row"><span class="a-color-secondary"><i class="a-icon a-icon-star a-star-4"><span class="a-icon-alt">3.8 out of 5 stars</span></i>&nbsp;<span aria-label="7 reviews" class="a-size-small">7</span></span></div>
</div>
<div class="a-row"><span class="a-size-base a-color-price"><span class="p13n-sc-price">$28.54</span></span> <span style="position: relative; top: 2px;"><i class="a-icon a-icon-prime a-icon-small" role="img" aria-label="Prime"></i></span></div>
</a>
</div>
</div></div>
</span></li><li data-fling-container="true" class="a-spacing-medium p13n-sc-list-item"><span class="a-list-item">
<div data-p13n-asin-metadata="{&quot;ref&quot;:&quot;pd_aw_sim_14_2&quot;,&quot;asin&quot;:&quot;1934356921&quot;}" class="a-fixed-left-grid p13n-asin"><div class="a-fixed-left-grid-inner" style="padding-left:11.2rem">
<div class="a-fixed-left-grid-col a-col-left" style="width:11.2rem;margin-left:-11.2rem;float:left;">
<a class="a-link-normal dpLanImgCacheUrl" data-dplanimgcachedurl="https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._SY200_QL15_.jpg" href="/gp/aw/d/1934356921/ref=pd_aw_sim_14_2?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;dpPl=1&amp;dpID=5161ySEofLL" data-isdpimgcached="1">
<div class="p13n-sc-list-image-container"> <img alt="Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement" src="https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL300_SR300,300_.jpg" data-fling-asin="1934356921" data-fling-refmarker="pd_aw_sim_14_2" class="a-dynamic-image p13n-sc-dynamic-image" height="100" width="100" data-a-dynamic-image="{&quot;https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL300_SR300,300_.jpg&quot;:[300,300],&quot;https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL100_SR100,100_.jpg&quot;:[100,100],&quot;https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL200_SR200,200_.jpg&quot;:[200,200]}"> </div>
</a>
</div>
<div class="a-fixed-left-grid-col a-col-right" style="padding-left:0%;float:left;">
<a class="a-link-normal dpLanImgCacheUrl" data-dplanimgcachedurl="https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._SY200_QL15_.jpg" href="/gp/aw/d/1934356921/ref=pd_aw_sim_14_2?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;dpPl=1&amp;dpID=5161ySEofLL" data-isdpimgcached="1">
<div class="p13n-sc-truncate p13n-sc-line-clamp-4" aria-hidden="true" data-rows="4">
Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
</div>
<div class="a-icon-row a-spacing-none">
<div class="a-row"><span class="a-color-secondary"><i class="a-icon a-icon-star a-star-4-5"><span class="a-icon-alt">4.4 out of 5 stars</span></i>&nbsp;<span aria-label="45 reviews" class="a-size-small">45</span></span></div>
</div>
<div class="a-row"><span class="a-size-base a-color-price"><span class="p13n-sc-price">$26.28</span></span> <span style="position: relative; top: 2px;"><i class="a-icon a-icon-prime a-icon-small" role="img" aria-label="Prime"></i></span></div>
</a>
</div>
</div></div>
</span></li><li data-fling-container="true" class="a-spacing-medium p13n-sc-list-item"><span class="a-list-item">
<div data-p13n-asin-metadata="{&quot;ref&quot;:&quot;pd_aw_sim_14_3&quot;,&quot;asin&quot;:&quot;1937785653&quot;}" class="a-fixed-left-grid p13n-asin"><div class="a-fixed-left-grid-inner" style="padding-left:11.2rem">
<div class="a-fixed-left-grid-col a-col-left" style="width:11.2rem;margin-left:-11.2rem;float:left;">
<a class="a-link-normal dpLanImgCacheUrl" data-dplanimgcachedurl="https://images-na.ssl-images-amazon.com/images/I/516UDGQpmNL._SY200_QL15_.jpg" href="/gp/aw/d/1937785653/ref=pd_aw_sim_14_3?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;dpPl=1&amp;dpID=516UDGQpmNL" data-isdpimgcached="1">
<div class="p13n-sc-list-image-container"> <img alt="Seven Concurrency Models in Seven Weeks: When Threads Unravel (The Pragmatic Programmers)" src="https://images-na.ssl-images-amazon.com/images/I/516UDGQpmNL._AC_UL300_SR300,300_.jpg" data-fling-asin="1937785653" data-fling-refmarker="pd_aw_sim_14_3" class="a-dynamic-image p13n-sc-dynamic-image" height="100" width="100" data-a-dynamic-image="{&quot;https://images-na.ssl-images-amazon.com/images/I/516UDGQpmNL._AC_UL300_SR300,300_.jpg&quot;:[300,300],&quot;https://images-na.ssl-images-amazon.com/images/I/516UDGQpmNL._AC_UL200_SR200,200_.jpg&quot;:[200,200],&quot;https://images-na.ssl-images-amazon.com/images/I/516UDGQpmNL._AC_UL100_SR100,100_.jpg&quot;:[100,100]}"> </div>
</a>
</div>
<div class="a-fixed-left-grid-col a-col-right" style="padding-left:0%;float:left;">
<a class="a-link-normal dpLanImgCacheUrl" data-dplanimgcachedurl="https://images-na.ssl-images-amazon.com/images/I/516UDGQpmNL._SY200_QL15_.jpg" href="/gp/aw/d/1937785653/ref=pd_aw_sim_14_3?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;dpPl=1&amp;dpID=516UDGQpmNL" data-isdpimgcached="1">
<div class="p13n-sc-truncate p13n-sc-line-clamp-4" aria-hidden="true" data-rows="4">
Seven Concurrency Models in Seven Weeks: When Threads Unravel (The Pragmatic Programmers)
</div>
<div class="a-icon-row a-spacing-none">
<div class="a-row"><span class="a-color-secondary"><i class="a-icon a-icon-star a-star-4-5"><span class="a-icon-alt">4.3 out of 5 stars</span></i>&nbsp;<span aria-label="26 reviews" class="a-size-small">26</span></span></div>
</div>
<div class="a-row"><span class="a-size-base a-color-price"><span class="p13n-sc-price">$19.64</span></span> <span style="position: relative; top: 2px;"><i class="a-icon a-icon-prime a-icon-small" role="img" aria-label="Prime"></i></span></div>
</a>
</div>
</div></div>
</span></li>
</ul>
</div>
<div class="a-section p13n-sc-static-list-buttons">
<a href="/gp/p13n-mobile/overflow?ie=UTF8&amp;asins=1941222153%2C1934356921%2C1937785653%2C0124104096%2C020161622X%2C1937785637%2C0131395319%2C0136073476%2C0486478831%2C0201485672%2C0132350882%2C0201835959%2C1680501224%2C0596517742%2C1939311225%2C0201633612%2C1934356050%2C1118063333%2C1680501488%2C0262560992%2C0262510871%2C1848000693%2C0521663504%2C0992133017%2C0134190440%2C1593272839%2C0201657880%2C0735611319%2C0984782850%2C1449335586%2C0131103628%2C193435645X%2C1118907442%2C0735619670%2C0262640686%2C0802829317%2C0471137723%2C0262033844%2C1491904240%2C0137081073%2C1934356344%2C013394302X%2C1593275919%2C1118335910%2C0321934113%2C1593274351%2C1491904151%2C1449373321%2C0814474578%2C1491904194%2C0321146530%2C0131177052%2C1449394701%2C1491904224%2C1430219483%2C0134034287%2C1617292230%2C0321751043%2C0321349601%2C1118530802%2C193778553X%2C1491950358%2C1491924462%2C1491973897%2C1593275846%2C0321356683%2C168050200X%2C1435712757%2C0136042597%2C1943153191%2C1491965975%2C149192912X%2C1933988924%2C0486678709%2C1617292397%2C1617290653%2C0134494164%2C1941222595%2C1942788002%2C1937785734%2C0324782012%2C1449329276%2C0124077269%2C0470229055%2C0981531687%2C0321842685%2C0997316020%2C1491986360%2C1593272200%2C8590379868%2C059652983X%2C0470474246%2C0321127420%2C144961552X%2C0996128107%2C0071843655%2C0321999576%2C0199740445%2C0321584104%2C1430264543&amp;baseAsin=193435659X&amp;faceoutTemplateClass=PI%3A%3AP13N%3A%3AViewTemplates%3A%3AProduct%3A%3APhone%3A%3AListFaceout&amp;parentFeatureID=SimilaritiesMobileCarousel&amp;productDetailsTemplateClass=PI%3A%3AP13N%3A%3AViewTemplates%3A%3AProductDetails%3A%3APhone%3A%3ABase&amp;ref=pd_aw_sim_14_l_of&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;reftagPrefix=pd_aw_sim_14&amp;title=Customers%20who%20bought%20this%20also%20bought" class="a-touch-link a-box"><div class="a-box-inner"><i class="a-icon a-icon-touch-link"></i>Show all 100 items</div></a>
</div>
</div>
</div>
</div><div class="aw-campaigns"><script>if (typeof uet === 'function' && typeof ues === 'function') {var scope = 'detail_btf_detail-mWeb';var placementId = '';ues('wb', 'adplacements:' + scope.replace(/\_/g, ':'), {wb:1}); uet('bb', 'adplacements:' + scope.replace(/\_/g, ':'), {wb:1}); if (placementId) {ues('wb', 'adplacements:' + placementId, {wb:1});uet('bb', 'adplacements:' + placementId, {wb:1});}}</script> <style>@media screen and (max-width:240px){ div[id$=detail_btf_detail-mWeb_wrapper]{ width:auto !important;margin-left:auto !important;left:auto !important} div[id$=detail_btf_detail-mWeb_text-wrapper]{ width:auto !important;margin-left:auto !important;left:auto !important}}@media screen and (orientation:landscape){ [id$=detail_btf_detail-mWeb_wrapper]{ max-width:414px !important;margin:auto !important} [id$=detail_btf_detail-mWeb_text-wrapper]{ max-width:414px !important;margin:auto !important}}</style> <div id="ape_detail_btf_detail-mWeb_wrapper" class="celwidget text/x-dacx-safeframe" style="position:relative; text-align:center; margin-left: -14px; margin-right: -14px; margin-top: 20px; height: 125px; overflow: hidden;" data-ad-details="{&quot;slot&quot; :&quot;detail_btf_detail-mWeb&quot;,&quot;pageType&quot;: &quot;detail&quot;,&quot;subPageType&quot;: &quot;detail-mWeb&quot;,&quot;slotName&quot; :&quot;btf&quot;,&quot;src&quot; : &quot;prefetchEnabled&quot;,&quot;adServer&quot; :&quot;cs&quot;,&quot;campaignId&quot; : &quot;9044&quot;,&quot;arid&quot; :&quot;5b25a8c2cf2441d185621391dfd7c737&quot;, &quot;size&quot; :{&quot;width&quot; : &quot;100%&quot;,&quot;height&quot; : &quot;125px&quot;},&quot;maxAdWidth&quot;: &quot;&quot;,&quot;allowedSizes&quot; :[{&quot;width&quot;:&quot;414px&quot;,&quot;height&quot;:&quot;125px&quot;}, {&quot;width&quot;:&quot;100%&quot;,&quot;height&quot;:&quot;125px&quot;}],&quot;allowedDomains&quot; : [],&quot;loadAfter&quot; : &quot;windowOnLoad&quot;,&quot;extraDelay&quot; : 0,&quot;iframeExtraStyle&quot;: &quot;width: 1px; min-width: 100%;&quot;,&quot;iframeClass&quot;: &quot;&quot;,&quot;iframeSandbox&quot;:&quot;&quot;,&quot;enablePrerenderLogic&quot;: true,&quot;adLabelWrapperId&quot;: &quot;ape_detail_btf_detail-mWeb_text-wrapper&quot;,&quot;adLabelId&quot;: &quot;ape_detail_btf_detail-mWeb_text&quot;,&quot;advTextWrapperDivStyle&quot;: &quot;position:relative; text-align:center; margin-left: -14px; margin-right: -14px; height: auto;&quot;,&quot;advertisementTextStyle&quot;: &quot;font-size: 10px; color: #555; text-align: right; margin: 0px 3px 6px 0;&quot;,&quot;advertisementTextHTMLContent&quot;: &quot;&quot;,&quot;advertisementTextHTMLContentEncoded&quot;: &quot;PGRpdiBpZD0iYXBlX2RldGFpbF9idGZfZGV0YWlsLW1XZWJfdGV4dC13cmFwcGVyIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7IHRleHQtYWxpZ246Y2VudGVyOyBtYXJnaW4tbGVmdDogLTE0cHg7IG1hcmdpbi1yaWdodDogLTE0cHg7IGhlaWdodDogYXV0bzsiICA+PGRpdiBpZD0iYXBlX2RldGFpbF9idGZfZGV0YWlsLW1XZWJfdGV4dCIgc3R5bGU9ImZvbnQtc2l6ZTogMTBweDsgY29sb3I6ICM1NTU7IHRleHQtYWxpZ246IHJpZ2h0OyBtYXJnaW46IDBweCAzcHggNnB4IDA7IiAgPkFkdmVydGlzZW1lbnQ8L2Rpdj48L2Rpdj4=&quot;,&quot;adPixels&quot;: [],&quot;adPixelDelay&quot;: &quot;0&quot;,&quot;aaxImpPixelUrl&quot;: &quot;https://aax-us-east.amazon-adsystem.com/e/loi/imp?b=Qoq2wp-ao8dWFXZV44vOU4IAAAFhmeE40gEAAAGQARt1wkc&quot;,&quot;aaxInstrPixelUrl&quot;: &quot;https://aax-us-east.amazon-adsystem.com/x/px/Qoq2wp-ao8dWFXZV44vOU4IAAAFhmeE40gEAAAGQARt1wkc/&quot;,&quot;htmlContent&quot;: &quot;&quot;,&quot;htmlContentEncoded&quot;: &quot;PGRpdiBpZD0iYXBlX2RldGFpbF9idGZfZGV0YWlsLW1XZWJfY3JlYXRpdmVXcmFwcGVyIiAgID48IWRvY3R5cGUgaHRtbD48aHRtbD48aGVhZD48bWV0YSBjaGFyc2V0PVVURi04Pjx0aXRsZT48L3RpdGxlPjxzdHlsZT5odG1se2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS4xNTstbXMtdGV4dC1zaXplLWFkanVzdDoxMDAlOy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfWJvZHl7bWFyZ2luOjB9YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6b2JqZWN0c31hOmFjdGl2ZSxhOmhvdmVye291dGxpbmUtd2lkdGg6MH1pbWd7Ym9yZGVyLXN0eWxlOm5vbmV9Kiw6YWZ0ZXIsOmJlZm9yZXtib3gtc2l6aW5nOmJvcmRlci1ib3h9aHRtbHtvdmVyZmxvdzpoaWRkZW47Zm9udC1mYW1pbHk6QXJpYWwsSG
</div>
<a></a>
<script>
(window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js('https://images-na.ssl-images-amazon.com/images/G/01/AUIClients/CustomerReviewsMedleyAssets-d22f4f962f932cc6922bccca8b5b14475c306dc6._V2_.js#AUIClients/CustomerReviewsMedleyAssets.device_type-mobile.secure.weblab-DP_PROFILE_REVIEWS_GENOME_WIDGET_INTEG_112957-T1.min');
</script>
<div id="aw-udpv3-customer-reviews_feature_div" data-hook="reviews-mobile-widget" class="a-section a-spacing-large customerReviewsMobileFeature"><div class="a-row a-spacing-small"><h2 data-hook="reviews-mobile-title" class="a-spacing-micro customerReviewsTitle">Customer Reviews</h2><div class="a-box-group"><div class="a-box"><div class="a-box-inner"><a href="/gp/aw/reviews/193435659X/ref=cm_cr_dp_mb_top?ie=UTF8" data-hook="reviews-summary-mobile" class="a-touch-link a-box a-touch-link-noborder a-first reviewsSummary"><div class="a-box-inner"><i class="a-icon a-icon-touch-link"></i><div class="a-row"><span data-hook="total-review-count" class="a-size-medium totalReviewCount a-text-bold">58 customer reviews</span></div><div class="a-icon-row a-spacing-micro"><i data-hook="average-stars-rating-anywhere" class="a-icon a-icon-star a-star-4 averageStarRating"><span class="a-icon-alt">4.2 out of 5 stars</span></i><span data-hook="average-stars-rating-text" class="a-text-beside-button averageStarRatingText">4.2 out of 5 stars</span></div></div></a>
<hr class="a-divider-text">
<div id="cm_cr_skyfall" class="a-section celwidget">
<div class="a-row a-spacing-small">
<div class="a-column a-span8">
<span class="a-size-medium a-text-bold">
Rated by customers interested in
</span>
</div>
<div class="a-column a-span4 a-text-right a-span-last">
<span class="a-declarative" data-action="a-modal" data-a-modal="{&quot;name&quot;:&quot;skyfallWhatsThis&quot;,&quot;activate&quot;:&quot;onclick&quot;,&quot;header&quot;:&quot;What's this?&quot;,&quot;inlineContent&quot;:&quot;\u201cRated by customers interested in\u201d shows how the customers interested in a specific topic rated this product. Customers\u2019 interests are determined by Amazon based on the customers\u2019 past purchases.&quot;}"><a href="javascript:void(0)" class="a-popover-trigger a-declarative"><span data-hook="cm_cr_skyfall_medley_whatisthis" class="a-size-mini">What's this?</span><i class="a-icon a-icon-popover"></i></a></span>
</div>
</div>
<div aria-live="polite" data-a-expander-name="clique-ratings-read-more" data-a-expander-collapsed-height="120" class="a-expander-collapsed-height a-row a-expander-container a-spacing-base a-expander-partial-collapse-container" style="max-height: none; height: 120px;">
<div aria-expanded="false" class="a-expander-content a-expander-partial-collapse-content" style="padding-bottom: 20px;">
<div class="a-section a-spacing-small">
<span class="a-declarative" data-action="reviews:skyfall-clique-click" data-reviews:skyfall-clique-click="{}">
<div data-reftag="cm_cr_dp_mb_sky_ttl" class="a-row a-spacing-none">
<span data-hook="cm_cr_skyfall_medley_group" class="a-text-bold">
Software Engineering Books
</span>
</div>
</span>
<span class="a-declarative" data-action="reviews:skyfall-clique-click" data-reviews:skyfall-clique-click="{}">
<div data-reftag="cm_cr_dp_mb_sky_sr" class="a-row">
<i class="a-icon a-icon-star a-star-4 averageStarRating"><span class="a-icon-alt">4.0 out of 5 stars</span></i>
<span class="a-text-beside-button averageStarRatingText">
4.0 out of 5 stars
</span>
</div>
</span>
</div>
<div class="a-section a-spacing-small">
<span class="a-declarative" data-action="reviews:skyfall-clique-click" data-reviews:skyfall-clique-click="{}">
<div data-reftag="cm_cr_dp_mb_sky_ttl" class="a-row a-spacing-none">
<span data-hook="cm_cr_skyfall_medley_group" class="a-text-bold">
Languages
</span>
</div>
</span>
<span class="a-declarative" data-action="reviews:skyfall-clique-click" data-reviews:skyfall-clique-click="{}">
<div data-reftag="cm_cr_dp_mb_sky_sr" class="a-row">
<i class="a-icon a-icon-star a-star-4 averageStarRating"><span class="a-icon-alt">4.0 out of 5 stars</span></i>
<span class="a-text-beside-button averageStarRatingText">
4.0 out of 5 stars
</span>
</div>
</span>
</div>
<div class="a-section a-spacing-small">
<span class="a-declarative" data-action="reviews:skyfall-clique-click" data-reviews:skyfall-clique-click="{}">
<div data-reftag="cm_cr_dp_mb_sky_ttl" class="a-row a-spacing-none">
<span data-hook="cm_cr_skyfall_medley_group" class="a-text-bold">
Computer Books
</span>
</div>
</span>
<span class="a-declarative" data-action="reviews:skyfall-clique-click" data-reviews:skyfall-clique-click="{}">
<div data-reftag="cm_cr_dp_mb_sky_sr" class="a-row">
<i class="a-icon a-icon-star a-star-4 averageStarRating"><span class="a-icon-alt">4.2 out of 5 stars</span></i>
<span class="a-text-beside-button averageStarRatingText">
4.2 out of 5 stars
</span>
</div>
</span>
</div>
</div>
<div class="a-expander-header a-expander-partial-collapse-header" style="opacity: 1; display: block;"><div class="a-expander-content-fade"></div><a href="javascript:void(0)" data-action="a-expander-toggle" class="a-declarative" data-a-expander-toggle="{&quot;allowLinkDefault&quot;:true, &quot;expand_prompt&quot;:&quot;Read more&quot;, &quot;collapse_prompt&quot;:&quot;Read less&quot;}"><i class="a-icon a-icon-extender-expand"></i><span class="a-expander-prompt">Read more</span></a></div>
</div>
<div class="a-section feedback-section">
<div class="a-row a-spacing-base is-feature-helpful-row">
<div class="a-column a-span6">
<span class="a-size-base">
Is this feature helpful?
</span>
</div>
<div class="a-column a-span3">
<span class="a-declarative" data-action="reviews:skyfall-feedback-click" data-reviews:skyfall-feedback-click="{}">
<span class="a-button a-button-beside-text a-button-small cr-feedback-helpful-yes" id="a-autoid-4"><span class="a-button-inner"><input data-reftag="cm_cr_dp_mb_hlp_yes" class="a-button-input" type="submit" aria-labelledby="a-autoid-4-announce"><span class="a-button-text a-text-center" aria-hidden="true" id="a-autoid-4-announce">
Yes
</span></span></span>
</span>
</div>
<div class="a-column a-span3 a-span-last">
<span class="a-declarative" data-action="reviews:skyfall-feedback-click" data-reviews:skyfall-feedback-click="{}">
<span class="a-button a-button-beside-text a-button-small cr-feedback-helpful-no" id="a-autoid-5"><span class="a-button-inner"><input data-reftag="cm_cr_dp_mb_hlp_no" class="a-button-input" type="submit" aria-labelledby="a-autoid-5-announce"><span class="a-button-text a-text-center" aria-hidden="true" id="a-autoid-5-announce">
No
</span></span></span>
</span>
</div>
</div>
<div class="a-section aok-hidden more-feedback-section">
<div class="a-box a-alert-inline a-alert-inline-success"><div class="a-box-inner a-alert-container"><i class="a-icon a-icon-alert"></i><div class="a-alert-content">
<span class="a-size-base a-color-success">
Thank you for your feedback.
</span>
</div></div></div>
</div>
</div>
</div>
</div></div><div class="a-box mostHelpfulReviewsFeature"><div class="a-box-inner">
<span data-cr-weblab-trigger-on-scroll="{&quot;metricName&quot;:&quot;dp-scroll-down-to-reviews-widget-mobile&quot;,&quot;prefix&quot;:&quot;&quot;}"></span>
<h3 class="a-spacing-small mostHelpfulReviewsTitle">Top reviews</h3><div id="cm-cr-dp-aw-review-list" class="a-row a-spacing-medium celwidget"><style>
.reviewText, .reviewByLine {
word-wrap: break-word;
}
a.enthusiast-badge, a.enthusiast-badge:visited, a.enthusiast-badge:link
{
color: #538000; /*GREEN*/
text-decoration: none;
}
</style>
<div class="a-row"><a href="/gp/profile/amzn1.account.AGS3JT27HFELWIDRJAPU42DCENZA/ref=cm_cr_dp_mb_gw_tr?ie=UTF8" class="a-profile" data-a-size="small"><div aria-hidden="true" class="a-profile-avatar-wrapper"><div class="a-profile-avatar"><img src="https://images-na.ssl-images-amazon.com/images/G/01/x-locale/common/grey-pixel.gif" class="a-lazy-loaded" data-src="https://images-na.ssl-images-amazon.com/images/S/amazon-avatars/default._CR0,0,1024,1024_SX48_.png"><noscript>&lt;img src="https://images-na.ssl-images-amazon.com/images/S/amazon-avatars/default._CR0,0,1024,1024_SX48_.png"&gt;</noscript></div></div><div class="a-profile-content"><span class="a-profile-name">David J. Anderson</span></div></a></div><div id="R29YSPVB4QPPPZ" class="a-section a-spacing-medium"><div id="customer_review-R29YSPVB4QPPPZ" class="a-section celwidget"><a href="/gp/aw/review/193435659X/R29YSPVB4QPPPZ/ref=cm_cr_dp_mb_rvw_1?ie=UTF8&amp;cursor=1" class="a-touch-link a-box a-touch-link-noborder a-spacing-none review"><div class="a-box-inner"><i class="a-icon a-icon-touch-link"></i><div class="a-row a-spacing-none a-grid-vertical-align a-grid-center"><i class="a-icon a-icon-star-small a-star-small-4 review-rating aok-align-center"><span class="a-icon-alt">4.0 out of 5 stars</span></i><span class="a-letter-space"></span><span data-hook="msrp-avp-badge-linkless" class="a-size-mini a-color-state a-text-bold">Verified Purchase</span></div><span class="a-size-base reviewText">Seven Languages in Seven Weeks gives us a good overview of seven interesting languages. The book doesn't delve into the languages to the extent that I wish it did, but it...</span></div></a></div></div><div class="a-row"><a href="/gp/profile/amzn1.account.AEWS7OTWH2JXSMKN445H3OWOUIVA/ref=cm_cr_dp_mb_gw_tr?ie=UTF8" class="a-profile" data-a-size="small"><div aria-hidden="true" class="a-profile-avatar-wrapper"><div class="a-profile-avatar"><img src="https://images-na.ssl-images-amazon.com/images/G/01/x-locale/common/grey-pixel.gif" class="a-lazy-loaded" data-src="https://images-na.ssl-images-amazon.com/images/S/amazon-avatars/default._CR0,0,1024,1024_SX48_.png"><noscript>&lt;img src="https://images-na.ssl-images-amazon.com/images/S/amazon-avatars/default._CR0,0,1024,1024_SX48_.png"&gt;</noscript></div></div><div class="a-profile-content"><span class="a-profile-name">SemioticLabyrinth</span></div></a></div><div id="R2SPV2IY5ASBK5" class="a-section a-spacing-medium"><div id="customer_review-R2SPV2IY5ASBK5" class="a-section celwidget"><a href="/gp/aw/review/193435659X/R2SPV2IY5ASBK5/ref=cm_cr_dp_mb_rvw_2?ie=UTF8&amp;cursor=2" class="a-touch-link a-box a-touch-link-noborder a-spacing-none review"><div class="a-box-inner"><i class="a-icon a-icon-touch-link"></i><div class="a-row a-spacing-none a-grid-vertical-align a-grid-center"><i class="a-icon a-icon-star-small a-star-small-5 review-rating aok-align-center"><span class="a-icon-alt">5.0 out of 5 stars</span></i><span class="a-letter-space"></span><span data-hook="msrp-avp-badge-linkless" class="a-size-mini a-color-state a-text-bold">Verified Purchase</span></div><span class="a-size-base reviewText">This has been one of my favorite programming books. I haven't worked through all of it, but I did enjoy playing with the Io language. I love how he compares the languages to...</span></div></a></div></div><div class="a-row"><a href="/gp/profile/amzn1.account.AEZSSCKQIMN3SNYMJPRQ53MN4MQQ/ref=cm_cr_dp_mb_gw_tr?ie=UTF8" class="a-profile" data-a-size="small"><div aria-hidden="true" class="a-profile-avatar-wrapper"><div class="a-profile-avatar"><img src="https://images-na.ssl-images-amazon.com/images/G/01/x-locale/common/grey-pixel.gif" class="a-lazy-loaded" data-src="https://images-na.ssl-images-amazon.com/images/S/amazon-avatars/default._CR0,0,1024,1024_SX48_.png"><noscript>&lt;img src="https://images-na.ssl-images-amazon.com/images/S/amazon-avatars/default._CR0,0,1024,1024_SX48_.png"&gt;</noscript></div></div><div class="a-profile-content"><span class="a-profile-name">Yun-Peng Wang</span></div></a></div><div id="R3PTNRE4693B2O" class="a-sectio
<div id="sponsoredProducts2_feature_div" data-feature-name="sponsoredProducts2" data-template-name="sponsoredProducts2" class="a-section a-spacing-none feature">
<div class="a-row a-spacing-large"> <h2 class="a-carousel-heading">Sponsored products related to this item</h2> <div id="sp_phone_detail2" data-a-carousel-options="{&quot;initialSeenAsins&quot;:&quot;\&quot;B0725B8B5F\&quot;,\&quot;B01MQYCGRX\&quot;,\&quot;B071NFL1M7\&quot;,\&quot;B01N3CZ7WC\&quot;,\&quot;B01M0FRJX0\&quot;,\&quot;B073X8633K\&quot;,\&quot;B002D657DY\&quot;&quot;,&quot;set_size&quot;:51,&quot;name&quot;:&quot;sp_phone_detail2_carousel&quot;,&quot;show_partial_text&quot;:true,&quot;ajax&quot;:{&quot;params&quot;:{&quot;cc&quot;:7,&quot;wName&quot;:&quot;sp_phone_detail2&quot;,&quot;referringSearchEngine&quot;:&quot;Amazon&quot;,&quot;start&quot;:7,&quot;ASIN&quot;:&quot;193435659X&quot;,&quot;pRID&quot;:&quot;7F3MGDYTH1YH8KVBSFWJ&quot;},&quot;url&quot;:&quot;/gp/nemo/spd/handlers/spd-shov.html&quot;},&quot;carousel_class&quot;:&quot;mobile&quot;}" data-a-display-strategy="stretchyGoodness" data-a-transition-strategy="none" data-a-class="mobile" class="a-begin a-carousel-container a-carousel-display-stretchyGoodness a-carousel-transition-none sponsored-products-detail-mobile"><input autocomplete="on" type="hidden" class="a-carousel-firstvisibleitem"> <div class="a-row a-carousel-controls a-carousel-row"><div class="a-carousel-row-inner"><div class="a-carousel-col a-carousel-center"><div class="a-carousel-viewport" sponsored-products-carousel-initialized="true"><ol class="a-carousel" role="list" style="width: 552px;"> <li class="a-carousel-card" style="height:259px; width:122px;" role="listitem"> <div id="sp_phone_detail2_1787281396" data-asin="1787281396" data-viewpixelurl="/gp/sponsored-products/logging/log-action.html?qualifier=1518705128&amp;id=7216113329471279&amp;widgetName=sp_phone_detail2&amp;adId=200004724846471&amp;adIndex=0" class="a-section"> <noscript> &lt;img alt="" src="/gp/sponsored-products/logging/log-action.html?qualifier=1518705128&amp;id=7216113329471279&amp;widgetName=sp_phone_detail2&amp;adId=200004724846471&amp;eventType=2&amp;adIndex=0"&gt; </noscript> <script> P.when('AmazonClicks').execute(function(AC) { AC.loadImagePixel("/gp/sponsored-products/logging/log-action.html?qualifier=1518705128&id=7216113329471279&widgetName=sp_phone_detail2&adId=200004724846471&eventType=2&adIndex=0"); }); </script> <a class="a-link-normal" target="_top" rel="noopener" title="Learning Functional Programming in Go: Change the way you approach your applications using functional programming in Go" href="https://www.amazon.com/gp/slredirect/picassoRedirect.html/ref=sspa_mw_detail_0?ie=UTF8&amp;adId=A0511890LKYGAMB1GTN3&amp;qualifier=1518705128&amp;id=7216113329471279&amp;widgetName=sp_phone_detail2&amp;url=%2Fdp%2F1787281396%2Fref%3Dsspa_mw_detail_0%3Fpsc%3D1"> <div class="a-row"> <img alt="Learning Functional Programming in Go: Change the way you approach your applications using functional programming in Go" src="https://images-na.ssl-images-amazon.com/images/I/41bBN4V5jdL._AC_SS500_.jpg" height="115px" width="115px"> </div> <div class="a-row"> <span>Learning Functional Pr...</span> </div> <div class="a-row"> <i class="a-icon a-icon-star a-star-4-5"></i> </div> <div class="a-row"> <span class="a-size-small a-color-secondary">3 reviews</span> </div> <div class="a-row"> <span class="a-color-price">$44.99</span> <span style="position: relative; top: 2px;"> <i class="a-icon a-icon-prime a-icon-small"></i> </span> </div> </a> </div> </li> <li class="a-carousel-card" style="height:259px; width:122px;" role="listitem"> <div id="sp_phone_detail2_1787120422" data-asin="1787120422" data-viewpix
</div>
<div class="aw-campaigns"></div><div class="aw-campaigns"></div><div id="p13n-m-mobile-session-sims-feature-2" class="celwidget" cel_widget_id="mobile-session-sims-feature-2">
<div id="sims-session" class="a-section a-spacing-large sims">
<h2 class="a-size-large a-spacing-base">Customers who viewed this also viewed</h2>
<div data-ajax-params="{&quot;auiDeviceType&quot;:&quot;mobile&quot;,&quot;featureId&quot;:&quot;SimilaritiesMobileCarousel&quot;,&quot;reftagPrefix&quot;:&quot;pd_aw_sbs_14&quot;,&quot;productDetailsTemplateClass&quot;:&quot;PI::P13N::ViewTemplates::ProductDetails::Phone::Base&quot;,&quot;widgetTemplateClass&quot;:&quot;PI::P13N::ViewTemplates::List::Static::Phone&quot;,&quot;faceoutTemplateClass&quot;:&quot;PI::P13N::ViewTemplates::Product::Phone::ListFaceout&quot;}" data-ajax-url="/gp/p13n-shared/faceout-partial" data-p13n-feature-metadata="{&quot;baseAsin&quot;:&quot;193435659X&quot;}" data-p13n-feature-name="pd_aw_sbs_14" data-p13n-global="{&quot;auiDeviceType&quot;:&quot;mobile&quot;,&quot;marketplaceId&quot;:&quot;ATVPDKIKX0DER&quot;,&quot;requestId&quot;:&quot;7F3MGDYTH1YH8KVBSFWJ&quot;,&quot;marketplace&quot;:&quot;US&quot;,&quot;session&quot;:&quot;147-0816675-1753153&quot;}" class="a-section a-spacing-micro p13n-sc-static-list">
<div class="a-section p13n-sc-list-cells-container">
<ul class="a-unordered-list a-nostyle a-vertical p13n-sc-list-cells">
<li data-fling-container="true" class="a-spacing-medium p13n-sc-list-item"><span class="a-list-item">
<div data-p13n-asin-metadata="{&quot;ref&quot;:&quot;pd_aw_sbs_14_1&quot;,&quot;asin&quot;:&quot;1934356921&quot;}" class="a-fixed-left-grid p13n-asin"><div class="a-fixed-left-grid-inner" style="padding-left:11.2rem">
<div class="a-fixed-left-grid-col a-col-left" style="width:11.2rem;margin-left:-11.2rem;float:left;">
<a class="a-link-normal dpLanImgCacheUrl" data-dplanimgcachedurl="https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._SY200_QL15_.jpg" href="/gp/aw/d/1934356921/ref=pd_aw_sbs_14_1?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;dpPl=1&amp;dpID=5161ySEofLL" data-isdpimgcached="1">
<div class="p13n-sc-list-image-container"> <img alt="Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement" src="https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL300_SR300,300_.jpg" data-fling-asin="1934356921" data-fling-refmarker="pd_aw_sbs_14_1" class="a-dynamic-image p13n-sc-dynamic-image" height="100" width="100" data-a-dynamic-image="{&quot;https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL300_SR300,300_.jpg&quot;:[300,300],&quot;https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL100_SR100,100_.jpg&quot;:[100,100],&quot;https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._AC_UL200_SR200,200_.jpg&quot;:[200,200]}"> </div>
</a>
</div>
<div class="a-fixed-left-grid-col a-col-right" style="padding-left:0%;float:left;">
<a class="a-link-normal dpLanImgCacheUrl" data-dplanimgcachedurl="https://images-na.ssl-images-amazon.com/images/I/5161ySEofLL._SY200_QL15_.jpg" href="/gp/aw/d/1934356921/ref=pd_aw_sbs_14_1?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;dpPl=1&amp;dpID=5161ySEofLL" data-isdpimgcached="1">
<div class="p13n-sc-truncate p13n-sc-line-clamp-4" aria-hidden="true" data-rows="4">
Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
</div>
<div class="a-icon-row a-spacing-none">
<div class="a-row"><span class="a-color-secondary"><i class="a-icon a-icon-star a-star-4-5"><span class="a-icon-alt">4.4 out of 5 stars</span></i>&nbsp;<span aria-label="45 reviews" class="a-size-small">45</span></span></div>
</div>
<div class="a-row"><span class="a-size-base a-color-price"><span class="p13n-sc-price">$26.28</span></span> <span style="position: relative; top: 2px;"><i class="a-icon a-icon-prime a-icon-small" role="img" aria-label="Prime"></i></span></div>
</a>
</div>
</div></div>
</span></li><li data-fling-container="true" class="a-spacing-medium p13n-sc-list-item"><span class="a-list-item">
<div data-p13n-asin-metadata="{&quot;ref&quot;:&quot;pd_aw_sbs_14_2&quot;,&quot;asin&quot;:&quot;020161622X&quot;}" class="a-fixed-left-grid p13n-asin"><div class="a-fixed-left-grid-inner" style="padding-left:11.2rem">
<div class="a-fixed-left-grid-col a-col-left" style="width:11.2rem;margin-left:-11.2rem;float:left;">
<a class="a-link-normal dpLanImgCacheUrl" data-dplanimgcachedurl="https://images-na.ssl-images-amazon.com/images/I/41BKx1AxQWL._SY200_QL15_.jpg" href="/gp/aw/d/020161622X/ref=pd_aw_sbs_14_2?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;dpPl=1&amp;dpID=41BKx1AxQWL" data-isdpimgcached="1">
<div class="p13n-sc-list-image-container"> <img alt="The Pragmatic Programmer: From Journeyman to Master" src="https://images-na.ssl-images-amazon.com/images/I/41BKx1AxQWL._AC_UL300_SR300,300_.jpg" data-fling-asin="020161622X" data-fling-refmarker="pd_aw_sbs_14_2" class="a-dynamic-image p13n-sc-dynamic-image" height="100" width="100" data-a-dynamic-image="{&quot;https://images-na.ssl-images-amazon.com/images/I/41BKx1AxQWL._AC_UL200_SR200,200_.jpg&quot;:[200,200],&quot;https://images-na.ssl-images-amazon.com/images/I/41BKx1AxQWL._AC_UL100_SR100,100_.jpg&quot;:[100,100],&quot;https://images-na.ssl-images-amazon.com/images/I/41BKx1AxQWL._AC_UL300_SR300,300_.jpg&quot;:[300,300]}"> </div>
</a>
</div>
<div class="a-fixed-left-grid-col a-col-right" style="padding-left:0%;float:left;">
<a class="a-link-normal dpLanImgCacheUrl" data-dplanimgcachedurl="https://images-na.ssl-images-amazon.com/images/I/41BKx1AxQWL._SY200_QL15_.jpg" href="/gp/aw/d/020161622X/ref=pd_aw_sbs_14_2?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;dpPl=1&amp;dpID=41BKx1AxQWL" data-isdpimgcached="1">
<div class="p13n-sc-truncate p13n-sc-line-clamp-4" aria-hidden="true" data-rows="4">
The Pragmatic Programmer: From Journeyman to Master
</div>
<div class="a-icon-row a-spacing-none">
<div class="a-row"><span class="a-color-secondary"><i class="a-icon a-icon-star a-star-4-5"><span class="a-icon-alt">4.5 out of 5 stars</span></i>&nbsp;<span aria-label="358 reviews" class="a-size-small">358</span></span></div>
</div>
<div class="a-row"><span class="a-size-base a-color-price"><span class="p13n-sc-price">$22.76</span></span> <span style="position: relative; top: 2px;"><i class="a-icon a-icon-prime a-icon-small" role="img" aria-label="Prime"></i></span></div>
</a>
</div>
</div></div>
</span></li><li data-fling-container="true" class="a-spacing-medium p13n-sc-list-item"><span class="a-list-item">
<div data-p13n-asin-metadata="{&quot;ref&quot;:&quot;pd_aw_sbs_14_3&quot;,&quot;asin&quot;:&quot;1941222153&quot;}" class="a-fixed-left-grid p13n-asin"><div class="a-fixed-left-grid-inner" style="padding-left:11.2rem">
<div class="a-fixed-left-grid-col a-col-left" style="width:11.2rem;margin-left:-11.2rem;float:left;">
<a class="a-link-normal dpLanImgCacheUrl" data-dplanimgcachedurl="https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._SY200_QL15_.jpg" href="/gp/aw/d/1941222153/ref=pd_aw_sbs_14_3?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;dpPl=1&amp;dpID=51TdacYRRuL" data-isdpimgcached="1">
<div class="p13n-sc-list-image-container"> <img alt="Seven More Languages in Seven Weeks: Languages That Are Shaping the Future" src="https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL300_SR300,300_.jpg" data-fling-asin="1941222153" data-fling-refmarker="pd_aw_sbs_14_3" class="a-dynamic-image p13n-sc-dynamic-image" height="100" width="100" data-a-dynamic-image="{&quot;https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL200_SR200,200_.jpg&quot;:[200,200],&quot;https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL100_SR100,100_.jpg&quot;:[100,100],&quot;https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._AC_UL300_SR300,300_.jpg&quot;:[300,300]}"> </div>
</a>
</div>
<div class="a-fixed-left-grid-col a-col-right" style="padding-left:0%;float:left;">
<a class="a-link-normal dpLanImgCacheUrl" data-dplanimgcachedurl="https://images-na.ssl-images-amazon.com/images/I/51TdacYRRuL._SY200_QL15_.jpg" href="/gp/aw/d/1941222153/ref=pd_aw_sbs_14_3?ie=UTF8&amp;psc=1&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;dpPl=1&amp;dpID=51TdacYRRuL" data-isdpimgcached="1">
<div class="p13n-sc-truncate p13n-sc-line-clamp-4" aria-hidden="true" data-rows="4">
Seven More Languages in Seven Weeks: Languages That Are Shaping the Future
</div>
<div class="a-icon-row a-spacing-none">
<div class="a-row"><span class="a-color-secondary"><i class="a-icon a-icon-star a-star-4"><span class="a-icon-alt">3.8 out of 5 stars</span></i>&nbsp;<span aria-label="7 reviews" class="a-size-small">7</span></span></div>
</div>
<div class="a-row"><span class="a-size-base a-color-price"><span class="p13n-sc-price">$28.54</span></span> <span style="position: relative; top: 2px;"><i class="a-icon a-icon-prime a-icon-small" role="img" aria-label="Prime"></i></span></div>
</a>
</div>
</div></div>
</span></li>
</ul>
</div>
<div class="a-section p13n-sc-static-list-buttons">
<a href="/gp/p13n-mobile/overflow?ie=UTF8&amp;asins=1934356921%2C020161622X%2C1941222153%2C1937785653%2C0124104096%2C1937785637%2C1680502530%2C0735619670%2C0262510871%2C0132350882%2C0596007124%2C0201733862%2C0321125215%2C0321356683%2C0201633612%2C1680501488%2C0596517742%2C1617292397%2C0735611319%2C1849967202%2C1118008189%2C0262033844%2C1593275846%2C0131103628%2C9332518661%2C032157351X%2C0201485672%2C0999081411%2C013394302X%2C0596514980%2C193435645X%2C1680501224%2C0137081073%2C0321127420%2C1449373321%2C0596516177%2C1617292230%2C1934356050%2C1617290890%2C0201835959%2C1491924462%2C1491950293%2C0262062186%2C0321334876%2C1430219483%2C0262560992%2C812656217X%2C1491903996%2C0201896834%2C0143120530%2C0134190440%2C0999685902%2C1593272839%2C0996193308%2C193398869X%2C0134494164%2C0321349601%2C1484224027%2C168050200X%2C0123745144&amp;baseAsin=193435659X&amp;faceoutTemplateClass=PI%3A%3AP13N%3A%3AViewTemplates%3A%3AProduct%3A%3APhone%3A%3AListFaceout&amp;parentFeatureID=SimilaritiesMobileCarousel&amp;productDetailsTemplateClass=PI%3A%3AP13N%3A%3AViewTemplates%3A%3AProductDetails%3A%3APhone%3A%3ABase&amp;ref=pd_aw_sbs_14_l_of&amp;refRID=7F3MGDYTH1YH8KVBSFWJ&amp;reftagPrefix=pd_aw_sbs_14&amp;title=Customers%20who%20viewed%20this%20also%20viewed" class="a-touch-link a-box"><div class="a-box-inner"><i class="a-icon a-icon-touch-link"></i>Show all 60 items</div></a>
</div>
</div>
</div>
</div><div class="aw-campaigns"><script>if (typeof uet === 'function' && typeof ues === 'function') {var scope = 'detail_encore_detail-mWeb';var placementId = '';ues('wb', 'adplacements:' + scope.replace(/\_/g, ':'), {wb:1}); uet('bb', 'adplacements:' + scope.replace(/\_/g, ':'), {wb:1}); if (placementId) {ues('wb', 'adplacements:' + placementId, {wb:1});uet('bb', 'adplacements:' + placementId, {wb:1});}}</script> <style>@media screen and (orientation:portrait){div[id$=ape_detail_encore_detail-mWeb_wrapper]{margin-left: -14px; margin-right: -14px; height: 132vw;} div[id$=ape_detail_encore_detail-mWeb_placement]{width: 100% !important; height: 100% !important;} [id$=ape_detail_encore_detail-mWeb_iframe]{width: 1px !important; min-width: 100% !important; height: 1px !important; min-height: 100% !important;border-top: 1px solid #ddd;}} @media screen and (orientation:landscape){ div[id$=ape_detail_encore_detail-mWeb_wrapper]{margin-left: -7px; margin-right: -7px; height: 54vw;} div[id$=ape_detail_encore_detail-mWeb_placement]{width: 100% !important; height: 100% !important;} [id$=ape_detail_encore_detail-mWeb_iframe]{width: 1px !important; min-width: 100% !important; height: 1px !important; min-height: 100% !important;}}</style> <div id="ape_detail_encore_detail-mWeb_wrapper" class="celwidget text/x-dacx-safeframe" data-ad-details="{&quot;slot&quot; :&quot;detail_encore_detail-mWeb&quot;,&quot;pageType&quot;: &quot;detail&quot;,&quot;subPageType&quot;: &quot;detail-mWeb&quot;,&quot;slotName&quot; :&quot;encore&quot;,&quot;src&quot; : &quot;prefetchEnabled&quot;,&quot;adServer&quot; :&quot;cs&quot;,&quot;campaignId&quot; : &quot;11605&quot;,&quot;arid&quot; :&quot;04e6f18d030340afa4fe9976258ba006&quot;, &quot;size&quot; :{&quot;width&quot; : &quot;300px&quot;,&quot;height&quot; : &quot;250px&quot;},&quot;maxAdWidth&quot;: &quot;&quot;,&quot;allowedSizes&quot; :[],&quot;allowedDomains&quot; : [],&quot;loadAfter&quot; : &quot;900px&quot;,&quot;extraDelay&quot; : 0,&quot;iframeExtraStyle&quot;: &quot;&quot;,&quot;iframeClass&quot;: &quot;&quot;,&quot;iframeSandbox&quot;:&quot;&quot;,&quot;enablePrerenderLogic&quot;: false,&quot;adLabelWrapperId&quot;: &quot;ape_detail_encore_detail-mWeb_text-wrapper&quot;,&quot;adLabelId&quot;: &quot;ape_detail_encore_detail-mWeb_text&quot;,&quot;advTextWrapperDivStyle&quot;: &quot;position:relative; text-align:center; margin-left: -14px; margin-right: -14px; height: auto;&quot;,&quot;advertisementTextStyle&quot;: &quot;font-size: 10px; color: #555; text-align: center; margin: 0px 3px 6px 0;&quot;,&quot;advertisementTextHTMLContent&quot;: &quot;&quot;,&quot;advertisementTextHTMLContentEncoded&quot;: &quot;PGRpdiBpZD0iYXBlX2RldGFpbF9lbmNvcmVfZGV0YWlsLW1XZWJfdGV4dC13cmFwcGVyIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7IHRleHQtYWxpZ246Y2VudGVyOyBtYXJnaW4tbGVmdDogLTE0cHg7IG1hcmdpbi1yaWdodDogLTE0cHg7IGhlaWdodDogYXV0bzsiICA+PGRpdiBpZD0iYXBlX2RldGFpbF9lbmNvcmVfZGV0YWlsLW1XZWJfdGV4dCIgc3R5bGU9ImZvbnQtc2l6ZTogMTBweDsgY29sb3I6ICM1NTU7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luOiAwcHggM3B4IDZweCAwOyIgID5BZHZlcnRpc2VtZW50PC9kaXY+PC9kaXY+&quot;,&quot;adPixels&quot;: [],&quot;adPixelDelay&quot;: &quot;0&quot;,&quot;aaxImpPixelUrl&quot;: &quot;https://aax-us-east.amazon-adsystem.com/e/xsp/imp?b=Qv8DFZELO05zj4i2U5KY9coAAAFhmeE5lwEAAAGQAfaJ93w&quot;,&quot;aaxInstrPixelUrl&quot;: &quot;https://aax-us-east.amazon-adsystem.com/x/px/Qv8DFZELO05zj4i2U5KY9coAAAFhmeE5lwEAAAGQAfaJ93w/&quot;,&quot;htmlContent&quot;: &quot;&quot;,&quot;htmlContentEncoded&quot;: &quot;IDxzdHlsZT5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe2RpdltpZCQ9YXBlX2RldGFpbF9lbmNvcmVfZGV0YWlsLW1XZWJfY3JlYXRpdmVXcmFwcGVyXXt3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDt9IFtpZCQ9bW9iaWxlLWFkcy1saW5rXXt3aWR0aDogMTc1JSAhaW1wb3J0YW50OyBtYXJnaW46IC0yMS41JSAtMzcuNSUgLTIxLjUlIC0zNy41JTt9fSBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXtkaXZbaWQkPWFwZV9kZXRhaWxfZW5jb3JlX2RldGFpbC1tV2ViX2NyZWF0aXZlV3JhcHBlcl17d2lkdGg6IDEwMCUgIWltcG9ydGFudDsgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7fSBbaWQkPW1vYmlsZS1hZHMtbGlua117d2lkdGg6IDEwMCUgIWltc
</div>
</div>
</div>
<div id="WrapperDivToHideFooter" style="display: block;">
<script type="text/javascript">
'use strict';
(function () {
function install() {
var searchIconLink = document.getElementById('search-icon-link');
if (searchIconLink) {
searchIconLink.onclick = function(e) {
var refStartPos = this.href.lastIndexOf('#');
if (refStartPos > 0 && refStartPos < this.href.length - 1) {
var searchBox = document.getElementById(this.href.substring(refStartPos + 1));
if (searchBox) {
searchBox.focus();
e.preventDefault();
}
}
};
}
}
if (document.readyState === "complete") { install(); }
else { window.addEventListener('load', install); }
}());
</script>
<script type="text/javascript">
if(typeof performance!= "undefined" && typeof performance.getEntries != "undefined") {
var dpmaName = "DetailPageMobileWebMetaAsset";
if(dpmaName) {
for(i = 0 ; i < performance.getEntries().length; i++) {
var name = performance.getEntries()[i].name;
var res = name.match(/\.css\?AUIClients\/DetailPageMobileWebMetaAsset/);
var dpEntry = performance.getEntries()[i];
if(res && dpEntry.initiatorType && dpEntry.initiatorType == "link") {
var dpmaDuration = dpEntry.duration;
ue.count("dpma.duration", dpmaDuration);
if(dpmaDuration < 50) {
ue.tag("dpmaCached");
} else {
ue.tag("dpmaNotCached");
}
ue.count("dpma.startTime", dpEntry.startTime);
break;
}
}
}
for(i = 0 ; i < performance.getEntries().length ; i++){
var name = performance.getEntries()[i].name ;
var res = name.match(/\.css\?AUIClients\/AmazonUI/g);
var initiatorType = performance.getEntries()[i].initiatorType;
if(res && initiatorType && initiatorType == "link"){
var duration = performance.getEntries()[i].duration ;
ue.count("aui.duration", duration);
ue.count("aui.startTime", performance.getEntries()[i].startTime);
if(duration < 50){ csmTag = "auiCached";}
else{ csmTag = "auiNotCached";}
if(window.ue && ue.tag) { ue.tag(csmTag);}
break;
}
}
}
</script>
</div>
<!--&&&Portal&Delimiter&&&--><!-- sp:end-feature:host-atf -->
<!-- sp:feature:nav-btf -->
<!-- btf pilu -->
<script type="text/javascript">
var component = 'navCF';
try {
(window.AmazonUIPageJS ? AmazonUIPageJS : P).register(component);
}
catch(e) {
var error = e.message.toLowerCase();
var alreadyRegisteredMsg = component + ' already registered';
if (error.indexOf(alreadyRegisteredMsg.toLowerCase()) === -1) {
throw(e);
}
}
</script>
<!--NAVYAAN-HEADER-DATA-->
<!--NAVYAAN-HEADER-DATA-END-->
<script type="text/javascript">
window.$Nav && $Nav.when('$').run('searchScoping', function($) {
$('#nav-search-keywords-data').attr('data-implicit-alias', 'aps' );
});
</script>
<form style="display: none;">
<input type="hidden" id="rwol-display-called" value="1">
</form>
<script type="a-state" data-a-state="{&quot;key&quot;:&quot;rw-dynamic-modal-bootstrap&quot;}">{"origSessionId":"147-0816675-1753153","subPageType":null,"pageType":"DetailAW","ASIN":"193435659X","path":"/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X","isAUI":"1"}</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/11QXqf0G81L.js?AUIClients/RetailWebsiteOverlayAUIAssets');
});
</script>
<!-- btf tilu -->
<!-- sp:feature:host-btf -->
<script type="text/javascript"> P.when('atf').execute(function() { document.getElementById('WrapperDivToHideFooter').style.display = 'block';}) </script>
</div>
<!-- htmlEndMarker -->
<!-- whfh-CsJEHnPXMi7JZkC8OYNpK2rzeAecrcoHkyIAiI5ONpNkHsR0WmR4kzJ62BoxgOz/ rid-7F3MGDYTH1YH8KVBSFWJ -->
<!-- sp:end-feature:host-btf -->
<!-- sp:feature:aui-preload -->
<!-- sp:feature:nav-footer -->
<!-- footer pilu -->
<footer class="nav-mobile nav-locale-us nav-lang-en nav-ftr-batmobile">
<div id="nav-ftr" class="nav-t-standard nav-sprite-v3">
<a id="nav-ftr-gototop" class="nav-a" href="#top"><i class="nav-icon"></i><b class="nav-b">Top of page</b></a>
<div id="search-ac-init-data" data-aliases="" data-ime="" data-mkt="" data-src="">
</div>
<div id="nav-search-keywords-data" data-implicit-alias="aps">
</div>
<div class="nav-searchbar-wrapper">
<form class="nav-searchbar" action="/gp/aw/s/ref=is_s" method="get" role="search" id="nav-search-form" accept-charset="utf-8">
<div class="nav-right">
<div class="nav-search-submit">
<input type="submit" class="nav-input" value="Go" aria-label="Go">
<i class="nav-icon nav-sprite"></i>
</div>
</div>
<div class="nav-fill" dir="auto">
<div class="nav-search-field">
<input type="text" class="nav-input" placeholder="Search" aria-label="Type search keywords" data-aria-clear-label="Clear search keywords" name="k" autocomplete="off" autocorrect="off" autocapitalize="off" dir="auto" value="" id="nav-search-keywords">
<a class="nav-icon nav-sprite nav-search-clear" tabindex="0" href="javascript:;" aria-label="Clear search keywords"></a></div>
</div>
</form>
</div>
<ul id="nav-ftr-links" class="nav-ftr-links-two-column"><li class="nav-li nav-li-right"><a class="nav-a" href="/gp/aw/c/ref=navm_ftr_cart"><span class="nav-ftr-text">Cart (<b class="nav-b nav-cart-count">0</b>)</span><i class="nav-icon nav-sprite"></i></a></li><li class="nav-li nav-li-right"><a class="nav-a" href="/gp/aw/ls/ref=navm_ftr_wl"><span class="nav-ftr-text">Your Lists</span><i class="nav-icon nav-sprite"></i></a></li><li class="nav-li nav-li-right"><a class="nav-a" href="/gcx/Gifts-for-Adults/gfhz/ref=navm_ftr_gf"><span class="nav-ftr-text">Find a Gift</span><i class="nav-icon nav-sprite"></i></a></li><li class="nav-li nav-li-right"><a class="nav-a" href="/gp/aw/ybh/ref=navm_ftr_ybh"><span class="nav-ftr-text">Browsing History</span><i class="nav-icon nav-sprite"></i></a></li><li class="nav-li nav-li-right aok-offscreen nav-hidden"><a class="nav-a" href="/gp/aw/contact-us/c2c/phone?ie=UTF8&amp;c2cId=f67f2578-98fb-4abd-a85d-ec8e1918eaca" aria-label="Click to call our Disability Customer Support line, or reach us directly at 1-888-283-1678 "><span class="nav-ftr-text">Disability Customer Support</span><i class="nav-icon nav-sprite"></i></a></li><li class="nav-li nav-li-right"><a class="nav-a" href="/gp/anywhere/site-view.html/ref=navm_ftr_fullsite?ie=UTF8&amp;force-full-site=1&amp;opt=desktop&amp;url=http%3A%2F%2Fwww.amazon.com%2Fref%3Dnavm_ftr_fullsite"><span class="nav-ftr-text">Amazon.com Full Site</span><i class="nav-icon nav-sprite"></i></a></li><li class="nav-li"><a class="nav-a" href="/ref=navm_ftr_home"><span class="nav-ftr-text">Amazon.com</span><i class="nav-icon nav-sprite"></i></a></li><li class="nav-li"><a class="nav-a" href="/gp/aw/ya/or/ref=navm_ftr_yo"><span class="nav-ftr-text">Your Orders</span><i class="nav-icon nav-sprite"></i></a></li><li class="nav-li"><a class="nav-a" href="/b/ref=navm_ftr_reg_gc?ie=UTF8&amp;node=13245981011"><span class="nav-ftr-text">Gift Cards &amp; Registry</span><i class="nav-icon nav-sprite"></i></a></li><li class="nav-li"><a class="nav-a" href="/gp/aw/ya/ref=navm_ftr_ya"><span class="nav-ftr-text">Your Account</span><i class="nav-icon nav-sprite"></i></a></li><li class="nav-li"><a class="nav-a" href="/gp/aw/contact-us/ref=navm_ftr_cu"><span class="nav-ftr-text">Customer Service</span><i class="nav-icon nav-sprite"></i></a></li><li class="nav-li"><a class="nav-a" href="/gp/help/customer/display.html/ref=navm_ftr_help?ie=UTF8&amp;id=help"><span class="nav-ftr-text">Help</span><i class="nav-icon nav-sprite"></i></a></li></ul>
<div class="icp-container-mobile">
<style type="text/css">
#icp-touch-link-language { display: none; }
</style>
<a href="/gp/customer-preferences/select-language/ref=footer_lang?ie=UTF8&amp;preferencesReturnUrl=%2FSeven-Languages-Weeks-Programming-Programmers%2Fdp%2F193435659X%2Fref%3Dpd_bxgy_14_img_2%3F_encoding%3DUTF8%26pd_rd_i%3D193435659X%26pd_rd_r%3DWSNXYSXXFG53ETVDPB1H%26pd_rd_w%3DH6Ec1%26pd_rd_wg%3DVIcc7%26psc%3D1%26refRID%3DWSNXYSXXFG53ETVDPB1H" class="icp-touch-link-2" id="icp-touch-link-language">
<div class="icp-nav-globe-img-2 icp-mobile-globe-2"></div><span class="icp-color-base">English</span><span class="nav-arrow icp-up-down-arrow"></span>
</a>
<style type="text/css">
#icp-touch-link-country { display: none; }
</style>
<a href="/gp/navigation-country/select-country/ref=?ie=UTF8&amp;preferencesReturnUrl=%2FSeven-Languages-Weeks-Programming-Programmers%2Fdp%2F193435659X%2Fref%3Dpd_bxgy_14_img_2%3F_encoding%3DUTF8%26pd_rd_i%3D193435659X%26pd_rd_r%3DWSNXYSXXFG53ETVDPB1H%26pd_rd_w%3DH6Ec1%26pd_rd_wg%3DVIcc7%26psc%3D1%26refRID%3DWSNXYSXXFG53ETVDPB1H" class="icp-touch-link-2" id="icp-touch-link-country">
<span class="icp-flag-3 icp-flag-3-us"></span><span class="icp-color-base">United States</span>
</a>
</div>
<div id="nav-ftr-auth">
Already a customer?<a href="https://www.amazon.com/ap/signin?_encoding=UTF8&amp;openid.assoc_handle=usamazon&amp;openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&amp;openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&amp;openid.mode=checkid_setup&amp;openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&amp;openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&amp;openid.pape.max_auth_age=0&amp;openid.return_to=https%3A%2F%2Fwww.amazon.com%2FSeven-Languages-Weeks-Programming-Programmers%2Fdp%2F193435659X%2Fref%3Dpd_bxgy_14_img_2%3F_encoding%3DUTF8%26pc_redir%3DT1%26pd_rd_i%3D193435659X%26pd_rd_r%3DWSNXYSXXFG53ETVDPB1H%26pd_rd_w%3DH6Ec1%26pd_rd_wg%3DVIcc7%26psc%3D1%26refRID%3DWSNXYSXXFG53ETVDPB1H%26ref_%3Dpd_bxgy_14_img_2" class="nav-a">Sign In</a></div>
<ul class="nav-ftr-horiz "><li class="nav-li "><a href="/gp/aw/help/ref=navm_ftr_cou?ie=UTF8&amp;id=cou" class="nav-a">Conditions of Use</a></li><li class="nav-li "><a href="/gp/aw/help/ref=navm_ftr_mpa?ie=UTF8&amp;id=mpa" class="nav-a">Privacy Notice</a></li><li class="nav-li "><a href="/gp/aw/help/ref=navm_ftr_iba?ie=UTF8&amp;id=201308670" class="nav-a">Interest-Based Ads</a></li></ul>
<div id="nav-ftr-copyright">© 1996-2018, Amazon.com, Inc. or its affiliates</div>
</div>
</footer>
<!-- whfh-qrC79k737IdJlRZQhayitoojg9xianXzkPf2p5tIEsm92JYxficH8sFlTFSzZPKITRb2PBQIn0o= rid-7F3MGDYTH1YH8KVBSFWJ -->
<div id="sis_pixel_r2" aria-hidden="true" style="height:1px; position: absolute; left: -1000000px; top: -1000000px;"><iframe id="DAsis" src="//s.amazon-adsystem.com/iu3?d=amazon.com&amp;slot=navFooter&amp;a2=0101b0dd9e9ed6e4d14ee592d143072c505a53e1e3e76a653ab663fa010fec990386&amp;old_oo=0&amp;cb=1518705128411" width="1" height="1" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="display: none !important;"></iframe></div><script>(function(a,b){a.attachEvent?a.attachEvent("onload",b):a.addEventListener&&a.addEventListener("load",b,!1)})(window,function(){setTimeout(function(){var el=document.getElementById("sis_pixel_r2");el&&(el.innerHTML='<iframe id="DAsis" src="//s.amazon-adsystem.com/iu3?d=amazon.com&slot=navFooter&a2=0101b0dd9e9ed6e4d14ee592d143072c505a53e1e3e76a653ab663fa010fec990386&old_oo=0&cb=1518705128411" width="1" height="1" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>')},300)});</script><!-- footer tilu -->
<div id="be" style="display:none;visibility:hidden;"><form name="ue_backdetect" action="get"><input type="hidden" name="ue_back" value="2"></form>
<script type="text/javascript">
var ue_mbl=ue_csm.ue.exec(function(e,a){function l(f){b=f||{};a.AMZNPerformance=b;b.transition=b.transition||{};b.timing=b.timing||{};e.ue.exec(m,"csm-android-check")()&&b.tags instanceof Array&&(f=-1!=b.tags.indexOf("usesAppStartTime")||b.transition.type?!b.transition.type&&-1<b.tags.indexOf("usesAppStartTime")?"warm-start":void 0:"view-transition",f&&(b.transition.type=f));"reload"===c._nt&&e.ue_orct||"intrapage-transition"===c._nt?a.performance&&performance.timing&&performance.timing.navigationStart?
b.timing.transitionStart=a.performance.timing.navigationStart:delete b.timing.transitionStart:"undefined"===typeof c._nt&&a.performance&&performance.timing&&performance.timing.navigationStart&&a.history&&"function"===typeof a.History&&"object"===typeof a.history&&history.length&&1!=history.length&&(b.timing.transitionStart=a.performance.timing.navigationStart);f=b.transition;var d;d=c._nt?c._nt:void 0;f.subType=d;a.ue&&a.ue.tag&&a.ue.tag("has-AMZNPerformance");c.isl&&a.uex&&uex("at","csm-timing");
n()}function p(b){a.ue&&a.ue.count&&a.ue.count("csm-cordova-plugin-failed",1)}function m(){return a.webclient&&"function"===typeof a.webclient.getRealClickTime?a.cordova&&a.cordova.platformId&&"ios"==a.cordova.platformId?!1:!0:!1}function n(){try{P.register("AMZNPerformance",function(){return b})}catch(a){}}function h(){if(!b)return"";ue_mbl.cnt=null;for(var a=b.timing,d=b.transition,a=["mts",k(a.transitionStart),"mps",k(a.processStart),"mtt",d.type,"mtst",d.subType,"mtlt",d.launchType],d="",c=0;c<
a.length;c+=2){var e=a[c],g=a[c+1];"undefined"!==typeof g&&(d+="&"+e+"="+g)}return d}function k(a){if("undefined"!==typeof a&&"undefined"!==typeof g)return a-g}function q(a,c){b&&(g=c,b.timing.transitionStart=a,b.transition.type="view-transition",b.transition.subType="ajax-transition",b.transition.launchType="normal",ue_mbl.cnt=h)}var c=e.ue||{},g=e.ue_t0,b;if(a.P&&a.P.when&&a.P.register)return a.P.when("CSMPlugin").execute(function(a){a.buildAMZNPerformance&&a.buildAMZNPerformance({successCallback:l,
failCallback:p})}),{cnt:h,ajax:q}},"mobile-timing")(ue_csm,window);
(function(d){d._uess=function(){var a="";screen&&screen.width&&screen.height&&(a+="&sw="+screen.width+"&sh="+screen.height);var b=function(a){var b=document.documentElement["client"+a];return"CSS1Compat"===document.compatMode&&b||document.body["client"+a]||b},c=b("Width"),b=b("Height");c&&b&&(a+="&vw="+c+"&vh="+b);return a}})(ue_csm);
(function(a){var b=document.ue_backdetect;b&&b.ue_back&&a.ue&&(a.ue.bfini=b.ue_back.value);a.uet&&a.uet("be");a.onLdEnd&&(window.addEventListener?window.addEventListener("load",a.onLdEnd,!1):window.attachEvent&&window.attachEvent("onload",a.onLdEnd));a.ueh&&a.ueh(0,window,"load",a.onLd,1);a.ue&&a.ue.tag&&(a.ue_furl&&a.ue_furl.split?(b=a.ue_furl.split("."))&&b[0]&&a.ue.tag(b[0]):a.ue.tag("nofls"))})(ue_csm);
(function(g,h){function d(a,d){var b={};if(!e||!f)try{var c=h.sessionStorage;c?a&&("undefined"!==typeof d?c.setItem(a,d):b.val=c.getItem(a)):f=1}catch(g){e=1}e&&(b.e=1);return b}var b=g.ue||{},a="",f,e,c,a=d("csmtid");f?a="NA":a.e?a="ET":(a=a.val,a||(a=b.oid||"NI",d("csmtid",a)),c=d(b.oid),c.e||(c.val=c.val||0,d(b.oid,c.val+1)),b.ssw=d);b.tabid=a})(ue_csm,window);
ue_csm.ue.exec(function(e,f){var a=e.ue||{},b=a._wlo,d;if(a.ssw){d=a.ssw("CSM_previousURL").val;var c=f.location,b=b?b:c&&c.href?c.href.split("#")[0]:void 0;c=(b||"")===a.ssw("CSM_previousURL").val;!c&&b&&a.ssw("CSM_previousURL",b);d=c?"reload":d?"intrapage-transition":"first-view"}else d="unknown";a._nt=d},"NavTypeModule")(ue_csm,window);
(function(b,c){var a=c.images;a&&a.length&&b.ue.count("totalImages",a.length)})(ue_csm,document);
(function(b){function c(){var d=[];a.log&&a.log.isStub&&a.log.replay(function(a){e(d,a)});a.clog&&a.clog.isStub&&a.clog.replay(function(a){e(d,a)});d.length&&(a._flhs+=1,n(d),p(d))}function g(){a.log&&a.log.isStub&&(a.onflush&&a.onflush.replay&&a.onflush.replay(function(a){a[0]()}),a.onunload&&a.onunload.replay&&a.onunload.replay(function(a){a[0]()}),c())}function e(d,b){var c=b[1],f=b[0],e={};a._lpn[c]=(a._lpn[c]||0)+1;e[c]=f;d.push(e)}function n(b){q&&(a._lpn.csm=(a._lpn.csm||0)+1,b.push({csm:{k:"chk",
f:a._flhs,l:a._lpn,s:"inln"}}))}function p(a){if(h)a=k(a),b.navigator.sendBeacon(l,a);else{a=k(a);var c=new b[f];c.open("POST",l,!0);c.setRequestHeader&&c.setRequestHeader("Content-type","text/plain");c.send(a)}}function k(a){return JSON.stringify({rid:b.ue_id,sid:b.ue_sid,mid:b.ue_mid,mkt:b.ue_mkt,sn:b.ue_sn,reqs:a})}var f="XMLHttpRequest",q=1===b.ue_ddq,a=b.ue,r=b[f]&&"withCredentials"in new b[f],h=b.navigator&&b.navigator.sendBeacon,l="//"+b.ue_furl+"/1/batch/1/OE/",m=b.ue_fci_ft||5E3;a&&(r||h)&&
(a._flhs=a._flhs||0,a._lpn=a._lpn||{},a.attach&&(a.attach("beforeunload",g),a.attach("pagehide",g)),m&&b.setTimeout(c,m),a._ffci=c)})(window);
ue_csm.ue._rtn = 1;
(function(e,f){function h(a){a=a.split("?")[0]||a;a=a.replace("http://","").replace("https://","").replace("resource://","").replace("res://","").replace("undefined://","").replace("chrome://","").replace(/\*/g,"").replace(/!/g,"").replace(/~/g,"");var b=a.split("/");a=a.substr(a.lastIndexOf("/")+1);b.splice(-1);b=b.map(function(a){c[a]||(c[a]=(k++).toString(36));return c[a]});b.push(a);return b.join("!")}function l(){return f.getEntriesByType("resource").filter(function(a){return d._rre(a)<d._ld}).sort(function(a,
b){return a.responseEnd-b.responseEnd}).splice(0,m).map(function(a){var b=[],c;for(c in a)g[c]&&a[c]&&b.push(g[c]+Math.max(a[c]|0,-1).toString(36));b.push("i"+a.initiatorType);(1==d._rtn&&d._afjs>n||2==d._rtn)&&b.push("n"+h(a.name));return b.join("_")}).join("*")}function p(){var a="pm",b;for(b in c)c.hasOwnProperty(b)&&(a+="*"+c[b]+"_"+b);return a}function q(){d.log({k:"rtiming",value:l()+"~"+p()},"csm")}if(f&&f.getEntriesByType&&Array.prototype.map&&Array.prototype.filter&&e.ue&&e.ue.log){var g=
{connectStart:"c",connectEnd:"C",domainLookupStart:"d",domainLookupEnd:"D",duration:"z",encodedBodySize:"e",decodedBodySize:"E",fetchStart:"f",redirectStart:"r",redirectEnd:"R",requestStart:"q",responseStart:"s",responseEnd:"S",startTime:"a",transferSize:"t"},d=e.ue,c={},k=1,n=20,m=200;d&&d._rre&&(d._art=function(){d._ld&&window.setTimeout(q,0)})}})(ue_csm||{},window.performance);
(function(c,d){var b=c.ue,a=d.navigator;b&&b.tag&&a&&(a=a.connection||a.mozConnection||a.webkitConnection)&&a.type&&b.tag("netInfo:"+a.type)})(ue_csm,window);
(function(c,d){function h(a,b){for(var c=[],d=0;d<a.length;d++){var e=a[d],f=b.encode(e);if(e[k]){var g=b.metaSep,e=e[k],l=b.metaPairSep,h=[],m=void 0;for(m in e)e.hasOwnProperty(m)&&h.push(m+"="+e[m]);e=h.join(l);f+=g+e}c.push(f)}return c.join(b.resourceSep)}function s(a){var b=a[k]=a[k]||{};b[t]||(b[t]=c.ue_mid);b[u]||(b[u]=c.ue_sid);b[f]||(b[f]=c.ue_id);b.csm=1;a="//"+c.ue_furl+"/1/"+a[v]+"/1/OP/"+a[w]+"/"+a[x]+"/"+h([a],y);if(n)try{n.call(d[p],a)}catch(g){c.ue.sbf=1,(new Image).src=a}else(new Image).src=
a}function q(){g&&g.isStub&&g.replay(function(a,b,c){a=a[0];b=a[k]=a[k]||{};b[f]=b[f]||c;s(a)});l.impression=s;g=null}if(!(1<c.ueinit)){var k="metadata",x="impressionType",v="foresterChannel",w="programGroup",t="marketplaceId",u="session",f="requestId",p="navigator",l=c.ue||{},n=d[p]&&d[p].sendBeacon,r=function(a,b,c,d){return{encode:d,resourceSep:a,metaSep:b,metaPairSep:c}},y=r("","?","&",function(a){return h(a.impressionData,z)}),z=r("/",":",",",function(a){return a.featureName+":"+h(a.resources,
A)}),A=r(",","@","|",function(a){return a.id}),g=l.impression;n?q():(l.attach("load",q),l.attach("beforeunload",q));try{d.P&&d.P.register&&d.P.register("impression-client",function(){})}catch(B){c.ueLogError(B,{logLevel:"WARN"})}}})(ue_csm,window);
var ue_pty = "DetailAW";
var ue_spty = "Glance";
var ue_pti = "193435659X";
var ue_adb = 4;
var ue_adb_rtla = 1;
ue_csm.ue.exec(function(w,a){function q(){if(d&&f){var a;a:{try{a=d.getItem(g);break a}catch(c){}a=void 0}if(a)return b=a,!0}return!1}function r(){b=h;k();if(f)try{d.setItem(g,b)}catch(a){}}function s(){b=1===a.ue_adb_chk?l:h;k();if(f)try{d.setItem(g,b)}catch(c){}}function m(){a.ue_adb_rtla&&c&&0<c.ec&&!1===n&&(c.elh=null,ueLogError({m:"Hit Info",fromOnError:1},{logLevel:"INFO",adb:b}),n=!0)}function k(){e.tag(b);e.isl&&a.uex&&uex("at",b);p&&p.updateCsmHit("adb",b);c&&0<c.ec?m():a.ue_adb_rtla&&c&&
(c.elh=m)}function t(){return b}if(a.ue_adb){var e=a.ue,h="adblk_yes",l="adblk_no",b="adblk_unk",d;a:{try{d=a.localStorage;break a}catch(x){}d=void 0}var g="csm:adb",c=a.ue_err,p=e.cookie,f=void 0!==a.localStorage,u=0.98<Math.random(),n=!1,v=q();u||!v?e.uels("https://m.media-amazon.com/images/G/01/csm/showads.v2.js",{onerror:r,onload:s}):k();a.ue_isAdb=t;a.ue_isAdb.unk="adblk_unk";a.ue_isAdb.no=l;a.ue_isAdb.yes=h}},"adb")(document,window);
(function(a,b){a.ue_cel||(a.ue_cel=function(){function k(a,c){c?c.r=v:c={r:v,c:1};c.clog&&h.clog?h.clog(a,c.ns||e,c):c.glog&&h.glog?h.glog(a,c.ns||e,c):h.log(a,c.ns||e,c)}function m(){var a=d.length;if(0<a){for(var c=[],b=0;b<a;b++){var g=d[b].api;g.ready()?(g.on({ts:h.d,ns:e}),f.push(d[b]),k({k:"mso",n:d[b].name,t:h.d()})):c.push(d[b])}d=c}}function g(){if(!g.executed){for(var a=0;a<f.length;a++)f[a].api.off&&f[a].api.off({ts:h.d,ns:e});q();k({k:"eod",t0:h.t0,t:h.d()},{c:1,il:1});g.executed=1;for(a=
0;a<f.length;a++)d.push(f[a]);f=[];clearTimeout(w);clearTimeout(r)}}function q(a){k({k:"hrt",t:h.d()},{c:1,il:1,n:a});B=Math.min(c,u*B);x()}function x(){clearTimeout(r);r=setTimeout(function(){q(!0)},B)}function t(){g.executed||q()}var u=1.5,c=b.ue_cel_max_hrt||3E4,d=[],f=[],e=a.ue_cel_ns||"cel",w,r,h=a.ue,n=a.uet,s=a.uex,v=h.rid,B=b.ue_cel_hrt_int||3E3,p=function(){var a=b.performance,c=h.ssw&&h.ssw(h.oid)||{},c="undefined"===typeof c.val||"1"!==c.val;return a&&a.navigation&&2===a.navigation.type&&
c}(),l=b.requestAnimationFrame||function(a){a()};if(p)k({k:"bft",t:h.d()});else{"function"==typeof n&&n("bb","csmCELLSframework",{wb:1});setTimeout(m,0);h.onunload(g);if(h.onflush)h.onflush(t);w=setTimeout(g,6E5);x();"function"==typeof s&&s("ld","csmCELLSframework",{wb:1});return{registerModule:function(a,c){d.push({name:a,api:c});k({k:"mrg",n:a,t:h.d()});m()},reset:function(a){k({k:"rst",t0:h.t0,t:h.d()});d=d.concat(f);f=[];for(var c=d.length,b=0;b<c;b++)d[b].api.off(),d[b].api.reset();v=a||h.rid;
m();clearTimeout(w);w=setTimeout(g,6E5);g.executed=0},timeout:function(a,c){return b.setTimeout(function(){l(function(){g.executed||a()})},c)},log:k,off:g}}}())})(ue_csm,window);
(function(a,b,k){a.ue_pdm||!a.ue_cel||ue.isBF||(a.ue_pdm=function(){function m(){var c={w:e.width,aw:e.availWidth,h:e.height,ah:e.availHeight,cd:e.colorDepth,pd:e.pixelDepth},b=k.body||{},d=k.documentElement||{},b={w:Math.max(b.scrollWidth||0,b.offsetWidth||0,d.clientWidth||0,d.scrollWidth||0,d.offsetWidth||0),h:Math.max(b.scrollHeight||0,b.offsetHeight||0,d.clientHeight||0,d.scrollHeight||0,d.offsetHeight||0)};n&&n.w==c.w&&n.h==c.h&&n.aw==c.aw&&n.ah==c.ah&&n.pd==c.pd&&n.cd==c.cd||(n=c,n.t=r(),n.k=
"sci",l(n));s&&s.w==b.w&&s.h==b.h||(s=b,s.t=r(),s.k="doi",l(s));w=a.ue_cel.timeout(m,h);B+=1}function g(){c("ebl","default",!1)}function q(){c("efo","default",!0)}function x(){c("ebl","app",!1)}function t(){c("efo","app",!0)}function u(){b.setTimeout(function(){k[J]?c("ebl","pageviz",!1):c("efo","pageviz",!0)},0)}function c(a,c,b){v!==b&&l({k:a,t:r(),s:c},{ff:!0===b?0:1});v=b}function d(){p.attach&&(y&&p.attach(D,u,k),C&&P.when("mash").execute(function(a){a&&a.addEventListener&&(a.addEventListener("appPause",
x),a.addEventListener("appResume",t))}),p.attach("blur",g,b),p.attach("focus",q,b))}function f(){p.detach&&(y&&p.detach(D,u,k),C&&P.when("mash").execute(function(a){a&&a.removeEventListener&&(a.removeEventListener("appPause",x),a.removeEventListener("appResume",t))}),p.detach("blur",g,b),p.detach("focus",q,b))}var e,w,r,h,n,s,v=null,B=0,p=a.ue,l=a.ue_cel.log,A=a.uet,z=a.uex,y=!!p.pageViz,D=y&&p.pageViz.event,J=y&&p.pageViz.propHid,C=b.P&&b.P.when;"function"==typeof A&&A("bb","csmCELLSpdm",{wb:1});
return{on:function(a){h=a.timespan||500;r=a.ts;e=b.screen;d();a=b.location;l({k:"pmd",o:a.origin,p:a.pathname,t:r()});m();"function"==typeof z&&z("ld","csmCELLSpdm",{wb:1})},off:function(a){clearTimeout(w);f();p.count&&p.count("cel.PDM.TotalExecutions",B)},ready:function(){return k.body&&a.ue_cel&&a.ue_cel.log},reset:function(){n=s=null}}}(),a.ue_cel&&a.ue_cel.registerModule("page module",a.ue_pdm))})(ue_csm,window,document);
(function(a,b){a.ue_vpm||!a.ue_cel||ue.isBF||(a.ue_vpm=function(){function k(){var a=t(),d={w:b.innerWidth,h:b.innerHeight,x:b.pageXOffset,y:b.pageYOffset};g&&g.w==d.w&&g.h==d.h&&g.x==d.x&&g.y==d.y||(d.t=a,d.k="vpi",g=d,f(g,{clog:1}));q=0;u=t()-a;c+=1}function m(){q||(q=a.ue_cel.timeout(k,x))}var g,q,x,t,u=0,c=0,d=a.ue,f=a.ue_cel.log,e=a.uet,w=a.uex,r=d.attach,h=d.detach;"function"==typeof e&&e("bb","csmCELLSvpm",{wb:1});return{on:function(a){t=a.ts;x=a.timespan||100;k();r&&(r("scroll",m),r("resize",
m));"function"==typeof w&&w("ld","csmCELLSvpm",{wb:1})},off:function(a){clearTimeout(q);h&&(h("scroll",m),h("resize",m));d.count&&(d.count("cel.VPI.TotalExecutions",c),d.count("cel.VPI.TotalExecutionTime",u),d.count("cel.VPI.AverageExecutionTime",u/c))},ready:function(){return a.ue_cel&&a.ue_cel.log},reset:function(){g=void 0},getVpi:function(){return g}}}(),a.ue_cel&&a.ue_cel.registerModule("viewport module",a.ue_vpm))})(ue_csm,window);
(function(a,b,k){if(!a.ue_fem&&a.ue_cel){var m=a.ue||{};!m.isBF&&!a.ue_fem&&k.querySelector&&b.getComputedStyle&&[].forEach&&(a.ue_fem=function(){function g(a,c){return a>c?3>a-c:3>c-a}function q(a,c){var d=b.pageXOffset,e=b.pageYOffset,f;a:{try{if(a){var h=a.getBoundingClientRect();f={x:h.left+d|0,y:h.top+e|0,w:h.width|0,h:h.height|0,d:(0===a.offsetWidth&&0===a.offsetHeight)|0}}else f=void 0;break a}catch(k){}f=void 0}if(f&&!a.cel_b)a.cel_b=f,p({n:a.cel_n,w:a.cel_b.w,h:a.cel_b.h,d:a.cel_b.d,x:a.cel_b.x,
y:a.cel_b.y,t:c,k:"ewi",cl:a.className},{clog:1});else{if(d=f)d=a.cel_b,e=f,d=e.d===d.d&&1===e.d?!1:!(g(d.x,e.x)&&g(d.y,e.y)&&g(d.w,e.w)&&g(d.h,e.h)&&d.d===e.d);d&&(a.cel_b=f,p({n:a.cel_n,w:a.cel_b.w,h:a.cel_b.h,d:a.cel_b.d,x:a.cel_b.x,y:a.cel_b.y,t:c,k:"ewi"},{clog:1}))}}function x(a,d){var b;b=a.c?k.getElementsByClassName(a.c):a.id?[k.getElementById(a.id)]:k.querySelectorAll(a.s);a.w=[];for(widgetIndex=0;widgetIndex<b.length;widgetIndex++){var e=b[widgetIndex];e&&(e.cel_n||(e.cel_n=e.getAttribute("cel_widget_id")||
(a.id_gen||B)(e,widgetIndex)||e.id),a.w.push(e),c(M,e,d))}}function t(a,c){l.contains(a)||p({n:a.cel_n,t:c,k:"ewd"},{clog:1})}function u(a){F.length&&ue_cel.timeout(function(){if(n){for(var c=N(),d=!1;N()-c<h&&!d;){for(d=O;0<d--&&0<F.length;){var b=F.shift();Q[b.type](b.elem,b.time)}d=0===F.length}R++;u(a)}},0)}function c(a,c,d){F.push({type:a,elem:c,time:d})}function d(a,d){for(var b=0;b<v.length;b++)for(var e=v[b].w||[],f=0;f<e.length;f++)c(a,e[f],d)}function f(){H||(H=a.ue_cel.timeout(function(){H=
null;var a=s();d(T,a);for(var b=0;b<v.length;b++)c(U,v[b],a);u(a)},r))}function e(){H||K||(K=a.ue_cel.timeout(function(){K=null;var a=s();d(M,a);u(a)},r))}function w(){return z&&y&&l&&l.contains&&l.getBoundingClientRect&&s}var r=50,h=4.5,n=!1,s,v=[],B=function(){},p=a.ue_cel.log,l,A,z,y,D=b.MutationObserver||b.WebKitMutationObserver||b.MozMutationObserver,J=!!D,C,E,L="DOMAttrModified",G="DOMNodeInserted",I="DOMNodeRemoved",K,H,F=[],R=0,O=null,T="removedWidget",U="updateWidgets",M="processWidget",
Q,S=b.performance||{},N=S.now&&function(){return S.now()}||function(){return Date.now()};"function"==typeof uet&&uet("bb","csmCELLSfem",{wb:1});return{on:function(c){function b(){if(w()){Q={removedWidget:t,updateWidgets:x,processWidget:q};if(J){var a={attributes:!0,subtree:!0};C=new D(e);E=new D(f);C.observe(l,a);E.observe(l,{childList:!0,subtree:!0});E.observe(A,a)}else z.call(l,L,e),z.call(l,G,f),z.call(l,I,f),z.call(A,G,e),z.call(A,I,e);f()}}l=k.body;A=k.head;z=l.addEventListener;y=l.removeEventListener;
s=c.ts;v=a.cel_widgets||[];O=c.bs||5;m.deffered?b():m.attach&&m.attach("load",b);"function"==typeof uex&&uex("ld","csmCELLSfem",{wb:1});n=!0},off:function(){w()&&(E&&(E.disconnect(),E=null),C&&(C.disconnect(),C=null),y.call(l,L,e),y.call(l,G,f),y.call(l,I,f),y.call(A,G,e),y.call(A,I,e));m.count&&m.count("cel.widgets.batchesProcessed",R);n=!1},ready:function(){return a.ue_cel&&a.ue_cel.log},reset:function(){v=a.cel_widgets||[]}}}(),a.ue_cel&&a.ue_fem&&a.ue_cel.registerModule("features module",a.ue_fem))}})(ue_csm,
window,document);
(function(a,b,k){a.ue_mcm||!a.ue_cel||a.ue.isBF||(a.ue_mcm=function(){function m(a){try{if(a.id)return"//*[@id='"+a.id+"']";var b,f=1,e;for(e=a.previousSibling;e;e=e.previousSibling)e.nodeName==a.nodeName&&(f+=1);b=f;var g=a.nodeName;1!=b&&(g+="["+b+"]");a.parentNode&&(g=m(a.parentNode)+"/"+g);return g}catch(k){return"DETACHED"}}function g(c,d){var f=c.srcElement||c.target||{},e={k:q,w:(d||{}).ow||(b.body||{}).scrollWidth,h:(d||{}).oh||(b.body||{}).scrollHeight,t:(d||{}).ots||x(),x:c.pageX,y:c.pageY,
p:m(f),n:f.nodeName};a.ue_cdt&&k&&"function"===typeof k.now&&c.timeStamp&&(e.dt=(d||{}).odt||k.now()-c.timeStamp,e.dt=parseFloat(e.dt.toFixed(2)));c.button&&(e.b=c.button);f.href&&(e.r=f.href);f.id&&(e.i=f.id);f.className&&f.className.split&&(e.c=f.className.split(/\s+/));u(e,{c:1})}var q="mcm",x,t=a.ue,u=a.ue_cel.log;return{on:function(c){x=c.ts;a.ue_cel_stub&&a.ue_cel_stub.replayModule(q,g);t.attach&&t.attach("click",g,b)},off:function(a){t.detach&&t.detach("click",g,b)},ready:function(){return a.ue_cel&&
a.ue_cel.log},reset:function(){}}}(),a.ue_cel&&a.ue_cel.registerModule("mouse click module",a.ue_mcm))})(ue_csm,document,window.performance);
ue_csm.ue_cmr = 1;
ue_csm.ue_unrt = 750;
(function(d,c,t){function p(a){try{if(a.id)return"//*[@id='"+a.id+"']";var d,c=1,g;for(g=a.previousSibling;g;g=g.previousSibling)g.nodeName===a.nodeName&&(c+=1);d=c;var b=a.nodeName;1!==d&&(b+="["+d+"]");a.parentNode&&(b=p(a.parentNode)+"/"+b);return b}catch(e){return"DETACHED"}}function u(a){l=!0;var f=h=d.ue.d(),k;d.ue_cdt&&m&&"function"===typeof m.now&&a.timeStamp&&(k=m.now()-a.timeStamp,k=parseFloat(k.toFixed(2)));q=c.setTimeout(function(){var c=k,b=a.srcElement||a.target||{},e={k:v,t:f,x:a.pageX,
y:a.pageY,p:p(b),n:b.nodeName};d.ue_cdt&&c&&(e.dt=c);a.button&&(e.b=a.button);b.type&&(e.ty=b.type);b.href&&(e.r=b.href);b.id&&(e.i=b.id);b.className&&b.className.split&&(e.c=b.className.split(/\s+/));d.ue.log(e,r)},w)}function x(a){n=!0;f=d.ue.d();l&&n&&(d.ue_cmr&&f&&h&&d.ue.log({k:y,t:h,m:Math.abs(f-h)},r),s(),n=!1,f=0)}function s(){l=!1;h=0;c.clearTimeout(q)}if(c.MutationObserver&&c.addEventListener&&d&&d.ue_unrt){var w=d.ue_unrt,r="cel",v="unr_mcm",y="res_mcm",m=c.performance,l=!1,h=0,q=0,n=!1,
f=0;c.addEventListener&&(c.addEventListener("mousedown",u,!0),c.addEventListener("beforeunload",s,!0));(new MutationObserver(x)).observe(t,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}})(ue_csm,window,document);
ue_csm.ue.exec(function(g,f){f.ue_err=f.ue_err||{};var e="";f.ue_err.addContextInfo=function(a){if(!a.logLevel||"FATAL"===a.logLevel)if(e=g.getElementsByTagName("html")[0].innerHTML){var b=e.indexOf("var ue_t0=ue_t0||+new Date();");if(-1!=b){var b=e.substr(0,b).split("\n"),d=Math.max(b.length-5-1,0),b=b.slice(d,b.length-1);a.fcsmln=b.length+1;a.cinfo=a.cinfo||{};for(var c=0;c<b.length;c++)a.cinfo[d+c+1+""]=b[c]}b=e.split("\n");a.cinfo=a.cinfo||{};if(!(a.f||void 0===a.l||a.l in a.cinfo))for(c=+a.l-
1,d=Math.max(c-2,0),c=Math.min(c+2,b.length-1);d<=c;d++)a.cinfo[d+1+""]=b[d]}}},"fatals-context")(document,window);
ue_csm.ue.exec(function(c,a){function g(a){a.run(function(e){d.tag("csm-feature-"+a.name+":"+e);d.isl&&c.uex("at")})}if(a.addEventListener)for(var d=c.ue||{},f=[{name:"touch-enabled",run:function(b){var e=function(){a.removeEventListener("touchstart",c,!0);a.removeEventListener("mousemove",d,!0)},c=function(){b("true");e()},d=function(){b("false");e()};a.addEventListener("touchstart",c,!0);a.addEventListener("mousemove",d,!0)}}],b=0;b<f.length;b++)g(f[b])},"csm-features")(ue_csm,window);
ue_csm.ue.exec(function(c){var d=[];c=c.ue;c.attach("load",function(){for(var b=500,a=0;a<d.length;a++)"function"===typeof d[a].handler&&(b+=500,setTimeout(d[a].handler,b))});c.guardrails={register:function(b,a){d.push({name:b,handler:a})}}},"guardrails")(window);
/* ◬ */
</script>
</div>
<noscript>
&lt;img height="1" width="1" style='display:none;visibility:hidden;' src='//fls-na.amazon.com/1/batch/1/OP/ATVPDKIKX0DER:147-0816675-1753153:7F3MGDYTH1YH8KVBSFWJ$uedata=s:%2Fgp%2Fuedata%3Fnoscript%26id%3D7F3MGDYTH1YH8KVBSFWJ:0' alt=""/&gt;
</noscript>
</div>
<!-- _
.__(.)< (MEOW)
\___)
~~~~~~~~~~~~~~~~~~-->
<!-- sp:eh:nxKRlIdYKbZTu5lRgm/ao4BcGM7Iw8+IqddnyDkK9WYnLVVlyyAn6L00i1xB0PUnYJtgXqul4sBCr/DGwkCUzRPl+mhStGuy257u104z7Q8XEryL -->
</div><div id="a-white"></div><div id="vas-twister-loading" style="top: 225px; left: 0px; height: 736px; display: none;"><div id="vas-twister-spinner"></div></div><div id="a-popover-root" style="z-index:-1;position:absolute;"></div><script type="text/html" id="a9-suggestion-template"><div id='<#= suggestionId #>'class='suggest_row a9_suggestion'><div class='suggest_link2 isRTL' dir='auto'><span> <b><#= bprefix #></b><#= prefix #><b><#= suffix #></span></b></div></div></script><script type="text/html" id="suggestions-template"><div id='suggestions-template'><div id='suggestions2' class=''><# if (typeof suggestions !== 'undefined') { for(var i=0; i < suggestions.length; i++){ var displayString = suggestions[i].display; #><#= displayString #> <# } } #> </div> </div></script><script type="text/html" id="a9xc-suggestion-template"><div id='<#= suggestionId #>' class='suggest_row cross_category_suggestion'><div class='suggest_link isRTL' dir='auto'> <span> <#= bprefix #><b><#= prefix #></b><#= suffix #> </span><span class='suggestion_search_scope'><#= storeText #> </span></div><div class='suggest_delete suggest_builder'></div></div></script></body></html>