!function(){var n={329:function(e,t,n){"use strict"; /** @license React v17.0.2 * react-jsx-runtime.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ n(513);var r=n(594),l=60103;"function"==typeof Symbol&&Symbol.for&&(l=(n=Symbol.for)("react.element"),n("react.fragment"));var c=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u=Object.prototype.hasOwnProperty,s={key:!0,ref:!0,__self:!0,__source:!0};function o(e,t,n){var r,o={},a=null,i=null;for(r in void 0!==n&&(a=""+n),void 0!==t.key&&(a=""+t.key),void 0!==t.ref&&(i=t.ref),t)u.call(t,r)&&!s.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:l,type:e,key:a,ref:i,props:o,_owner:c.current}}t.jsx=o,t.jsxs=o},707:function(e,t,n){"use strict";e.exports=n(329)},513:function(e){"use strict"; /* object-assign (c) Sindre Sorhus @license MIT */var c=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"!==Object.keys(Object.assign({},r)).join("")?void 0:1}catch(e){return}}()?Object.assign:function(e,t){for(var n,r,o=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),a=1;as.videoLoadingTimeout&&(s.videoCompleted=!0,s.videoLogNote="LoadingTimeout"),s.videoStarted&&!s.videoCompleted&&s.loadingBarCurrentTime>s.videoPlayingTimeout&&(s.videoCompleted=!0,s.videoLogNote="PlayingTimeout"),!s.videoCompleted)}function I(){var e=encodeURIComponent(v()),e="adTagUrl=".concat(e);l().ajax({url:"/game/preloader",data:{url:e},method:"GET",crossDomain:!0,xhrFields:{withCredentials:!0}}).success(function(e){l()("#videoPrerollMainDiv").html(e),s.videoErrored||(s.videoStarted=!0)})}function S(){l().ajax({url:"/game/updateprerollcount",method:"GET",crossDomain:!0,xhrFields:{withCredentials:!0}})}Object.assign(s,{contentEndedListener:d,createVideoContent:p,createAdDisplayContainer:m,constructUrl:v,renderCompanionAd:h,onAdEvent:g,onAdError:y,onAdsManagerLoaded:b,requestAds:w,checkFlashEnabled:P,checkEligibility:function(){s.showVideoPreRoll&&(P()&&(s.isFlashInstalled=!0),"True"===l()("#PlaceLauncherStatusPanel").data("is-protocol-handler-launch-enabled")||L.Client.IsRobloxInstalled()?void 0===window.google||void 0===window.google.ima?(s.videoLogNote="NoGoogle",s.showVideoPreRoll=!1):L.Client.isIDE()?(s.videoLogNote="RobloxStudio",s.showVideoPreRoll=!1):L.Client.isRobloxBrowser()?(s.videoLogNote="RobloxPlayer",s.showVideoPreRoll=!1):(window.chrome||window.safari)&&"#chromeInstall"===window.location.hash&&(s.showVideoPreRoll=!1):s.showVideoPreRoll=!1)},logVideoPreRoll:E,isPlaying:C,correctIEModalPosition:function(e){var t,n;e.container.innerHeight()<=30&&(t=l()("#videoPrerollPanel"),n=-Math.floor(t.innerHeight()/2),t.css({position:"relative",top:"".concat(n,"px")}),e.container.find(".VprCloseButton").css({top:"".concat(n-10,"px"),"z-index":"1003"}))},renderImaPreloader:I,updatePrerollCount:S,start:function(){0===s.placeId&&"undefined"!=typeof play_placeId&&(s.placeId=play_placeId),s.videoInitialized=!0,s.videoStarted=!1,s.videoCancelled=!1,s.videoCompleted=!1,s.videoSkipped=!1,s.loadingBarCurrentTime=0,s.videoLogNote="",u.init(s.loadingBarID,s.loadingBarInnerID,s.loadingBarPercentageID),s.loadingBarIntervalID=setInterval(function(){s.loadingBarCurrentTime+=1e3,u.update(s.loadingBarID,s.loadingBarCurrentTime/s.loadingBarMaxTime)},1e3),(s.isSwfPreloaderEnabled&&s.isFlashInstalled?I:w)()},cancel:function(){s.videoCancelled=!0,l().modal.close()},skip:function(){s.videoCompleted=!0,s.videoSkipped=!0,s.showVideoPreRoll=!1},close:function(){window.MadStatus&&window.MadStatus.running&&window.MadStatus.stop(""),window.RobloxLaunch.launcher&&(window.RobloxLaunch.launcher._cancelled=!0),clearInterval(s.loadingBarIntervalID),u.dispose(s.loadingBarID),C()&&(s.videoCancelled=!0),l().modal.close(),E(),s.isPrerollShownEveryXMinutesEnabled&&s.videoInitialized&&s.videoCompleted&&S()}});var x=s,A={waitForPreroll:function(e){var t,n,r=new(l().Deferred),o=x;return o.placeId=void 0!==e.placeId?e.placeId:0,o.showVideoPreRoll?(t={escClose:!0,opacity:80,overlayCss:{backgroundColor:"#000"},zIndex:1031,onShow:function(e){o.correctIEModalPosition(e),o.start(),l()("#prerollClose").hide(),l()("#prerollClose").delay(1e3*o.adTime).show(300)},onClose:function(){o.close()},closeHTML:''},l()("#videoPrerollPanel").modal(t),n=setInterval(function(){o.isPlaying()||(l().modal.close(),clearInterval(n),o.videoCancelled?r.reject(e):r.resolve(e))},200)):(r.resolve(e),o.logVideoPreRoll()),r}};function T(e,t,n,r,o,a,i){try{var l=e[a](i),c=l.value}catch(e){return void n(e)}l.done?t(c):Promise.resolve(c).then(r,o)}function O(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function k(r){for(var e=1;e","GameLaunchAttempt__"],H[M.startClientSucceededEvent]=["GameLaunchSuccessWeb_","GameLaunchSuccessWeb__"];var z={};L.GaEventSettings.gaLaunchAttemptAndLaunchSuccessEnabled&&(z[M.startClientAttemptedEvent]="Launch Attempt",z[M.startClientSucceededEvent]="Launch Success"),z[M.beginInstallEvent]="Install Begin",z[M.successfulInstallEvent]="Install Success",z[M.manualDownloadEvent]="Manual Download";var q={};function J(e){W.logToConsoleEnabled&&console.log(e)}function X(e,t){var n;W.logToEphemeralCountersEnabled&&("Windows"===(n=l()("#PlaceLauncherStatusPanel").data("os-name"))&&(n="Win32"),e=(e=e.replace("",n)).replace("",t),null!==(t=window.EventTracker)&&void 0!==t&&t.fireEvent&&window.EventTracker.fireEvent(e))}function K(e,t,n,r){void 0!==window.GoogleAnalyticsEvents&&W.logToGAEnabled&&window.GoogleAnalyticsEvents.FireEvent&&window.GoogleAnalyticsEvents.FireEvent([e,t,n,r])}function Y(e,n){J("".concat(e.type,": ").concat(JSON.stringify(n))),H[e.type]&&l().each(H[e.type],function(e,t){X(t,n.launchMethod)}),z[e.type]&&K(n.launchMethod,z[e.type],n.params.launchMode,0),"True"===l()("#PlaceLauncherStatusPanel").data("event-stream-for-protocol-enabled")&&q[e.type]&&q[e.type](null,n.params.placeId)}q[M.startClientAttemptedEvent]=V.SendClientStartAttempt,q[M.startClientSucceededEvent]=V.SendClientStartSuccessWeb,q[M.beginInstallEvent]=V.SendInstallBegin,q[M.successfulInstallEvent]=V.SendInstallSuccess,q[M.manualDownloadEvent]=V.SendManualDownloadClick,Object.assign(W,{logToConsole:J,logToEphemeralCounters:X,logToGA:K}),l()(document).ready(function(){var e=[M.startClientAttemptedEvent,M.startClientFailedEvent,M.startClientSucceededEvent,M.beginInstallEvent,M.successfulInstallEvent,M.manualDownloadEvent];l()(M).on(e.join(" "),Y)});var Z=W,$=function(){var e="click";l()("body").on(e,".VisitButtonPlay, .VisitButtonPlayGLI",function(){var e,t,n=l()(this);(n.hasClass("VisitButtonPlay")||n.hasClass("VisitButtonPlayGLI"))&&(e="PlayButton"),e&&(t=l()(this).attr("placeid"),n=L.UrlParser?L.UrlParser.getParameterValueByName("rbxp"):null,V.SendGamePlayIntent(e,t,n))}),l()("body").on(e,".VisitButtonEdit, .VisitButtonEditGLI",function(){var e=l()(this).attr("placeid");V.SendDevelopIntent("Edit",e)}),l()("#rbx-running-games").on(e,".rbx-game-server-item .rbx-game-server-join",function(){var e=l()(this).data("placeid");e&&V.SendGamePlayIntent("JoinInstance",e)}),l()("#rbx-friends-running-games").on(e,".rbx-friends-game-server-item .rbx-friends-game-server-join",function(){var e=l()(this).data("placeid");e&&V.SendGamePlayIntent("JoinInstance",e)}),l()("#game-instances").on(e,"#rbx-vip-servers .rbx-vip-server-item .rbx-vip-server-join",function(){var e=l()(this).data("placeid");e&&V.SendGamePlayIntent("PrivateServer",e)}),l()("#build-page").on(e,".roblox-edit-button",function(){var e=l()(this).parents("table.item-table"),e=e.data("rootplace-id")||e.data("item-id");e&&V.SendDevelopIntent("Edit",e)})},Q=ca(594),ee=ca.n(Q),te=ReactDOM,ne=ca.n(te),re=ReactUtilities,oe="token",ae="deeplink",ie=["/games/{placeId}/{placeName}","/share-links?code={linkId}&type=ExperienceInvite"].map(function(e){return new RegExp(e.replace(/\{.*?\}/g,"([^/]+)"))}),le=["/share-links"],ce=["ExperienceAffiliate"],ue=function(e){try{var t=new URL(e).searchParams.get("referralUrl");if(!t)return null;var n=new URL(decodeURIComponent(t));return(t=n,le.includes(t.pathname)&&ce.includes(null!==(t=t.searchParams.get("type"))&&void 0!==t?t:""))?n.href:null}catch(e){return null}},se=function(e,t,n){var r={link_url:t,group:ae,action:"create-token-attempt",status_code:n,token:null!=e?e:""};try{L.EventStream.SendEventWithTarget("tokenAction","EdpDownloadRobloxInstaller",r,L.EventStream.TargetTypes.WWW)}catch(e){}},de=function(e,i,l,c){return new(l=l||Promise)(function(n,t){function r(e){try{a(c.next(e))}catch(e){t(e)}}function o(e){try{a(c.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?n(e.value):((t=e.value)instanceof l?t:new l(function(e){e(t)})).then(r,o)}a((c=c.apply(e,i||[])).next())})},pe=function(n,r){var o,a,i,l={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;l;)try{if(o=1,a&&(i=2&t[0]?a.return:t[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,t[1])).done)return i;switch(a=0,i&&(t=[2&t[0],i.value]),t[0]){case 0:case 1:i=t;break;case 4:return l.label++,{value:t[1],done:!1};case 5:l.label++,a=t[1],t=[0];continue;case 7:t=l.ops.pop(),l.trys.pop();continue;default:if(!(i=0<(i=l.trys).length&&i[i.length-1])&&(6===t[0]||2===t[0])){l=0;continue}if(3===t[0]&&(!i||t[1]>i[0]&&t[1]i[0]&&t[1]e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,i=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){i=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw o}}}}(e);try{for(o.s();!(a=o.n()).done;){var a=a.value;if(a===r)return;if(a.focus({preventScroll:n}),document.activeElement!==r)return}}catch(e){o.e(e)}finally{o.f()}}var Ft=te,_t=be;function Vt(e){var o=Q.useRef(e);return Q.useEffect(function(){o.current=e}),Q.useMemo(function(){return function(){for(var e,t=arguments.length,n=new Array(t),r=0;re.length)&&(t=e.length);for(var n=0,r=new Array(t);n'),endLink:""}))}}),ee().createElement(ye.Grid,{className:s},ee().createElement(ye.Grid,{className:"".concat(d," ").concat(p)},ee().createElement("h5",{style:wn(i)},a(Nn)),ee().createElement("ol",{className:f},ee().createElement("li",{style:Cn,dangerouslySetInnerHTML:{__html:a(e,{startBold:"",endBold:""})}}),ee().createElement("li",{style:Cn,dangerouslySetInnerHTML:{__html:a(Bn,{startBold:"",endBold:""})}}),ee().createElement("li",{style:Cn},a(Mn)),ee().createElement("li",{style:Cn,dangerouslySetInnerHTML:{__html:a(Gn,{startLink:'',endLink:""})}}))),ee().createElement(ye.Grid,{className:m},ee().createElement("h5",{style:Wn({},wn(i))},a(Fn)),ee().createElement("p",{style:Pn},a(_n)),ee().createElement(ye.Grid,{className:v},ee().createElement("img",{src:gn(),alt:"QR Code",className:h}))))))}var Zn=L.Endpoints.getAbsoluteUrl,$n={common:["Common.VisitGame"],feature:"Feature.DownloadLanding"};function Qn(e,t,n,r,o,a,i){try{var l=e[a](i),c=l.value}catch(e){return void n(e)}l.done?t(c):Promise.resolve(c).then(r,o)}function er(l){return function(){var e=this,i=arguments;return new Promise(function(t,n){var r=l.apply(e,i);function o(e){Qn(r,t,n,o,a,"next",e)}function a(e){Qn(r,t,n,o,a,"throw",e)}o(void 0)})}}function tr(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function nr(r){for(var e=1;ee.length)&&(t=e.length);for(var n=0,r=new Array(t);n