1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[511,974],{197:()=>{},841:()=>{},1866:()=>{},2192:()=>{},2755:(e,t,r)=>{"use strict";r.d(t,{default:()=>w});var n=r(5155),a=r(1208),s=r(3742),l=r(6430),i=r(3315),c=r(690),o=r(3077),u=r(7250),d=r(2619),m=r.n(d),p=r(2115),h=r(5644),x=r.n(h),g=r(9316);function f(e){let{cue:t,active:r,seek:a}=e;return(0,n.jsx)("div",{className:"metadata-point ".concat(r?"active":""),onClick:()=>a(t.startTime),children:t.text})}function k(e){let{track:t,seek:r}=e;if(!t||!t.cues||0===t.cues.length)return null;let a=[];for(let e=0;e<t.cues.length;e++){let s=t.cues[e];a.push((0,n.jsx)(f,{cue:s,active:!1,seek:r},"point-".concat(e)))}return(0,n.jsx)("div",{className:"track",children:a})}function j(e){let{cue:t,active:r,seek:a,query:s}=e,l=t.text.replace(/<v ([^>]+)>\s*/,"(Speaker $1): ").trim(),i=s?l.split(RegExp("(".concat(s,")"),"gi")):[l];return(0,n.jsx)("div",{className:"transcript-line ".concat(r?"active":""),onClick:()=>a(t.startTime),children:i.map((e,t)=>(0,n.jsx)("span",{style:s&&e.toLowerCase()===s.toLowerCase()?{fontWeight:"bold",background:"yellow",color:"black"}:{},children:e},t))})}function b(e){let{track:t,seek:r,query:a,currentTime:s}=e;if(!t||!t.cues)return null;let l=null;for(let e=0;e<t.cues.length;e++){let r=t.cues[e];if(s>=r.startTime&&s<=r.endTime){r.text&&r.text.trim().length>0&&(l=r);break}}return l?(0,n.jsx)("div",{className:"track",children:(0,n.jsx)(j,{cue:l,active:!0,seek:r,query:a})}):null}function v(e){let{title:t,author:r,image_url:a,audio_url:s,transcript_url:c,metadata_url:o,preload:u=!1,initial_query:d=""}=e,[m,h]=(0,p.useState)(!1),[x,f]=(0,p.useState)(!1),[j,v]=(0,p.useState)(!1),[y,_]=(0,p.useState)(0),[w]=(0,p.useState)(d),T=(0,p.useRef)(null),S=(0,p.useRef)(null),C=(0,p.useRef)(null),E=(0,p.useCallback)(()=>{C.current&&_(C.current.currentTime)},[]),A=(0,p.useCallback)(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=T.current;if(t&&t.track&&t.track.cues&&t.track.cues.length>0)v(!0);else{let t=25*Math.pow(e+1,2);e<50&&setTimeout(()=>A(e+1),t)}},[]);(0,p.useEffect)(()=>{c&&(v(!1),T.current&&T.current.track&&(T.current.track.mode="hidden"),S.current&&S.current.track&&(S.current.track.mode="hidden"),A())},[A,c]);let N=(0,p.useCallback)(e=>{C.current&&(C.current.currentTime=e,C.current.play().catch(e=>console.error("Error playing audio after seek",e)))},[]),L=null,P=null;return j&&T.current&&(L=T.current.track),j&&S.current&&(P=S.current.track),(0,n.jsxs)(l.default,{className:"webvtt-player",sx:{width:"100%"},children:[(0,n.jsxs)(l.default,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},alignItems:"center",gap:3,bgcolor:"rgba(255, 255, 255, 0.05)",p:3,borderRadius:2,border:"1px solid rgba(255, 255, 255, 0.1)"},children:[(0,n.jsx)(l.default,{component:"img",src:a,alt:t,onClick:()=>h(!0),sx:{width:{xs:"100%",sm:120},height:{xs:"auto",sm:120},borderRadius:1,boxShadow:3,cursor:"pointer",transition:"transform 0.2s","&:hover":{transform:"scale(1.05)"}}}),(0,n.jsx)(g.Ay,{open:m,close:()=>h(!1),slides:[{src:a}],render:{buttonPrev:()=>null,buttonNext:()=>null}}),(0,n.jsxs)(l.default,{sx:{flex:1,width:"100%"},children:[(0,n.jsx)(i.default,{variant:"h6",component:"div",gutterBottom:!0,sx:{fontWeight:"bold"},children:t}),(0,n.jsx)(i.default,{variant:"subtitle2",color:"text.secondary",gutterBottom:!0,children:r}),(0,n.jsxs)("audio",{controls:!0,onCanPlay:()=>f(!0),onTimeUpdate:E,preload:u?"auto":"none",ref:C,src:s,style:{width:"100%",marginTop:"12px",filter:"invert(100%) hue-rotate(180deg) brightness(1.5)"},children:[c&&(0,n.jsx)("track",{default:!0,kind:"subtitles",src:c,ref:T,onError:e=>console.error("Transcript track failed to load",e)},c),o&&(0,n.jsx)("track",{default:!0,kind:"metadata",src:o,ref:S,onError:e=>console.error("Metadata track failed to load",e)},o)]})]})]}),c&&j&&(0,n.jsxs)(l.default,{className:"tracks",sx:{mt:2},children:[(0,n.jsx)(b,{seek:N,track:L,query:w,currentTime:y}),o&&(0,n.jsx)(k,{track:P,seek:N})]})]})}r(9159),r(9315),r(841),r(2192),r(5831);let y=["cmn","deu","hin","ita","spa"],_=new Map([["cmn","Mandarin Chinese"],["deu","German"],["hin","Hindi"],["ita","Italian"],["spa","Spanish"]]);
1function w(e){let{content:t,previous:r,next:d,hasCaptions:h}=e,[g,f]=(0,p.useState)([]),k=(e,t)=>String(e).padStart(t,"0"),j="/audio-proxy/Episodes/ProgrammingThrowdown_".concat(k(t.episode_number,2),".mp3");(0,p.useEffect)(()=>{void 0!==t.episode_number&&null!==t.episode_number&&y.forEach(e=>{let r="https://programmingthrowdown.s3.amazonaws.com/TranslatedEpisodes/"+k(t.episode_number,2)+"/ProgrammingThrowdown_"+k(t.episode_number,2)+"_"+e+".mp3";fetch(r,{method:"HEAD"}).then(t=>{200===t.status&&f(t=>t.some(t=>t.language===e)?t:[...t,{language:e,url:r,opened:!1}])}).catch(e=>{})})},[t.episode_number]);var b=null;return g.length>0&&(b=(0,n.jsx)(l.default,{paddingTop:"2em",children:g.map((e,t)=>e.opened?(0,n.jsx)("audio",{controls:!0,autoPlay:!0,crossOrigin:"anonymous",children:(0,n.jsx)("source",{src:e.url})},"AlternateLanguage_"+e.language+"_opened"):(0,n.jsx)("div",{children:(0,n.jsx)(i.default,{sx:{fontSize:12},children:(0,n.jsxs)(c.A,{variant:"outlined",onClick:()=>{f(g.map(t=>t.language==e.language?{language:t.language,opened:!0,url:t.url}:t))},children:["Listen in ",_.get(e.language)]})})},"AlternateLanguage_"+e.language))})),(0,n.jsxs)("div",{children:[(0,n.jsxs)(o.Ay,{container:!0,spacing:2,padding:"2em",children:[(0,n.jsx)(o.Ay,{item:!0,xs:12,lg:6,children:r&&(0,n.jsx)(m(),{href:"/episodes/".concat(r.slug),style:{textDecoration:"none"},children:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"nowrap"},children:[(0,n.jsx)(a.A,{fontSize:"small"}),r.title]})})}),(0,n.jsx)(o.Ay,{item:!0,xs:12,lg:6,children:d&&(0,n.jsx)(m(),{href:"/episodes/".concat(d.slug),style:{textDecoration:"none"},children:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"nowrap"},children:[d.title,(0,n.jsx)(s.A,{})]})})})]}),(0,n.jsx)(l.default,{paddingBottom:"1em",children:(0,n.jsx)(v,{title:t.title,author:t.author,image_url:t.image_url,audio_url:j,transcript_url:h?"/rss/episodes/".concat(t.episode_number,"/transcript.vtt"):void 0})}),b,(0,n.jsx)(l.default,{paddingTop:"2em",children:(0,n.jsx)("div",{className:"episode",dangerouslySetInnerHTML:{__html:x()(u.Ay.link(t.description))}})})]})}},5831:()=>{},6681:(e,t,r)=>{Promise.resolve().then(r.bind(r,2755))},9315:()=>{},9746:()=>{},9977:()=>{}},e=>{e.O(0,[825,365,354,384,441,229,255,358],()=>e(e.s=6681)),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.