1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6359],{9856:(e,t,r)=>{r.d(t,{y0:()=>j});var n=r(15796),a=r(40060);let l={settled:!1},u=new Map,i=new Map,o=new Map,s=new Map,c=null,f=null,p=0,d=!1,m=0,h=0,y=[];function g(e,t){return"".concat(e,":").concat(t)}function M(e,t){var r;for(let n of null!=(r=i.get(g(e,t)))?r:[])n()}function A(e){if(!e||"object"!=typeof e||Array.isArray(e)||!Number.isSafeInteger(e.appId)||0>=Number(e.appId)||!["priced","free","unavailable","upstream_unavailable"].includes(String(e.status)))return!1;if("priced"!==e.status)return null===e.price;if(!e.price||"object"!=typeof e.price||Array.isArray(e.price))return!1;let t=e.price;return"string"==typeof t.currency&&/^[A-Z]{3}$/u.test(t.currency)&&Number.isSafeInteger(t.currentMinor)&&Number(t.currentMinor)>=0&&Number.isSafeInteger(t.originalMinor)&&Number(t.originalMinor)>=Number(t.currentMinor)&&"string"==typeof t.formatted&&t.formatted.length>0&&t.formatted.length<=64&&Number.isSafeInteger(t.discountPercent)&&Number(t.discountPercent)>=0&&100>=Number(t.discountPercent)}function b(e,t,r){let n=g(e,t),a=o.get(n);void 0!==a&&clearTimeout(a),o.set(n,setTimeout(()=>{if(o.delete(n),!i.has(n))return void u.delete(n);x(e,t)},Math.max(1,r)))}function v(e,t){let r=Date.now()+3e4;for(let n of t)u.set(g(e,n),{settled:!0,expiresAt:r}),M(e,n),b(e,n,3e4)}function I(e,t){var r,n;let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Math.random,l=null!=(n=null==e||null==(r=e.headers.get("Retry-After"))?void 0:r.trim())?n:"",u=Number(l),i=Number.isFinite(u)&&u>=0?1e3*u:Math.max(0,Date.parse(l)-Date.now()),o=Math.min(6e4,Math.max(1e3,Number.isFinite(i)&&i>0?i:t)),s=Math.max(1,Math.floor(.25*o)),c=a();return o+1+Math.floor((Number.isFinite(c)?Math.min(.999999999,Math.max(0,c)):.5)*s)}async function w(e,t){let r=new Set(t);try{var n;let a=await fetch("/api/steam/localized-prices?locale=".concat(e,"&appIds=").concat(t.join(",")),{signal:AbortSignal.timeout(12e3)});if(429===a.status||a.status>=500)return{appIds:t,retryAfterMs:I(a,5e3)};if(!a.ok)return v(e,t),null;let l=!(n=await a.json())||"object"!=typeof n||Array.isArray(n)?null:"string"==typeof n.country&&/^[A-Z]{2}$/u.test(n.country)&&Array.isArray(n.results)&&n.results.every(A)?n:null;if(!l)return{appIds:t,retryAfterMs:I(a,5e3)};for(let t of l.results)r.has(t.appId)&&"upstream_unavailable"!==t.status&&(u.set(g(e,t.appId),{settled:!0,result:t,expiresAt:Date.now()+216e5}),r.delete(t.appId),M(e,t.appId),b(e,t.appId,216e5))}catch(e){return{appIds:t,retryAfterMs:I(null,5e3)}}return r.size>0?{appIds:[...r],retryAfterMs:I(null,5e3)}:null}function S(e){let t=Date.now()+Math.max(0,e);null!==f&&p<=t||(null!==f&&clearTimeout(f),p=t,f=setTimeout(()=>{f=null,p=0,N()},Math.max(0,e)))}async function N(){if(!d){d=!0;try{for(;y.length>0;){let e=Date.now();(0===m||e-m>=6e4)&&(m=e,h=0);let t=18-h,r=y.findIndex(r=>r.readyAt<=e&&r.appIds.length<=t);if(r<0){let t=Math.min(...y.map(e=>{let{readyAt:t}=e;return t})),r=y.some(t=>{let{readyAt:r}=t;return r<=e}),n=m+6e4,a=r?n:Math.min(t,n);S(Math.max(1,a-e));return}let[n]=y.splice(r,1);if(!n)continue;h+=n.appIds.length;let a=await w(n.locale,n.appIds);if(a){if(n.attempts+1>=4){v(n.locale,a.appIds);continue}y.push({locale:n.locale,appIds:a.appIds,attempts:n.attempts+1,readyAt:Date.now()+a.retryAfterMs}),S(a.retryAfterMs)}}}finally{d=!1,y.length>0&&null===f&&S(0)}}}function D(){for(let[e,t]of(c=null,s)){s.delete(e);let r=[...t];for(let t=0;t<r.length;t+=a.Ij)y.push({locale:e,appIds:r.slice(t,t+a.Ij),attempts:0,readyAt:0})}S(0)}function x(e,t){var r,n;let a=g(e,t),i=u.get(a);if(i&&!i.settled||(null==i?void 0:i.settled)&&(null!=(r=i.expiresAt)?r:1/0)>Date.now())return;u.set(a,l);let o=null!=(n=s.get(e))?n:new Set;o.add(t),s.set(e,o),null!=c||(c=setTimeout(D,0))}function j(e,t){var r;let a=!(arguments.length>2)||void 0===arguments[2]||arguments[2],[,o]=(0,n.useReducer)(e=>e+1,0),s=g(t,e);return(0,n.useEffect)(()=>{var r;if(!a||!Number.isSafeInteger(e)||e<=0)return;let n=null!=(r=i.get(s))?r:new Set,l=()=>o();return n.add(l),i.set(s,n),x(t,e),()=>{n.delete(l),0===n.size&&i.delete(s)}},[e,a,s,t]),a&&null!=(r=u.get(s))?r:l}},15604:(e,t,r)=>{r.d(t,{gA:()=>n});function n(e){return"zh"===e?"zh-CN":"en"===e?"en-US":"ja-JP"}},40060:(e,t,r)=>{r.d(t,{Ij:()=>n});let n=6},77743:(e,t,r)=>{r.d(t,{OK:()=>i,Vu:()=>c,kl:()=>u,q7:()=>f,vD:()=>o});var n=r(15604);let a=new Set(["JPY","KRW"]);function l(e,t,r){return"ja"===r&&"USD"===t?"US$".concat(new Intl.NumberFormat((0,n.gA)(r),{minimumFractionDigits:2,maximumFractionDigits:2}).format(e)):new Intl.NumberFormat((0,n.gA)(r),{style:"currency",currency:t,maximumFractionDigits:2*!a.has(t)}).format(e)}function u(e,t,r){return l(e/100,t.toLocaleUpperCase(),r)}function i(e,t,r){return l(e,t.toLocaleUpperCase(),r)}function o(e,t){return i(e,"USD",t)}let s=/^\s*(?:US)?\$/u;function c(e,t){let r=e.trim();return r?"ja"===t?r.startsWith("ç±³ã¹ãã¢")?r:"ç±³ã¹ã㢠".concat(r):"zh"===t?r.startsWith("ç¾åº")?r:"ç¾åº ".concat(r):r:r}function f(e,t,r){var n;let a=null!=(n=null==t?void 0:t.trim())?n:"";return a&&!s.test(a)?a:c("ja"!==r&&a?a:u(e,"USD",r),r)}},98579:(e,t,r)=>{r.d(t,{_:()=>a});var n=r(15796);function a(e,t,a){let l=!(arguments.length>3)||void 0===arguments[3]||arguments[3];(0,n.useEffect)(()=>{let t=e.current;t&&(t.muted=l)},[l]),(0,n.useEffect)(()=>{let n=e.current;if(!n)return;if(!a||!t){n.pause(),n.removeAttribute("src"),n.load();return}if(!/\.m3u8(?:$|[?#])/iu.test(t)||n.canPlayType("application/vnd.apple.mpegurl"))return n.src=t,n.play().catch(()=>{}),()=>{n.pause(),n.removeAttribute("src"),n.load()};let l=null,u=!1;return r.e(8655).then(r.bind(r,58256)).then(r=>{let{default:n}=r;!u&&n.isSupported()&&e.current&&((l=new n({autoStartLoad:!0,startLevel:-1})).loadSource(t),l.attachMedia(e.current),l.on(n.Events.MANIFEST_PARSED,()=>{var t;u||null==(t=e.current)||t.play().catch(()=>{})}))}),()=>{u=!0,null==l||l.destroy(),l=null,n.pause(),n.removeAttribute("src"),n.load()}},[t,a])}}}]);
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.