Play Adopt Me Code (Roblox)
3 years ago in Plain Text
<html><!--<![endif]--><head data-machine-id="WEB5539"><style type="text/css">[uib-tooltip-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-bottom > .tooltip-arrow,[uib-popover-popup].popover.top-left > .arrow,[uib-popover-popup].popover.top-right > .arrow,[uib-popover-popup].popover.bottom-left > .arrow,[uib-popover-popup].popover.bottom-right > .arrow,[uib-popover-popup].popover.left-top > .arrow,[uib-popover-popup].popover.left-bottom > .arrow,[uib-popover-popup].popover.right-top > .arrow,[uib-popover-popup].popover.right-bottom > .arrow,[uib-popover-html-popup].popover.top-left > .arrow,[uib-popover-html-popup].popover.top-right > .arrow,[uib-popover-html-popup].popover.bottom-left > .arrow,[uib-popover-html-popup].popover.bottom-right > .arrow,[uib-popover-html-popup].popover.left-top > .arrow,[uib-popover-html-popup].popover.left-bottom > .arrow,[uib-popover-html-popup].popover.right-top > .arrow,[uib-popover-html-popup].popover.right-bottom > .arrow,[uib-popover-template-popup].popover.top-left > .arrow,[uib-popover-template-popup].popover.top-right > .arrow,[uib-popover-template-popup].popover.bottom-left > .arrow,[uib-popover-template-popup].popover.bottom-right > .arrow,[uib-popover-template-popup].popover.left-top > .arrow,[uib-popover-template-popup].popover.left-bottom > .arrow,[uib-popover-template-popup].popover.right-top > .arrow,[uib-popover-template-popup].popover.right-bottom > .arrow{top:auto;bottom:auto;left:auto;right:auto;margin:0;}[uib-popover-popup].popover,[uib-popover-html-popup].popover,[uib-popover-template-popup].popover{display:block !important;}</style><style type="text/css">.uib-position-measure{display:block !important;visibility:hidden !important;position:absolute !important;top:-9999px !important;left:-9999px !important;}.uib-position-scrollbar-measure{position:absolute !important;top:-9999px !important;width:50px !important;height:50px !important;overflow:scroll !important;}.uib-position-body-scrollbar-measure{overflow:scroll !important;}</style><style type="text/css">.ng-animate.item:not(.left):not(.right){-webkit-transition:0s ease-in-out left;transition:0s ease-in-out left}</style><style type="text/css">@charset "UTF-8";[ng\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style><title>(6) Adopt Me! - Roblox</title><meta http-equiv="X-UA-Compatible" content="IE=edge,requiresActiveX=true"><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="author" content="Roblox Corporation"><meta name="description" content="Check out Adopt Me!. It’s one of the millions of unique, user-generated 3D experiences created on Roblox. Raise and dress cute pets, decorate your house, and play with friends in the magical, family-friendly world of Adopt Me! on Roblox! 🐶🏘️😻
🌿 Spring Sale Week! 🌿
💸 2x Bucks earning until Monday!
🐼 25% off Pet Shop pets!
🚗 Up to 60% off on Gamepasses!
🐦 Follow @PlayAdoptMe on Twitter for updates: https://twitter.com/PlayAdoptMe
🎥 Subscribe to our YouTube channel: https://www.youtube.com/PlayAdoptMe
Meet the founders!
NewFissy - Tech Director (https://twitter.com/newfissy)
Bethink - Creative Director (https://twitter.com/Bethink_RBX)
🔔🔔🔔 Make sure to hit the FOLLOW button to get notified when new updates drop! 🔔🔔🔔
Terms of Service, Privacy Policy and Creative Attributions: https://devforum.roblox.com/t/credits/71812"><meta name="keywords" content="free games,online games,building games,virtual worlds,free mmo,gaming cloud,physics engine"><meta name="apple-itunes-app" content="app-id=431946152"><script type="text/javascript" async="" src="https://ssl.google-analytics.com/ga.js"></script><script id="evidon-location" src="//c.evidon.com/geo/country.js" charset="utf-8"></script><script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "Organization",
"name" : "Roblox",
"url" : "https://www.roblox.com/",
"logo": "https://images.rbxcdn.com/c69b74f49e785df33b732273fad9dbe0.png",
"sameAs" : [
"https://www.facebook.com/roblox/",
"https://twitter.com/roblox",
"https://www.linkedin.com/company/147977",
"https://www.instagram.com/roblox/",
"https://www.youtube.com/user/roblox",
"https://plus.google.com/+roblox",
"https://www.twitch.tv/roblox"
]
}
</script><meta property="og:site_name" content="Roblox"><meta property="og:title" content="Adopt Me!"><meta property="og:type" content="game"><meta property="og:url" content="https://www.roblox.com/games/920587237/Adopt-Me"><meta property="og:description" content="Check out Adopt Me!. It’s one of the millions of unique, user-generated 3D experiences created on Roblox. Raise and dress cute pets, decorate your house, and play with friends in the magical, family-friendly world of Adopt Me! on Roblox! 🐶🏘️😻
🌿 Spring Sale Week! 🌿
💸 2x Bucks earning until Monday!
🐼 25% off Pet Shop pets!
🚗 Up to 60% off on Gamepasses!
🐦 Follow @PlayAdoptMe on Twitter for updates: https://twitter.com/PlayAdoptMe
🎥 Subscribe to our YouTube channel: https://www.youtube.com/PlayAdoptMe
Meet the founders!
NewFissy - Tech Director (https://twitter.com/newfissy)
Bethink - Creative Director (https://twitter.com/Bethink_RBX)
🔔🔔🔔 Make sure to hit the FOLLOW button to get notified when new updates drop! 🔔🔔🔔
Terms of Service, Privacy Policy and Creative Attributions: https://devforum.roblox.com/t/credits/71812"><meta property="og:image" content="https://t0.rbxcdn.com/7916549437cfc588e48a2d83802f6e3d"><meta property="fb:app_id" content="190191627665278"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@Roblox"><meta name="twitter:title" content="Adopt Me!"><meta name="twitter:description" content="Check out Adopt Me!. It’s one of the millions of unique, user-generated 3D experiences created on Roblox. Raise and dress cute pets, decorate your house, and play with friends in the magical, family-friendly world of Adopt Me! on Roblox! 🐶🏘️😻
🌿 Spring Sale Week! 🌿
💸 2x Bucks earning until Monday!
🐼 25% off Pet Shop pets!
🚗 Up to 60% off on Gamepasses!
🐦 Follow @PlayAdoptMe on Twitter for updates: https://twitter.com/PlayAdoptMe
🎥 Subscribe to our YouTube channel: https://www.youtube.com/PlayAdoptMe
Meet the founders!
NewFissy - Tech Director (https://twitter.com/newfissy)
Bethink - Creative Director (https://twitter.com/Bethink_RBX)
🔔🔔🔔 Make sure to hit the FOLLOW button to get notified when new updates drop! 🔔🔔🔔
Terms of Service, Privacy Policy and Creative Attributions: https://devforum.roblox.com/t/credits/71812"><meta name="twitter:creator"><meta name="twitter:image1" content="https://t0.rbxcdn.com/7916549437cfc588e48a2d83802f6e3d"><meta name="twitter:app:country" content="US"><meta name="twitter:app:name:iphone" content="Roblox Mobile"><meta name="twitter:app:id:iphone" content="431946152"><meta name="twitter:app:url:iphone" content="robloxmobile://placeID=920587237"><meta name="twitter:app:name:ipad" content="Roblox Mobile"><meta name="twitter:app:id:ipad" content="431946152"><meta name="twitter:app:url:ipad" content="robloxmobile://placeID=920587237"><meta name="twitter:app:name:googleplay" content="Roblox"><meta name="twitter:app:id:googleplay" content="com.roblox.client"><meta name="twitter:app:url:googleplay" content="robloxmobile://placeID=920587237"><meta name="user-data" data-userid="2380466407" data-name="ANTOINEJES10" data-displayname="ANTOINEJES10" data-isunder13="true" data-created="2/17/2021 8:01:07 PM" data-ispremiumuser="false"><meta name="locale-data" data-language-code="en_us" data-language-name="English"><meta name="device-meta" data-device-type="computer" data-is-in-app="false" data-is-desktop="true" data-is-phone="false" data-is-tablet="false" data-is-console="false" data-is-android-app="false" data-is-ios-app="false" data-is-uwp-app="false" data-is-xbox-app="false" data-is-amazon-app="false" data-is-win32-app="false" data-is-studio="false" data-is-game-client-browser="false" data-is-ios-device="false" data-is-android-device="false" data-is-universal-app="false" data-app-type="unknown"><meta name="environment-meta" data-is-testing-site="false"><meta id="roblox-display-names" data-enabled="false"><meta name="page-meta" data-internal-page-name="GameDetail"><script>var Roblox=Roblox||{};Roblox.BundleVerifierConstants={isMetricsApiEnabled:true,eventStreamUrl:"//ecsv2.roblox.com/pe?t=diagnostic",deviceType:"Computer",cdnLoggingEnabled:JSON.parse("true")};</script><script>var Roblox=Roblox||{};Roblox.BundleDetector=(function(){var isMetricsApiEnabled=Roblox.BundleVerifierConstants&&Roblox.BundleVerifierConstants.isMetricsApiEnabled;var loadStates={loadSuccess:"loadSuccess",loadFailure:"loadFailure",executionFailure:"executionFailure"};var bundleContentTypes={javascript:"javascript",css:"css"};var ephemeralCounterNames={cdnPrefix:"CDNBundleError_",unknown:"CDNBundleError_unknown",cssError:"CssBundleError",jsError:"JavascriptBundleError",jsFileError:"JsFileExecutionError",resourceError:"ResourcePerformance_Error",resourceLoaded:"ResourcePerformance_Loaded"};return{jsBundlesLoaded:{},bundlesReported:{},counterNames:ephemeralCounterNames,loadStates:loadStates,bundleContentTypes:bundleContentTypes,timing:undefined,setTiming:function(windowTiming){this.timing=windowTiming;},getLoadTime:function(){if(this.timing&&this.timing.domComplete){return this.getCurrentTime()-this.timing.domComplete;}},getCurrentTime:function(){return new Date().getTime();},getCdnProviderName:function(bundleUrl,callBack){if(Roblox.BundleVerifierConstants.cdnLoggingEnabled){var xhr=new XMLHttpRequest();xhr.open('GET',bundleUrl,true);xhr.onreadystatechange=function(){if(xhr.readyState===xhr.HEADERS_RECEIVED){try{var headerValue=xhr.getResponseHeader("rbx-cdn-provider");if(headerValue){callBack(headerValue);}else{callBack();}}catch(e){callBack();}}};xhr.onerror=function(){callBack();};xhr.send();}else{callBack();}},getCdnProviderAndReportMetrics:function(bundleUrl,bundleName,loadState,bundleContentType){this.getCdnProviderName(bundleUrl,function(cdnProviderName){Roblox.BundleDetector.reportMetrics(bundleUrl,bundleName,loadState,bundleContentType,cdnProviderName);});},reportMetrics:function(bundleUrl,bundleName,loadState,bundleContentType,cdnProviderName){if(!isMetricsApiEnabled||!bundleUrl||!loadState||!loadStates.hasOwnProperty(loadState)||!bundleContentType||!bundleContentTypes.hasOwnProperty(bundleContentType)){return;}
var xhr=new XMLHttpRequest();var metricsApiUrl=(Roblox.EnvironmentUrls&&Roblox.EnvironmentUrls.metricsApi)||"https://metrics.roblox.com";xhr.open("POST",metricsApiUrl+"/v1/bundle-metrics/report",true);xhr.setRequestHeader("Content-Type","application/json");xhr.withCredentials=true;xhr.send(JSON.stringify({bundleUrl:bundleUrl,bundleName:bundleName||"",bundleContentType:bundleContentType,loadState:loadState,cdnProviderName:cdnProviderName,loadTimeInMilliseconds:this.getLoadTime()||0}));},logToEphemeralStatistics:function(sequenceName,value){var deviceType=Roblox.BundleVerifierConstants.deviceType;sequenceName+="_"+deviceType;var xhr=new XMLHttpRequest();xhr.open('POST','/game/report-stats?name='+sequenceName+"&value="+value,true);xhr.withCredentials=true;xhr.send();},logToEphemeralCounter:function(ephemeralCounterName){var deviceType=Roblox.BundleVerifierConstants.deviceType;ephemeralCounterName+="_"+deviceType;var xhr=new XMLHttpRequest();xhr.open('POST','/game/report-event?name='+ephemeralCounterName,true);xhr.withCredentials=true;xhr.send();},logToEventStream:function(failedBundle,ctx,cdnProvider,status){var esUrl=Roblox.BundleVerifierConstants.eventStreamUrl,currentPageUrl=encodeURIComponent(window.location.href);var deviceType=Roblox.BundleVerifierConstants.deviceType;ctx+="_"+deviceType;var duration=0;if(window.performance){var perfTiming=window.performance.getEntriesByName(failedBundle);if(perfTiming.length>0){var data=perfTiming[0];duration=data.duration||0;}}
var params="&evt=webBundleError&url="+currentPageUrl+"&ctx="+ctx+"&fileSourceUrl="+encodeURIComponent(failedBundle)+"&cdnName="+(cdnProvider||"unknown")+"&statusCode="+(status||"unknown")+"&loadDuration="+Math.floor(duration);var img=new Image();img.src=esUrl+params;},getCdnInfo:function(failedBundle,ctx,fileType){if(Roblox.BundleVerifierConstants.cdnLoggingEnabled){var xhr=new XMLHttpRequest();var counter=this.counterNames;xhr.open('GET',failedBundle,true);var cdnProvider;xhr.onreadystatechange=function(){if(xhr.readyState===xhr.HEADERS_RECEIVED){cdnProvider=xhr.getResponseHeader("rbx-cdn-provider");if(cdnProvider&&cdnProvider.length>0){Roblox.BundleDetector.logToEphemeralCounter(counter.cdnPrefix+cdnProvider+"_"+fileType);}
else{Roblox.BundleDetector.logToEphemeralCounter(counter.unknown+"_"+fileType);}}
else if(xhr.readyState===xhr.DONE){Roblox.BundleDetector.logToEventStream(failedBundle,ctx,cdnProvider,xhr.status);}};xhr.onerror=function(){Roblox.BundleDetector.logToEphemeralCounter(counter.unknown+"_"+fileType);Roblox.BundleDetector.logToEventStream(failedBundle,ctx,counter.unknown);};xhr.send();}
else{this.logToEventStream(failedBundle,ctx);}},reportResourceError:function(resourceName){var ephemeralCounterName=this.counterNames.resourceError+"_"+resourceName;this.logToEphemeralCounter(ephemeralCounterName);},reportResourceLoaded:function(resourceName){var loadTimeInMs=this.getLoadTime();if(loadTimeInMs){var sequenceName=this.counterNames.resourceLoaded+"_"+resourceName;this.logToEphemeralStatistics(sequenceName,loadTimeInMs);}},reportBundleError:function(bundleTag){var ephemeralCounterName,failedBundle,ctx,contentType;if(bundleTag.rel&&bundleTag.rel==="stylesheet"){ephemeralCounterName=this.counterNames.cssError;failedBundle=bundleTag.href;ctx="css";contentType=bundleContentTypes.css;}else{ephemeralCounterName=this.counterNames.jsError;failedBundle=bundleTag.src;ctx="js";contentType=bundleContentTypes.javascript;}
this.bundlesReported[failedBundle]=true;this.logToEphemeralCounter(ephemeralCounterName);this.getCdnInfo(failedBundle,ctx,ctx);var bundleName;if(bundleTag.dataset){bundleName=bundleTag.dataset.bundlename;}
else{bundleName=bundleTag.getAttribute('data-bundlename');}
this.getCdnProviderAndReportMetrics(failedBundle,bundleName,loadStates.loadFailure,contentType);},bundleDetected:function(bundleName){this.jsBundlesLoaded[bundleName]=true;},verifyBundles:function(document){var ephemeralCounterName=this.counterNames.jsFileError,eventContext=ephemeralCounterName;var scripts=(document&&document.scripts)||window.document.scripts;var errorsList=[];var bundleName;var monitor;for(var i=0;i<scripts.length;i++){var item=scripts[i];if(item.dataset){bundleName=item.dataset.bundlename;monitor=item.dataset.monitor;}
else{bundleName=item.getAttribute('data-bundlename');monitor=item.getAttribute('data-monitor');}
if(item.src&&monitor&&bundleName){if(!Roblox.BundleDetector.jsBundlesLoaded.hasOwnProperty(bundleName)){errorsList.push(item);}}}
if(errorsList.length>0){for(var j=0;j<errorsList.length;j++){var script=errorsList[j];if(!this.bundlesReported[script.src]){this.logToEphemeralCounter(ephemeralCounterName);this.getCdnInfo(script.src,eventContext,'js');if(script.dataset){bundleName=script.dataset.bundlename;}
else{bundleName=script.getAttribute('data-bundlename');}
this.getCdnProviderAndReportMetrics(script.src,bundleName,loadStates.executionFailure,bundleContentTypes.javascript);}}}}};})();window.addEventListener("load",function(evt){Roblox.BundleDetector.verifyBundles();});Roblox.BundleDetector.setTiming(window.performance.timing);</script><link href="https://images.rbxcdn.com/3b43a5c16ec359053fef735551716fc5.ico" rel="icon"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="StyleGuide" data-bundle-source="Main" href="https://css.rbxcdn.com/e0d4fd774937f217b54c178d68182d5ef0928a164feb48c7245bb06dea07dba4.css"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="Thumbnails" data-bundle-source="Main" href="https://css.rbxcdn.com/9517d686dc47015c200496d77e2b18146ee37652d18e25ecf9e1ed230310ea13.css"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="VerificationUpsell" data-bundle-source="Main" href="https://css.rbxcdn.com/4cfc9413aaac922000f010ba651f264e59a200d6062d41f8196017ade0094116.css"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="Navigation" data-bundle-source="Main" href="https://css.rbxcdn.com/9436c6cbe91fa165e539bde07534dd30493b8e7343503ad5b6f70b709200558d.css"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="Footer" data-bundle-source="Main" href="https://css.rbxcdn.com/d5344f38053922e5936f0d7e2d3496ee4f83b46f0bb40d1d2c253b80ac82668e.css"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="ConfigureWebApps" data-bundle-source="Main" href="https://css.rbxcdn.com/08def520152a575438e73a81aa9a310c2415c327df7b624a24aa6e794d24dba3.css"><link rel="canonical" href="https://www.roblox.com/games/920587237/Adopt-Me"><link onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" rel="stylesheet" href="https://static.rbxcdn.com/css/leanbase___5e469c309d1eeddf42cc9d36a50f82e0_m.css/fetch"><link onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" rel="stylesheet" href="https://static.rbxcdn.com/css/page___5e81edab0dd004d625e8a0531bcdb773_m.css/fetch"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="AccountSecurityPrompt" data-bundle-source="Main" href="https://css.rbxcdn.com/9856228925f28fad6a7bdb2fd7f92be876ba970048ad6384195a735184161ce4.css"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="GameBadges" data-bundle-source="Main" href="https://css.rbxcdn.com/db13003862c0b002c3401c68cc1e8b6a81ad4c087e1d64b13e06dc303553528a.css"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="SocialLinksJumbotron" data-bundle-source="Main" href="https://css.rbxcdn.com/5af537b5bf1087fdd133dd1c6c2128e62bc5181cd947843539e93b09e6ef28bc.css"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="ItemPurchase" data-bundle-source="Main" href="https://css.rbxcdn.com/f3f355ac7d495c2f51c813c9012a6f63b6b138050fcd5c3e53b9de7cc6e2b680.css"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="GameDetails" data-bundle-source="Main" href="https://css.rbxcdn.com/bb42d99b195855de31288f59c867272f2edbffa3bab76c13aad102e986fbea48.css"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="RecommendedGames" data-bundle-source="Main" href="https://css.rbxcdn.com/e0ef418fa64b0428874c7b8e3ac565148328bf77b5611234866ac576e1314267.css"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="RobuxIcon" data-bundle-source="Main" href="https://css.rbxcdn.com/2f599b9e9ca20ee3c155684adbf1cdcb7220bab681b55b4505123a0c34e81969.css"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="NotificationStream" data-bundle-source="Main" href="https://css.rbxcdn.com/d1c36a57982296706964ac2b650ba2f3087c47056ba37ac02822dc0192ce7820.css"><link rel="stylesheet" onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-bundlename="Chat" data-bundle-source="Main" href="https://css.rbxcdn.com/c0da40b3a6667e911346e3adfbb541802f9883b9c3933e6110ea1160109ac987.css"><script>var Roblox=Roblox||{};Roblox.RealTimeSettings=Roblox.RealTimeSettings||{NotificationsEndpoint:"https://realtime.roblox.com",MaxConnectionTime:"21600000",IsEventPublishingEnabled:false,IsDisconnectOnSlowConnectionDisabled:true,IsSignalRClientTransportRestrictionEnabled:true,IsLocalStorageInRealTimeEnabled:true,IsDebuggerEnabled:"False"}</script><script>var Roblox=Roblox||{};Roblox.EnvironmentUrls=Roblox.EnvironmentUrls||{};Roblox.EnvironmentUrls={"abtestingApiSite":"https://abtesting.roblox.com","accountInformationApi":"https://accountinformation.roblox.com","accountSettingsApi":"https://accountsettings.roblox.com","adConfigurationApi":"https://adconfiguration.roblox.com","adsApi":"https://ads.roblox.com","apiGatewayUrl":"https://apis.roblox.com","apiGatewayCdnUrl":"https://apis.rbxcdn.com","apiProxyUrl":"https://api.roblox.com","assetDeliveryApi":"https://assetdelivery.roblox.com","authApi":"https://auth.roblox.com","avatarApi":"https://avatar.roblox.com","badgesApi":"https://badges.roblox.com","billingApi":"https://billing.roblox.com","captchaApi":"https://captcha.roblox.com","catalogApi":"https://catalog.roblox.com","chatApi":"https://chat.roblox.com","contactsApi":"https://contacts.roblox.com","contentStoreApi":"https://contentstore.roblox.com","developApi":"https://develop.roblox.com","domain":"roblox.com","economyApi":"https://economy.roblox.com","economycreatorstatsApi":"https://economycreatorstats.roblox.com","engagementPayoutsApi":"https://engagementpayouts.roblox.com","followingsApi":"https://followings.roblox.com","friendsApi":"https://friends.roblox.com","gamesApi":"https://games.roblox.com","gameInternationalizationApi":"https://gameinternationalization.roblox.com","groupsApi":"https://groups.roblox.com","inventoryApi":"https://inventory.roblox.com","itemConfigurationApi":"https://itemconfiguration.roblox.com","localeApi":"https://locale.roblox.com","localizationTablesApi":"https://localizationtables.roblox.com","metricsApi":"https://metrics.roblox.com","midasApi":"https://midas.roblox.com","notificationApi":"https://notifications.roblox.com","premiumFeaturesApi":"https://premiumfeatures.roblox.com","presenceApi":"https://presence.roblox.com","publishApi":"https://publish.roblox.com","screenTimeApi":"https://apis.rcs.roblox.com/screen-time-api","thumbnailsApi":"https://thumbnails.roblox.com","tradesApi":"https://trades.roblox.com","translationRolesApi":"https://translationroles.roblox.com","universalAppConfigurationApi":"https://apis.roblox.com/universal-app-configuration","usersApi":"https://users.roblox.com","voiceApi":"https://voice.roblox.com","websiteUrl":"https://www.roblox.com","privateMessagesApi":"https://privatemessages.roblox.com","shareApi":"https://share.roblox.com","chatModerationApi":"https://chatmoderation.roblox.com","userModerationApi":"https://usermoderation.roblox.com","groupsModerationApi":"https://groupsmoderation.roblox.com","twoStepVerificationApi":"https://twostepverification.roblox.com","restrictedHoursServiceApi":"https://apis.roblox.com/restricted-hours-service"};var additionalUrls={amazonStoreLink:"https://www.amazon.com/Roblox-Corporation/dp/B00NUF4YOA",amazonWebStoreLink:"https%3a%2f%2fwww.amazon.com%2froblox%3f%26_encoding%3dUTF8%26tag%3dr05d13-20%26linkCode%3dur2%26linkId%3d5562fc29c05b45562a86358c198356eb%26camp%3d1789%26creative%3d9325",appProtocolUrl:"robloxmobile://",appStoreLink:"https://itunes.apple.com/us/app/roblox-mobile/id431946152",googlePlayStoreLink:"https://play.google.com/store/apps/details?id=com.roblox.client&amp;hl=en",iosAppStoreLink:"https://itunes.apple.com/us/app/roblox-mobile/id431946152",windowsStoreLink:"https://www.microsoft.com/en-us/store/games/roblox/9nblgggzm6wm",xboxStoreLink:"https://www.microsoft.com/en-us/p/roblox/bq1tn1t79v9k"}
for(var urlName in additionalUrls){Roblox.EnvironmentUrls[urlName]=additionalUrls[urlName];}</script><script>var Roblox=Roblox||{};Roblox.GaEventSettings={gaDFPPreRollEnabled:"false"==="true",gaLaunchAttemptAndLaunchSuccessEnabled:"false"==="true",gaPerformanceEventEnabled:"false"==="true"};</script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="headerinit" src="https://js.rbxcdn.com/a67ddd9413db88f4124e2c4f25d8cb1f.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="Polyfill" data-bundle-source="Main" src="https://js.rbxcdn.com/772034db167d3f4260047db4a7f2b8a58cf448709327013541e47c8962b6e556.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="XsrfProtection" data-bundle-source="Main" src="https://js.rbxcdn.com/4db2f741b7a3ec36d11fec999ce33f708ae85641cabfd27e11e0935928f7d9c4.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="HeaderScripts" data-bundle-source="Main" src="https://js.rbxcdn.com/97cb9ac7262155c329a259fce9f940f9bcfa852a6a1ccb44bd8a41c31e84e54b.js"></script><meta name="sentry-meta" data-env-name="production" data-dsn="https://[email protected]/1539367" data-sample-rate="0.01"><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="Sentry" data-bundle-source="Main" src="https://js.rbxcdn.com/edc66704bd1974195d8c60f4a163441bec82f1bcb11c492e7df07c43f45a4d49.js"></script><meta name="roblox-tracer-meta-data" data-access-token="S3EXjCZQQr6OixnmKu+hoa3OSfpvPP5qgU0esiWgwreFUUMBnPhEaoS5yIIrf9bdYlSgW0XKCb1So9Rhtj1eMzt/MJWcyKZ4TwIckHVj" data-service-name="Web" data-tracer-enabled="true" data-api-sites-request-allow-list="friends.roblox.com,chat.roblox.com,thumbnails.roblox.com,games.roblox.com" data-sample-rate="5" data-is-instrument-page-performance-enabled="true"><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="RobloxTracer" data-bundle-source="Main" src="https://js.rbxcdn.com/a168257175fe69cdb0762a3b8ca5d0a5fd625f77c027d5e4cef7f90a1602d704.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="RealTime" data-bundle-source="Main" src="https://js.rbxcdn.com/89f30f6701e04efb9dad1b1fb75ebd7cfe55257af8c8cefbd609039c4d66d8a8.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="CrossTabCommunication" data-bundle-source="Main" src="https://js.rbxcdn.com/948f3bfc9bbd152f537592b51c1a7765cdc0dfc538d74b7e5fc696c476c8792b.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"><script>var Roblox=Roblox||{};Roblox.AdsHelper=Roblox.AdsHelper||{};Roblox.AdsLibrary=Roblox.AdsLibrary||{};Roblox.AdsHelper.toggleAdsSlot=function(slotId,GPTRandomSlotIdentifier){var gutterAdsEnabled=false;if(gutterAdsEnabled){googletag.display(GPTRandomSlotIdentifier);return;}
if(typeof slotId!=='undefined'&&slotId&&slotId.length>0){var slotElm=$("#"+slotId);if(slotElm.is(":visible")){googletag.display(GPTRandomSlotIdentifier);}else{var adParam=Roblox.AdsLibrary.adsParameters[slotId];if(adParam){adParam.template=slotElm.html();slotElm.empty();}}}}</script><meta property="al:ios:url" content="robloxmobile://placeID=920587237"><meta property="al:ios:app_store_id" content="431946152"><meta property="al:ios:app_name" content="Roblox Mobile"><meta property="al:web:should_fallback" content="false"><!--[if lt IE 9]><script src=//oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js></script><script src=//oss.maxcdn.com/respond/1.4.2/respond.min.js></script><![endif]--><script>var Roblox=Roblox||{};(function(){var dnt=navigator.doNotTrack||window.doNotTrack||navigator.msDoNotTrack;if(typeof window.external!=="undefined"&&typeof window.external.msTrackingProtectionEnabled!=="undefined"){dnt=dnt||window.external.msTrackingProtectionEnabled();}
Roblox.browserDoNotTrack=dnt=="1"||dnt=="yes"||dnt===true;})();</script><script>var _gaq=_gaq||[];window.GoogleAnalyticsDisableRoblox2=true;_gaq.push(['b._setAccount','UA-486632-1']);_gaq.push(['b._setSampleRate','10']);_gaq.push(['b._setCampSourceKey','rbx_source']);_gaq.push(['b._setCampMediumKey','rbx_medium']);_gaq.push(['b._setCampContentKey','rbx_campaign']);_gaq.push(['b._setDomainName','roblox.com']);_gaq.push(['b._setCustomVar',1,'Visitor','Member',2]);_gaq.push(['b._setPageGroup',1,'GameDetail']);_gaq.push(['b._trackPageview']);_gaq.push(['c._setAccount','UA-26810151-2']);_gaq.push(['c._setSampleRate','1']);_gaq.push(['c._setDomainName','roblox.com']);_gaq.push(['c._setPageGroup',1,'GameDetail']);</script><script>if(Roblox&&Roblox.EventStream){Roblox.EventStream.Init("//ecsv2.roblox.com/www/e.png","//ecsv2.roblox.com/www/e.png","//ecsv2.roblox.com/pe?t=studio","//ecsv2.roblox.com/pe?t=diagnostic");}</script><script>if(Roblox&&Roblox.PageHeartbeatEvent){Roblox.PageHeartbeatEvent.Init([2,8,20,60]);}</script><script>if(typeof(Roblox)==="undefined"){Roblox={};}
Roblox.Endpoints=Roblox.Endpoints||{};Roblox.Endpoints.Urls=Roblox.Endpoints.Urls||{};Roblox.Endpoints.Urls['/asset/']='https://assetgame.roblox.com/asset/';Roblox.Endpoints.Urls['/client-status/set']='https://web.roblox.com/client-status/set';Roblox.Endpoints.Urls['/client-status']='https://web.roblox.com/client-status';Roblox.Endpoints.Urls['/game/']='https://assetgame.roblox.com/game/';Roblox.Endpoints.Urls['/game/edit.ashx']='https://assetgame.roblox.com/game/edit.ashx';Roblox.Endpoints.Urls['/game/placelauncher.ashx']='https://assetgame.roblox.com/game/placelauncher.ashx';Roblox.Endpoints.Urls['/game/preloader']='https://assetgame.roblox.com/game/preloader';Roblox.Endpoints.Urls['/game/report-stats']='https://assetgame.roblox.com/game/report-stats';Roblox.Endpoints.Urls['/game/report-event']='https://assetgame.roblox.com/game/report-event';Roblox.Endpoints.Urls['/game/updateprerollcount']='https://assetgame.roblox.com/game/updateprerollcount';Roblox.Endpoints.Urls['/login/default.aspx']='https://web.roblox.com/login/default.aspx';Roblox.Endpoints.Urls['/my/avatar']='https://web.roblox.com/my/avatar';Roblox.Endpoints.Urls['/my/money.aspx']='https://web.roblox.com/my/money.aspx';Roblox.Endpoints.Urls['/navigation/userdata']='https://web.roblox.com/navigation/userdata';Roblox.Endpoints.Urls['/chat/chat']='https://web.roblox.com/chat/chat';Roblox.Endpoints.Urls['/chat/data']='https://web.roblox.com/chat/data';Roblox.Endpoints.Urls['/friends/list']='https://web.roblox.com/friends/list';Roblox.Endpoints.Urls['/navigation/getcount']='https://web.roblox.com/navigation/getCount';Roblox.Endpoints.Urls['/regex/email']='https://web.roblox.com/regex/email';Roblox.Endpoints.Urls['/catalog/browse.aspx']='https://web.roblox.com/catalog/browse.aspx';Roblox.Endpoints.Urls['/catalog/html']='https://search.roblox.com/catalog/html';Roblox.Endpoints.Urls['/catalog/json']='https://search.roblox.com/catalog/json';Roblox.Endpoints.Urls['/catalog/contents']='https://search.roblox.com/catalog/contents';Roblox.Endpoints.Urls['/catalog/lists.aspx']='https://search.roblox.com/catalog/lists.aspx';Roblox.Endpoints.Urls['/catalog/items']='https://search.roblox.com/catalog/items';Roblox.Endpoints.Urls['/asset-hash-thumbnail/image']='https://assetgame.roblox.com/asset-hash-thumbnail/image';Roblox.Endpoints.Urls['/asset-hash-thumbnail/json']='https://assetgame.roblox.com/asset-hash-thumbnail/json';Roblox.Endpoints.Urls['/asset-thumbnail-3d/json']='https://assetgame.roblox.com/asset-thumbnail-3d/json';Roblox.Endpoints.Urls['/asset-thumbnail/image']='https://assetgame.roblox.com/asset-thumbnail/image';Roblox.Endpoints.Urls['/asset-thumbnail/json']='https://assetgame.roblox.com/asset-thumbnail/json';Roblox.Endpoints.Urls['/asset-thumbnail/url']='https://assetgame.roblox.com/asset-thumbnail/url';Roblox.Endpoints.Urls['/asset/request-thumbnail-fix']='https://assetgame.roblox.com/asset/request-thumbnail-fix';Roblox.Endpoints.Urls['/avatar-thumbnail-3d/json']='https://web.roblox.com/avatar-thumbnail-3d/json';Roblox.Endpoints.Urls['/avatar-thumbnail/image']='https://web.roblox.com/avatar-thumbnail/image';Roblox.Endpoints.Urls['/avatar-thumbnail/json']='https://web.roblox.com/avatar-thumbnail/json';Roblox.Endpoints.Urls['/avatar-thumbnails']='https://web.roblox.com/avatar-thumbnails';Roblox.Endpoints.Urls['/avatar/request-thumbnail-fix']='https://web.roblox.com/avatar/request-thumbnail-fix';Roblox.Endpoints.Urls['/bust-thumbnail/json']='https://web.roblox.com/bust-thumbnail/json';Roblox.Endpoints.Urls['/headshot-thumbnail/json']='https://web.roblox.com/headshot-thumbnail/json';Roblox.Endpoints.Urls['/item-thumbnails']='https://web.roblox.com/item-thumbnails';Roblox.Endpoints.Urls['/outfit-thumbnail/json']='https://web.roblox.com/outfit-thumbnail/json';Roblox.Endpoints.Urls['/place-thumbnails']='https://web.roblox.com/place-thumbnails';Roblox.Endpoints.Urls['/thumbnail/asset/']='https://web.roblox.com/thumbnail/asset/';Roblox.Endpoints.Urls['/thumbnail/avatar-headshot']='https://web.roblox.com/thumbnail/avatar-headshot';Roblox.Endpoints.Urls['/thumbnail/avatar-headshots']='https://web.roblox.com/thumbnail/avatar-headshots';Roblox.Endpoints.Urls['/thumbnail/user-avatar']='https://web.roblox.com/thumbnail/user-avatar';Roblox.Endpoints.Urls['/thumbnail/resolve-hash']='https://web.roblox.com/thumbnail/resolve-hash';Roblox.Endpoints.Urls['/thumbnail/place']='https://web.roblox.com/thumbnail/place';Roblox.Endpoints.Urls['/thumbnail/get-asset-media']='https://web.roblox.com/thumbnail/get-asset-media';Roblox.Endpoints.Urls['/thumbnail/remove-asset-media']='https://web.roblox.com/thumbnail/remove-asset-media';Roblox.Endpoints.Urls['/thumbnail/set-asset-media-sort-order']='https://web.roblox.com/thumbnail/set-asset-media-sort-order';Roblox.Endpoints.Urls['/thumbnail/place-thumbnails']='https://web.roblox.com/thumbnail/place-thumbnails';Roblox.Endpoints.Urls['/thumbnail/place-thumbnails-partial']='https://web.roblox.com/thumbnail/place-thumbnails-partial';Roblox.Endpoints.Urls['/thumbnail_holder/g']='https://web.roblox.com/thumbnail_holder/g';Roblox.Endpoints.Urls['/users/{id}/profile']='https://web.roblox.com/users/{id}/profile';Roblox.Endpoints.Urls['/service-workers/push-notifications']='https://web.roblox.com/service-workers/push-notifications';Roblox.Endpoints.Urls['/notification-stream/notification-stream-data']='https://web.roblox.com/notification-stream/notification-stream-data';Roblox.Endpoints.Urls['/api/friends/acceptfriendrequest']='https://web.roblox.com/api/friends/acceptfriendrequest';Roblox.Endpoints.Urls['/api/friends/declinefriendrequest']='https://web.roblox.com/api/friends/declinefriendrequest';Roblox.Endpoints.Urls['/authentication/is-logged-in']='https://web.roblox.com/authentication/is-logged-in';Roblox.Endpoints.addCrossDomainOptionsToAllRequests=true;</script><script>if(typeof(Roblox)==="undefined"){Roblox={};}
Roblox.Endpoints=Roblox.Endpoints||{};Roblox.Endpoints.Urls=Roblox.Endpoints.Urls||{};</script><script>Roblox=Roblox||{};Roblox.AbuseReportPVMeta={desktopEnabled:true,phoneEnabled:false,inAppEnabled:false};</script><meta name="thumbnail-meta-data" data-is-webapp-cache-enabled="False" data-webapp-cache-expirations-timespan="00:01:00" data-request-min-cooldown="1000" data-request-max-cooldown="30000" data-request-max-retry-attempts="5" data-request-batch-size="100" data-thumbnail-metrics-sample-size="20" data-concurrent-thumbnail-request-count="4"></head><body id="rbx-body" class="rbx-body light-theme gotham-font" data-performance-relative-value="0.005" data-internal-page-name="GameDetail" data-send-event-percentage="0"><meta name="csrf-token" data-token="oWt2n9hM0Ms8"><div id="roblox-linkify" data-enabled="true" data-regex="(https?\:\/\/)?(?:www\.)?([a-z0-9-]{2,}\.)*(((m|de|www|web|api|blog|wiki|corp|polls|bloxcon|developer|devforum|forum|status)\.roblox\.com|robloxlabs\.com)|(www\.shoproblox\.com)|(roblox\.status\.io)|(rblx\.co)|help\.roblox\.com(?![A-Za-z0-9\/.]*\/attachments\/))(?!\/[A-Za-z0-9-+&amp;@#\/=~_|!:,.;]*%)((\/[A-Za-z0-9-+&amp;@#\/%?=~_|!:,.;]*)|(?=\s|\b))" data-regex-flags="gm" data-as-http-regex="(([^.]help|polls)\.roblox\.com)"></div><div id="image-retry-data" data-image-retry-max-times="30" data-image-retry-timer="500" data-ga-logging-percent="10"></div><div id="http-retry-data" data-http-retry-max-timeout="0" data-http-retry-base-timeout="0" data-http-retry-max-times="1"></div><div id="TosAgreementInfo" data-terms-check-needed="False"></div><div id="fb-root"></div><div id="wrap" class="wrap no-gutter-ads logged-in" data-gutter-ads-enabled="false"><div id="navigation-container" class="light-theme gotham-font" data-number-of-autocomplete-suggestions="3"><div id="header" class="navbar-fixed-top rbx-header" role="navigation"><div class="container-fluid"><div class="rbx-navbar-header"><div id="header-menu-icon" role="button" tabindex="0" class="rbx-nav-collapse"><span class="icon-nav-menu"></span></div><div class="navbar-header"><a class="navbar-brand" href="/home"><span class="icon-logo"></span><span class="icon-logo-r"></span></a></div></div><ul class="nav rbx-navbar hidden-xs hidden-sm col-md-5 col-lg-4"><li class="cursor-pointer"><a class="font-header-2 nav-menu-title text-header" href="/games">Discover</a></li><li class="cursor-pointer"><a class="font-header-2 nav-menu-title text-header" href="/catalog">Avatar Shop</a></li><li class="cursor-pointer"><a class="font-header-2 nav-menu-title text-header" href="/develop">Create</a></li><li class="cursor-pointer"><a class="font-header-2 nav-menu-title text-header" href="/robux?ctx-nav">Robux</a></li></ul><ul class="nav rbx-navbar hidden-md hidden-lg col-xs-12"><li class="cursor-pointer"><a class="font-header-2 nav-menu-title text-header" href="/games">Discover</a></li><li class="cursor-pointer"><a class="font-header-2 nav-menu-title text-header" href="/catalog">Avatar Shop</a></li><li class="cursor-pointer"><a class="font-header-2 nav-menu-title text-header" href="/develop">Create</a></li><li class="cursor-pointer"><a class="font-header-2 nav-menu-title text-header" href="/robux?ctx=nav">Robux</a></li></ul><div id="right-navigation-header"><div id="navbar-universal-search" class="navbar-left navbar-search col-xs-5 col-sm-6 col-md-2 col-lg-3 shown" role="search"><div class="input-group"><form><div class="form-has-feedback"><input id="navbar-search-input" class="form-control input-field new-input-field" placeholder="Search" maxlength="120" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" value=""></div></form><div class="input-group-btn"><button id="navbar-search-btn" class="input-addon-btn" type="submit"><span class="icon-common-search-sm"></span></button></div></div><ul class="dropdown-menu new-dropdown-menu" role="menu"><li class="navbar-search-option rbx-clickable-li new-selected"><a class="new-navbar-search-anchor" href="https://web.roblox.com/games/?Keyword="><span class="icon-menu-games-off navbar-list-option-icon"></span><span class="navbar-list-option-text"></span><span class="navbar-list-option-suffix">in Experiences</span></a></li><li class="navbar-search-option rbx-clickable-li"><a class="new-navbar-search-anchor" href="https://web.roblox.com/search/users?keyword="><span class="icon-menu-profile navbar-list-option-icon"></span><span class="navbar-list-option-text"></span><span class="navbar-list-option-suffix">in People</span></a></li><li class="navbar-search-option rbx-clickable-li"><a class="new-navbar-search-anchor" href="https://web.roblox.com/catalog?CatalogContext=1&amp;Keyword="><span class="icon-menu-shop navbar-list-option-icon"></span><span class="navbar-list-option-text"></span><span class="navbar-list-option-suffix">in Avatar Shop</span></a></li><li class="navbar-search-option rbx-clickable-li"><a class="new-navbar-search-anchor" href="https://web.roblox.com/search/groups?keyword="><span class="icon-menu-groups navbar-list-option-icon"></span><span class="navbar-list-option-text"></span><span class="navbar-list-option-suffix">in Groups</span></a></li><li class="navbar-search-option rbx-clickable-li"><a class="new-navbar-search-anchor" href="https://web.roblox.com/develop/library?CatalogContext=2&amp;Category=6&amp;Keyword="><span class="icon-menu-library navbar-list-option-icon"></span><span class="navbar-list-option-text"></span><span class="navbar-list-option-suffix">in Library</span></a></li></ul></div><div class="navbar-right rbx-navbar-right"><ul class="nav navbar-right rbx-navbar-icon-group"><div class="age-bracket-label text-header"><a class="text-link dynamic-overflow-container" href="https://web.roblox.com/users/2380466407/profile"><span class="avatar avatar-headshot-xs"><span class="thumbnail-2d-container icon-blocked avatar-card-image"></span></span><span class="text-overflow age-bracket-label-username font-caption-header">ANTOINEJES10</span></a><span class="xsmall age-bracket-label-age text-secondary">&lt;13</span></div><li id="navbar-settings" class="cursor-pointer navbar-icon-item"><span id="settings-icon" class="nav-settings-icon rbx-menu-item"><span class="icon-nav-settings roblox-popover-close" id="nav-settings"></span><span class="notification-red notification nav-setting-highlight hidden">0</span></span></li><li id="navbar-robux" class="cursor-pointer navbar-icon-item"><span id="nav-robux-icon" class="nav-robux-icon rbx-menu-item"><span><span class="icon-robux-28x28 roblox-popover-close" id="nav-robux"></span><span class="rbx-text-navbar-right text-header" id="nav-robux-amount">0</span></span></span></li><li id="navbar-stream" class="navbar-icon-item navbar-stream"><span class="nav-robux-icon rbx-menu-item ng-scope"><div class="notification-stream-indicator" ng-class="{'inApp': library.inApp}" id="notification-stream-icon-container" notification-stream-indicator="true"> <a id="nav-ns-icon" class="rbx-menu-item notification-stream-icon"> <span class="icon-nav-notification-stream" id="nav-notifications"></span> <span class="notification-red notification ng-binding" ng-show="layout.unreadNotifications > 0 &amp;&amp; (!layout.isNotificationContentOpen)"> 27 </span> </a> </div></span></li><li class="cursor-pointer rbx-navbar-right-search" role="menuitem"><span class="rbx-menu-icon rbx-menu-item"><span class="icon-nav-search-white"></span></span></li></ul></div></div></div></div><div id="left-navigation-container"><div id="navigation" class="rbx-left-col"><ul><li><a class="dynamic-overflow-container text-nav" href="https://web.roblox.com/users/2380466407/profile" role="link"><span class="avatar avatar-headshot-xs"><span class="thumbnail-2d-container icon-blocked avatar-card-image"></span></span><div class="font-header-2 dynamic-ellipsis-item">ANTOINEJES10</div></a></li><li class="rbx-divider"></li></ul><div data-simplebar="init" class="rbx-scrollbar"><div class="simplebar-wrapper" style="margin: 0px;"><div class="simplebar-height-auto-observer-wrapper"><div class="simplebar-height-auto-observer"></div></div><div class="simplebar-mask"><div class="simplebar-offset" style="right: 0px; bottom: 0px;"><div class="simplebar-content-wrapper" style="height: 100%; overflow: scroll;"><div class="simplebar-content" style="padding: 0px;"><ul class="left-col-list"><li><a class="dynamic-overflow-container text-nav" href="https://web.roblox.com/" id="nav-home"><div><span class="icon-nav-home"></span></div><span class="font-header-2 dynamic-ellipsis-item">Home</span></a></li><li><a class="dynamic-overflow-container text-nav" href="https://web.roblox.com/users/2380466407/profile" id="nav-profile"><div><span class="icon-nav-profile"></span></div><span class="font-header-2 dynamic-ellipsis-item">Profile</span></a></li><li><a class="dynamic-overflow-container text-nav" href="https://web.roblox.com/my/messages/#!/inbox" id="nav-message"><div><span class="icon-nav-message"></span></div><span class="font-header-2 dynamic-ellipsis-item">Messages</span><div class="dynamic-width-item align-right"><span class="notification-blue notification" title="1">1</span></div></a></li><li><a class="dynamic-overflow-container text-nav" href="https://web.roblox.com/users/friends#!/friend-requests" id="nav-friends"><div><span class="icon-nav-friends"></span></div><span class="font-header-2 dynamic-ellipsis-item">Friends</span><div class="dynamic-width-item align-right"><span class="notification-blue notification" title="44">44</span></div></a></li><li><a class="dynamic-overflow-container text-nav" href="https://web.roblox.com/my/avatar" id="nav-character"><div><span class="icon-nav-charactercustomizer"></span></div><span class="font-header-2 dynamic-ellipsis-item">Avatar</span></a></li><li><a class="dynamic-overflow-container text-nav" href="https://web.roblox.com/users/2380466407/inventory" id="nav-inventory"><div><span class="icon-nav-inventory"></span></div><span class="font-header-2 dynamic-ellipsis-item">Inventory</span></a></li><li><a class="dynamic-overflow-container text-nav" href="https://web.roblox.com/trades" id="nav-trade"><div><span class="icon-nav-trade"></span></div><span class="font-header-2 dynamic-ellipsis-item">Trade</span></a></li><li><a class="dynamic-overflow-container text-nav" href="https://web.roblox.com/my/groups" id="nav-group"><div><span class="icon-nav-group"></span></div><span class="font-header-2 dynamic-ellipsis-item">Groups</span></a></li><li><a class="dynamic-overflow-container text-nav" href="https://web.roblox.com/feeds/" id="nav-my-feed"><div><span class="icon-nav-my-feed"></span></div><span class="font-header-2 dynamic-ellipsis-item">My Feed</span></a></li><li><a class="dynamic-overflow-container text-nav" href="https://blog.roblox.com" id="nav-blog"><div><span class="icon-nav-blog"></span></div><span class="font-header-2 dynamic-ellipsis-item">Blog</span></a></li><li><div role="link" tabindex="0" id="nav-shop" class="cursor-pointer dynamic-overflow-container text-nav"><div><span class="icon-nav-shop"></span></div><span class="font-header-2 dynamic-ellipsis-item">Official Store</span></div></li><li><a class="dynamic-overflow-container text-nav" href="https://web.roblox.com/giftcards-us" id="nav-giftcards"><div><span class="icon-nav-giftcards"></span></div><span class="font-header-2 dynamic-ellipsis-item">Gift Cards</span></a></li><li class="rbx-upgrade-now"><a href="https://web.roblox.com/premium/membership?ctx=leftnav" class="btn-growth-md btn-secondary-md" id="upgrade-now-button">Get Premium</a></li><li class="font-bold small text-nav"> Events</li><li class="rbx-nav-sponsor" ng-non-bindable="true"><a class="text-nav menu-item" href="https://web.roblox.com/sponsored/intheheights" title="intheheights"><img src="https://images.rbxcdn.com/64a26f597b9eb83d6d67b2e2af78d737" alt=""></a></li><li class="rbx-nav-sponsor" ng-non-bindable="true"><a class="text-nav menu-item" href="https://web.roblox.com/sponsored/GucciGarden" title="GucciGarden"><img src="https://images.rbxcdn.com/f6f9868c0a5ac1490b4e1d59063e02cb" alt=""></a></li></ul></div></div></div></div><div class="simplebar-placeholder" style="width: 0px; height: 663px;"></div></div><div class="simplebar-track simplebar-horizontal" style="visibility: visible;"><div class="simplebar-scrollbar" style="width: 25px; transform: translate3d(0px, 0px, 0px); display: block;"></div></div><div class="simplebar-track simplebar-vertical" style="visibility: visible;"><div class="simplebar-scrollbar" style="height: 587px; display: block; transform: translate3d(0px, 0px, 0px);"></div></div></div></div></div><div id="verificationUpsell-container"></div><div id="accountRecoveryModal-container"><div accountrecoverymodal-container=""></div></div></div><script>var Roblox=Roblox||{};(function(){if(Roblox&&Roblox.Performance){Roblox.Performance.setPerformanceMark("navigation_end");}})();</script><div class="container-main" id="container-main"><script>if(top.location!=self.location){top.location=self.location.href;}</script><div class="alert-container"><noscript><div><div class=alert-info role=alert>Please enable Javascript to use all the features on this site.</div></div></noscript><div id="account-security-prompt-container"></div><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="CrownPeakCookieBanner" data-bundle-source="Main" src="https://js.rbxcdn.com/5188106329cab2c7a265bd5d8182124dd5a48379bfd31965c98d1fd73418dfc0.js"></script></div><div class="content"><div id="Leaderboard-Abp" class="abp leaderboard-abp"><iframe name="Roblox_GameDetail_Top_728x90" allowtransparency="true" frameborder="0" height="110" scrolling="no" data-src="" src="https://web.roblox.com/user-sponsorship/1" width="728" data-js-adtype="iframead" data-ad-slot="Roblox_GameDetail_Top_728x90"></iframe></div><div id="game-detail-page" class="row page-content inline-social" data-place-id="920587237"><div id="game-detail-meta-data" data-universe-id="383310974" data-place-id="920587237" data-place-name="Adopt Me!" data-page-id="fb2b1bc4-a058-4034-9fd3-27f46a4cd168" data-show-shut-down-all-button="false" data-user-can-manage-place="false" data-private-server-price="0" data-can-create-server="true" data-private-server-limit="1" data-is-all-genre="False" data-enforce-genre="True" data-can-copy-place="False" class="hidden"></div><div class="system-feedback"><div class="alert-system-feedback"><div class="alert alert-success">Purchase Completed</div></div><div class="alert-system-feedback"><div class="alert alert-warning">Error occurred</div></div></div><div class="col-xs-12 section-content game-main-content remove-panel follow-button-enabled"><div id="game-details-carousel-container" class="game-details-carousel-container"><div><span class="thumbnail-2d-container carousel-item"><img class="" src="https://t3.rbxcdn.com/c936f4599a3c7d17302eef5a64a649fe" alt="" title=""></span><span class="thumbnail-2d-container carousel-item"><img class="" src="https://t3.rbxcdn.com/b3c3948bf123614d2e4dec8adf896b62" alt="" title=""></span><span class="thumbnail-2d-container carousel-item"><img class="" src="https://t0.rbxcdn.com/e30239af98a6fff5e8c6fa62c2017513" alt="" title=""></span><span class="thumbnail-2d-container carousel-item"><img class="" src="https://t1.rbxcdn.com/8b643e4e4acbd0cb14fda065f69ad8bc" alt="" title=""></span><span class="thumbnail-2d-container carousel-item carousel-item-active-out"><img class="" src="https://t2.rbxcdn.com/cc7c1c3654d8b6c4700e018a36ba6a6e" alt="" title=""></span><span class="thumbnail-2d-container carousel-item carousel-item-active carousel-item-active-out"><img class="" src="https://t3.rbxcdn.com/5907102d08e541b9233f75b5eaa3841d" alt="" title=""></span><span class="thumbnail-2d-container carousel-item"><img class="" src="https://t1.rbxcdn.com/7572451dc42ad5cfd5756d431b54dbbe" alt="" title=""></span><span class="thumbnail-2d-container carousel-item"><img class="" src="https://t3.rbxcdn.com/bfa726a308e609556ed8e71e938eedb7" alt="" title=""></span><span class="thumbnail-2d-container carousel-item"><img class="" src="https://t0.rbxcdn.com/d441ce3e72cf47a64260c991864a5156" alt="" title=""></span><span class="thumbnail-2d-container carousel-item"><img class="" src="https://t1.rbxcdn.com/e9b3d45cda41e71e4a0ad0a625ca217e" alt="" title=""></span></div></div><div class="game-calls-to-action"><div class="game-title-container"><h2 class="game-name" title="Adopt Me!">Adopt Me!</h2><div class="game-creator"><span class="text-label">By</span> <a class="text-name" href="https://web.roblox.com/groups/295182">DreamCraft</a></div></div><div class="game-buttons-container"><div id="game-details-play-button-container" class="game-details-play-button-container"><button type="button" class="btn-full-width btn-common-play-game-lg btn-primary-md btn-min-width"><span class="icon-common-play"></span></button></div><ul class="favorite-follow-vote-share"><li class="game-favorite-button-container"><div class="tooltip-container" data-toggle="tooltip" data-original-title="Add to Favorites"><div class="favorite-button"><a id="toggle-game-favorite" data-toggle-url="/favorite/toggle" data-assetid="920587237" data-isguest="False" data-signin-url="https://web.roblox.com/newlogin?returnUrl=%2Fgames%2F920587237%2FAdopt-Me%3FrefPageId%3D1116811b-ed36-4e75-af57-c92a77858b3e"><div id="game-favorite-icon" class="icon-favorite"></div><div id="game-favorite-icon-label" class="icon-label">Favorite</div></a></div></div></li><li class="game-follow-button-container"><div class="tooltip-container" data-toggle="tooltip" data-original-title="Follow Experience"><div class="follow-button"><a id="toggle-game-follow" data-universe-id="383310974" data-is-guest="false" data-signin-url="https://web.roblox.com/newlogin?returnUrl=%2Fgames%2F920587237%2FAdopt-Me%3FrefPageId%3D1116811b-ed36-4e75-af57-c92a77858b3e" data-user-id="2380466407" data-originator="" data-originator-id=""><div id="game-follow-icon" class="icon-follow-game"></div><div id="game-follow-icon-label" class="icon-label">Follow</div></a></div></div></li> <li id="voting-section" class="voting-panel body" data-target-id="920587237" data-total-up-votes="4356256" data-total-down-votes="804503" data-vote-modal="" data-user-authenticated="true" data-vote-url="" data-register-url="https://web.roblox.com/newlogin?returnUrl=%2Fgames%2Fvotingservice%2F920587237" data-account-page-url="https://web.roblox.com/my/account?confirmemail=1">
<div class="spinner spinner-sm loading"></div>
<div class="vote-summary">
<div class="voting-details">
<div class="users-vote ">
<div class="upvote">
<span class="icon-like "></span>
</div>
<div class="vote-details">
<div class="vote-container">
<div class="vote-background has-votes"></div>
<div class="vote-percentage" style="width: 84%;"></div>
<div class="vote-mask">
<div class="segment seg-1"></div>
<div class="segment seg-2"></div>
<div class="segment seg-3"></div>
<div class="segment seg-4"></div>
</div>
</div>
<div class="vote-numbers">
<div class="count-left">
<span id="vote-up-text" title="4356256" class="vote-text">4M+</span>
</div>
<div class="count-right">
<span id="vote-down-text" title="804503" class="vote-text">804K+</span>
</div>
</div>
</div>
<div class="downvote">
<span class="icon-dislike "></span>
</div>
</div>
</div>
</div>
</li>
<script>
$(function () {
Roblox.Voting.Initialize();
});
</script>
<li class="social-media-share"></li></ul></div></div></div><div class="col-xs-12 rbx-tabs-horizontal" data-place-id="920587237"><ul id="horizontal-tabs" class="nav nav-tabs" role="tablist"><li id="tab-about" class="rbx-tab tab-about active"><a class="rbx-tab-heading" href="#about"> <span class="text-lead">About</span> </a></li><li id="tab-store" class="rbx-tab tab-store"><a class="rbx-tab-heading" href="#store"> <span class="text-lead">Store</span> </a></li><li id="tab-game-instances" class="rbx-tab tab-game-instances"><a class="rbx-tab-heading" href="#game-instances"> <span class="text-lead">Servers</span> </a></li></ul><div class="tab-content rbx-tab-content"><div class="tab-pane active" id="about"><div class="section game-about-container"><div class="container-header"><h3>Description</h3></div><div class="section-content remove-panel"><pre class="text game-description linkify">Raise and dress cute pets, decorate your house, and play with friends in the magical, family-friendly world of Adopt Me! on Roblox! 🐶🏘️😻
🌿 Spring Sale Week! 🌿
💸 2x Bucks earning until Monday!
🐼 25% off Pet Shop pets!
🚗 Up to 60% off on Gamepasses!
🐦 Follow @PlayAdoptMe on Twitter for updates: https://twitter.com/PlayAdoptMe
🎥 Subscribe to our YouTube channel: https://www.youtube.com/PlayAdoptMe
Meet the founders!
NewFissy - Tech Director (https://twitter.com/newfissy)
Bethink - Creative Director (https://twitter.com/Bethink_RBX)
🔔🔔🔔 Make sure to hit the FOLLOW button to get notified when new updates drop! 🔔🔔🔔
Terms of Service, Privacy Policy and Creative Attributions: <a class="text-link" href="https://devforum.roblox.com/t/credits/71812" target="_blank" rel="noopener">https://devforum.roblox.com/t/credits/71812</a></pre><ul class="border-top border-bottom game-stats-container follow-button-enabled"><li class="game-stat"><p class="text-label text-overflow font-caption-header">Active</p><p class="text-lead font-caption-body wait-for-i18n-format-render">215,773</p></li><li class="game-stat"><p class="text-label text-overflow font-caption-header">Favorites</p><p class="text-lead font-caption-body wait-for-i18n-format-render"><span class="game-favorite-count">20,885,087</span></p></li><li class="game-stat"><p class="text-label text-overflow font-caption-header">Visits</p><p id="game-visit-count" class="text-lead font-caption-body wait-for-i18n-format-render" title="22,732,424,016">22.7B+</p></li><li class="game-stat"><p class="text-label text-overflow font-caption-header">Created</p><p class="text-lead font-caption-body date-time-i18n" data-date-time-i18n-value="7/14/2017" data-date-time-i18n-format="short">7/14/2017</p></li><li class="game-stat"><p class="text-label text-overflow font-caption-header">Updated</p><p class="text-lead font-caption-body date-time-i18n" data-date-time-i18n-value="5/27/2021" data-date-time-i18n-format="short">5/27/2021</p></li><li class="game-stat"><p class="text-label text-overflow font-caption-header">Max Visitors</p><p class="text-lead font-caption-body wait-for-i18n-format-render">48</p></li><li class="game-stat"><p class="text-label text-overflow font-caption-header">Genre</p><p class="text-lead font-caption-body wait-for-i18n-format-render">RPG</p></li><li class="game-stat"><p class="text-label text-overflow font-caption-header">Allowed Gear</p><p class="text-lead font-caption-body stat-gears"><span class="icon-nogear" data-toggle="tooltip" data-original-title="No Gear Allowed"></span></p></li></ul><div class="game-stat-footer"><span class="game-report-abuse"><a class="text-report abuse-report-modal" href="https://web.roblox.com/abusereport/asset?id=920587237&amp;RedirectUrl=%2fgames%2f920587237%2fAdopt-Me">Report Abuse</a></span></div></div></div><div id="rbx-private-servers" class="stack" data-placeid="920587237" data-universeid="383310974" data-place-name="Adopt Me!" data-creator-name="DreamCraft" data-renew-price="This private server will start renewing every month at <span class='text-robux text-free'>Free</span> until you cancel." data-user-profile-absolute-url="https://web.roblox.com/users/0/profile" data-showshutdown="" data-slow-game-fps-threshold="15" data-private-server-name-max-length="50" data-private-server-name-error-text="The name of a private server cannot be blank and can be no more than {0} characters." data-configure-base-url="/private-server/configure/{0}" data-game-instances-base-url="" data-game-shutdown-url="/game-instances/shutdown" data-is-user-authenticated="True" data-instance-list-url="/private-server/instance-list-json" data-renew-url="/private-server/renew" data-is-game-joinable="True" data-is-create-private-server-preopened="False" data-is-create-private-server-jq-disabled="False"><div class="container-header"><h3>Private Servers</h3><span class="tooltip-container" data-toggle="tooltip" data-original-title="Private servers let you visit this experience privately with friends or people you invite!"> <span class="icon-moreinfo"></span> </span></div><div class="create-server-banner section-content remove-panel"><div class="create-server-banner-text text"><span class="private-server-price">Price: <span class="text-robux text-free">Free</span></span> <span class="play-with-others-text">Visit this experience with friends and other people you invite.<br>See all your private servers in the <a class="text-link" href="#!/game-instances">Servers</a> tab.</span></div><div id="private-server-purchase-body-content" class="hidden"><div class="private-server-purchase"><div class="modal-list-item private-server-main-text">Create a private server for <span class="text-robux text-free">Free</span>?</div><div class="modal-list-item"><span class="text-label private-server-game-name"> Experience Name </span> <span class="game-name"> Adopt Me! </span></div><div class="modal-list-item private-server-name-input"><span class="text-label">Server Name</span><div class="form-group"><input type="text" class="form-control input-field private-server-name" maxlength="50"></div><div class="form-control-label private-server-name-error-message"></div></div></div></div><span class="rbx-private-server-create" data-is-private-server="true" data-product-id="87378186" data-item-id="920587237" data-item-name="Adopt Me!" data-expected-price="0" data-expected-currency="1" data-seller-name="DreamCraft" data-expected-seller-id="295182" data-continueshopping-url="/games/920587237/Adopt-Me?refPageId=1116811b-ed36-4e75-af57-c92a77858b3e" data-purchase-title-text="Create Private Server" data-purchase-body-content="" data-purchase-url="/private-server/purchase" data-universe-id="383310974" data-modal-field-validation-required="true" data-footer-text="Your balance after this transaction will be <span class='icon-robux-gray-16x16'></span>{0}. This is a subscription-based feature. It will auto-renew once a month until you cancel the subscription." data-private-server-limit="1" name="CreatePrivateServer"> <span class="btn-secondary-md btn-more rbx-private-server-create-button">Create Private Server</span> <span class="text-footer rbx-private-server-create-disabled-text">You have created the maximum number of free private servers for this experience.</span> </span></div><div class="section tab-server-only"></div></div><div id="game-badges-container" class="ng-scope"><game-badges-list universe-id="383310974" class="ng-isolate-scope"><!-- ngIf: $ctrl.badges.data.length > 0 --><div class="stack badge-container ng-scope" ng-if="$ctrl.badges.data.length > 0"> <div class="container-header"> <h3 ng-bind="'HeadingGameBadges' | translate" class="ng-binding">Badges</h3> </div> <ul class="stack-list"> <!-- ngRepeat: badge in $ctrl.badges.data | limitTo: $ctrl.badges.displayedBadgeCount --><li ng-repeat="badge in $ctrl.badges.data | limitTo: $ctrl.badges.displayedBadgeCount" class="stack-row badge-row ng-scope"> <div class="badge-image"> <a href="https://web.roblox.com/badges/2124439922/Tiny-Isles"> <thumbnail-2d thumbnail-type="$ctrl.thumbnailTypes.badgeIcon" thumbnail-target-id="badge.id" class="ng-isolate-scope"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="BadgeIcon" thumbnail-target-id="2124439922"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://t0.rbxcdn.com/5343173000bdc492d3f1700562ad6253" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="" title="" class="ng-scope ng-isolate-scope" src="https://t0.rbxcdn.com/5343173000bdc492d3f1700562ad6253"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></a> </div> <div class="badge-content"> <div class="badge-data-container"> <div class="font-header-2 badge-name ng-binding" ng-bind="badge.name">Tiny Isles</div> <p class="para-overflow ng-binding" ng-bind="badge.description">You managed to conquer the hardest obby in all of Adopt Me, very well done!</p> </div> <ul class="badge-stats-container"> <li> <div class="text-label ng-binding" ng-bind="'LabelRarity' | translate">Rarity</div> <div class="font-header-2 badge-stats-info ng-binding">0.0% (Impossible)</div> </li> <li> <div class="text-label ng-binding" ng-bind="'LabelWonYesterday' | translate">Won Yesterday</div> <div class="font-header-2 badge-stats-info ng-binding" ng-bind="badge.pastDayAwardedCount">429</div> </li> <li> <div class="text-label ng-binding" ng-bind="'LabelWonEver' | translate">Won Ever</div> <div class="font-header-2 badge-stats-info ng-binding" ng-bind="badge.awardedCount">892589</div> </li> </ul> </div> </li><!-- end ngRepeat: badge in $ctrl.badges.data | limitTo: $ctrl.badges.displayedBadgeCount --><li ng-repeat="badge in $ctrl.badges.data | limitTo: $ctrl.badges.displayedBadgeCount" class="stack-row badge-row ng-scope"> <div class="badge-image"> <a href="https://web.roblox.com/badges/2124439923/Ancient-Ruins"> <thumbnail-2d thumbnail-type="$ctrl.thumbnailTypes.badgeIcon" thumbnail-target-id="badge.id" class="ng-isolate-scope"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="BadgeIcon" thumbnail-target-id="2124439923"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://t7.rbxcdn.com/37a15197cf899c046c2cb92e9c929ceb" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="" title="" class="ng-scope ng-isolate-scope" src="https://t7.rbxcdn.com/37a15197cf899c046c2cb92e9c929ceb"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></a> </div> <div class="badge-content"> <div class="badge-data-container"> <div class="font-header-2 badge-name ng-binding" ng-bind="badge.name">Ancient Ruins</div> <p class="para-overflow ng-binding" ng-bind="badge.description">That was a really scary map... how did you make it through? Very impressive!</p> </div> <ul class="badge-stats-container"> <li> <div class="text-label ng-binding" ng-bind="'LabelRarity' | translate">Rarity</div> <div class="font-header-2 badge-stats-info ng-binding">0.1% (Impossible)</div> </li> <li> <div class="text-label ng-binding" ng-bind="'LabelWonYesterday' | translate">Won Yesterday</div> <div class="font-header-2 badge-stats-info ng-binding" ng-bind="badge.pastDayAwardedCount">6171</div> </li> <li> <div class="text-label ng-binding" ng-bind="'LabelWonEver' | translate">Won Ever</div> <div class="font-header-2 badge-stats-info ng-binding" ng-bind="badge.awardedCount">8238062</div> </li> </ul> </div> </li><!-- end ngRepeat: badge in $ctrl.badges.data | limitTo: $ctrl.badges.displayedBadgeCount --><li ng-repeat="badge in $ctrl.badges.data | limitTo: $ctrl.badges.displayedBadgeCount" class="stack-row badge-row ng-scope"> <div class="badge-image"> <a href="https://web.roblox.com/badges/2124439924/Coastal-Climb"> <thumbnail-2d thumbnail-type="$ctrl.thumbnailTypes.badgeIcon" thumbnail-target-id="badge.id" class="ng-isolate-scope"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="BadgeIcon" thumbnail-target-id="2124439924"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://t3.rbxcdn.com/4c1e3ce39cc88acbac0a2be8b497cf83" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="" title="" class="ng-scope ng-isolate-scope" src="https://t3.rbxcdn.com/4c1e3ce39cc88acbac0a2be8b497cf83"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></a> </div> <div class="badge-content"> <div class="badge-data-container"> <div class="font-header-2 badge-name ng-binding" ng-bind="badge.name">Coastal Climb</div> <p class="para-overflow ng-binding" ng-bind="badge.description">You worked your way around the coast, past the lighthouse and to the finish line! Well done!</p> </div> <ul class="badge-stats-container"> <li> <div class="text-label ng-binding" ng-bind="'LabelRarity' | translate">Rarity</div> <div class="font-header-2 badge-stats-info ng-binding">0.1% (Impossible)</div> </li> <li> <div class="text-label ng-binding" ng-bind="'LabelWonYesterday' | translate">Won Yesterday</div> <div class="font-header-2 badge-stats-info ng-binding" ng-bind="badge.pastDayAwardedCount">5555</div> </li> <li> <div class="text-label ng-binding" ng-bind="'LabelWonEver' | translate">Won Ever</div> <div class="font-header-2 badge-stats-info ng-binding" ng-bind="badge.awardedCount">8416143</div> </li> </ul> </div> </li><!-- end ngRepeat: badge in $ctrl.badges.data | limitTo: $ctrl.badges.displayedBadgeCount --> <!-- ngIf: $ctrl.badges.displayedBadgeCount < $ctrl.badges.data.length --><li ng-if="$ctrl.badges.displayedBadgeCount < $ctrl.badges.data.length" class="ng-scope"> <button type="button" class="btn-full-width btn-control-sm ng-binding" ng-bind="'LabelSeeMore' | translate" ng-click="$ctrl.seeMore()">See More</button> </li><!-- end ngIf: $ctrl.badges.displayedBadgeCount < $ctrl.badges.data.length --> </ul> </div><!-- end ngIf: $ctrl.badges.data.length > 0 --></game-badges-list></div><script>var Roblox=Roblox||{};Roblox.GameDetail=Roblox.GameDetail||{};Roblox.GameDetail.UniverseId=383310974;</script><div id="recommended-games-container" class="container-list games-detail"><div class="container-header games-filter-changer"><h3>Recommended Experiences</h3><span class="see-all-button games-filter-changer btn-min-width btn-secondary-xs btn-more see-all-link-icon hidden"></span></div><ul class="hlist game-cards"><li class="list-item game-card game-tile" id="1686885941" title="Brookhaven 🏡RP"><div class="game-card-container"><a class="game-card-link" href="https://web.roblox.com/games/refer?PageId=fb2b1bc4-a058-4034-9fd3-27f46a4cd168&amp;PageType=GameDetail&amp;PlaceId=4924922222&amp;Position=1&amp;RecommendationAlgorithm=2&amp;RecommendationSourceId=920587237&amp;SortPosition=2&amp;LocalTimestamp=2021-05-27T22:18:40.294Z" id="1686885941"><div class="game-card-thumb-container"><div class="game-card-thumb"><span class="thumbnail-2d-container"><img class="game-card-thumb" src="https://t0.rbxcdn.com/758afb3e3315224cfc7c1465e2b3f52e" alt="" title=""></span></div></div><div class="game-card-name game-name-title" title="Brookhaven 🏡RP">Brookhaven 🏡RP</div><div class="game-card-info"><span class="info-label icon-votes-gray"></span><span class="info-label vote-percentage-label">90%</span><span class="info-label icon-playing-counts-gray"></span><span class="info-label playing-counts-label" title="639070">639.1K</span></div></a></div></li><li class="list-item game-card game-tile" id="1751969566" title="Overlook Bay!✨"><div class="game-card-container"><a class="game-card-link" href="https://web.roblox.com/games/refer?PageId=fb2b1bc4-a058-4034-9fd3-27f46a4cd168&amp;PageType=GameDetail&amp;PlaceId=5063122755&amp;Position=2&amp;RecommendationAlgorithm=2&amp;RecommendationSourceId=920587237&amp;SortPosition=2&amp;LocalTimestamp=2021-05-27T22:18:40.294Z" id="1751969566"><div class="game-card-thumb-container"><div class="game-card-thumb"><span class="thumbnail-2d-container"><img class="game-card-thumb" src="https://t7.rbxcdn.com/e570beaa34125b66d5e6cefd36e64e28" alt="" title=""></span></div></div><div class="game-card-name game-name-title" title="Overlook Bay!✨">Overlook Bay!✨</div><div class="game-card-info"><span class="info-label icon-votes-gray"></span><span class="info-label vote-percentage-label">86%</span><span class="info-label icon-playing-counts-gray"></span><span class="info-label playing-counts-label" title="1671">1.7K</span></div></a></div></li><li class="list-item game-card game-tile" id="703124385" title="Tower of Hell"><div class="game-card-container"><a class="game-card-link" href="https://web.roblox.com/games/refer?PageId=fb2b1bc4-a058-4034-9fd3-27f46a4cd168&amp;PageType=GameDetail&amp;PlaceId=1962086868&amp;Position=3&amp;RecommendationAlgorithm=2&amp;RecommendationSourceId=920587237&amp;SortPosition=2&amp;LocalTimestamp=2021-05-27T22:18:40.294Z" id="703124385"><div class="game-card-thumb-container"><div class="game-card-thumb"><span class="thumbnail-2d-container"><img class="game-card-thumb" src="https://t2.rbxcdn.com/a8f94cbe1b85d577549077e419437386" alt="" title=""></span></div></div><div class="game-card-name game-name-title" title="Tower of Hell">Tower of Hell</div><div class="game-card-info"><span class="info-label icon-votes-gray"></span><span class="info-label vote-percentage-label">76%</span><span class="info-label icon-playing-counts-gray"></span><span class="info-label playing-counts-label" title="50630">50.6K</span></div></a></div></li><li class="list-item game-card game-tile" id="321778215" title="Royale🌼High"><div class="game-card-container"><a class="game-card-link" href="https://web.roblox.com/games/refer?PageId=fb2b1bc4-a058-4034-9fd3-27f46a4cd168&amp;PageType=GameDetail&amp;PlaceId=735030788&amp;Position=4&amp;RecommendationAlgorithm=2&amp;RecommendationSourceId=920587237&amp;SortPosition=2&amp;LocalTimestamp=2021-05-27T22:18:40.294Z" id="321778215"><div class="game-card-thumb-container"><div class="game-card-thumb"><span class="thumbnail-2d-container"><img class="game-card-thumb" src="https://t2.rbxcdn.com/0cbec170cab41735c9ba792795951be4" alt="" title=""></span></div></div><div class="game-card-name game-name-title" title="Royale🌼High">Royale🌼High</div><div class="game-card-info"><span class="info-label icon-votes-gray"></span><span class="info-label vote-percentage-label">87%</span><span class="info-label icon-playing-counts-gray"></span><span class="info-label playing-counts-label" title="38613">38.6K</span></div></a></div></li><li class="list-item game-card game-tile" id="1116134862" title="[SIDE DANCE] Animations: Mocap"><div class="game-card-container"><a class="game-card-link" href="https://web.roblox.com/games/refer?PageId=fb2b1bc4-a058-4034-9fd3-27f46a4cd168&amp;PageType=GameDetail&amp;PlaceId=3093229294&amp;Position=5&amp;RecommendationAlgorithm=2&amp;RecommendationSourceId=920587237&amp;SortPosition=2&amp;LocalTimestamp=2021-05-27T22:18:40.294Z" id="1116134862"><div class="game-card-thumb-container"><div class="game-card-thumb"><span class="thumbnail-2d-container"><img class="game-card-thumb" src="https://t2.rbxcdn.com/8ed53826ffe789cedd53717ac454ba9a" alt="" title=""></span></div></div><div class="game-card-name game-name-title" title="[SIDE DANCE] Animations: Mocap">[SIDE DANCE] Animations: Mocap</div><div class="game-card-info"><span class="info-label icon-votes-gray"></span><span class="info-label vote-percentage-label">87%</span><span class="info-label icon-playing-counts-gray"></span><span class="info-label playing-counts-label" title="1948">1.9K</span></div></a></div></li><li class="list-item game-card game-tile" id="2047210140" title="🕺 TTD 3"><div class="game-card-container"><a class="game-card-link" href="https://web.roblox.com/games/refer?PageId=fb2b1bc4-a058-4034-9fd3-27f46a4cd168&amp;PageType=GameDetail&amp;PlaceId=5771467270&amp;Position=6&amp;RecommendationAlgorithm=2&amp;RecommendationSourceId=920587237&amp;SortPosition=2&amp;LocalTimestamp=2021-05-27T22:18:40.294Z" id="2047210140"><div class="game-card-thumb-container"><div class="game-card-thumb"><span class="thumbnail-2d-container"><img class="game-card-thumb" src="https://t0.rbxcdn.com/25a8141f0a5db370352f9dd2ddaf2f96" alt="" title=""></span></div></div><div class="game-card-name game-name-title" title="🕺 TTD 3">🕺 TTD 3</div><div class="game-card-info"><span class="info-label icon-votes-gray"></span><span class="info-label vote-percentage-label">75%</span><span class="info-label icon-playing-counts-gray"></span><span class="info-label playing-counts-label" title="10336">10.3K</span></div></a></div></li></ul></div></div><div class="tab-pane store" id="store"><input name="__RequestVerificationToken" type="hidden" value="9GgRbWFXD9QMeV4ajMORxLa1_pNQDGnzkZ4ezShF86_GwnQDmTnZtkcONS6J6PAMZNb2P-nFxVApElpBQD49n8UZlHSXMZTnj7kr4HpzKUoiCRzY0"><div id="rbx-game-passes" class="container-list game-dev-store game-passes"><div class="container-header"><h3>Passes</h3></div><ul id="rbx-passes-container" class="hlist store-cards gear-passes-container"></ul></div><li class="list-item rbx-passes-item-container rbx-gear-passes-item-add" id="spinner" style="display:none"><span class="spinner spinner-default"></span></li><script>$(function(){Roblox.GamePassJSData=Roblox.GamePassJSData||{};Roblox.GamePassJSData.PlaceID=920587237;Roblox.GamePassJSData.GamePassesPerPlaceLimit=50;Roblox.GamePassJSData.LabelBuy="Buy";Roblox.GamePassJSData.LabelOwned="Owned";Roblox.GamePassJSData.DataAssetType="Game Pass";var purchaseConfirmationCallback=function(obj){var originalContainer=$('.PurchaseButton[data-item-id='+obj.AssetID+']').parent('.store-card-caption');originalContainer.find('.rbx-purchased').hide();originalContainer.find('.rbx-item-buy').show();};Roblox.GamePassItemPurchase=new Roblox.ItemPurchase(purchaseConfirmationCallback);$("#store #rbx-game-passes, #all-purchasable-items #rbx-game-passes").on("click",".PurchaseButton",function(e){Roblox.GamePassItemPurchase.openPurchaseVerificationView($(this),'game-pass');});$("#store #rbx-game-passes .btn-more, #all-purchasable-items #rbx-game-passes .btn-more").on("click",function(e){$("#rbx-game-passes #rbx-passes-container").toggleClass("collapsed");});$(".rbx-tab a[href='#store']").one('shown.bs.tab',function(){Roblox.GamePassLazyLoading.init();});var checkForImmediateLoading=function(){var loadImmediatelyData=$("#all-purchasable-items").data('load-immediately');if(parseInt(loadImmediatelyData)>0){Roblox.GamePassLazyLoading.init();}}
checkForImmediateLoading();});</script></div><div class="tab-pane game-instances" id="game-instances"><div id="rbx-private-servers" class="stack" data-placeid="920587237" data-universeid="383310974" data-place-name="Adopt Me!" data-creator-name="DreamCraft" data-renew-price="This private server will start renewing every month at <span class='text-robux text-free'>Free</span> until you cancel." data-user-profile-absolute-url="https://web.roblox.com/users/0/profile" data-showshutdown="" data-slow-game-fps-threshold="15" data-private-server-name-max-length="50" data-private-server-name-error-text="The name of a private server cannot be blank and can be no more than {0} characters." data-configure-base-url="/private-server/configure/{0}" data-game-instances-base-url="" data-game-shutdown-url="/game-instances/shutdown" data-is-user-authenticated="True" data-instance-list-url="/private-server/instance-list-json" data-renew-url="/private-server/renew" data-is-game-joinable="True" data-is-create-private-server-preopened="False" data-is-create-private-server-jq-disabled="False"><div class="container-header"><h3>Private Servers</h3><span class="tooltip-container" data-toggle="tooltip" data-original-title="Private servers let you visit this experience privately with friends or people you invite!"> <span class="icon-moreinfo"></span> </span> <span class="btn-min-width btn-control-xs btn-more rbx-refresh refresh-link-icon">Refresh</span></div><div class="create-server-banner section-content remove-panel"><div class="create-server-banner-text text"><span class="private-server-price">Price: <span class="text-robux text-free">Free</span></span> <span class="play-with-others-text">Visit this experience with friends and other people you invite.</span></div><div id="private-server-purchase-body-content" class="hidden"><div class="private-server-purchase"><div class="modal-list-item private-server-main-text">Create a private server for <span class="text-robux text-free">Free</span>?</div><div class="modal-list-item"><span class="text-label private-server-game-name"> Experience Name </span> <span class="game-name"> Adopt Me! </span></div><div class="modal-list-item private-server-name-input"><span class="text-label">Server Name</span><div class="form-group"><input type="text" class="form-control input-field private-server-name" maxlength="50"></div><div class="form-control-label private-server-name-error-message"></div></div></div></div><span class="rbx-private-server-create" data-is-private-server="true" data-product-id="87378186" data-item-id="920587237" data-item-name="Adopt Me!" data-expected-price="0" data-expected-currency="1" data-seller-name="DreamCraft" data-expected-seller-id="295182" data-continueshopping-url="/games/920587237/Adopt-Me?refPageId=1116811b-ed36-4e75-af57-c92a77858b3e" data-purchase-title-text="Create Private Server" data-purchase-body-content="" data-purchase-url="/private-server/purchase" data-universe-id="383310974" data-modal-field-validation-required="true" data-footer-text="Your balance after this transaction will be <span class='icon-robux-gray-16x16'></span>{0}. This is a subscription-based feature. It will auto-renew once a month until you cancel the subscription." data-private-server-limit="1" name="CreatePrivateServer"> <span class="btn-secondary-md btn-more rbx-private-server-create-button">Create Private Server</span> <span class="text-footer rbx-private-server-create-disabled-text">You have created the maximum number of free private servers for this experience.</span> </span></div><div class="section tab-server-only"><ul class="rbx-private-server-item-container stack-list"></ul><div class="rbx-private-servers-footer"><button type="button" class="btn-control-sm btn-full-width rbx-private-servers-load-more hidden">Load More</button></div><div class="rbx-private-server-template"><li class="stack-row rbx-private-server-item"><div class="stack-header"><span class="font-bold">My Private Server</span><div class="link-menu rbx-private-server-menu"></div></div><div class="section-left rbx-private-server-details"><div class="rbx-private-owner"></div><div class="text-info rbx-game-status rbx-private-server-status"></div><div class="rbx-private-server-alert"><span class="icon-remove"></span>Slow Server</div><div class="rbx-private-server-subscription-alert text-alert"><span class="icon-remove"></span><span class="rbx-private-server-subscription-alert-text">Payment Cancelled</span></div><div class="rbx-private-server-insufficient-funds"><span class="icon-remove"></span>This server has been deactivated. We were not able to process the recurring payment due to insufficient funds in your account.</div><div class="rbx-private-server-inactive"><span class="icon-remove"></span>Inactive.</div><a class="btn-full-width btn-control-xs rbx-private-server-renew" href="#">Renew</a> <a class="btn-full-width btn-control-xs rbx-private-server-join" href="#" data-placeid="">Join</a></div><div class="section-right rbx-private-server-players"></div></li></div></div></div><div id="rbx-friends-running-games" class="stack" data-placeid="920587237" data-showshutdown=""><div class="container-header"><h3>Servers My Friends Are In</h3></div><ul id="rbx-friends-game-server-item-container" class="section rbx-friends-game-server-item-container stack-list"></ul><div class="rbx-friends-running-games-footer"></div><div class="rbx-friends-game-server-template"><li class="stack-row rbx-friends-game-server-item"><div class="section-header"><div class="link-menu rbx-friends-game-server-menu"></div></div><div class="section-left rbx-friends-game-server-details"><div class="text-info rbx-game-status rbx-friends-game-server-status"></div><div class="rbx-friends-game-server-alert"><span class="icon-remove"></span>Slow Server</div><a class="btn-full-width btn-control-xs rbx-friends-game-server-join" href="#" data-placeid="">Join</a></div><div class="section-right rbx-friends-game-server-players"></div></li></div></div><div id="rbx-running-games" class="stack" data-placeid="920587237" data-maximumrows="10" data-showshutdown=""><div class="container-header"><h3>Other Servers</h3></div><ul id="rbx-game-server-item-container" class="section rbx-game-server-item-container stack-list"></ul><div class="rbx-running-games-footer"><button type="button" class="btn-control-sm btn-full-width rbx-running-games-load-more hidden">Load More</button></div><div class="rbx-game-server-template"><li class="stack-row rbx-game-server-item"><div class="section-header"><div class="link-menu rbx-game-server-menu"></div></div><div class="section-left rbx-game-server-details"><div class="text-info rbx-game-status rbx-game-server-status"></div><div class="rbx-game-server-alert"><span class="icon-remove"></span>Slow Server</div><a class="btn-full-width btn-control-xs rbx-game-server-join" href="#" data-placeid="">Join</a></div><div class="section-right rbx-game-server-players"></div></li></div></div></div></div></div></div><div class="GenericModal modalPopup unifiedModal smallModal" style="display:none"><div class="Title"></div><div class="GenericModalBody"><div><div class="ImageContainer"><img class="GenericModalImage" alt="generic image"></div><div class="Message"></div></div><div class="clear"></div><div id="GenericModalButtonContainer" class="GenericModalButtonContainer"><a class="ImageButton btn-neutral btn-large roblox-ok">OK</a></div></div></div><div id="ItemPurchaseAjaxData" data-has-currency-service-error="False" data-currency-service-error-message="" data-authenticateduser-isnull="False" data-user-balance-robux="0" data-user-bc="0" data-continueshopping-url="https://web.roblox.com/games/920587237/Adopt-Me?refPageId=1116811b-ed36-4e75-af57-c92a77858b3e" data-imageurl="https://t1.rbxcdn.com/29f8193ddcd69b9e77d10c09fba8b619" data-alerturl="https://images.rbxcdn.com/b7353602bbf9b927d572d5887f97d452.svg" data-insufficentfundsurl="https://images.rbxcdn.com/b80339ddf867ccfe6ab23a2c263d8000.png" data-is-bc-only-requirement-enabled="False" data-is-plugins-purchasing-enabled="True" data-is-modal-footer-centered-enabled="True"></div><script>var Roblox=Roblox||{};Roblox.GamePassJSData=Roblox.GamePassJSData||{};Roblox.GamePassJSData.LabelGameDoesNotSell="No passes available.";$(function(){if(Roblox.Voting){Roblox.Voting.LoadVotingService($("#voting-container"),920587237);}});</script><div id="Skyscraper-Abp-Right" class="abp abp-container right-abp"></div></div></div><footer class="container-footer" id="footer-container" data-is-giftcards-footer-enabled="True"><div class="footer"><ul class="row footer-links"><li class="footer-link"><a class="text-footer-nav" href="/info/about-us?locale=en_us" target="_blank">About Us</a></li><li class="footer-link"><a class="text-footer-nav" href="/info/jobs?locale=en_us" target="_blank">Jobs</a></li><li class="footer-link"><a class="text-footer-nav" href="/info/blog?locale=en_us" target="_blank">Blog</a></li><li class="footer-link"><a class="text-footer-nav" href="/info/parents?locale=en_us" target="_blank">Parents</a></li><li class="footer-link"><a class="text-footer-nav giftcards" href="/giftcards?locale=en_us" target="_blank">Gift Cards</a></li><li class="footer-link"><a class="text-footer-nav" href="/info/help?locale=en_us" target="_blank">Help</a></li><li class="footer-link"><a class="text-footer-nav" href="/info/terms?locale=en_us" target="_blank">Terms</a></li><li class="footer-link"><a class="text-footer-nav" href="/info/accessibility?locale=en_us" target="_blank">Accessibility</a></li><li class="footer-link"><a class="text-footer-nav privacy" href="/info/privacy?locale=en_us" target="_blank">Privacy</a></li></ul><div class="row copyright-container"><div class="col-sm-6 col-md-3"><div class="language-selector-wrapper"><div class="input-group-btn dropdown btn-group"><button id="language-switcher" role="button" aria-haspopup="true" aria-expanded="false" type="button" class="input-dropdown-btn dropdown-toggle btn btn-default"><span class="dropdown-icon icon-globe"></span><span class="rbx-selection-label">English</span><span class="icon-down-16x16"></span></button><ul role="menu" class="dropdown-menu" aria-labelledby="language-switcher"><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Deutsch</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">English</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Español</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Français</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Italiano</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Português (Brasil)</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">中文(简体)</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">中文(繁體)</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">日本語</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">한국어</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Bahasa Indonesia*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Bahasa Melayu*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Bokmål*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Cрпски*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Dansk*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Eesti*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Filipino*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Hrvatski*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Latviešu*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Lietuvių*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Magyar*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Nederlands*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Polski*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Română*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Shqipe*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Slovenski*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Slovenčina*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Suomi*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Svenska*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Tiếng Việt*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Türkçe*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Yкраїньска*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Čeština*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Ελληνικά*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Босански*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Български*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Русский*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Қазақ Тілі*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">हिन्दी*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">বাংলা*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">සිංහල*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">ภาษาไทย*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">ဗမာစာ*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">ქართული*</a></li><li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">ភាសាខ្មែរ*</a></li></ul></div></div></div><div class="col-sm-6 col-md-9"><p class="text-footer footer-note">©2021 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.</p><div class="evidon-notice-link footer-note"></div></div></div></div></footer></div><div ng-controller="chatController" ng-class="{'collapsed': chatLibrary.chatLayout.collapsed}" id="chat-container" class="chat chat-container collapsed" chat-base=""> <div id="chat-main" class="chat-main" ng-controller="chatBarController" ng-class="{'chat-main-empty': isChatEmpty() }" chat-bar=""> <div id="chat-header" class="chat-windows-header chat-header"> <div class="chat-header-label" ng-click="toggleChatContainer()"> <span class="font-caption-header chat-header-title ng-binding" ng-bind="'Heading.Chat' | translate">Chat</span> </div> <div class="chat-header-action"> <span class="xsmall notification-red notification ng-binding" ng-show="chatLibrary.chatLayout.collapsed &amp;&amp; chatViewModel.unreadConversationCount > 0">6</span> <span> <span id="chat-group-create" class="icon-chat-group-create ng-hide" ng-hide="chatLibrary.chatLayout.collapsed || chatLibrary.chatLayout.errorMaskEnable || chatLibrary.chatLayout.chatLandingEnabled || chatLibrary.chatLayout.pageDataLoading || chatLibrary.chatLayout.isChatDisabledByPrivacySetting" ng-click="launchDialog(newGroup.layoutId)" uib-tooltip="Add at least 2 people to create chat group" tooltip-placement="bottom-right"></span> </span> </div> </div> <!-- ngIf: !(chatLibrary.chatLayout.chatLandingEnabled || chatLibrary.chatLayout.isChatEnabledByPrivacySetting !== chatLibrary.chatLayout.chatEnabledByPrivacySettingTypes.enabled) --><div id="chat-body" class="chat-body ng-scope" ng-show="!chatLibrary.chatLayout.errorMaskEnable &amp;&amp; !chatLibrary.chatLayout.pageDataLoading &amp;&amp; !chatLibrary.chatLayout.pageInitializing" ng-if="!(chatLibrary.chatLayout.chatLandingEnabled || chatLibrary.chatLayout.isChatEnabledByPrivacySetting !== chatLibrary.chatLayout.chatEnabledByPrivacySettingTypes.enabled)"> <div class="border-bottom chat-search" ng-class="{'chat-search-focus': chatLibrary.chatLayout.searchFocus}"> <span> <input type="text" placeholder="Search for friends" class="input-field chat-search-input font-caption-body ng-pristine ng-untouched ng-valid ng-empty" ng-model="chatViewModel.searchTerm" ng-focus="chatLibrary.chatLayout.searchFocus = true"> </span> <span class="icon-chat-search"></span> <span class="icon-chat-search-cancel" ng-click="cancelSearch()"></span> </div> <div id="chat-friend-list" class="rbx-scrollbar chat-friend-list ng-scope mCustomScrollbar _mCS_1" lazy-load=""><div id="mCSB_1" class="mCustomScrollBox mCS-light mCSB_vertical mCSB_inside" tabindex="0"><div id="mCSB_1_container" class="mCSB_container" style="position:relative; top:0; left:0;" dir="ltr"> <ul id="chat-friends" class="chat-friends"> <!-- ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-10663797922"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="2529019019" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="2529019019"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="2529019019"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/ba2714f228cd4b820c74c7c4c11dac90/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="2529019019" title="2529019019" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/ba2714f228cd4b820c74c7c4c11dac90/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status game" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">ANTOINECIE10</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope font-bold secondary unread" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">Yesterday</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding">https://web.roblox.com/games/5726880461/robloxgame</span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="Link" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide">This message could not be displayed.</span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="Link" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-10340552028"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="1518451361" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="1518451361"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="1518451361"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/819c09ac69096ecbdfc9f7413df7139f/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="1518451361" title="1518451361" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/819c09ac69096ecbdfc9f7413df7139f/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">Msquad_Rules</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope font-bold secondary unread" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">Tue</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="PlainText" ng-bind-html="chatUser.displayMessage.content" class="ng-binding">j</span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="PlainText" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-10949036524"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="2585128138" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="2585128138"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="2585128138"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/a449748efb243c76ebc1a90651c3abff/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="2585128138" title="2585128138" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/a449748efb243c76ebc1a90651c3abff/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">RosalieAfton_123</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope read" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">May 21</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-10032189522"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="1724388592" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="1724388592"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="1724388592"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/972aabe7734687522f87d556be34ed77/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="1724388592" title="1724388592" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/972aabe7734687522f87d556be34ed77/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">thesuperfours</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope font-bold secondary unread" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">May 21</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="PlainText" ng-bind-html="chatUser.displayMessage.content" class="ng-binding">Ok</span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="PlainText" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-10340544433"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="1408730634" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="1408730634"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="1408730634"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/beac5dd29052942911e564f9956995ae/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="1408730634" title="1408730634" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/beac5dd29052942911e564f9956995ae/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status online" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">Frenchbulldoghf</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope font-bold secondary unread" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">May 20</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="PlainText" ng-bind-html="chatUser.displayMessage.content" class="ng-binding">R coming</span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="PlainText" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-9858871900"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="619031838" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="619031838"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="619031838"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/d8f7b51228b466520f8b54606b9ed909/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="619031838" title="619031838" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/d8f7b51228b466520f8b54606b9ed909/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">1mokhtar</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope read" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">May 18</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding">https://web.roblox.com/games/5801771332/robloxgame</span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="Link" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide">This message could not be displayed.</span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="Link" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-10909726067"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="170341080" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="170341080"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="170341080"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/0608f85839ff3c2fdfc2c3f04a990916/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="170341080" title="170341080" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/0608f85839ff3c2fdfc2c3f04a990916/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">rim99</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope read" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">May 18</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding">https://web.roblox.com/games/5801771332/robloxgame</span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="Link" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide">This message could not be displayed.</span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="Link" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-10850226060"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="1639238432" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="1639238432"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="1639238432"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/a91dced450cea572f34ec82eaea543b7/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="1639238432" title="1639238432" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/a91dced450cea572f34ec82eaea543b7/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">PinkyBear324</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope font-bold secondary unread" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">May 17</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="PlainText" ng-bind-html="chatUser.displayMessage.content" class="ng-binding">Hi!</span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="PlainText" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-10030942319"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="1925872750" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="1925872750"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="1925872750"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/e9e476433d1e0c59fccb092cd79188b8/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="1925872750" title="1925872750" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/e9e476433d1e0c59fccb092cd79188b8/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">KashMoney_710</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope font-bold secondary unread" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">May 16</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope unread" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding">https://web.roblox.com/games/3101667897/robloxgame</span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="Link" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide">This message could not be displayed.</span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="Link" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-10855921262"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="1605279945" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="1605279945"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="1605279945"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/3af62ac20b9049f5b2666e6e7b48acf0/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="1605279945" title="1605279945" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/3af62ac20b9049f5b2666e6e7b48acf0/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">uropthat1234</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope read" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">May 14</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-10774591247"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="1556179524" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="1556179524"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="1556179524"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/fc86c8ecfcebf9568ee80ee79f40b45f/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="1556179524" title="1556179524" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/fc86c8ecfcebf9568ee80ee79f40b45f/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">kgirlsquade</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope read" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">May 8</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-9945050446"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="2419553141" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="2419553141"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="2419553141"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/adc97f375ccb4bf5cea46729bca1bce1/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="2419553141" title="2419553141" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/adc97f375ccb4bf5cea46729bca1bce1/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">hidhfni</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope read" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">Mar 11</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-9945048349"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="2373493910" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="2373493910"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="2373493910"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/c341fd7a6641f54861c29cdc4f622974/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="2373493910" title="2373493910" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/c341fd7a6641f54861c29cdc4f622974/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">Sunnerbummer1234</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope read" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">Mar 11</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-9945047926"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="1893375551" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="1893375551"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="1893375551"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/e645dbe04c2684f04794434f5ff415e3/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="1893375551" title="1893375551" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/e645dbe04c2684f04794434f5ff415e3/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">marionksg123d</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope read" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">Mar 11</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-9945047666"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="2427398632" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="2427398632"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="2427398632"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/0914e672fad196bd706b2b20e17120fd/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="2427398632" title="2427398632" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/0914e672fad196bd706b2b20e17120fd/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">itsnot_riley11</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope read" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">Mar 11</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-9945046818"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="2242709124" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="2242709124"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="2242709124"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/f680d6b0d79fa703e69317a70ae12d15/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="2242709124" title="2242709124" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/f680d6b0d79fa703e69317a70ae12d15/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">liam_sterling</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope read" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">Mar 11</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-9945043634"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="2402071904" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="2402071904"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="2402071904"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/7fd2e4473e97b5d2f030ffbb45633cce/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="2402071904" title="2402071904" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/7fd2e4473e97b5d2f030ffbb45633cce/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">Kiwigirl_cam15</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope read" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">Mar 11</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --><li ng-repeat="chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search" class="chat-friend chat-friend-9888408620"> <!-- ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --><div ng-if="chatUser.dialogType === dialogType.CHAT &amp;&amp; chatUser.isConversation" class="chat-friend-container ng-scope" ng-click="launchDialog(chatUser.layoutId)"> <div class="avatar avatar-headshot-sm card-plain chat-friend-avatar" ng-click="launchDialog(chatUser.layoutId)"> <span class="chat-avatar-headshot ng-isolate-scope" class-name="avatar-card-image chat-avatar" chat-avatar-headshot="" user-id="1956411235" layout-library="chatLibrary.layoutLibrary"><thumbnail-2d thumbnail-target-id="userId" thumbnail-type="layoutLibrary.thumbnailTypes.avatarHeadshot" thumbnail-options="{size: layoutLibrary.avatarHeadshotSize.size48}" class="avatar-card-image chat-avatar" alt-name="userId" title="1956411235"><span ng-class="$ctrl.getCssClasses()" class="thumbnail-2d-container" thumbnail-type="AvatarHeadshot" thumbnail-target-id="1956411235"> <!-- ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --><img ng-if="$ctrl.thumbnailUrl &amp;&amp; !$ctrl.isLazyLoadingEnabled()" ng-src="https://tr.rbxcdn.com/0dc5dc37e7a38c6fd75d8e1fceeff145/48/48/AvatarHeadshot/Png" thumbnail-error="$ctrl.setThumbnailLoadFailed" ng-class="{'loading': $ctrl.thumbnailUrl &amp;&amp; !isLoaded }" image-load="" alt="1956411235" title="1956411235" class="ng-scope ng-isolate-scope" src="https://tr.rbxcdn.com/0dc5dc37e7a38c6fd75d8e1fceeff145/48/48/AvatarHeadshot/Png"><!-- end ngIf: $ctrl.thumbnailUrl && !$ctrl.isLazyLoadingEnabled() --> <!-- ngIf: $ctrl.thumbnailUrl && $ctrl.isLazyLoadingEnabled() --> </span> </thumbnail-2d></span> <div class="avatar-status chat-friend-status" ng-class="userPresenceTypes[chatLibrary.friendsDict[chatUser.displayUserId].presence.userPresenceType]['className']"> </div> </div> <div ng-controller="userConversationInfoController" user-conversation-info="" class="ng-scope"> <div class="border-bottom chat-friend-info" ng-class="{'has-universe': isGameAvailableInChat()}"> <div class="chat-friend-info-top dynamic-overflow-container"> <span class="small text-title text-overflow font-caption-header chat-friend-name dynamic-ellipsis-item ng-binding read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-bind="chatUser.title || chatUser.name ">buddy28brown</span> <span class="text-overflow chat-alias-name dynamic-ellipsis-item ng-binding ng-isolate-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" alias="chatLibrary.friendsDict[chatUser.displayUserId].contact"> </span> </div> <!-- ngIf: !isGameAvailableInChat() --><span class="xsmall text-info chat-brief-timestamp ng-binding ng-scope read" ng-class="{'font-bold secondary unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" ng-if="!isGameAvailableInChat()" ng-bind="chatUser.displayMessage.briefTimeStamp || chatUser.briefTimeStamp">Mar 7</span><!-- end ngIf: !isGameAvailableInChat() --> <!-- ngIf: chatUser.isConversation && chatUser.displayMessage --><div class="xsmall text-overflow text-info font-caption-body chat-friend-message ng-scope read" ng-class="{'unread': chatUser.hasUnreadMessages, 'read': !chatUser.hasUnreadMessages}" display-message="" ng-if="chatUser.isConversation &amp;&amp; chatUser.displayMessage"> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.link.name" ng-bind="chatLibrary.universeLibrary[chatUser.displayMessage.link.game.universeId].placeUrl" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; !chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind-html="chatUser.displayMessage.content" class="ng-binding ng-hide"></span> <span ng-show="chatUser.displayMessage.messageType === messageHelper.messageTypes.plainText.name &amp;&amp; chatUser.displayMessage.hasLinkifyMessage" title="" ng-bind="chatUser.displayMessage.parsedContent" class="ng-binding ng-hide"></span> </div><!-- end ngIf: chatUser.isConversation && chatUser.displayMessage --> <!-- ngIf: !chatUser.isConversation --> </div> <!-- ngIf: isGameAvailableInChat() --> </div> </div><!-- end ngIf: chatUser.dialogType === dialogType.CHAT && chatUser.isConversation --> <!-- ngIf: chatUser.dialogType === dialogType.GROUPCHAT && chatUser.isConversation --> <!-- ngIf: !chatUser.isConversation --> </li><!-- end ngRepeat: chatUser in chatUserDict | orderList: chatLibrary.chatLayoutIds | filter : search --> </ul> <div class="chat-loading loading-bottom ng-hide" ng-show="chatLibrary.chatLayout.isChatLoading"> <span class="spinner spinner-sm" title="loading ..."></span> </div> </div><div id="mCSB_1_scrollbar_vertical" class="mCSB_scrollTools mCSB_1_scrollbar mCS-light mCSB_scrollTools_vertical" style="display: block;"><div class="mCSB_draggerContainer"><div id="mCSB_1_dragger_vertical" class="mCSB_dragger" style="position: absolute; min-height: 30px; top: 0px; display: block; height: 95px; max-height: 276px;" oncontextmenu="return false;"><div class="mCSB_dragger_bar" style="line-height: 30px;"></div></div><div class="mCSB_draggerRail"></div></div></div></div></div> </div><!-- end ngIf: !(chatLibrary.chatLayout.chatLandingEnabled || chatLibrary.chatLayout.isChatEnabledByPrivacySetting !== chatLibrary.chatLayout.chatEnabledByPrivacySettingTypes.enabled) --> <div id="chat-disconnect" class="chat-disconnect ng-hide" ng-show="isChatDisconnected()"> <p class="text-info ng-binding ng-hide" ng-show="chatLibrary.chatLayout.errorMaskEnable">Connecting... </p> <span><span class="spinner spinner-default" title="loading ..."></span></span> </div> <!-- ngIf: isChatEmpty() --> </div> <div id="dialogs" class="dialogs ng-scope" ng-controller="dialogsController" ng-hide="chatLibrary.chatLayout.isChatEnabledByPrivacySetting !== chatLibrary.chatLayout.chatEnabledByPrivacySettingTypes.enabled"> <!-- ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_10663797922" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_10340552028" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_10949036524" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_10032189522" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_10340544433" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_9858871900" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_10909726067" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_10850226060" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_10030942319" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_10855921262" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_10774591247" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_9945050446" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_9945048349" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_9945047926" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_9945047666" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_9945046818" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_9945043634" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --><div dialog="" id="conv_9888408620" dialog-data="chatUserDict[chatLayoutId]" chat-library="chatLibrary" close-dialog="closeDialog(chatLayoutId)" send-invite="sendInvite(chatLayoutId)" ng-repeat="chatLayoutId in chatLibrary.layoutIdList" class="ng-scope ng-isolate-scope"></div><!-- end ngRepeat: chatLayoutId in chatLibrary.layoutIdList --> <!-- ngIf: newGroup --><div dialog="" id="newGroup" dialog-data="newGroup" chat-library="chatLibrary" close-dialog="closeDialog('newGroup')" send-invite="sendInvite(newGroup.layoutId)" ng-if="newGroup" class="ng-scope ng-isolate-scope"></div><!-- end ngIf: newGroup --> <div id="dialogs-minimize" class="dialogs-minimize ng-isolate-scope" dialog-minimize="" chat-library="chatLibrary"><div id="dialogs-minimize-container" class="dialogs-minimize-container ng-hide" ng-show="hasMinimizedDialogs" data-toggle="popover" data-bind="dialogs" data-original-title="" title=""> <span class="icon-chat-more-dialogs"></span> <span class="font-header-2 minimize-count ng-binding">0</span> <div class="rbx-popover-content" data-toggle="dialogs"> <ul class="dropdown-menu minimize-list" role="menu"> <!-- ngRepeat: dialogLayoutId in chatLibrary.minimizedDialogIdList --> </ul> </div> </div></div> <div class="chat-placeholder ng-scope" chat-placeholder=""><div class="chat-placeholder-container ng-hide" ng-show="chatLibrary.chatPlaceholderEnabled"> <div class="chat-placeholder-header"></div> <span class="icon-chat-placeholder"></span> </div></div> </div> </div><script>function urchinTracker(){}</script><script>if(typeof Roblox==="undefined"){Roblox={};}
if(typeof Roblox.PlaceLauncher==="undefined"){Roblox.PlaceLauncher={};}
var isRobloxIconEnabledForRetheme="True";var robloxIcon=isRobloxIconEnabledForRetheme==='True'?"<span class='icon-logo-r-95'></span>":"<img src='https://images.rbxcdn.com/8e7879f99cfa7cc3b1fce74f8191be03.svg' width='90' height='90' alt='R'/>";Roblox.PlaceLauncher.Resources={RefactorEnabled:"True",IsProtocolHandlerBaseUrlParamEnabled:"False",ProtocolHandlerAreYouInstalled:{play:{content:robloxIcon+"<p>You&#39;re moments away from getting into the experience!</p>",buttonText:"Download and Install Roblox",footerContent:"<a href='https://assetgame.roblox.com/game/help'class= 'text-name small' target='_blank' >Click here for help</a> "},studio:{content:"<img src='https://images.rbxcdn.com/f25e4cadae29ae9a57a962126b2d2e2a.png' width='95' height='95' alt='R' /><p>Get started creating your own experiences!</p>",buttonText:"Download Studio"}},ProtocolHandlerStartingDialog:{play:{content:robloxIcon+"<p>Roblox is now loading. Get ready to visit!</p>"},studio:{content:"<img src='https://images.rbxcdn.com/f25e4cadae29ae9a57a962126b2d2e2a.png' width='95' height='95' alt='R' /><p>Checking for Roblox Studio...</p>"},loader:"<span class='spinner spinner-default'></span>"}};</script><div id="PlaceLauncherStatusPanel" style="display:none;width:300px" data-new-plugin-events-enabled="True" data-event-stream-for-plugin-enabled="True" data-event-stream-for-protocol-enabled="True" data-is-game-launch-interface-enabled="True" data-is-protocol-handler-launch-enabled="True" data-is-user-logged-in="True" data-os-name="OSX" data-protocol-name-for-client="roblox-player" data-protocol-name-for-studio="roblox-studio" data-protocol-roblox-locale="en_us" data-protocol-game-locale="en_us" data-protocol-url-includes-launchtime="true" data-protocol-detection-enabled="true" data-protocol-separate-script-parameters-enabled="true" data-protocol-avatar-parameter-enabled="true" data-protocol-channel-name="LIVE" data-protocol-studio-channel-name="LIVE" data-protocol-player-channel-name="LIVE"><div class="modalPopup blueAndWhite PlaceLauncherModal" style="min-height:160px"><div id="Spinner" class="Spinner" style="padding:20px 0"><img data-delaysrc="https://images.rbxcdn.com/e998fb4c03e8c2e30792f2f3436e9416.gif" height="32" width="32" alt="Progress" src="https://images.rbxcdn.com/e998fb4c03e8c2e30792f2f3436e9416.gif" class="src-replaced"></div><div id="status" style="min-height:40px;text-align:center;margin:5px 20px"><div id="Starting" class="PlaceLauncherStatus MadStatusStarting" style="display:block">Starting Roblox...</div><div id="Waiting" class="PlaceLauncherStatus MadStatusField">Connecting to People...</div><div id="StatusBackBuffer" class="PlaceLauncherStatus PlaceLauncherStatusBackBuffer MadStatusBackBuffer"></div></div><div style="text-align:center;margin-top:1em"><input type="button" class="Button CancelPlaceLauncherButton translate" value="Cancel"></div></div></div><div id="ProtocolHandlerClickAlwaysAllowed" class="ph-clickalwaysallowed" style="display:none"><p class="larger-font-size"><span class="icon-moreinfo"></span> Check <strong>Always open links for Roblox</strong> and click <strong>Open Roblox</strong> in the dialog box above to join experiences faster in the future!</p></div><script>function checkRobloxInstall(){return RobloxLaunch.CheckRobloxInstall('https://web.roblox.com/Download');}</script><div id="InstallationInstructions" style="display:none"><div class="ph-installinstructions"><div class="ph-modal-header"><span class="icon-close simplemodal-close"></span><h3 class="title">Thanks for visiting Roblox</h3></div><div class="modal-content-container"><div class="ph-installinstructions-body"><ul class="modal-col-5"><li class="step1-of-5"><h2>1</h2><p class="larger-font-size">Click <strong>Roblox.dmg</strong> to run the Roblox installer, which just downloaded via your web browser.</p><img data-delaysrc="https://images.rbxcdn.com/453dc2b872ce1b09aff98bfacf3db50a.png" src="https://images.rbxcdn.com/453dc2b872ce1b09aff98bfacf3db50a.png" class="src-replaced"></li><li class="step2-of-5"><h2>2</h2><p class="larger-font-size">Double-click the Roblox app icon to begin the installation process.</p><img data-delaysrc="https://images.rbxcdn.com/7fcfb6345809e4baad30e72edaee442b.png" src="https://images.rbxcdn.com/7fcfb6345809e4baad30e72edaee442b.png" class="src-replaced"></li><li class="step3-of-5"><h2>3</h2><p class="larger-font-size">Click <strong>Open</strong> when prompted by your computer.</p><img data-delaysrc="https://images.rbxcdn.com/63c0279ebb88ece574697e7ff5c77376.png" src="https://images.rbxcdn.com/63c0279ebb88ece574697e7ff5c77376.png" class="src-replaced"></li><li class="step4-of-5"><h2>4</h2><p class="larger-font-size">Click <strong>Ok</strong> once you've successfully installed Roblox.</p><img data-delaysrc="https://images.rbxcdn.com/ed97f63bf6c6b3d21cd2d2a8754ff48a.png" src="https://images.rbxcdn.com/ed97f63bf6c6b3d21cd2d2a8754ff48a.png" class="src-replaced"></li><li class="step5-of-5"><h2>5</h2><p class="larger-font-size">After installation, click <strong>Visit</strong> below to join the action!</p><div class="VisitButton VisitButtonContinueGLI"><a class="btn btn-primary-lg disabled btn-full-width">Join</a></div></li></ul></div></div><div class="xsmall">The Roblox installer should download shortly. If it doesn’t, start the <a id="GameLaunchManualInstallLink" href="#" class="text-link">download now.</a><script>if(Roblox.ProtocolHandlerClientInterface&&typeof Roblox.ProtocolHandlerClientInterface.attachManualDownloadToLink==='function'){Roblox.ProtocolHandlerClientInterface.attachManualDownloadToLink();}</script></div></div></div><div class="InstallInstructionsImage" data-modalwidth="970" style="display:none"></div><div id="pluginObjDiv" style="height:1px;width:1px;visibility:hidden;position:absolute;top:0"></div><iframe id="downloadInstallerIFrame" name="downloadInstallerIFrame" style="visibility:hidden;height:0;width:1px;position:absolute"></iframe><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="clientinstaller" src="https://js.rbxcdn.com/459f4d69b0709806c7ee83714896739e.js"></script><script>Roblox.Client._skip=null;Roblox.Client._CLSID='76D50904-6780-4c8b-8986-1A7EE0B1716D';Roblox.Client._installHost='setup.roblox.com';Roblox.Client.ImplementsProxy=true;Roblox.Client._silentModeEnabled=true;Roblox.Client._bringAppToFrontEnabled=false;Roblox.Client._currentPluginVersion='';Roblox.Client._eventStreamLoggingEnabled=true;Roblox.Client._installSuccess=function(){if(GoogleAnalyticsEvents){GoogleAnalyticsEvents.ViewVirtual('InstallSuccess');GoogleAnalyticsEvents.FireEvent(['Plugin','Install Success']);if(Roblox.Client._eventStreamLoggingEnabled&&typeof Roblox.GamePlayEvents!="undefined"){Roblox.GamePlayEvents.SendInstallSuccess(Roblox.Client._launchMode,play_placeId);}}}
if((window.chrome||window.safari)&&window.location.hash=='#chromeInstall'){window.location.hash='';var continuation='('+$.cookie('chromeInstall')+')';play_placeId=$.cookie('chromeInstallPlaceId');Roblox.GamePlayEvents.lastContext=$.cookie('chromeInstallLaunchMode');$.cookie('chromeInstallPlaceId',null);$.cookie('chromeInstallLaunchMode',null);$.cookie('chromeInstall',null);RobloxLaunch._GoogleAnalyticsCallback=function(){var isInsideRobloxIDE='website';if(Roblox&&Roblox.Client&&Roblox.Client.isIDE&&Roblox.Client.isIDE()){isInsideRobloxIDE='Studio';};GoogleAnalyticsEvents.FireEvent(['Plugin Location','Launch Attempt',isInsideRobloxIDE]);GoogleAnalyticsEvents.FireEvent(['Plugin','Launch Attempt','Play']);EventTracker.fireEvent('GameLaunchAttempt_OSX','GameLaunchAttempt_OSX_Plugin');if(typeof Roblox.GamePlayEvents!='undefined'){Roblox.GamePlayEvents.SendClientStartAttempt(null,play_placeId);}};Roblox.Client.ResumeTimer(eval(continuation));}</script><div class="ConfirmationModal modalPopup unifiedModal smallModal" data-modal-handle="confirmation" style="display:none"><a class="genericmodal-close ImageButton closeBtnCircle_20h"></a><div class="Title"></div><div class="GenericModalBody"><div class="TopBody"><div class="ImageContainer roblox-item-image" data-image-size="small" data-no-overlays="" data-no-click=""><img class="GenericModalImage" alt="generic image"></div><div class="Message"></div></div><div class="ConfirmationModalButtonContainer GenericModalButtonContainer"><a href="" id="roblox-confirm-btn"><span></span></a> <a href="" id="roblox-decline-btn"><span></span></a></div><div class="ConfirmationModalFooter"></div></div><script>Roblox=Roblox||{};Roblox.Resources=Roblox.Resources||{};Roblox.Resources.GenericConfirmation={yes:"Yes",No:"No",Confirm:"Confirm",Cancel:"Cancel"};</script></div><div id="modal-confirmation" class="modal-confirmation" data-modal-type="confirmation"><div id="modal-dialog" class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal"> <span aria-hidden="true"><span class="icon-close"></span></span><span class="sr-only">Close</span> </button><h5 class="modal-title"></h5></div><div class="modal-body"><div class="modal-top-body"><div class="modal-message"></div><div class="modal-image-container roblox-item-image" data-image-size="medium" data-no-overlays="" data-no-click=""><img class="modal-thumb" alt="generic image"></div><div class="modal-checkbox checkbox"><input id="modal-checkbox-input" type="checkbox"> <label for="modal-checkbox-input"></label></div></div><div class="modal-btns"><a href="" id="confirm-btn"><span></span></a> <a href="" id="decline-btn"><span></span></a></div><div class="loading modal-processing"><img class="loading-default" src="https://images.rbxcdn.com/4bed93c91f909002b1f17f05c0ce13d1.gif" alt="Processing..."></div></div><div class="modal-footer text-footer"></div></div></div></div><script>var Roblox=Roblox||{};Roblox.jsConsoleEnabled=false;</script><script>$(function(){Roblox.CookieUpgrader.domain='roblox.com';Roblox.CookieUpgrader.upgrade("GuestData",{expires:Roblox.CookieUpgrader.thirtyYearsFromNow});Roblox.CookieUpgrader.upgrade("RBXSource",{expires:function(cookie){return Roblox.CookieUpgrader.getExpirationFromCookieValue("rbx_acquisition_time",cookie);}});Roblox.CookieUpgrader.upgrade("RBXViralAcquisition",{expires:function(cookie){return Roblox.CookieUpgrader.getExpirationFromCookieValue("time",cookie);}});Roblox.CookieUpgrader.upgrade("RBXMarketing",{expires:Roblox.CookieUpgrader.thirtyYearsFromNow});Roblox.CookieUpgrader.upgrade("RBXSessionTracker",{expires:Roblox.CookieUpgrader.fourHoursFromNow});Roblox.CookieUpgrader.upgrade("RBXEventTrackerV2",{expires:Roblox.CookieUpgrader.thirtyYearsFromNow});});</script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="intl-polyfill" src="https://js.rbxcdn.com/d44520f7da5ec476cfb1704d91bab327.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="InternationalCore" data-bundle-source="Main" src="https://js.rbxcdn.com/95044be3ff42e3dc429313faca1316cea62f328a39e29689ffeda9002f3a8bc6.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="TranslationResources" data-bundle-source="Main" src="https://js.rbxcdn.com/83d836a661ff433d5b7ce719c489e43af590ff75ab39ccc6d393546fe91b766a.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="leanbase" src="https://js.rbxcdn.com/9b1693da939127cf2ace0588f3df79aa.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="CoreUtilities" data-bundle-source="Main" src="https://js.rbxcdn.com/49cf9976738c4f5791c14fb9f1ee9c84b3e45dd75af842a613a3216af0bd9ab0.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="CoreRobloxUtilities" data-bundle-source="Main" src="https://js.rbxcdn.com/09c0fe73025a49dbb397295b5ee57e7b5c7a20e7b74645178c037a7438d7f810.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="React" data-bundle-source="Main" src="https://js.rbxcdn.com/6beb1c5bcec1a4449303da9e523d45a1aa1652f9b42ae6c8a3ac347955ca3b3f.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="ReactUtilities" data-bundle-source="Main" src="https://js.rbxcdn.com/898cb6e9c467d15ad80a67d019f3815d35dbc6ff60c12ef7dd928e8fbaf02b0b.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="ReactStyleGuide" data-bundle-source="Main" src="https://js.rbxcdn.com/c65d6975bac58c3e22cd6f6ac6ed7c6da662106271a0107e06c3aaa2a1d85ef4.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="ConfigureWebApps" data-bundle-source="Main" src="https://js.rbxcdn.com/c756de2b0f5f2f05d62899a3b602b4a3b573ad3faa1adea789291ebe9c66a002.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="angular" src="https://js.rbxcdn.com/ae3d621886e736e52c97008e085fa286.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="AngularJsUtilities" data-bundle-source="Main" src="https://js.rbxcdn.com/81164cee2ed2b07903bf00968368213664e0e78bdbdf9418389c2d2a8512cccf.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="InternationalAngularJs" data-bundle-source="Main" src="https://js.rbxcdn.com/90f18784a43a70553e967191b948f70b0193df565f1605762c3c1e245ab4b55a.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="Thumbnails" data-bundle-source="Main" src="https://js.rbxcdn.com/5cbced54f9f243ae5e05e7d00f87fc7b966e65b549cb20701b781d1b1b74f154.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="PresenceStatus" data-bundle-source="Main" src="https://js.rbxcdn.com/bc21a1cb026cbbe9d57b77c1811f0925ca574a53a55a656c4ca4e216dda96eb3.js"></script><div id="presence-registration-bootstrap-data" data-is-enabled="True" data-interval="15000"></div><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="PresenceRegistration" data-bundle-source="Main" src="https://js.rbxcdn.com/0a83202cf5f2310227e607928f73a26cdaa7d5c27f892b99ef51ec3b863a694d.js"></script><div ng-modules="baseTemplateApp" class="ng-scope"><script src="https://js.rbxcdn.com/ffcc04436179c6b2a6668fdfcfbf62b1.js"></script></div><div ng-modules="pageTemplateApp" class="ng-scope"><script>"use strict";angular.module("pageTemplateApp",[]).run(['$templateCache',function($templateCache){}]);</script></div><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="VerificationUpsell" data-bundle-source="Main" src="https://js.rbxcdn.com/77e7b5a83c50728043207196edb8679437757b6de6e82ca180d507a28f869c96.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.VerificationUpsell" data-bundle-source="Unknown" src="https://js.rbxcdn.com/82eb8999eb91a55da1f2b14fc6ae366abc2c1e7ca2c2fa438fd1610ce5bd458c.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.VerificationUpsell" data-bundle-source="Unknown" src="https://js.rbxcdn.com/faa7b128aa8b8755d9133354c1bb99c5a083914d5fd3afd57d9496be39c78ee6.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="Navigation" data-bundle-source="Main" src="https://js.rbxcdn.com/8583cb8f16376b92298b8e452bd9d664bfa1b012c87f9e8b7a4255ff25063d4d.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_CommonUI.Features" data-bundle-source="Unknown" src="https://js.rbxcdn.com/b39c1a4daccf2d05996f1aa95c6efa8fa4c8aa8b6b079c2d5e144d33a2d769bc.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_CommonUI.Features" data-bundle-source="Unknown" src="https://js.rbxcdn.com/225e32821c8236a09a750eb621ac01ffd902538af3eaf018d5138beb78bb09ec.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.ShopDialog" data-bundle-source="Unknown" src="https://js.rbxcdn.com/c0606e8d6eb4487cdc70d318e6de3d9aaeeb465ddb84acd95139011e56c5e5c6.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.ShopDialog" data-bundle-source="Unknown" src="https://js.rbxcdn.com/95fdafe5af749e388de603b9ee7f67bb092c3c790badc572db4e2bca0c32b49a.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Common.AlertsAndOptions" data-bundle-source="Unknown" src="https://js.rbxcdn.com/8f06fef33a61a6c67e1e6d93829b9bb03476bc976102d7bcebe4bfe85a3d4328.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Common.AlertsAndOptions" data-bundle-source="Unknown" src="https://js.rbxcdn.com/03a64d3850925b52ee73bd27b41658f4a35a2b33b4a499fcb2ce72dcbd98020f.js"></script><script>Roblox.config.externalResources=[];Roblox.config.paths['Pages.Catalog']='https://js.rbxcdn.com/0d2759e7f03a464f0b8c0909a28405c5.js';Roblox.config.paths['Pages.CatalogShared']='https://js.rbxcdn.com/1b451357891fcc5351b20d20504aa8ad.js';Roblox.config.paths['Widgets.AvatarImage']='https://js.rbxcdn.com/7d49ac94271bd506077acc9d0130eebb.js';Roblox.config.paths['Widgets.DropdownMenu']='https://js.rbxcdn.com/da553e6b77b3d79bec37441b5fb317e7.js';Roblox.config.paths['Widgets.HierarchicalDropdown']='https://js.rbxcdn.com/4a0af9989732810851e9e12809aeb8ad.js';Roblox.config.paths['Widgets.ItemImage']='https://js.rbxcdn.com/61a0490ba23afa17f9ecca2a079a6a57.js';Roblox.config.paths['Widgets.PlaceImage']='https://js.rbxcdn.com/a6df74a754523e097cab747621643c98.js';</script><script>$(function(){Roblox.DeveloperConsoleWarning.showWarning();});</script><script>$(function(){function trackReturns(){function dayDiff(d1,d2){return Math.floor((d1-d2)/86400000);}
if(!localStorage){return false;}
var cookieName='RBXReturn';var cookieOptions={expires:9001};var cookieStr=localStorage.getItem(cookieName)||"";var cookie={};try{cookie=JSON.parse(cookieStr);}catch(ex){}
try{if(typeof cookie.ts==="undefined"||isNaN(new Date(cookie.ts))){localStorage.setItem(cookieName,JSON.stringify({ts:new Date().toDateString()}));return false;}}catch(ex){return false;}
var daysSinceFirstVisit=dayDiff(new Date(),new Date(cookie.ts));if(daysSinceFirstVisit==1&&typeof cookie.odr==="undefined"){RobloxEventManager.triggerEvent('rbx_evt_odr',{});cookie.odr=1;}
if(daysSinceFirstVisit>=1&&daysSinceFirstVisit<=7&&typeof cookie.sdr==="undefined"){RobloxEventManager.triggerEvent('rbx_evt_sdr',{});cookie.sdr=1;}
try{localStorage.setItem(cookieName,JSON.stringify(cookie));}catch(ex){return false;}}
GoogleListener.init();RobloxEventManager.initialize(true);RobloxEventManager.triggerEvent('rbx_evt_pageview');trackReturns();RobloxEventManager._idleInterval=450000;RobloxEventManager.registerCookieStoreEvent('rbx_evt_initial_install_start');RobloxEventManager.registerCookieStoreEvent('rbx_evt_ftp');RobloxEventManager.registerCookieStoreEvent('rbx_evt_initial_install_success');RobloxEventManager.registerCookieStoreEvent('rbx_evt_fmp');RobloxEventManager.startMonitor();});</script><script>var Roblox=Roblox||{};Roblox.UpsellAdModal=Roblox.UpsellAdModal||{};Roblox.UpsellAdModal.Resources={title:"Remove Ads Like This",body:"Builders Club members do not see external ads like these.",accept:"Upgrade Now",decline:"No, thanks"};</script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="page" src="https://js.rbxcdn.com/2ed5e00ea935965818233e0afd1c496f.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="StyleGuide" data-bundle-source="Main" src="https://js.rbxcdn.com/4888ca8b071d138013918b69709855c0d45e5ccb359104c0dd0f28b52c825c87.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="Footer" data-bundle-source="Main" src="https://js.rbxcdn.com/310bda9a8ee2f36524a0c5e0e94c5f3801548431acdf617638feebf62eb1c5c2.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="AccountSecurityPrompt" data-bundle-source="Main" src="https://js.rbxcdn.com/57aec4f897d28943f4150609c1d7fbd7f52a812b9695b03ba069fe7201e22691.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Authentication.SignUp" data-bundle-source="Unknown" src="https://js.rbxcdn.com/3302cb1af0427610f0c60a40c36d04443f0062f1a7ad39aca4b5791638e3c6e9.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Authentication.SignUp" data-bundle-source="Unknown" src="https://js.rbxcdn.com/604d21b28fa09035f2e1dfee76fca63a38acd901abc7bf38d5ba0fca7f138476.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.AccountSecurityPrompt" data-bundle-source="Unknown" src="https://js.rbxcdn.com/7a16a6885151cec35dd806efb3f3c7d831bc71ccf07e2174835a171097f2ac83.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.AccountSecurityPrompt" data-bundle-source="Unknown" src="https://js.rbxcdn.com/92e84656a6be61659e51b733f2fe2e43d51093176c04c80486b4d3c6ed91870e.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="CursorPagination" data-bundle-source="Main" src="https://js.rbxcdn.com/23f7ebb7d16ce4ae1bf9bdf36cb0bf52209af8e57f55b7d6d14c0d96621eeda2.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_CommonUI.Controls" data-bundle-source="Unknown" src="https://js.rbxcdn.com/ee6a5ad0dd6831cbde49fac0632a1faa3a8584bb93815f2e91afefd2ecd0afb5.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_CommonUI.Controls" data-bundle-source="Unknown" src="https://js.rbxcdn.com/d65d38b7c8e854eb865388749efd0ccf6f86bfa8eb798975bd81ff5d5120204d.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="GameBadges" data-bundle-source="Main" src="https://js.rbxcdn.com/e3f2e759eb092a43098ec16e9ea0fe4036187b33d0d1d7b435689ed66b12a18c.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.GameBadges" data-bundle-source="Unknown" src="https://js.rbxcdn.com/5791d0a166e02bba42ebc7dcc04e9fe103de134b4dcbff8980e8f35686104353.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.GameBadges" data-bundle-source="Unknown" src="https://js.rbxcdn.com/25b6012fac851b6de99c569c73c600a0bd0390a3669e530ebca7b42b25807031.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="SocialLinksJumbotron" data-bundle-source="Main" src="https://js.rbxcdn.com/150c4bda499e9cfbd6ec0c208cee56d67a31e5ebf0b1a15e621f8b6cb009c312.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.PromotedChannels" data-bundle-source="Unknown" src="https://js.rbxcdn.com/af8cdbaeb57985f23b72f079c67f40debbea47af094dd6051f12b176492c2e09.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.PromotedChannels" data-bundle-source="Unknown" src="https://js.rbxcdn.com/a9238207bc9ad295084e9a24589d3ea66d8ec4dc1016ad59ba4fa48b3a2aed8a.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="ItemPurchase" data-bundle-source="Main" src="https://js.rbxcdn.com/bf6ae6dfa7d79f9ffe1a0c1b3a22c25707722264d9afdd2fae5cc3e7f51e5d70.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Purchasing.PurchaseDialog" data-bundle-source="Unknown" src="https://js.rbxcdn.com/bed4301242a08489111ebfe8aad4034273c3aa8e267840f32f7d3f7af241ca78.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Purchasing.PurchaseDialog" data-bundle-source="Unknown" src="https://js.rbxcdn.com/9ac0c0bd0fbda0a0b718470ef85b5206c0997111f8735294c638812e8d3d615a.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="GameLaunch" data-bundle-source="Main" src="https://js.rbxcdn.com/fe80ffd33d4a0e0b42a6789a523e4729177d7fea52bab0cea3485f24393cdb52.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.GameLaunchGuestMode" data-bundle-source="Unknown" src="https://js.rbxcdn.com/6852af8f7df15395ccb3d121a914ee7301a7162f5afb3395575c6075c617923f.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.GameLaunchGuestMode" data-bundle-source="Unknown" src="https://js.rbxcdn.com/f41ec06eeae79fa94e6ae9f435b0a1c6743085e898884eddb4d4025ca3af8a44.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Common.VisitGame" data-bundle-source="Unknown" src="https://js.rbxcdn.com/691a0c622f37b2b23073e7bf92f2d9d56db5f976fc95b3489b571f1b582af564.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Common.VisitGame" data-bundle-source="Unknown" src="https://js.rbxcdn.com/54f0f101be41e556d9994491f5cdc63a4e6f33c364590ebac87e1365e99c29ff.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="GameDetails" data-bundle-source="Main" src="https://js.rbxcdn.com/5aae24821ac1f25d1931a8fa50ab51a5970d7b0e84e4e1a9825b3daaaaab5dac.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.GameDetails" data-bundle-source="Unknown" src="https://js.rbxcdn.com/d5560836bf295a5507552b66cb8bb53b5e23acca67b8cd2af0c9004a2704acaf.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.GameDetails" data-bundle-source="Unknown" src="https://js.rbxcdn.com/839213c1db53dffa2279cafdb41735a94788b665ab6fa6ade68bc669d3c42b13.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="RecommendedGames" data-bundle-source="Main" src="https://js.rbxcdn.com/eceb637aa0fa3a6182017f0ab8f556888127bfbb0666d1ee8bed0e6ec16faf9f.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="NotificationStream" data-bundle-source="Main" src="https://js.rbxcdn.com/6ebdd3991ff7b7a9d637b5c5db24e90f164e15f3552fed70d09ca8f3cb4ea064.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Notifications.NotificationStream" data-bundle-source="Unknown" src="https://js.rbxcdn.com/aa3cbb9224b9bbe60706286e3976f7963c3382e3633ba5282d5095e0dac314da.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Notifications.NotificationStream" data-bundle-source="Unknown" src="https://js.rbxcdn.com/006762d9427287e5c15f714d87c50320ba89a52726f7e6756c22bab897ffb3f8.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="Contacts" data-bundle-source="Main" src="https://js.rbxcdn.com/bf0096e2c114d7b0ba5dbbc43ddd867fa587d1373b6ea4fd2e99ce7afb4ef8de.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="Chat" data-bundle-source="Main" src="https://js.rbxcdn.com/39a1587966c7f3abd0e3b32bbda3b0f34f350fa42d3daf7d8995f32a5d856ffc.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.Chat" data-bundle-source="Unknown" src="https://js.rbxcdn.com/fa72396066e6281487ac88403442eedb3f1fd2bfa5d7ce9d3f24555d47b07927.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="DynamicLocalizationResourceScript_Feature.Chat" data-bundle-source="Unknown" src="https://js.rbxcdn.com/c2e07c35f6b6f198f4cdd7617700e3fdc08a4950057b5d951e177cb3a799925f.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="pageEnd" src="https://js.rbxcdn.com/864460f78fc0ee4f9e8e3dbb8d5ca1d1.js"></script><script onerror="Roblox.BundleDetector&amp;&amp;Roblox.BundleDetector.reportBundleError(this)" data-monitor="true" data-bundlename="LatencyMeasurement" data-bundle-source="Main" src="https://js.rbxcdn.com/90bb51db086699ec26a6c9df04087678948883f8c3ddd1037c7223a20ff4fe90.js"></script></body></html>