Build 576754stable
Module 952818
18,377 characters · in no known chunkDependencies
Required by (62)
75061920779556195844105289109624116956118328119191129802157257177141191701208207243612274372296027296651371912376151378187387101404851408346424045430795436405451409451897452082465797477156480595489277501838515183527549540305560595568006598429616356617710651930655116689874719129742077768038773371780907793325813564815706871633881328935671961349965971966532966846981616
Lazily required by (0)none
Requires (35)
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";let i;n.d(t,{Xr:()=>eU,Ay:()=>eY,hw:()=>eP,Es:()=>ev,Zh:()=>eC,xU:()=>ex}),n(321073),n(667532);var r=n(735438),a=n.n(r),s=n(989349),l=n.n(s),o=n(167789),d=n(17928),c=n(506774),u=n(228366),_=n(56562),E=n(573648),A=n(306044),h=n(626584),I=n(736056),f=n(108822),p=n(830012),T=n(810412),m=n(211753),g=n(206885),S=n(41984),N=n(439372),C=n(19575);class R extends N.A{ownedLocks=new Set;acquireLock=e=>{if(this.ownedLocks.has(e))return!0;let t=`discord-overlay-global-owner-lock-${e}`;return!1!==C.Ay.AcquireGlobalLock(t)&&(this.ownedLocks.add(e),!0)}}let O=new R;var L=n(871633),D=n(760751),y=n(189081),v=n(287809),b=n(340829),M=n(174459),P=n(927813),U=n(738533),w=n(403362),G=n(723702),x=n(9302),k=n(953384),F=n(973522),V=n(652215);let B=new h.A("RunningGameStore"),H="RunningGameStore",j=!__OVERLAY__&&((0,G.isDesktop)()||g.O),W=[],Y=[{executables:[{os:"win32",name:"obs/obs.exe"},{os:"win32",name:"obs32.exe"},{os:"win32",name:"obs64.exe"},{os:"darwin",name:"OBS.app"},{os:"linux",name:"obs"}],name:"OBS",streamerTool:!0},{executables:[{os:"win32",name:"XSplit.Gamecaster.exe"},{os:"win32",name:"XSplit.Core.exe"},{os:"win32",name:"Gamecaster.exe"}],name:"XSplit",streamerTool:!0},{executables:[{os:"win32",name:"bebo.exe"}],name:"Bebo",streamerTool:!0},{executables:[{os:"win32",name:"Streamlabs OBS.exe"},{os:"win32",name:"Streamlabs Desktop.exe"},{os:"darwin",name:"Streamlabs Desktop.app"}],name:"Streamlabs Desktop",streamerTool:!0},{executables:[{os:"win32",name:"TwitchStudio.exe"},{os:"darwin",name:"Twitch Studio.app"}],name:"Twitch Studio",streamerTool:!0},{executables:[{os:"win32",name:"Spotify.exe"},{os:"darwin",name:"Spotify.app"},{os:"linux",name:"spotify"}],name:E.A.get(V.fg2.SPOTIFY).name}],K=[],$=!0,z={"input-service":{state:"unknown"},"tool-service":{state:"unknown"}},q=new Set,Z=[],X=[],Q=[],J=null,ee=[],et=null,en=null,ei=null,er=[],ea={},es={},el={gamesSeen:[],gameOverrides:{},enableOverlay:{},enableOverlayV3:{},enableDetection:{}},eo=function(){},ed=null,ec={},eu=0,e_=null,eE=null,eA={},eh={},eI=new Set,ef=new Set,ep=null,eT=null,em=null,eg=new Map,eS=new Map;function eN(e,t,n){let i=e[t];void 0!==i&&(delete e[t],e[n]=i)}function eC(e){return e}function eR(e,t){null!=t.lastLaunched?e.lastLaunched=t.lastLaunched:null!=t.start&&(e.lastLaunched=t.start)}function eO(e){let t=eS.get(e.name?.toLowerCase()??"");if(null!=t)return t;let n=null!=e.exeName&&""!==e.exeName?e.exeName:e.exePath.split("/").pop()?.split("\\").pop()??"",i=eg.get(n.toLowerCase());if(null!=i)return i;for(let[t,n]of eg){let i=e.exePath.toLowerCase(),r=t.toLowerCase();if(i.endsWith(r)){let e=i.length-r.length;if(0===e||"/"===i[e-1]||"\\"===i[e-1])return n}}return null}function eL(e){let t=eO(e);return t?.streamerTool===!0}function eD(){let e=en;null!=(en=Q.find(ew)??null)&&(en.start=null!=e&&e.pid===en.pid?e.start:Date.now())}function ey(){if(Q.length>0){let e=et;et=Q[0],null!=e&&et.pid===e.pid?et.start=e.start:et.start=Date.now()}else et=null;eD();let e=[];for(let t of Q)t.pid in eA||(eA[t.pid]=t,e.push(t));let t=[];for(let e of Object.values(eA))Q.some(t=>t.pid===e.pid)||(t.push(e),delete eA[e.pid]);B.info("Running Games Changed",{runningGames:Q,added:e,removed:t,previousGames:eA}),u.h.dispatch({type:"RUNNING_GAMES_CHANGE",games:Q,added:e,removed:t})}function ev(e){if((0,L.n1)(e))return`${e.exePath}:${e.id}`;let t=null!=e.name?e.name:"";return`${e.exePath}:${t}`}Y.forEach(e=>{eS.set(e.name.toLowerCase(),e),(e.executables??[]).forEach(t=>{eg.set(t.name.toLowerCase(),e)})});let eb=new Set(["1314395942253756416"]);function eM(e){let t=null;if("id"in e)t=e.id??null;else{let n=D.A.findGame(e);if(null==n)return!1;t=n.id}return null!=t&&eb.has(t)}function eP(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],[n,i]=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[D.A,y.A];if(e.isLauncher)return{source:S.yp.LAUNCHER,enabledOOP:!1,enabledLegacy:!1,overlayMethod:S.Ue.Disabled,reason:"Game is launcher"};if("pid"in e&&!O.acquireLock(e.pid))return{source:S.yp.GLOBAL_OVERLAY_LOCK_FAILED,enabledOOP:!1,enabledLegacy:!1,overlayMethod:S.Ue.Disabled,reason:"Another Discord instance running overlay for this pid"};let r=n.findGame(e);if(null!=r){let e=i.getActiveLibraryApplication(r.id);if(null!=e)return{source:S.yp.LIBRARY_APPLICATION,enabledOOP:e.isOverlayV3Enabled(),enabledLegacy:e.isLegacyOverlayEnabled(),overlayMethod:S.Ue.Disabled,reason:"Some library application thing?"}}let a=(0,x.supportsOutOfProcess)()&&!t,s=eM(r??e),l=m.x.legacyEnabled,o=a&&!s,d=el.enableOverlay[ev(e)],c=el.enableOverlayV3[ev(e)];if(null!=d||null!=c){let e=null!=c?c:o,t=e?S.Ue.OutOfProcess:S.Ue.Hook;return{source:e&&!s?S.yp.OOP_DEFAULT:S.yp.USER_OVERRIDE,enabledOOP:e,enabledLegacy:null!=d?d:l,overlayMethod:o?t:S.Ue.Hook,reason:"Enabled from persistent"}}let u=null==e.id?null:ec[e.id];if(null!=u){let e=u.enabledOOP??o,t=u.enabled??l,n=e?S.Ue.OutOfProcess:S.Ue.Hook;return{source:e&&!s?S.yp.OOP_DEFAULT_DATABASE:S.yp.DATABASE,enabledOOP:e,enabledLegacy:t,overlayMethod:o?n:S.Ue.Hook,reason:"Enabled from overlayOptions"}}return{source:S.yp.DEFAULT,enabledOOP:o,enabledLegacy:!1,overlayMethod:o?S.Ue.OutOfProcess:S.Ue.Disabled,reason:"Default enablement"}}function eU(e){let t=el.enableDetection[ev(e)];return null==t||t}function ew(e){return!e.hidden&&eU(e)}function eG(){c.w.set(H,el)}function ex(e,t,n,i){let r={...e,played:null!=e.lastFocused&&0!==e.lastFocused?l()(new Date(e.lastFocused*P.A.Millis.SECOND)).fromNow():" ",overlay:function(e){let t=el.enableOverlay[ev(e)],n=el.enableOverlayV3[ev(e)];if(null!=t||null!=n)return t??n;let i=eP(e);return i.enabledLegacy||i.enabledOOP}(e),verified:n.isGameInDatabase(e),detectable:eU(e)};return null!=e.id&&null!=ec[e.id]&&(r.overlayWarn=ec[e.id].warn),r}function ek(){let e=!1;return Z=a().values(y.A.libraryApplications).reduce((t,n)=>{let i=D.A.getDetectableGame(n.id);if(null==i)return t;for(let r of b.A.getLaunchOptions(n.id,n.branchId)){let a=`${n.id}:${n.branchId}`;q.has(a)||(e=!0,q.add(a));let{fullExecutablePath:s}=r,l=s.replace(/\\/g,"/").toLowerCase();ea[l]=i.id,t.push({id:i.id,name:i.name,exePath:l,cmdLine:"",lastFocused:0,add:!0})}return t},[]),e&&eF(),e}function eF(){if(!__OVERLAY__&&G.isPlatformEmbedded){let e=[...Z,...a().values(el.gameOverrides)];C.Ay.setGameCandidateOverrides(e)}}function eV(e){null!=e&&0!==e.length&&(e.forEach(e=>{if(el.gamesSeen.some(t=>{if(t.name===e.name||null!=t.id&&t.id===e.id){if(e.lastFocused){t.lastFocused=e.lastFocused;let n=el.gameOverrides[ev(e)];null!=n&&(n.lastFocused=e.lastFocused)}if(t.distributor!==e.distributor&&(t.distributor=e.distributor),t.gameName!==e.gameName&&(t.gameName=e.gameName),t.id===e.id&&ev(t)!==ev(e)){var n,i;let r,a,s,l;n=ev(t),i=ev(e),null!=(r=el.gameOverrides[n])&&(el.gameOverrides[i]=r,delete el.gameOverrides[n]),null!=(a=el.enableOverlay[n])&&(el.enableOverlay[i]=a,delete el.enableOverlay[n]),null!=(s=el.enableOverlayV3[n])&&(el.enableOverlayV3[i]=s,delete el.enableOverlayV3[n]),null!=(l=el.enableDetection[n])&&(el.enableDetection[i]=l,delete el.enableDetection[n]),t.exePath=e.exePath}return eR(t,e),!0}return!1}));else{let t;if(e.hidden)return;el.gamesSeen.unshift((t={exePath:e.exePath,cmdLine:e.cmdLine,lastFocused:e.lastFocused},null!=e.id&&(t.id=e.id),null!=e.nativeProcessObserverId&&(t.nativeProcessObserverId=e.nativeProcessObserverId),null!=e.name&&(t.name=e.name),e.add&&(t.add=!0),e.block&&(t.block=!0),null!=e.distributor&&(t.distributor=e.distributor),null!=e.gameName&&(t.gameName=e.gameName),eR(t,e),t))}}),el.gamesSeen.sort((e,t)=>t.lastFocused-e.lastFocused),eG(),U.A.setRecentGames(eB().map(e=>ex(e,eW,D.A,y.A))))}function eB(){let e=a().values(el.gameOverrides);return el.gamesSeen.filter(e=>void 0===el.gameOverrides[ev(e)]).concat(e)}if(j){let e=function(){let e=[],t=new Set;i={};let n=D.A.games,r=k.A.nonGames,a=(0,x.supportsOutOfProcess)();for(let e of n){let t=eM(e),n=a&&!t||_.gH.enabledOOP,i=e.overlay??_.gH.enabled;ec[e.id]={compatibilityHook:e.overlayCompatibilityHook??_.gH.compatibilityHook,warn:e.overlayWarn??_.gH.warn,enabled:i,enabledOOP:n,allowHook:e.hook??_.gH.allowHook,supportsOutOfProcessOverlay:e.supportsOutOfProcessOverlay}}let s=new Set;Y.forEach(e=>{(e.executables??[]).forEach(e=>{s.add(e.name.toLowerCase())})}),[...[...n,...r].filter(e=>!(e.executables??[]).some(e=>eg.has(e.name.toLowerCase()))),...Y].forEach(n=>{let i=null!=n.executables?n.executables:[],r={};if(i.forEach(e=>{let n=null!=e.arguments&&e.arguments.length>0?e.arguments:"null";null==r[n]&&(r[n]=[]),r[n].push(e.name),e.isLauncher&&t.add(e.name)}),Object.keys(r).length>0)Object.keys(r).forEach(t=>e.push({name:n.name,id:n.id,executables:r[t],cmdLine:"null"!==t?t:null,thirdPartySkus:n.thirdPartySkus??[]}));else{let t=n.thirdPartySkus??[];t.length>0&&e.push({name:n.name,id:n.id,executables:[],cmdLine:null,thirdPartySkus:t})}}),e=e.filter(e=>null!=e.executables&&e.executables.length>0||null!=e.thirdPartySkus&&e.thirdPartySkus.length>0),C.Ay.setObservedGamesCallback(e,!0,e=>{let n=[],r={},a=[],s=[],l=e.length,o=[];for(let i of e){if(null!=i.id&&null!=k.A.getById(i.id)){a.push(i),s.push({game:i,outcome:{kind:"non_game"}});continue}i.isLauncher=i.isLauncher||t.has(i.exeName),i.isLauncher&&null!=i.id&&(r[i.id]=i),i.windowHandle=function(e,t){if(void 0===t){let t=C.Ay.getDiscordUtils();if(null!=t&&null!=t.getWindowHandleFromPid){let n=t.getWindowHandleFromPid(e);return null!=n&&"0"!==n?n:null}return null}return"0"===t?null:t}(i.pid,i.windowHandle);let e=eO(i);if(null!=e){n.push(i),s.push({game:i,outcome:{kind:"observed_app",appName:e.name,streamerTool:e.streamerTool??!1}});continue}if(D.A.shouldBlock(i)){let e=D.A.getBlockReason(i);s.push({game:i,outcome:{kind:"blocked",matchedExe:e?.matchedExe??null,matchedPattern:e?.matchedPattern??null}});continue}o.push(i),s.push({game:i,outcome:{kind:"passed"}})}em={timestamp:Date.now(),totalFromNative:l,entries:s},e=o;let d=n.filter(eL).length;for(let t of(d!==eu&&(eu=d,u.h.dispatch({type:"RUNNING_STREAMER_TOOLS_CHANGE",count:eu})),Q=null!=J?[J,...e]:e)){let e=el.gameOverrides[ev(t)];e?.add===!0&&t.hidden&&(es[ev(t)]=!0,t.hidden=!1)}ee=a,er=n,i=r,ey(),ei=ee.length>0?ee[0]:null;let c=[];for(let e of ee)e.pid in eh||(eh[e.pid]=e,c.push(e));let _=[];for(let e of Object.values(eh))ee.some(t=>t.pid===e.pid)||(_.push(e),delete eh[e.pid]);B.info("Running Non-Games Changed",{runningNonGames:ee,added:c,removed:_,previousNonGames:eh}),u.h.dispatch({type:"RUNNING_NON_GAMES_CHANGE",nonGames:ee,added:c,removed:_})},v.default.getCurrentUser()?.id),eF(),C.Ay.setGameDetectionCallback((e,t)=>{if(e.length===t.length)for(let[n,i]of e.entries()){let e=t[n],r=D.A.findGame(i),a=D.A.findGame(e),s=(e?.id!=="4294967293"?e?.id:a?.id)??"";M.default.track(V.HAw.GAME_DETECTION_COMPARISON,{game_platform:V.yTV.DESKTOP,detection_method:"process_observer_v2",game_v1:i.name,orig_game_name_v1:i.origGameName,game_id_v1:r?.id,distributor_v1:i.distributor,verified_v1:(0,F.PQ)(i.exePath,r?.executables??[]),is_launcher_v1:i.isLauncher,game_detection_enabled_v1:eU(i),executable_path_v1:(0,F.Ic)(i.exePath),distributor_game_id_v1:i.sku,hidden_by_distributor_v1:i.hidden,game_metadata_v1:(0,L.MT)(i),game_v2:e.name,orig_game_name_v2:e.origGameName,game_id_v2:s,distributor_v2:e.distributor,verified_v2:(0,F.PQ)(e.exePath,a?.executables??[]),is_launcher_v2:e.isLauncher,game_detection_enabled_v2:eU(e),executable_path_v2:(0,F.Ic)(e.exePath),distributor_game_id_v2:e.sku,hidden_by_distributor_v2:e.hidden,game_metadata_v2:(0,L.MT)(e)})}}),C.Ay.setGameDetectionErrorCallback((e,t,n,i,r)=>{})};eo=function(){return!!D.A.hasAttemptedFetch&&!!k.A.hasAttemptedFetch&&(null!=ed&&ed(),ed=(0,o.O)(()=>{ed=null,e(),eW.emitChange()},{timeout:2e3}),!1)}}function eH(){I.A.hasLoadedExperiments&&W.length>0&&(eV(W),W=[])}class ej extends d.Ay.Store{static displayName="RunningGameStore";initialize(){let e=c.w.get(H)??{gamesSeen:[],gameOverrides:{},enableOverlay:{},enableOverlayV3:{},enableDetection:{}};el.gameOverrides={};let t=!1;if(a().values(e.gameOverrides??{}).forEach(e=>{let t=ev(e);(0,L.n1)(e)||(el.gameOverrides[t]=e)}),el.enableOverlay=e.enableOverlay??{},el.enableOverlayV3=e.enableOverlayV3??{},el.enableDetection=e.enableDetection??{},eF(),Array.isArray(e.gamesSeen))for(let n of e.gamesSeen)"number"==typeof n.id&&(n.nativeProcessObserverId=n.id,delete n.id,t=!0);this.waitFor(D.A,k.A,b.A,I.A,f.A,y.A,v.default),W=e.gamesSeen.filter(e=>!(0,L.n1)(e)),this.syncWith([f.A],eH),this.syncWith([y.A,D.A,b.A],a().throttle(ek,1e3)),t&&eG()}getVisibleGame(){return en}getCurrentGameForAnalytics(){return et}getCurrentNonGameForAnalytics(){return ei}getVisibleRunningGames(){return Q.filter(ew)}getRunningGames(){return Q}getDebugRunningGame(){return J}getDetectionDebug(){return em}getRunningNonGames(){return ee}getRunningDiscordApplicationIds(){let e=[];for(let t of Q)null!=ea[t.exePath]&&e.push(ea[t.exePath]);return e}getRunningVerifiedApplicationIds(){return this.getRunningGames().map(e=>D.A.findGame(e)).filter(w.Vq).map(e=>e.id)}getGameForPID(e){return Q.find(t=>t.pid===e)??null}getGameForName(e){return Q.find(t=>t.name?.toLowerCase()===e.toLowerCase())??null}getGameOrTransformedSubgameForPID(e){let t=this.getGameForPID(e);return null!=t?t:null}getLauncherForPID(e){let t=this.getGameForPID(e);return null!=t&&null!=t.id?i[t.id]:null}getOverlayOptionsForPID(e){let t=this.getGameForPID(e);return null==t||t.isLauncher||null==t.id?null:{...ec[t.id]}}shouldElevateProcessForPID(e){return null!=e_&&e_===e}shouldContinueWithoutElevatedProcessForPID(e){return null!=eE&&eE===e}canCollectExecutableFingerprintsForRunningGames(){return j}getCandidateGames(){return X.filter(e=>e.hidden||null==e.id).filter(e=>void 0===el.gameOverrides[ev(e)])}isGamesSeenLoaded(){return 0===W.length}isGameSeen(e){return eB().some(t=>t.id===e)}getGamesSeen(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=eB();if(e){let e=this.getVisibleGame();if(null!=e){let t=ev(e);n=n.filter(e=>ev(e)!==t)}}return t&&n.sort((e,t)=>t.lastFocused-e.lastFocused),n}getSeenGameByName(e){return el.gamesSeen.find(t=>null!=t.name&&t.name.toLowerCase()===e.toLowerCase())}isObservedAppRunning(e){return er.some(t=>t.name===e)}getOverrides(){return Object.values(el.gameOverrides)}getOverrideForGame(e){return el.gameOverrides[ev(e)]}getOverlayEnabledForGame(e){if(e.isLauncher||e.elevated||e.sandboxed)return B.verbose("getOverlayEnabledForGame: Overlay not supported.",e),!1;let t=eP(e);return t.enabledLegacy||t.enabledOOP}getGameOverlayStatus(e){if(e.isLauncher||e.elevated||e.sandboxed)return B.verbose("getGameOverlayStatus: Overlay not supported.",e),null;let t=eP(e);return t.enabledLegacy||t.enabledOOP?t:null}getObservedAppNameForWindow(e){return er.find(t=>(0,p.A)(e,t.windowHandle))?.name??null}get canShowAdminWarning(){return $&&!this.isSystemServiceInitialized("input-service")}isDetectionEnabled(e){return eU(e)}addExecutableTrackedByAnalytics(e){ef.add((0,A.v)(e)??e)}getSystemServiceStatus(e){return z[e]??{state:"unknown"}}isSystemServiceInitialized(e){return z[e]?.state==="running"}}let eW=new ej(u.h,{RUNNING_GAMES_CHANGE:function(e){eV(Q)},RUNNING_NON_GAMES_CHANGE:function(){},CANDIDATE_GAMES_CHANGE:function(e){X=e.games},PERMISSION_CLEAR_PTT_ADMIN_WARNING:function(){$=!1},PERMISSION_REQUEST_ELEVATED_PROCESS:function(e){let{pid:t}=e;e_=t,eE=null},PERMISSION_CLEAR_ELEVATED_PROCESS:function(){e_=null},PERMISSION_CONTINUE_NONELEVATED_PROCESS:function(e){let{pid:t}=e;eE=t,e_=null},RUNNING_GAME_ADD_OVERRIDE:function(e){let t,n=e.pid,i=Q.find(e=>e.pid===n);if(null==i){let e=X.find(e=>e.pid===n);if(null==e)return;(i={...e}).hidden=!1,Q.push(i),es[t=ev(i)]=!0}else t=ev(i),i.hidden&&(es[t]=!0),i.hidden=!1;(null==i.lastFocused||0===i.lastFocused)&&(i.lastFocused=Math.floor(Date.now()/1e3)),el.gameOverrides[t]={...i,add:!0},eV(Q),eF(),eG(),ey()},RUNNING_GAME_TOGGLE_OVERLAY:function(e){let{game:t,newLegacyOverlayEnabledValue:n,newOverlayV3EnabledValue:i}=e,r=n!==el.enableOverlay[ev(t)],a=i!==el.enableOverlayV3[ev(t)];r&&(el.enableOverlay[ev(t)]=n),a&&null!=i&&(el.enableOverlayV3[ev(t)]=i),eG(),!__OVERLAY__&&null!=(null!=t.id?D.A.getDetectableGame(t.id):null)&&(r&&(0,T.Q3)(n,T.OverlayToggledClientSettingType.LEGACY_GAME,t.id??null),a&&null!=i&&(0,T.Q3)(i,T.OverlayToggledClientSettingType.OOP_GAME,t.id??null))},RUNNING_GAME_TOGGLE_DETECTION:function(e){let{game:t}=e,n=eU(t);el.enableDetection[ev(t)]=!n,eG(),eD(),M.default.track(V.HAw.USER_SETTINGS_GAME_DETECTION_TOGGLE,{enabled:!n})},RUNNING_GAME_EDIT_NAME:function(e){let t=ev(e.game),n=el.gameOverrides[t];if(null==n){var i;(n={name:(i=e.game).name,exePath:i.exePath,cmdLine:i.cmdLine,lastFocused:i.lastFocused}).add=!0}n.name=e.newName;let r=ev(n);delete el.gameOverrides[t],el.gameOverrides[r]=n,eN(el.enableOverlay,t,r),eN(el.enableDetection,t,r),eN(es,t,r),el.gamesSeen.forEach(n=>{ev(n)===t&&(n.name=e.newName)});let a=!1;Q.forEach(n=>{ev(n)===t&&(n.name=e.newName,a=!0)}),eF(),eG(),a&&ey()},RUNNING_GAME_DELETE_ENTRY:function(e){let t=ev(e.game);delete el.gameOverrides[t],delete el.enableOverlay[t],delete el.enableDetection[t],el.gamesSeen=el.gamesSeen.filter(e=>ev(e)!==t),es[t]&&(Q.forEach(e=>{t===ev(e)&&(e.hidden=!0)}),delete es[t]),Q.some(e=>ev(e)===t)&&ey(),eF(),eG()},GAMES_DATABASE_UPDATE:eo,GAMES_DATABASE_FETCH_FAIL:eo,NON_GAMES_DATABASE_UPDATE:eo,NON_GAMES_DATABASE_FETCH_FAIL:eo,GAME_LAUNCH_SUCCESS:function(e){if(__OVERLAY__||!G.isPlatformEmbedded)return;let t=C.Ay.getDiscordUtils().notifyGameLaunched;if(null==t)return;let n=D.A.getDetectableGame(e.applicationId);null!=n&&t(n.id,n.name,e.pids??[])},GAME_DETECTION_WATCH_CANDIDATE_GAMES_START:function(){eF()},GAME_DETECTION_DEBUGGING_START:function(e){ep=e.level,eT=e.intervalSeconds},GAME_DETECTION_DEBUGGING_STOP:function(){ep=null,eT=null,eI.clear()},GAME_DETECTION_DEBUGGING_TICK:function(e){let t=e.processes.map(e=>({pid:e.pid,cleanedExePath:(0,A.v)(e.exePath)??e.exePath})).filter(e=>{if(eI.has(e.pid)||ef.has(e.cleanedExePath))return!1;let t=K.some(t=>e.cleanedExePath.includes(t));return t&&eI.add(e.pid),t}).map(e=>e.cleanedExePath);t.length>0&&M.default.track(V.HAw.GAME_DETECTION_DEBUGGING_KEYWORD_MATCH,{keywords:K,paths:t,debugging_level:ep,interval_seconds:eT})},SYSTEM_SERVICE_INITIALIZE:function(e){let{status:t,modules:n}=e;for(let e of n)z[e]=t},RUNNING_GAME_SET_DEBUG_GAME:function(e){null!=J&&(Q=Q.filter(e=>e!==J)),null!=(J=e.game)&&(Q=[J,...Q]),ey()}}),eY=eW}