eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('9 1h=W.X(\'1h\');9 2A=W.X(\'4r\');9 1i=W.X(\'4s\');9 4t=W.X(\'4u\');9 2B=W.X(\'4v\');9 2C=W.X(\'4w\');9 R=W.X(\'4x\');9 3r=W.X(\'1b\');b E;b 26=F;b 27=0;b Y=\'\';b Z=G;b M=G;b 1j=G;b 1c=F;b 4y=\'\';b 28=F;b 29="";b 1k=F;9 3s=1d;9 3t="4z://4A.4B.4C/4D/4E/4F";9 3u=S;b u=F;b 11=[];b 1S=[];9 1e=o 2D();9 1f=o 2D();9 3v=10;9 3w=4G;b v=[];9 1T=o 2D();9 3x=4H;9 1U=h=>h.1l().4I().2E(/[^\\w\\s]/g,\'\');9 2F=(13,l,2a,3y)=>`${13}-${l}-${2G.2H(2a)}-${3y}`;9 3A=(h,l)=>{9 13=1U(h);9 e=2F(13,l,v,1i.H);a(1f.2b(e)||1e.2b(e))1g;1S.1m({h:h.1l(),l,e});2I()};9 2I=1n()=>{2J(1S.m>0&&1f.4J<3v){9{h,l,e}=1S.3B();9 1o=o 3C();1f.2K(e,1o);1V{9 t=p 2L(`/3D?h=${2M(h)}&2a=${2G.2H(v)}&3E=${1i.H}`,{2N:\'2O\',3F:{\'3G\':\'z/T-2c\',\'1W-3H\':\'3I/3J\'},1p:1o.1p});a(!t.1q)1X o 15(\'2P t 2Q 2d 1q\');9 2R=p 2S(t.3K,l,1o.1p);a(2R)1e.2K(e,{I:2R,2e:N.O()})}1Y(f){a(f.3L!==\'2f\')J.f("15 4K U:",f)}2g{1f.2h(e);2I()}}};9 2S=1n(2i,l,2j)=>{9 1r=2i.3M();9 2k=o 3N("3O-8");b 17="";1V{2J(K){9{2l,H}=p 1r.3P();a(2l)2T;a(2j.2m)1X o 3Q(\'3R 2m\',\'2f\');9 2n=2k.3S(H,{2c:K});17+=2n;9 P=17.3T(\'\\n\');2o(b i=0;i{a(11.m>0){9 3X=11.3B();9 U=o 4L(3X.I);Q();9 3Y=o 3Z(20=>{U.4M=20;U.40=20});a(u){u.41();u.42=0}u=U;p U.4N();p 3Y;1s()}L{Q()}};9 1Z=1n(z,l)=>{9 43=1U(z);9 e=`${43}-${l}`;a(1T.2b(e)){9 1t=1T.44(e);a(N.O()-1t.2e<3x){1g 1t.I}L{1T.2h(e)}}1V{9 t=p 2L(`${3t}?l=${l}&z=${2M(z)}`,{2N:\'2O\'});a(!t.1q)1X o 15(\'2P t 2Q 2d 1q\');9 45=p t.4O();9 x=4P.4Q(45);1T.2K(e,{I:x,2e:N.O()});1g x}1Y(f){J.f("15 4R 4S U:",f);1g F}};9 2V=1n(h)=>{J.21("4T h c 1u:",h);Z=K;Q();27=N.O();1k=F;9 13=1U(h);9 e=2F(13,1i.H,v,1i.H);a(1e.2b(e)){9 1t=1e.44(e);a(N.O()-1t.2e<3w){9 46=1t.I;11.1m({I:46,2q:K});1s()}L{1e.2h(e)}}1c=o 3C();9 I=`/3D?h=${2M(h)}&3E=${1i.H}&2a=${2G.2H(v)}`;1V{9 t=p 2L(I,{2N:\'2O\',3F:{\'3G\':\'z/T-2c\',\'1W-3H\':\'3I/3J\'},1p:1c.1p});a(!t.1q){a(t.47===4U){J.21("4V 4W 4X, 4Y 2p 1 4Z...");p o 3Z(20=>50(20,51));p 2V(h);1g}1X o 15(`2P t 2Q 2d 1q:${t.47}`)}J.21("52 U t 53");p 2W(t.3K,2A.H,1c.1p)}1Y(f){a(f.3L!==\'2f\'){J.f("15 54 h c 1u:",f)}}2g{Z=G;Q()}};9 2W=1n(2i,l,2j)=>{9 1r=2i.3M();9 2k=o 3N("3O-8");b 17="";b 2X=0;b 1v="";b 1w="";b 22="";b 2r="";1V{2J(K){9{2l,H}=p 1r.3P();a(2l)2T;a(2j.2m)1X o 3Q(\'3R 2m\',\'2f\');a(M){2s(\'48 55 56\');2T}9 2n=2k.3S(H,{2c:K});17+=2n;9 P=17.3T(\'\\n\');2o(b i=0;i=3u){9 x=p 1Z(1x,l);a(x){11.1m({I:x,2q:G});a(!u)1s()}22=""}}a(1v!==\'\'){1v=\'\'}}}}17=P[P.m-1]}}1Y(f){J.f("15 2p 2W:",f)}2g{1r.3W();b 1x=22.2E(2r,\'\').1l();a(1x!==""){9 x=p 1Z(1x,l);a(x){11.1m({I:x,2q:G});a(!u)1s()}}a(1v!==\'\'){1v=\'\'}a(1w!==\'\'){2Y(\'49\',1w);1w=\'\'}}};9 Q=(4a=F)=>{2C.k=M?"4b: 4c":"4b: 4d";2C.25=M?"1y 1z-1A 1B-4 1C-2 z-1D 1E 1F-1G 1H-1I 1J-S A-B-c-r y-2t-18 c-2t-2u 1K:A-B-c-r y-2t-1d c-2t-1L":"1y 1z-1A 1B-4 1C-2 z-1D 1E 1F-1G 1H-1I 1J-S A-B-c-r y-C-S c-C-18 2v:y-C-1L 2v:c-C-4e 1K:A-B-c-r y-C-18 c-C-1d";a(Z&&!u){R.k="1u: 57...";R.25="1y 1z-1A 1B-4 1C-2 z-1D 1E 1F-1G 1H-1I 1J-S A-B-c-r y-2w-18 c-2w-2u 1K:A-B-c-r y-2w-1d c-2w-1L"}L a(u&&!M){R.k=4a||"1u: 4c";R.25="1y 1z-1A 1B-4 1C-2 z-1D 1E 1F-1G 1H-1I 1J-S A-B-c-r y-2x-18 c-2x-2u 1K:A-B-c-r y-2x-1d c-2x-1L"}L a(M){R.k="1u: 2y";R.25="1y 1z-1A 1B-4 1C-2 z-1D 1E 1F-1G 1H-1I 1J-S A-B-c-r y-2z-18 c-2z-2u 1K:A-B-c-r y-2z-1d c-2z-1L"}L{R.k="1u: 4d";R.25="1y 1z-1A 1B-4 1C-2 z-1D 1E 1F-1G 1H-1I 1J-S A-B-c-r y-C-S c-C-18 2v:y-C-1L 2v:c-C-4e 1K:A-B-c-r y-C-18 c-C-1d"}};a(\'4f\'2p 58){E=o 4f();59.5a(E,{5b:K,5c:K,5d:\'5e-5f\',5g:3});E.5h=()=>{J.21("2Z 4g 5i");Y=\'\';M=K;28=N.O();Q();1h.30=\' 4k 2y\'};E.5j=(T)=>{b 1a=\'\';2o(b i=T.5k;i29.m+5){4l(29)}29=1a;3A(1a,2A.H);a(Z&&4m(1a)){2s(\'5n\')}}}};E.40=(T)=>{J.f(\'2Z 4g f:\',T.f);a(1j)E.3n()};E.5o=()=>{M=G;Q();a(!Z&&Y!==\'\'){3m(Y);Y=\'\'}a(1j)E.3n()};1h.5p(\'5q\',()=>{a(1j){E.5r();1j=G;1h.30=\' 5u 2y\'}L{E.3n();1j=K;1h.30=\' 4k 2y\'}})}L{5v(\'5w 5x 5y 2d 5z 5A 5B 2Z 5C.\')}9 2Y=(3o,1W)=>{a(v.m>0&&v[v.m-1].3o===\'49\'&&v[v.m-1].1W===""){v.5D()}v.1m({3o,1W});a(v.m>6)v.5E(0,2)};9 3m=(1b)=>{9 3p=1b.5F();a(3p!==\'\'&&!Z){26=3p;2V(26);2Y(\'48\',26)}};9 4m=(1a)=>N.O()-28>3s||1a.m>5;9 2s=(3q=\'5G\')=>{J.21(`5H U(3q:${3q})...`);a(u){u.41();u.42=0;u=F}11.m=0;Z=G;a(1c){1c.4n();1c=F}1e.5I();1S.m=0;Q()};9 4l=(h)=>{9 13=1U(h);2o(9[e,1o]5J 1f){a(e.2U(13)){1o.4n();1f.2h(e)}}};9 4o=()=>{a(1k){9 4p=1k-27;2B.k=`4q:${4p}5K`}L{2B.k="4q: 5L"}};5M(4o,5N);',62,360,'|||||||||const|if|let|to||cacheKey|error||query||line|textContent|voice|length||new|await|path|||response|currentAudio|conversationHistory||audioUrl|from|text|bg|gradient|gray|stroke|speechRecognizer|null|false|value|url|console|true|else|isUserSpeaking|Date|now|lines|updateActivityIndicators|aiActivityIndicator|300|event|audio|svg|document|getElementById|completeTranscript|isRequestInProgress||audioPlaybackQueue||normalizedQuery||Error||buffer|400||interimTranscript|transcript|requestAbortController|500|prefetchCache|pendingPrefetchRequests|return|startStopButton|modelSelectionDropdown|isSpeechRecognitionActive|firstResponseTextTimestamp|trim|push|async|abortController|signal|ok|reader|playNextAudio|cachedData|AI|fullResponseText|fullResponseText2|unsentTextChunk|indicator|rounded|full|px|py|white|flex|items|center|transition|colors|duration|hover|700|width|round|x1|y1|x2|y2|prefetchQueue|audioCache|normalizeQueryText|try|content|throw|catch|generateTextToSpeechAudio|resolve|log|textChunk|||className|activeQuery|queryStartTime|lastUserSpeechTimestamp|prefetchTextQuery|history|has|stream|not|timestamp|AbortError|finally|delete|responseStream|abortSignal|decoder|done|aborted|chunk|for|in|isPrefetched|sentText|interruptAudioPlayback|blue|600|dark|purple|green|Listening|yellow|voiceSelectionDropdown|responseTimeDisplay|userActivityIndicator|Map|replace|generateCacheKey|JSON|stringify|processPrefetchQueue|while|set|fetch|encodeURIComponent|method|GET|Network|was|firstAudioUrl|handleStreamingResponseForPrefetch|break|startsWith|sendQueryToAI|handleStreamingResponse|initialChunksSent|addToConversationHistory|Speech|innerHTML|xmlns|http|www|w3|org|2000|height|viewBox|fill|none|currentColor|linecap|linejoin|M12|1a3|3v8a3|0V4a3|M19|10v2a7|0v|results|processSpeechTranscript|start|role|trimmedTranscript|reason|transcriptDiv|USER_SPEECH_INTERRUPT_DELAY|TEXT_TO_SPEECH_API_ENDPOINT|CHUNK_SIZE|MAX_PREFETCH_REQUESTS|prefetchCacheExpiration|audioCacheExpiration|modelName||prefetchFirstAudioChunk|shift|AbortController|stream_audio|model|headers|accept|type|application|json|body|name|getReader|TextDecoder|utf|read|DOMException|Request|decode|split|data|substring|releaseLock|audioData|audioPromise|Promise|onerror|pause|currentTime|normalizedText|get|audioBlob|prefetchedAudioUrl|status|user|assistant|state|User|Speaking|Idle|800|webkitSpeechRecognition|recognition|M9|9h6v6h|6z|Stop|cancelPrefetchRequests|shouldInterruptAudioPlayback|abort|updateLatency|latency|Latency|voiceSelect|modelSelect|noiseSuppressionCheckbox|noiseSuppression|responseTime|userIndicator|aiIndicator|partialTranscript|https|api|streamelements|com|kappa|v2|speech|60000|3600000|toLowerCase|size|prefetching|Audio|onended|play|blob|URL|createObjectURL|generating|TTS|Sending|429|Rate|limit|hit|retrying|second|setTimeout|1000|Streaming|received|sending|is|speaking|Processing|window|Object|assign|continuous|interimResults|language|en|US|maxAlternatives|onstart|started|onresult|resultIndex|isFinal|final|interim|onend|addEventListener|click|stop|id|microphoneIcon|Start|alert|Your|browser|does|support|the|Web|API|pop|splice|trimStart|unknown|Interrupting|clear|of|ms|0ms|setInterval|200'.split('|'),0,{}))