local J=require(game.ReplicatedStorage:WaitForChild("\082\101\115\111\117\114\099\101\115"))while not J.Loaded do(game:GetService("\082\117\110\083\101\114\118\105\099\101")).Heartbeat:Wait()end local F={Eggs={};Areas={}}function SendNotification(P,T)table.insert(F[T],P)local Z=nil if T=="\069\103\103\115"then Z="\089\111\117 \099\097\110 \097\102\102\111\114\100 \116\111 \098\117\121 \116\104\101 "..(J.Directory.Eggs[P].display_name.."\033")elseif T=="\065\114\101\097\115"then Z="\089\111\117 \099\097\110 \097\102\102\111\114\100 \116\111 \117\110\108\111\099\107 \116\104\101 "..(J.Directory.Worlds[P].display_name.." \097\114\101\097\033")end J.Signal.Fire("\078\111\116\105\102\105\099\097\116\105\111\110",Z,{color=Color3.fromRGB(0,187,255),time=4})J.Network.Fire("\083\101\110\116 \080\114\111\103\114\101\115\115 \078\111\116\105\102\105\099\097\116\105\111\110",P,T)end function AttemptNotification(P,T)local Z=J.StatService.Get()if not Z then return end if not J.Functions.SearchArray(F[T],P)then if not J.Functions.SearchArray(Z.ProgressNotifications[T],P)then SendNotification(P,T)end end end function CheckForNotifications()local F=J.StatService.Get()if not F then return end for P,T in ipairs(J.WorldCmds.GetAllEggs())do if P then else break end local Z=T:GetAttribute("\073\068")local k=J.Directory.Eggs[Z]if T:GetAttribute("\085\110\108\111\099\107\101\100")then if k.cost<=F[k.currency]then AttemptNotification(Z,"\069\103\103\115")end end end for P,T in pairs(J.Directory.Worlds)do if P then else break end local Z=J.Directory.Worlds[P]if P~="\083\112\097\119\110"then if Z.cost<=F[Z.currency]then AttemptNotification(P,"\065\114\101\097\115")end end end end;(J.Signal.Fired("\083\116\097\116 \067\104\097\110\103\101\100")):Connect(function(J)if not(not string.find(J,"\067\111\105\110\115"))or J=="\071\101\109\115"or J=="\065\114\101\097\115\085\110\108\111\099\107\101\100"then CheckForNotifications()end end)


local v1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
while not v1.Loaded do
	game:GetService("RunService").Heartbeat:Wait();
end;
local u1 = {
	Eggs = {}, 
	Areas = {}
};
function SendNotification(p1, p2)
	table.insert(u1[p2], p1);
	local v2 = nil;
	if p2 == "Eggs" then
		v2 = "You can afford to buy the " .. v1.Directory.Eggs[p1].display_name .. "!";
	elseif p2 == "Areas" then
		v2 = "You can afford to unlock the " .. v1.Directory.Worlds[p1].display_name .. " area!";
	end;
	v1.Signal.Fire("Notification", v2, {
		color = Color3.fromRGB(0, 187, 255), 
		time = 4
	});
	v1.Network.Fire("Sent Progress Notification", p1, p2);
end;
function AttemptNotification(p3, p4)
	local v3 = v1.StatService.Get();
	if not v3 then
		return;
	end;
	if not v1.Functions.SearchArray(u1[p4], p3) then
		if not v1.Functions.SearchArray(v3.ProgressNotifications[p4], p3) then
			SendNotification(p3, p4);
		end;
	end;
end;
function CheckForNotifications()
	local v4 = v1.StatService.Get();
	if not v4 then
		return;
	end;

	for v5, v6 in ipairs((v1.WorldCmds.GetAllEggs())) do
		if v5 then

		else
			break;
		end;
		local v8 = v6:GetAttribute("ID");
		local v9 = v1.Directory.Eggs[v8];
		if v6:GetAttribute("Unlocked") then
			if v9.cost <= v4[v9.currency] then
				AttemptNotification(v8, "Eggs");
			end;
		end;	
	end;
	for v13, v14 in pairs(v1.Directory.Worlds) do
		if v13 then

		else
			break;
		end;
		local v15 = v1.Directory.Worlds[v13];
		if v13 ~= "Spawn" then
			if v15.cost <= v4[v15.currency] then
				AttemptNotification(v13, "Areas");
			end;
		end;	
	end;
end;
v1.Signal.Fired("Stat Changed"):Connect(function(p5)
	if not (not string.find(p5, "Coins")) or p5 == "Gems" or p5 == "AreasUnlocked" then
		CheckForNotifications();
	end;
end);

