From 2ce96664605b22b084a1fbf31c93c4efef8721db Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Sat, 21 May 2022 16:49:09 +0100
Subject: [PATCH 01/24] sketch

---
 Mt.rbxlx | 1558 ++++++++++++++++++++++++++++--------------------------
 1 file changed, 795 insertions(+), 763 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 1fac098..618fa4b 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -521,775 +521,416 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 				<BinaryString name="Tags"></BinaryString>
 				<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b445</UniqueId>
 			</Properties>
-			<Item class="LocalScript" referent="RBXD5D811BB03F84A618A7E076CB0CDFBD0">
-				<Properties>
-					<BinaryString name="AttributesSerialize"></BinaryString>
-					<bool name="Disabled">false</bool>
-					<Content name="LinkedSource"><null></null></Content>
-					<string name="Name">MtRemotes</string>
-					<string name="ScriptGuid">{A7C6D0D5-14AA-4B8C-AFE7-FFB33C4115B6}</string>
-					<ProtectedString name="Source"><![CDATA[local remotes = game:GetService("ReplicatedStorage").Mt.Remotes
-local plr = game:GetService("Players").LocalPlayer
-
-remotes.ChangeCursor.Event:Connect(function(cursor: string)
-	local mouse = plr:GetMouse()
-	--print(mouse.Icon)
-	mouse.Icon = cursor
-end)]]></ProtectedString>
-					<int64 name="SourceAssetId">-1</int64>
-					<BinaryString name="Tags"></BinaryString>
-					<UniqueId name="UniqueId">683ee95d122d1fcb0287f927003ae265</UniqueId>
-				</Properties>
-			</Item>
-			<Item class="LocalScript" referent="RBX75556E998ADF425FBD476EA155A6CB37">
+		</Item>
+		<Item class="StarterCharacterScripts" referent="RBX3A07D90B2FAD4148B7E14B1228EF9AB4">
+			<Properties>
+				<BinaryString name="AttributesSerialize"></BinaryString>
+				<string name="Name">StarterCharacterScripts</string>
+				<int64 name="SourceAssetId">-1</int64>
+				<BinaryString name="Tags"></BinaryString>
+				<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b444</UniqueId>
+			</Properties>
+		</Item>
+	</Item>
+	<Item class="StarterPack" referent="RBX202147C875D442AA9166215850822D79">
+		<Properties>
+			<BinaryString name="AttributesSerialize"></BinaryString>
+			<string name="Name">StarterPack</string>
+			<int64 name="SourceAssetId">-1</int64>
+			<BinaryString name="Tags"></BinaryString>
+			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b24d</UniqueId>
+		</Properties>
+	</Item>
+	<Item class="StarterGui" referent="RBXC646A6848879450F862D245806CF84DD">
+		<Properties>
+			<BinaryString name="AttributesSerialize"></BinaryString>
+			<string name="Name">StarterGui</string>
+			<bool name="ResetPlayerGuiOnSpawn">true</bool>
+			<token name="ScreenOrientation">4</token>
+			<bool name="ShowDevelopmentGui">true</bool>
+			<int64 name="SourceAssetId">-1</int64>
+			<BinaryString name="Tags"></BinaryString>
+			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b24e</UniqueId>
+			<token name="VirtualCursorMode">0</token>
+		</Properties>
+		<Item class="ScreenGui" referent="RBX7A683E7E978D4FE3B4992F462DE02083">
+			<Properties>
+				<BinaryString name="AttributesSerialize"></BinaryString>
+				<bool name="AutoLocalize">true</bool>
+				<int name="DisplayOrder">0</int>
+				<bool name="Enabled">true</bool>
+				<bool name="IgnoreGuiInset">true</bool>
+				<string name="Name">extra</string>
+				<bool name="ResetOnSpawn">true</bool>
+				<Ref name="RootLocalizationTable">null</Ref>
+				<token name="SelectionBehaviorDown">0</token>
+				<token name="SelectionBehaviorLeft">0</token>
+				<token name="SelectionBehaviorRight">0</token>
+				<token name="SelectionBehaviorUp">0</token>
+				<bool name="SelectionGroup">false</bool>
+				<int64 name="SourceAssetId">-1</int64>
+				<BinaryString name="Tags"></BinaryString>
+				<UniqueId name="UniqueId">5b19d14ef55ae6bc0249fc2c00162b57</UniqueId>
+				<token name="ZIndexBehavior">1</token>
+			</Properties>
+			<Item class="Frame" referent="RBX28CE5127845048B2B1CBD7D3A55011BE">
 				<Properties>
+					<bool name="Active">false</bool>
+					<Vector2 name="AnchorPoint">
+						<X>0</X>
+						<Y>0</Y>
+					</Vector2>
 					<BinaryString name="AttributesSerialize"></BinaryString>
-					<bool name="Disabled">false</bool>
-					<Content name="LinkedSource"><null></null></Content>
-					<string name="Name">MtWindowTest</string>
-					<string name="ScriptGuid">{6458014A-116B-482E-8D8B-AE889E404B10}</string>
-					<ProtectedString name="Source"><![CDATA[local repstrg = game:GetService("ReplicatedStorage")
-local plr = game:GetService("Players").LocalPlayer
-
---game:GetService("UserInputService").MouseIconEnabled = false
-
-local MWindow = require(repstrg.Mt.MtWidgets.MWindow)
-local MWindowManager = require(repstrg.Mt.MtCore.MWindowManager)
-
-game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList,false)
-
-local screen = MWindowManager:Init()
-
-function putStuffOnWindow(window,stuff:{GuiObject})
-	for i,v in ipairs(stuff) do
-		v.Parent = window.Content.Frame
-	end
-end
-
-local window = MWindow:Init(screen)
-window:SetName("MainWindow")
-window:SetTitle("window")
-window.Frame.Position = UDim2.fromOffset(0,0)
-putStuffOnWindow(window,script.window:GetChildren())
-
-local dialog = MWindow:Init(screen)
-dialog:SetName("Dialog")
-dialog:SetTitle("dialog")
-putStuffOnWindow(dialog,script.dialog:GetChildren())
-
-local page = MWindow:Init(screen)
-page:SetName("Page")
-page:SetTitle("page")
-putStuffOnWindow(page,script.page:GetChildren())]]></ProtectedString>
+					<bool name="AutoLocalize">true</bool>
+					<token name="AutomaticSize">0</token>
+					<Color3 name="BackgroundColor3">
+						<R>0.313725501</R>
+						<G>0.313725501</G>
+						<B>0.313725501</B>
+					</Color3>
+					<float name="BackgroundTransparency">0</float>
+					<Color3 name="BorderColor3">
+						<R>0.105882362</R>
+						<G>0.164705887</G>
+						<B>0.207843155</B>
+					</Color3>
+					<token name="BorderMode">0</token>
+					<int name="BorderSizePixel">1</int>
+					<bool name="ClipsDescendants">false</bool>
+					<bool name="Draggable">false</bool>
+					<int name="LayoutOrder">0</int>
+					<string name="Name">Frame</string>
+					<Ref name="NextSelectionDown">null</Ref>
+					<Ref name="NextSelectionLeft">null</Ref>
+					<Ref name="NextSelectionRight">null</Ref>
+					<Ref name="NextSelectionUp">null</Ref>
+					<UDim2 name="Position">
+						<XS>0.381909549</XS>
+						<XO>0</XO>
+						<YS>0.42562592</YS>
+						<YO>0</YO>
+					</UDim2>
+					<Ref name="RootLocalizationTable">null</Ref>
+					<float name="Rotation">0</float>
+					<bool name="Selectable">false</bool>
+					<token name="SelectionBehaviorDown">0</token>
+					<token name="SelectionBehaviorLeft">0</token>
+					<token name="SelectionBehaviorRight">0</token>
+					<token name="SelectionBehaviorUp">0</token>
+					<bool name="SelectionGroup">false</bool>
+					<Ref name="SelectionImageObject">null</Ref>
+					<int name="SelectionOrder">0</int>
+					<UDim2 name="Size">
+						<XS>0</XS>
+						<XO>276</XO>
+						<YS>0</YS>
+						<YO>81</YO>
+					</UDim2>
+					<token name="SizeConstraint">0</token>
 					<int64 name="SourceAssetId">-1</int64>
+					<token name="Style">0</token>
 					<BinaryString name="Tags"></BinaryString>
-					<UniqueId name="UniqueId">5b19d14ef55ae6bc0249fc2c00162b32</UniqueId>
+					<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002a4e0</UniqueId>
+					<bool name="Visible">true</bool>
+					<int name="ZIndex">1</int>
 				</Properties>
-				<Item class="Folder" referent="RBX765CC3208DEE405799D51C1198BDF0B1">
+				<Item class="UIStroke" referent="RBX31931C2BC0774120ABE52BFB969BB24D">
+					<Properties>
+						<token name="ApplyStrokeMode">0</token>
+						<BinaryString name="AttributesSerialize"></BinaryString>
+						<Color3 name="Color">
+							<R>0</R>
+							<G>0</G>
+							<B>0</B>
+						</Color3>
+						<bool name="Enabled">true</bool>
+						<token name="LineJoinMode">0</token>
+						<string name="Name">UIStroke</string>
+						<int64 name="SourceAssetId">-1</int64>
+						<BinaryString name="Tags"></BinaryString>
+						<float name="Thickness">5</float>
+						<float name="Transparency">0</float>
+						<UniqueId name="UniqueId">72e3064f72345eb8029aa08200029dce</UniqueId>
+					</Properties>
+				</Item>
+				<Item class="UICorner" referent="RBXA2B6BF43994141C3A263B152DB702199">
+					<Properties>
+						<BinaryString name="AttributesSerialize"></BinaryString>
+						<UDim name="CornerRadius">
+							<S>0</S>
+							<O>8</O>
+						</UDim>
+						<string name="Name">UICorner</string>
+						<int64 name="SourceAssetId">-1</int64>
+						<BinaryString name="Tags"></BinaryString>
+						<UniqueId name="UniqueId">72e3064f72345eb8029aa08200029e7d</UniqueId>
+					</Properties>
+				</Item>
+				<Item class="Frame" referent="RBX59A0F4DF13CA463E8DD0EF9A4E88FFC3">
 					<Properties>
+						<bool name="Active">false</bool>
+						<Vector2 name="AnchorPoint">
+							<X>0</X>
+							<Y>0</Y>
+						</Vector2>
 						<BinaryString name="AttributesSerialize"></BinaryString>
-						<string name="Name">window</string>
+						<bool name="AutoLocalize">true</bool>
+						<token name="AutomaticSize">0</token>
+						<Color3 name="BackgroundColor3">
+							<R>0.392156899</R>
+							<G>1</G>
+							<B>0.298039228</B>
+						</Color3>
+						<float name="BackgroundTransparency">0</float>
+						<Color3 name="BorderColor3">
+							<R>0.105882362</R>
+							<G>0.164705887</G>
+							<B>0.207843155</B>
+						</Color3>
+						<token name="BorderMode">0</token>
+						<int name="BorderSizePixel">1</int>
+						<bool name="ClipsDescendants">false</bool>
+						<bool name="Draggable">false</bool>
+						<int name="LayoutOrder">0</int>
+						<string name="Name">Frame</string>
+						<Ref name="NextSelectionDown">null</Ref>
+						<Ref name="NextSelectionLeft">null</Ref>
+						<Ref name="NextSelectionRight">null</Ref>
+						<Ref name="NextSelectionUp">null</Ref>
+						<UDim2 name="Position">
+							<XS>0</XS>
+							<XO>0</XO>
+							<YS>0</YS>
+							<YO>0</YO>
+						</UDim2>
+						<Ref name="RootLocalizationTable">null</Ref>
+						<float name="Rotation">0</float>
+						<bool name="Selectable">false</bool>
+						<token name="SelectionBehaviorDown">0</token>
+						<token name="SelectionBehaviorLeft">0</token>
+						<token name="SelectionBehaviorRight">0</token>
+						<token name="SelectionBehaviorUp">0</token>
+						<bool name="SelectionGroup">false</bool>
+						<Ref name="SelectionImageObject">null</Ref>
+						<int name="SelectionOrder">0</int>
+						<UDim2 name="Size">
+							<XS>0.239999995</XS>
+							<XO>0</XO>
+							<YS>1</YS>
+							<YO>0</YO>
+						</UDim2>
+						<token name="SizeConstraint">0</token>
 						<int64 name="SourceAssetId">-1</int64>
+						<token name="Style">0</token>
 						<BinaryString name="Tags"></BinaryString>
-						<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007b8842</UniqueId>
+						<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002aa60</UniqueId>
+						<bool name="Visible">true</bool>
+						<int name="ZIndex">1</int>
 					</Properties>
-					<Item class="TextButton" referent="RBXF9266655F6FC436D8614CD362E67B082">
+					<Item class="UICorner" referent="RBX3418558337014D058F51984D48654A8D">
 						<Properties>
-							<bool name="Active">true</bool>
-							<Vector2 name="AnchorPoint">
-								<X>0.5</X>
-								<Y>0.5</Y>
-							</Vector2>
 							<BinaryString name="AttributesSerialize"></BinaryString>
-							<bool name="AutoButtonColor">false</bool>
-							<bool name="AutoLocalize">true</bool>
-							<token name="AutomaticSize">0</token>
-							<Color3 name="BackgroundColor3">
-								<R>1</R>
-								<G>1</G>
-								<B>1</B>
-							</Color3>
-							<float name="BackgroundTransparency">0</float>
-							<Color3 name="BorderColor3">
-								<R>0.105882362</R>
-								<G>0.164705887</G>
-								<B>0.207843155</B>
-							</Color3>
-							<token name="BorderMode">0</token>
-							<int name="BorderSizePixel">1</int>
-							<bool name="ClipsDescendants">false</bool>
-							<bool name="Draggable">false</bool>
-							<token name="Font">3</token>
-							<Font name="FontFace"></Font>
-							<int name="LayoutOrder">0</int>
-							<float name="LineHeight">1</float>
-							<int name="MaxVisibleGraphemes">-1</int>
-							<bool name="Modal">false</bool>
-							<string name="Name">Button</string>
-							<Ref name="NextSelectionDown">null</Ref>
-							<Ref name="NextSelectionLeft">null</Ref>
-							<Ref name="NextSelectionRight">null</Ref>
-							<Ref name="NextSelectionUp">null</Ref>
-							<UDim2 name="Position">
-								<XS>0.5</XS>
-								<XO>0</XO>
-								<YS>0.5</YS>
-								<YO>0</YO>
-							</UDim2>
-							<bool name="RichText">true</bool>
-							<Ref name="RootLocalizationTable">null</Ref>
-							<float name="Rotation">0</float>
-							<bool name="Selectable">true</bool>
-							<bool name="Selected">false</bool>
-							<token name="SelectionBehaviorDown">0</token>
-							<token name="SelectionBehaviorLeft">0</token>
-							<token name="SelectionBehaviorRight">0</token>
-							<token name="SelectionBehaviorUp">0</token>
-							<bool name="SelectionGroup">false</bool>
-							<Ref name="SelectionImageObject">null</Ref>
-							<int name="SelectionOrder">0</int>
-							<UDim2 name="Size">
-								<XS>0.550000012</XS>
-								<XO>0</XO>
-								<YS>0.349999994</YS>
-								<YO>0</YO>
-							</UDim2>
-							<token name="SizeConstraint">0</token>
+							<UDim name="CornerRadius">
+								<S>0</S>
+								<O>8</O>
+							</UDim>
+							<string name="Name">UICorner</string>
 							<int64 name="SourceAssetId">-1</int64>
-							<token name="Style">0</token>
 							<BinaryString name="Tags"></BinaryString>
-							<string name="Text">bring up cool dialog&lt;br/&gt;ok fine it doesn&apos;t actually do anything</string>
-							<Color3 name="TextColor3">
-								<R>0</R>
-								<G>0</G>
-								<B>0</B>
-							</Color3>
-							<bool name="TextScaled">false</bool>
-							<float name="TextSize">14</float>
-							<Color3 name="TextStrokeColor3">
-								<R>0</R>
-								<G>0</G>
-								<B>0</B>
-							</Color3>
-							<float name="TextStrokeTransparency">1</float>
-							<float name="TextTransparency">0</float>
-							<token name="TextTruncate">0</token>
-							<bool name="TextWrapped">false</bool>
-							<token name="TextXAlignment">2</token>
-							<token name="TextYAlignment">1</token>
-							<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007b7dc2</UniqueId>
-							<bool name="Visible">true</bool>
-							<int name="ZIndex">1</int>
+							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b027</UniqueId>
 						</Properties>
 					</Item>
 				</Item>
-				<Item class="Folder" referent="RBX7D150168E114488F9A746495F9B87253">
+				<Item class="TextLabel" referent="RBXB3BB16BEBDD540B082794DEE6F36E7EA">
 					<Properties>
+						<bool name="Active">false</bool>
+						<Vector2 name="AnchorPoint">
+							<X>0</X>
+							<Y>0</Y>
+						</Vector2>
 						<BinaryString name="AttributesSerialize"></BinaryString>
-						<string name="Name">dialog</string>
+						<bool name="AutoLocalize">true</bool>
+						<token name="AutomaticSize">0</token>
+						<Color3 name="BackgroundColor3">
+							<R>1</R>
+							<G>1</G>
+							<B>1</B>
+						</Color3>
+						<float name="BackgroundTransparency">1</float>
+						<Color3 name="BorderColor3">
+							<R>0.105882362</R>
+							<G>0.164705887</G>
+							<B>0.207843155</B>
+						</Color3>
+						<token name="BorderMode">0</token>
+						<int name="BorderSizePixel">1</int>
+						<bool name="ClipsDescendants">false</bool>
+						<bool name="Draggable">false</bool>
+						<token name="Font">3</token>
+						<Font name="FontFace"></Font>
+						<int name="LayoutOrder">0</int>
+						<float name="LineHeight">1</float>
+						<int name="MaxVisibleGraphemes">-1</int>
+						<string name="Name">TextLabel</string>
+						<Ref name="NextSelectionDown">null</Ref>
+						<Ref name="NextSelectionLeft">null</Ref>
+						<Ref name="NextSelectionRight">null</Ref>
+						<Ref name="NextSelectionUp">null</Ref>
+						<UDim2 name="Position">
+							<XS>0</XS>
+							<XO>0</XO>
+							<YS>0</YS>
+							<YO>0</YO>
+						</UDim2>
+						<bool name="RichText">false</bool>
+						<Ref name="RootLocalizationTable">null</Ref>
+						<float name="Rotation">0</float>
+						<bool name="Selectable">false</bool>
+						<token name="SelectionBehaviorDown">0</token>
+						<token name="SelectionBehaviorLeft">0</token>
+						<token name="SelectionBehaviorRight">0</token>
+						<token name="SelectionBehaviorUp">0</token>
+						<bool name="SelectionGroup">false</bool>
+						<Ref name="SelectionImageObject">null</Ref>
+						<int name="SelectionOrder">0</int>
+						<UDim2 name="Size">
+							<XS>1</XS>
+							<XO>0</XO>
+							<YS>1</YS>
+							<YO>0</YO>
+						</UDim2>
+						<token name="SizeConstraint">0</token>
 						<int64 name="SourceAssetId">-1</int64>
 						<BinaryString name="Tags"></BinaryString>
-						<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007b8874</UniqueId>
+						<string name="Text">24%</string>
+						<Color3 name="TextColor3">
+							<R>1</R>
+							<G>1</G>
+							<B>1</B>
+						</Color3>
+						<bool name="TextScaled">true</bool>
+						<float name="TextSize">14</float>
+						<Color3 name="TextStrokeColor3">
+							<R>0</R>
+							<G>0</G>
+							<B>0</B>
+						</Color3>
+						<float name="TextStrokeTransparency">0</float>
+						<float name="TextTransparency">0</float>
+						<token name="TextTruncate">0</token>
+						<bool name="TextWrapped">true</bool>
+						<token name="TextXAlignment">2</token>
+						<token name="TextYAlignment">1</token>
+						<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b09c</UniqueId>
+						<bool name="Visible">true</bool>
+						<int name="ZIndex">1</int>
 					</Properties>
-					<Item class="TextBox" referent="RBX039ADC18E24743908A66F0123BF93AFD">
+					<Item class="UIStroke" referent="RBXBE037E4AC92945989B878A8291569BA2">
 						<Properties>
-							<bool name="Active">true</bool>
-							<Vector2 name="AnchorPoint">
-								<X>0.5</X>
-								<Y>0.5</Y>
-							</Vector2>
+							<token name="ApplyStrokeMode">0</token>
 							<BinaryString name="AttributesSerialize"></BinaryString>
-							<bool name="AutoLocalize">true</bool>
-							<token name="AutomaticSize">0</token>
-							<Color3 name="BackgroundColor3">
-								<R>1</R>
-								<G>1</G>
-								<B>1</B>
-							</Color3>
-							<float name="BackgroundTransparency">0</float>
-							<Color3 name="BorderColor3">
-								<R>0.105882362</R>
-								<G>0.164705887</G>
-								<B>0.207843155</B>
-							</Color3>
-							<token name="BorderMode">0</token>
-							<int name="BorderSizePixel">1</int>
-							<bool name="ClearTextOnFocus">true</bool>
-							<bool name="ClipsDescendants">false</bool>
-							<bool name="Draggable">false</bool>
-							<token name="Font">3</token>
-							<Font name="FontFace"></Font>
-							<int name="LayoutOrder">0</int>
-							<float name="LineHeight">1</float>
-							<int name="MaxVisibleGraphemes">-1</int>
-							<bool name="MultiLine">false</bool>
-							<string name="Name">Input</string>
-							<Ref name="NextSelectionDown">null</Ref>
-							<Ref name="NextSelectionLeft">null</Ref>
-							<Ref name="NextSelectionRight">null</Ref>
-							<Ref name="NextSelectionUp">null</Ref>
-							<Color3 name="PlaceholderColor3">
-								<R>0.699999988</R>
-								<G>0.699999988</G>
-								<B>0.699999988</B>
-							</Color3>
-							<string name="PlaceholderText"></string>
-							<UDim2 name="Position">
-								<XS>0.5</XS>
-								<XO>0</XO>
-								<YS>0.5</YS>
-								<YO>0</YO>
-							</UDim2>
-							<bool name="RichText">false</bool>
-							<Ref name="RootLocalizationTable">null</Ref>
-							<float name="Rotation">0</float>
-							<bool name="Selectable">true</bool>
-							<token name="SelectionBehaviorDown">0</token>
-							<token name="SelectionBehaviorLeft">0</token>
-							<token name="SelectionBehaviorRight">0</token>
-							<token name="SelectionBehaviorUp">0</token>
-							<bool name="SelectionGroup">false</bool>
-							<Ref name="SelectionImageObject">null</Ref>
-							<int name="SelectionOrder">0</int>
-							<bool name="ShowNativeInput">true</bool>
-							<UDim2 name="Size">
-								<XS>0.5</XS>
-								<XO>0</XO>
-								<YS>0.100000001</YS>
-								<YO>0</YO>
-							</UDim2>
-							<token name="SizeConstraint">0</token>
-							<int64 name="SourceAssetId">-1</int64>
-							<BinaryString name="Tags"></BinaryString>
-							<string name="Text"></string>
-							<Color3 name="TextColor3">
-								<R>0</R>
-								<G>0</G>
-								<B>0</B>
-							</Color3>
-							<bool name="TextEditable">true</bool>
-							<bool name="TextScaled">false</bool>
-							<float name="TextSize">14</float>
-							<Color3 name="TextStrokeColor3">
+							<Color3 name="Color">
 								<R>0</R>
 								<G>0</G>
 								<B>0</B>
 							</Color3>
-							<float name="TextStrokeTransparency">1</float>
-							<float name="TextTransparency">0</float>
-							<token name="TextTruncate">0</token>
-							<bool name="TextWrapped">false</bool>
-							<token name="TextXAlignment">2</token>
-							<token name="TextYAlignment">1</token>
-							<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb00797433</UniqueId>
-							<bool name="Visible">true</bool>
-							<int name="ZIndex">1</int>
-						</Properties>
-					</Item>
-					<Item class="TextLabel" referent="RBX83636F57CEF64F70BDC71FC8BB214083">
-						<Properties>
-							<bool name="Active">false</bool>
-							<Vector2 name="AnchorPoint">
-								<X>0.5</X>
-								<Y>0.5</Y>
-							</Vector2>
-							<BinaryString name="AttributesSerialize"></BinaryString>
-							<bool name="AutoLocalize">true</bool>
-							<token name="AutomaticSize">0</token>
-							<Color3 name="BackgroundColor3">
-								<R>1</R>
-								<G>1</G>
-								<B>1</B>
-							</Color3>
-							<float name="BackgroundTransparency">0</float>
-							<Color3 name="BorderColor3">
-								<R>0.105882362</R>
-								<G>0.164705887</G>
-								<B>0.207843155</B>
-							</Color3>
-							<token name="BorderMode">0</token>
-							<int name="BorderSizePixel">0</int>
-							<bool name="ClipsDescendants">false</bool>
-							<bool name="Draggable">false</bool>
-							<token name="Font">3</token>
-							<Font name="FontFace"></Font>
-							<int name="LayoutOrder">0</int>
-							<float name="LineHeight">1</float>
-							<int name="MaxVisibleGraphemes">-1</int>
-							<string name="Name">Label</string>
-							<Ref name="NextSelectionDown">null</Ref>
-							<Ref name="NextSelectionLeft">null</Ref>
-							<Ref name="NextSelectionRight">null</Ref>
-							<Ref name="NextSelectionUp">null</Ref>
-							<UDim2 name="Position">
-								<XS>0.5</XS>
-								<XO>0</XO>
-								<YS>0.200000003</YS>
-								<YO>0</YO>
-							</UDim2>
-							<bool name="RichText">false</bool>
-							<Ref name="RootLocalizationTable">null</Ref>
-							<float name="Rotation">0</float>
-							<bool name="Selectable">false</bool>
-							<token name="SelectionBehaviorDown">0</token>
-							<token name="SelectionBehaviorLeft">0</token>
-							<token name="SelectionBehaviorRight">0</token>
-							<token name="SelectionBehaviorUp">0</token>
-							<bool name="SelectionGroup">false</bool>
-							<Ref name="SelectionImageObject">null</Ref>
-							<int name="SelectionOrder">0</int>
-							<UDim2 name="Size">
-								<XS>0.5</XS>
-								<XO>0</XO>
-								<YS>0.100000001</YS>
-								<YO>0</YO>
-							</UDim2>
-							<token name="SizeConstraint">0</token>
-							<int64 name="SourceAssetId">-1</int64>
-							<BinaryString name="Tags"></BinaryString>
-							<string name="Text">are the windows cool?</string>
-							<Color3 name="TextColor3">
-								<R>0</R>
-								<G>0</G>
-								<B>0</B>
-							</Color3>
-							<bool name="TextScaled">false</bool>
-							<float name="TextSize">14</float>
-							<Color3 name="TextStrokeColor3">
-								<R>0</R>
-								<G>0</G>
-								<B>0</B>
-							</Color3>
-							<float name="TextStrokeTransparency">1</float>
-							<float name="TextTransparency">0</float>
-							<token name="TextTruncate">0</token>
-							<bool name="TextWrapped">false</bool>
-							<token name="TextXAlignment">2</token>
-							<token name="TextYAlignment">1</token>
-							<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007975c2</UniqueId>
-							<bool name="Visible">true</bool>
-							<int name="ZIndex">1</int>
-						</Properties>
-					</Item>
-				</Item>
-				<Item class="Folder" referent="RBXA05C35BF82F5425F9519DEAA47A780E9">
-					<Properties>
-						<BinaryString name="AttributesSerialize"></BinaryString>
-						<string name="Name">page</string>
-						<int64 name="SourceAssetId">-1</int64>
-						<BinaryString name="Tags"></BinaryString>
-						<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007b88c6</UniqueId>
-					</Properties>
-					<Item class="TextLabel" referent="RBX1E3EA31A990141258C648D08DB495D4A">
-						<Properties>
-							<bool name="Active">false</bool>
-							<Vector2 name="AnchorPoint">
-								<X>0</X>
-								<Y>0</Y>
-							</Vector2>
-							<BinaryString name="AttributesSerialize"></BinaryString>
-							<bool name="AutoLocalize">true</bool>
-							<token name="AutomaticSize">0</token>
-							<Color3 name="BackgroundColor3">
-								<R>1</R>
-								<G>1</G>
-								<B>1</B>
-							</Color3>
-							<float name="BackgroundTransparency">0</float>
-							<Color3 name="BorderColor3">
-								<R>0.105882362</R>
-								<G>0.164705887</G>
-								<B>0.207843155</B>
-							</Color3>
-							<token name="BorderMode">0</token>
-							<int name="BorderSizePixel">0</int>
-							<bool name="ClipsDescendants">false</bool>
-							<bool name="Draggable">false</bool>
-							<token name="Font">3</token>
-							<Font name="FontFace"></Font>
-							<int name="LayoutOrder">0</int>
-							<float name="LineHeight">1</float>
-							<int name="MaxVisibleGraphemes">-1</int>
-							<string name="Name">TextLabel</string>
-							<Ref name="NextSelectionDown">null</Ref>
-							<Ref name="NextSelectionLeft">null</Ref>
-							<Ref name="NextSelectionRight">null</Ref>
-							<Ref name="NextSelectionUp">null</Ref>
-							<UDim2 name="Position">
-								<XS>0</XS>
-								<XO>0</XO>
-								<YS>0</YS>
-								<YO>0</YO>
-							</UDim2>
-							<bool name="RichText">true</bool>
-							<Ref name="RootLocalizationTable">null</Ref>
-							<float name="Rotation">0</float>
-							<bool name="Selectable">false</bool>
-							<token name="SelectionBehaviorDown">0</token>
-							<token name="SelectionBehaviorLeft">0</token>
-							<token name="SelectionBehaviorRight">0</token>
-							<token name="SelectionBehaviorUp">0</token>
-							<bool name="SelectionGroup">false</bool>
-							<Ref name="SelectionImageObject">null</Ref>
-							<int name="SelectionOrder">0</int>
-							<UDim2 name="Size">
-								<XS>1</XS>
-								<XO>0</XO>
-								<YS>1</YS>
-								<YO>0</YO>
-							</UDim2>
-							<token name="SizeConstraint">0</token>
+							<bool name="Enabled">true</bool>
+							<token name="LineJoinMode">0</token>
+							<string name="Name">UIStroke</string>
 							<int64 name="SourceAssetId">-1</int64>
 							<BinaryString name="Tags"></BinaryString>
-							<string name="Text"> this paragraph is&lt;br/&gt;not so big&lt;br/&gt;i wish i could write something longer</string>
-							<Color3 name="TextColor3">
-								<R>0</R>
-								<G>0</G>
-								<B>0</B>
-							</Color3>
-							<bool name="TextScaled">false</bool>
-							<float name="TextSize">14</float>
-							<Color3 name="TextStrokeColor3">
-								<R>0</R>
-								<G>0</G>
-								<B>0</B>
-							</Color3>
-							<float name="TextStrokeTransparency">1</float>
-							<float name="TextTransparency">0</float>
-							<token name="TextTruncate">0</token>
-							<bool name="TextWrapped">false</bool>
-							<token name="TextXAlignment">0</token>
-							<token name="TextYAlignment">0</token>
-							<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007b8309</UniqueId>
-							<bool name="Visible">true</bool>
-							<int name="ZIndex">1</int>
+							<float name="Thickness">2</float>
+							<float name="Transparency">0</float>
+							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b16f</UniqueId>
 						</Properties>
 					</Item>
 				</Item>
 			</Item>
 		</Item>
-		<Item class="StarterCharacterScripts" referent="RBX3A07D90B2FAD4148B7E14B1228EF9AB4">
+	</Item>
+	<Item class="LocalizationService" referent="RBXD5AAAA567BD34DD5AE63DACE90D5C95F">
+		<Properties>
+			<BinaryString name="AttributesSerialize"></BinaryString>
+			<string name="Name">LocalizationService</string>
+			<int64 name="SourceAssetId">-1</int64>
+			<BinaryString name="Tags"></BinaryString>
+			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b250</UniqueId>
+		</Properties>
+	</Item>
+	<Item class="TeleportService" referent="RBXB0378FE723DB4934AC003DD03DC69CC9">
+		<Properties>
+			<BinaryString name="AttributesSerialize"></BinaryString>
+			<string name="Name">Teleport Service</string>
+			<int64 name="SourceAssetId">-1</int64>
+			<BinaryString name="Tags"></BinaryString>
+			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b254</UniqueId>
+		</Properties>
+	</Item>
+	<Item class="CollectionService" referent="RBX0D618E811A4F40AF9C5EC77297F6E379">
+		<Properties>
+			<BinaryString name="AttributesSerialize"></BinaryString>
+			<string name="Name">CollectionService</string>
+			<int64 name="SourceAssetId">-1</int64>
+			<BinaryString name="Tags"></BinaryString>
+			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b256</UniqueId>
+		</Properties>
+	</Item>
+	<Item class="PhysicsService" referent="RBXE9DA07C808D04953A416BFF7F1CF39F3">
+		<Properties>
+			<BinaryString name="AttributesSerialize"></BinaryString>
+			<string name="Name">PhysicsService</string>
+			<int64 name="SourceAssetId">-1</int64>
+			<BinaryString name="Tags"></BinaryString>
+			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b257</UniqueId>
+		</Properties>
+	</Item>
+	<Item class="Geometry" referent="RBXBCD551903B8C44C3BA54736001636F23">
+		<Properties>
+			<BinaryString name="AttributesSerialize"></BinaryString>
+			<string name="Name">Geometry</string>
+			<int64 name="SourceAssetId">-1</int64>
+			<BinaryString name="Tags"></BinaryString>
+			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b259</UniqueId>
+		</Properties>
+	</Item>
+	<Item class="InsertService" referent="RBX626DE88FA5BD444B8A998AE9894355C2">
+		<Properties>
+			<bool name="AllowClientInsertModels">false</bool>
+			<bool name="AllowInsertFreeModels">false</bool>
+			<BinaryString name="AttributesSerialize"></BinaryString>
+			<string name="Name">InsertService</string>
+			<int64 name="SourceAssetId">-1</int64>
+			<BinaryString name="Tags"></BinaryString>
+			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b25b</UniqueId>
+		</Properties>
+		<Item class="StringValue" referent="RBX723AEE2EEA68407AB75152BD7CA86E2B">
 			<Properties>
 				<BinaryString name="AttributesSerialize"></BinaryString>
-				<string name="Name">StarterCharacterScripts</string>
+				<string name="Name">InsertionHash</string>
 				<int64 name="SourceAssetId">-1</int64>
 				<BinaryString name="Tags"></BinaryString>
-				<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b444</UniqueId>
+				<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b446</UniqueId>
+				<string name="Value">{CFC75CFD-8969-40E4-B03D-10597A48B0EB}</string>
 			</Properties>
 		</Item>
 	</Item>
-	<Item class="StarterPack" referent="RBX202147C875D442AA9166215850822D79">
+	<Item class="GamePassService" referent="RBX86085B0F45A44DAAA7D0ABED9CAFFD0D">
 		<Properties>
 			<BinaryString name="AttributesSerialize"></BinaryString>
-			<string name="Name">StarterPack</string>
+			<string name="Name">GamePassService</string>
 			<int64 name="SourceAssetId">-1</int64>
 			<BinaryString name="Tags"></BinaryString>
-			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b24d</UniqueId>
+			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b25c</UniqueId>
 		</Properties>
 	</Item>
-	<Item class="StarterGui" referent="RBXC646A6848879450F862D245806CF84DD">
+	<Item class="Debris" referent="RBX92D97E5047EC47BC9B7933C7396801EB">
 		<Properties>
 			<BinaryString name="AttributesSerialize"></BinaryString>
-			<string name="Name">StarterGui</string>
-			<bool name="ResetPlayerGuiOnSpawn">true</bool>
-			<token name="ScreenOrientation">4</token>
-			<bool name="ShowDevelopmentGui">true</bool>
+			<int name="MaxItems">1000</int>
+			<string name="Name">Debris</string>
 			<int64 name="SourceAssetId">-1</int64>
 			<BinaryString name="Tags"></BinaryString>
-			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b24e</UniqueId>
-			<token name="VirtualCursorMode">0</token>
-		</Properties>
-		<Item class="ScreenGui" referent="RBX7A683E7E978D4FE3B4992F462DE02083">
-			<Properties>
-				<BinaryString name="AttributesSerialize"></BinaryString>
-				<bool name="AutoLocalize">true</bool>
-				<int name="DisplayOrder">0</int>
-				<bool name="Enabled">false</bool>
-				<bool name="IgnoreGuiInset">true</bool>
-				<string name="Name">extra</string>
-				<bool name="ResetOnSpawn">true</bool>
-				<Ref name="RootLocalizationTable">null</Ref>
-				<token name="SelectionBehaviorDown">0</token>
-				<token name="SelectionBehaviorLeft">0</token>
-				<token name="SelectionBehaviorRight">0</token>
-				<token name="SelectionBehaviorUp">0</token>
-				<bool name="SelectionGroup">false</bool>
-				<int64 name="SourceAssetId">-1</int64>
-				<BinaryString name="Tags"></BinaryString>
-				<UniqueId name="UniqueId">5b19d14ef55ae6bc0249fc2c00162b57</UniqueId>
-				<token name="ZIndexBehavior">1</token>
-			</Properties>
-			<Item class="Frame" referent="RBXFFA8F02128794C359BE9CEA60804BB3B">
-				<Properties>
-					<bool name="Active">false</bool>
-					<Vector2 name="AnchorPoint">
-						<X>0</X>
-						<Y>0</Y>
-					</Vector2>
-					<BinaryString name="AttributesSerialize"></BinaryString>
-					<bool name="AutoLocalize">true</bool>
-					<token name="AutomaticSize">0</token>
-					<Color3 name="BackgroundColor3">
-						<R>1</R>
-						<G>1</G>
-						<B>1</B>
-					</Color3>
-					<float name="BackgroundTransparency">0</float>
-					<Color3 name="BorderColor3">
-						<R>0.105882362</R>
-						<G>0.164705887</G>
-						<B>0.207843155</B>
-					</Color3>
-					<token name="BorderMode">0</token>
-					<int name="BorderSizePixel">1</int>
-					<bool name="ClipsDescendants">false</bool>
-					<bool name="Draggable">false</bool>
-					<int name="LayoutOrder">0</int>
-					<string name="Name">Frame</string>
-					<Ref name="NextSelectionDown">null</Ref>
-					<Ref name="NextSelectionLeft">null</Ref>
-					<Ref name="NextSelectionRight">null</Ref>
-					<Ref name="NextSelectionUp">null</Ref>
-					<UDim2 name="Position">
-						<XS>0</XS>
-						<XO>0</XO>
-						<YS>0</YS>
-						<YO>0</YO>
-					</UDim2>
-					<Ref name="RootLocalizationTable">null</Ref>
-					<float name="Rotation">0</float>
-					<bool name="Selectable">false</bool>
-					<token name="SelectionBehaviorDown">0</token>
-					<token name="SelectionBehaviorLeft">0</token>
-					<token name="SelectionBehaviorRight">0</token>
-					<token name="SelectionBehaviorUp">0</token>
-					<bool name="SelectionGroup">false</bool>
-					<Ref name="SelectionImageObject">null</Ref>
-					<int name="SelectionOrder">0</int>
-					<UDim2 name="Size">
-						<XS>0</XS>
-						<XO>438</XO>
-						<YS>0</YS>
-						<YO>268</YO>
-					</UDim2>
-					<token name="SizeConstraint">0</token>
-					<int64 name="SourceAssetId">-1</int64>
-					<token name="Style">0</token>
-					<BinaryString name="Tags"></BinaryString>
-					<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb0079727f</UniqueId>
-					<bool name="Visible">true</bool>
-					<int name="ZIndex">1</int>
-				</Properties>
-			</Item>
-			<Item class="Frame" referent="RBX171C6DF7F1D64B52A29E8B8739411435">
-				<Properties>
-					<bool name="Active">false</bool>
-					<Vector2 name="AnchorPoint">
-						<X>0</X>
-						<Y>0</Y>
-					</Vector2>
-					<BinaryString name="AttributesSerialize"></BinaryString>
-					<bool name="AutoLocalize">true</bool>
-					<token name="AutomaticSize">0</token>
-					<Color3 name="BackgroundColor3">
-						<R>1</R>
-						<G>1</G>
-						<B>1</B>
-					</Color3>
-					<float name="BackgroundTransparency">0</float>
-					<Color3 name="BorderColor3">
-						<R>0.105882362</R>
-						<G>0.164705887</G>
-						<B>0.207843155</B>
-					</Color3>
-					<token name="BorderMode">0</token>
-					<int name="BorderSizePixel">1</int>
-					<bool name="ClipsDescendants">false</bool>
-					<bool name="Draggable">false</bool>
-					<int name="LayoutOrder">0</int>
-					<string name="Name">Frame</string>
-					<Ref name="NextSelectionDown">null</Ref>
-					<Ref name="NextSelectionLeft">null</Ref>
-					<Ref name="NextSelectionRight">null</Ref>
-					<Ref name="NextSelectionUp">null</Ref>
-					<UDim2 name="Position">
-						<XS>0.425619841</XS>
-						<XO>0</XO>
-						<YS>0</YS>
-						<YO>0</YO>
-					</UDim2>
-					<Ref name="RootLocalizationTable">null</Ref>
-					<float name="Rotation">0</float>
-					<bool name="Selectable">false</bool>
-					<token name="SelectionBehaviorDown">0</token>
-					<token name="SelectionBehaviorLeft">0</token>
-					<token name="SelectionBehaviorRight">0</token>
-					<token name="SelectionBehaviorUp">0</token>
-					<bool name="SelectionGroup">false</bool>
-					<Ref name="SelectionImageObject">null</Ref>
-					<int name="SelectionOrder">0</int>
-					<UDim2 name="Size">
-						<XS>0</XS>
-						<XO>438</XO>
-						<YS>0</YS>
-						<YO>268</YO>
-					</UDim2>
-					<token name="SizeConstraint">0</token>
-					<int64 name="SourceAssetId">-1</int64>
-					<token name="Style">0</token>
-					<BinaryString name="Tags"></BinaryString>
-					<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007b7c46</UniqueId>
-					<bool name="Visible">true</bool>
-					<int name="ZIndex">1</int>
-				</Properties>
-			</Item>
-			<Item class="Frame" referent="RBX8B99948CC92F46D1BEEA39EA239F3EB2">
-				<Properties>
-					<bool name="Active">false</bool>
-					<Vector2 name="AnchorPoint">
-						<X>0</X>
-						<Y>0</Y>
-					</Vector2>
-					<BinaryString name="AttributesSerialize"></BinaryString>
-					<bool name="AutoLocalize">true</bool>
-					<token name="AutomaticSize">0</token>
-					<Color3 name="BackgroundColor3">
-						<R>1</R>
-						<G>1</G>
-						<B>1</B>
-					</Color3>
-					<float name="BackgroundTransparency">0</float>
-					<Color3 name="BorderColor3">
-						<R>0.105882362</R>
-						<G>0.164705887</G>
-						<B>0.207843155</B>
-					</Color3>
-					<token name="BorderMode">0</token>
-					<int name="BorderSizePixel">1</int>
-					<bool name="ClipsDescendants">false</bool>
-					<bool name="Draggable">false</bool>
-					<int name="LayoutOrder">0</int>
-					<string name="Name">Frame</string>
-					<Ref name="NextSelectionDown">null</Ref>
-					<Ref name="NextSelectionLeft">null</Ref>
-					<Ref name="NextSelectionRight">null</Ref>
-					<Ref name="NextSelectionUp">null</Ref>
-					<UDim2 name="Position">
-						<XS>0</XS>
-						<XO>0</XO>
-						<YS>0.537132978</YS>
-						<YO>0</YO>
-					</UDim2>
-					<Ref name="RootLocalizationTable">null</Ref>
-					<float name="Rotation">0</float>
-					<bool name="Selectable">false</bool>
-					<token name="SelectionBehaviorDown">0</token>
-					<token name="SelectionBehaviorLeft">0</token>
-					<token name="SelectionBehaviorRight">0</token>
-					<token name="SelectionBehaviorUp">0</token>
-					<bool name="SelectionGroup">false</bool>
-					<Ref name="SelectionImageObject">null</Ref>
-					<int name="SelectionOrder">0</int>
-					<UDim2 name="Size">
-						<XS>0</XS>
-						<XO>438</XO>
-						<YS>0</YS>
-						<YO>268</YO>
-					</UDim2>
-					<token name="SizeConstraint">0</token>
-					<int64 name="SourceAssetId">-1</int64>
-					<token name="Style">0</token>
-					<BinaryString name="Tags"></BinaryString>
-					<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007b828d</UniqueId>
-					<bool name="Visible">true</bool>
-					<int name="ZIndex">1</int>
-				</Properties>
-			</Item>
-		</Item>
-	</Item>
-	<Item class="LocalizationService" referent="RBXD5AAAA567BD34DD5AE63DACE90D5C95F">
-		<Properties>
-			<BinaryString name="AttributesSerialize"></BinaryString>
-			<string name="Name">LocalizationService</string>
-			<int64 name="SourceAssetId">-1</int64>
-			<BinaryString name="Tags"></BinaryString>
-			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b250</UniqueId>
-		</Properties>
-	</Item>
-	<Item class="TeleportService" referent="RBXB0378FE723DB4934AC003DD03DC69CC9">
-		<Properties>
-			<BinaryString name="AttributesSerialize"></BinaryString>
-			<string name="Name">Teleport Service</string>
-			<int64 name="SourceAssetId">-1</int64>
-			<BinaryString name="Tags"></BinaryString>
-			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b254</UniqueId>
-		</Properties>
-	</Item>
-	<Item class="CollectionService" referent="RBX0D618E811A4F40AF9C5EC77297F6E379">
-		<Properties>
-			<BinaryString name="AttributesSerialize"></BinaryString>
-			<string name="Name">CollectionService</string>
-			<int64 name="SourceAssetId">-1</int64>
-			<BinaryString name="Tags"></BinaryString>
-			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b256</UniqueId>
-		</Properties>
-	</Item>
-	<Item class="PhysicsService" referent="RBXE9DA07C808D04953A416BFF7F1CF39F3">
-		<Properties>
-			<BinaryString name="AttributesSerialize"></BinaryString>
-			<string name="Name">PhysicsService</string>
-			<int64 name="SourceAssetId">-1</int64>
-			<BinaryString name="Tags"></BinaryString>
-			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b257</UniqueId>
-		</Properties>
-	</Item>
-	<Item class="Geometry" referent="RBXBCD551903B8C44C3BA54736001636F23">
-		<Properties>
-			<BinaryString name="AttributesSerialize"></BinaryString>
-			<string name="Name">Geometry</string>
-			<int64 name="SourceAssetId">-1</int64>
-			<BinaryString name="Tags"></BinaryString>
-			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b259</UniqueId>
-		</Properties>
-	</Item>
-	<Item class="InsertService" referent="RBX626DE88FA5BD444B8A998AE9894355C2">
-		<Properties>
-			<bool name="AllowClientInsertModels">false</bool>
-			<bool name="AllowInsertFreeModels">false</bool>
-			<BinaryString name="AttributesSerialize"></BinaryString>
-			<string name="Name">InsertService</string>
-			<int64 name="SourceAssetId">-1</int64>
-			<BinaryString name="Tags"></BinaryString>
-			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b25b</UniqueId>
-		</Properties>
-		<Item class="StringValue" referent="RBX723AEE2EEA68407AB75152BD7CA86E2B">
-			<Properties>
-				<BinaryString name="AttributesSerialize"></BinaryString>
-				<string name="Name">InsertionHash</string>
-				<int64 name="SourceAssetId">-1</int64>
-				<BinaryString name="Tags"></BinaryString>
-				<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b446</UniqueId>
-				<string name="Value">{CFC75CFD-8969-40E4-B03D-10597A48B0EB}</string>
-			</Properties>
-		</Item>
-	</Item>
-	<Item class="GamePassService" referent="RBX86085B0F45A44DAAA7D0ABED9CAFFD0D">
-		<Properties>
-			<BinaryString name="AttributesSerialize"></BinaryString>
-			<string name="Name">GamePassService</string>
-			<int64 name="SourceAssetId">-1</int64>
-			<BinaryString name="Tags"></BinaryString>
-			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b25c</UniqueId>
-		</Properties>
-	</Item>
-	<Item class="Debris" referent="RBX92D97E5047EC47BC9B7933C7396801EB">
-		<Properties>
-			<BinaryString name="AttributesSerialize"></BinaryString>
-			<int name="MaxItems">1000</int>
-			<string name="Name">Debris</string>
-			<int64 name="SourceAssetId">-1</int64>
-			<BinaryString name="Tags"></BinaryString>
-			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b25d</UniqueId>
+			<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b25d</UniqueId>
 		</Properties>
 	</Item>
 	<Item class="CookiesService" referent="RBXAD43EA8748C74D13864C7515AC42DA24">
@@ -3293,32 +2934,6 @@ MObject
 					<BinaryString name="Tags"></BinaryString>
 					<UniqueId name="UniqueId">29dccafe008ad55d024f65f0004d4b41</UniqueId>
 				</Properties>
-				<Item class="LocalScript" referent="RBXE7252F10F8564D658091418D2335F575">
-					<Properties>
-						<BinaryString name="AttributesSerialize"></BinaryString>
-						<bool name="Disabled">false</bool>
-						<Content name="LinkedSource"><null></null></Content>
-						<string name="Name">MtWindowTest</string>
-						<string name="ScriptGuid">{8BF522F9-887D-43EB-9400-D32749AB7991}</string>
-						<ProtectedString name="Source"><![CDATA[local repstrg = game:GetService("ReplicatedStorage")
-
-local MWindow = require(repstrg.Mt.MtWidgets.MWindow)
-local MScreen = require(repstrg.Mt.MtCore.MScreen)
-local tbm = require(repstrg.Mt["3rd-party"].Icon)
-local plr = game:GetService("Players").LocalPlayer
-
-game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList,false)
-
-local screen = MScreen:Init()
-
-local window = MWindow:Init(screen)
-window:SetName("MainWindow")
-window:SetTitle("window")]]></ProtectedString>
-						<int64 name="SourceAssetId">-1</int64>
-						<BinaryString name="Tags"></BinaryString>
-						<UniqueId name="UniqueId">29dccafe008ad55d024f65f0004d4b78</UniqueId>
-					</Properties>
-				</Item>
 				<Item class="Script" referent="RBXE8E97DDC698F4A57A388C2D0C58CE005">
 					<Properties>
 						<BinaryString name="AttributesSerialize"></BinaryString>
@@ -3354,17 +2969,443 @@ end]]></ProtectedString>
 						<UniqueId name="UniqueId">05c44930bd9fb73402486df700026eaf</UniqueId>
 					</Properties>
 				</Item>
-			</Item>
-			<Item class="Folder" referent="RBX0E2B4F7237BE43029DC560A5C08FBB10">
-				<Properties>
-					<BinaryString name="AttributesSerialize"></BinaryString>
-					<string name="Name">OtherModules</string>
-					<int64 name="SourceAssetId">-1</int64>
-					<BinaryString name="Tags"></BinaryString>
-					<UniqueId name="UniqueId">683ee95d122d1fcb0287f927002ad7b7</UniqueId>
-				</Properties>
-			</Item>
-			<Item class="Folder" referent="RBX9A89F1A64DA24595943DAC6A7BE01E4D">
+				<Item class="LocalScript" referent="RBX75556E998ADF425FBD476EA155A6CB37">
+					<Properties>
+						<BinaryString name="AttributesSerialize"></BinaryString>
+						<bool name="Disabled">false</bool>
+						<Content name="LinkedSource"><null></null></Content>
+						<string name="Name">MtWindowTest</string>
+						<string name="ScriptGuid">{6458014A-116B-482E-8D8B-AE889E404B10}</string>
+						<ProtectedString name="Source"><![CDATA[local repstrg = game:GetService("ReplicatedStorage")
+local plr = game:GetService("Players").LocalPlayer
+
+--game:GetService("UserInputService").MouseIconEnabled = false
+
+local MWindow = require(repstrg.Mt.MtWidgets.MWindow)
+local MWindowManager = require(repstrg.Mt.MtCore.MWindowManager)
+
+game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList,false)
+
+local screen = MWindowManager:Init()
+
+function putStuffOnWindow(window,stuff:{GuiObject})
+	for i,v in ipairs(stuff) do
+		v.Parent = window.Content.Frame
+	end
+end
+
+local window = MWindow:Init(screen)
+window:SetName("MainWindow")
+window:SetTitle("window")
+window.Frame.Position = UDim2.fromOffset(0,0)
+putStuffOnWindow(window,script.window:GetChildren())
+
+local dialog = MWindow:Init(screen)
+dialog:SetName("Dialog")
+dialog:SetTitle("dialog")
+putStuffOnWindow(dialog,script.dialog:GetChildren())
+
+local page = MWindow:Init(screen)
+page:SetName("Page")
+page:SetTitle("page")
+putStuffOnWindow(page,script.page:GetChildren())]]></ProtectedString>
+						<int64 name="SourceAssetId">-1</int64>
+						<BinaryString name="Tags"></BinaryString>
+						<UniqueId name="UniqueId">5b19d14ef55ae6bc0249fc2c00162b32</UniqueId>
+					</Properties>
+					<Item class="Folder" referent="RBX765CC3208DEE405799D51C1198BDF0B1">
+						<Properties>
+							<BinaryString name="AttributesSerialize"></BinaryString>
+							<string name="Name">window</string>
+							<int64 name="SourceAssetId">-1</int64>
+							<BinaryString name="Tags"></BinaryString>
+							<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007b8842</UniqueId>
+						</Properties>
+						<Item class="TextButton" referent="RBXF9266655F6FC436D8614CD362E67B082">
+							<Properties>
+								<bool name="Active">true</bool>
+								<Vector2 name="AnchorPoint">
+									<X>0.5</X>
+									<Y>0.5</Y>
+								</Vector2>
+								<BinaryString name="AttributesSerialize"></BinaryString>
+								<bool name="AutoButtonColor">false</bool>
+								<bool name="AutoLocalize">true</bool>
+								<token name="AutomaticSize">0</token>
+								<Color3 name="BackgroundColor3">
+									<R>1</R>
+									<G>1</G>
+									<B>1</B>
+								</Color3>
+								<float name="BackgroundTransparency">0</float>
+								<Color3 name="BorderColor3">
+									<R>0.105882362</R>
+									<G>0.164705887</G>
+									<B>0.207843155</B>
+								</Color3>
+								<token name="BorderMode">0</token>
+								<int name="BorderSizePixel">1</int>
+								<bool name="ClipsDescendants">false</bool>
+								<bool name="Draggable">false</bool>
+								<token name="Font">3</token>
+								<Font name="FontFace"></Font>
+								<int name="LayoutOrder">0</int>
+								<float name="LineHeight">1</float>
+								<int name="MaxVisibleGraphemes">-1</int>
+								<bool name="Modal">false</bool>
+								<string name="Name">Button</string>
+								<Ref name="NextSelectionDown">null</Ref>
+								<Ref name="NextSelectionLeft">null</Ref>
+								<Ref name="NextSelectionRight">null</Ref>
+								<Ref name="NextSelectionUp">null</Ref>
+								<UDim2 name="Position">
+									<XS>0.5</XS>
+									<XO>0</XO>
+									<YS>0.5</YS>
+									<YO>0</YO>
+								</UDim2>
+								<bool name="RichText">true</bool>
+								<Ref name="RootLocalizationTable">null</Ref>
+								<float name="Rotation">0</float>
+								<bool name="Selectable">true</bool>
+								<bool name="Selected">false</bool>
+								<token name="SelectionBehaviorDown">0</token>
+								<token name="SelectionBehaviorLeft">0</token>
+								<token name="SelectionBehaviorRight">0</token>
+								<token name="SelectionBehaviorUp">0</token>
+								<bool name="SelectionGroup">false</bool>
+								<Ref name="SelectionImageObject">null</Ref>
+								<int name="SelectionOrder">0</int>
+								<UDim2 name="Size">
+									<XS>0.550000012</XS>
+									<XO>0</XO>
+									<YS>0.349999994</YS>
+									<YO>0</YO>
+								</UDim2>
+								<token name="SizeConstraint">0</token>
+								<int64 name="SourceAssetId">-1</int64>
+								<token name="Style">0</token>
+								<BinaryString name="Tags"></BinaryString>
+								<string name="Text">bring up cool dialog&lt;br/&gt;ok fine it doesn&apos;t actually do anything</string>
+								<Color3 name="TextColor3">
+									<R>0</R>
+									<G>0</G>
+									<B>0</B>
+								</Color3>
+								<bool name="TextScaled">false</bool>
+								<float name="TextSize">14</float>
+								<Color3 name="TextStrokeColor3">
+									<R>0</R>
+									<G>0</G>
+									<B>0</B>
+								</Color3>
+								<float name="TextStrokeTransparency">1</float>
+								<float name="TextTransparency">0</float>
+								<token name="TextTruncate">0</token>
+								<bool name="TextWrapped">false</bool>
+								<token name="TextXAlignment">2</token>
+								<token name="TextYAlignment">1</token>
+								<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007b7dc2</UniqueId>
+								<bool name="Visible">true</bool>
+								<int name="ZIndex">1</int>
+							</Properties>
+						</Item>
+					</Item>
+					<Item class="Folder" referent="RBX7D150168E114488F9A746495F9B87253">
+						<Properties>
+							<BinaryString name="AttributesSerialize"></BinaryString>
+							<string name="Name">dialog</string>
+							<int64 name="SourceAssetId">-1</int64>
+							<BinaryString name="Tags"></BinaryString>
+							<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007b8874</UniqueId>
+						</Properties>
+						<Item class="TextBox" referent="RBX039ADC18E24743908A66F0123BF93AFD">
+							<Properties>
+								<bool name="Active">true</bool>
+								<Vector2 name="AnchorPoint">
+									<X>0.5</X>
+									<Y>0.5</Y>
+								</Vector2>
+								<BinaryString name="AttributesSerialize"></BinaryString>
+								<bool name="AutoLocalize">true</bool>
+								<token name="AutomaticSize">0</token>
+								<Color3 name="BackgroundColor3">
+									<R>1</R>
+									<G>1</G>
+									<B>1</B>
+								</Color3>
+								<float name="BackgroundTransparency">0</float>
+								<Color3 name="BorderColor3">
+									<R>0.105882362</R>
+									<G>0.164705887</G>
+									<B>0.207843155</B>
+								</Color3>
+								<token name="BorderMode">0</token>
+								<int name="BorderSizePixel">1</int>
+								<bool name="ClearTextOnFocus">true</bool>
+								<bool name="ClipsDescendants">false</bool>
+								<bool name="Draggable">false</bool>
+								<token name="Font">3</token>
+								<Font name="FontFace"></Font>
+								<int name="LayoutOrder">0</int>
+								<float name="LineHeight">1</float>
+								<int name="MaxVisibleGraphemes">-1</int>
+								<bool name="MultiLine">false</bool>
+								<string name="Name">Input</string>
+								<Ref name="NextSelectionDown">null</Ref>
+								<Ref name="NextSelectionLeft">null</Ref>
+								<Ref name="NextSelectionRight">null</Ref>
+								<Ref name="NextSelectionUp">null</Ref>
+								<Color3 name="PlaceholderColor3">
+									<R>0.699999988</R>
+									<G>0.699999988</G>
+									<B>0.699999988</B>
+								</Color3>
+								<string name="PlaceholderText"></string>
+								<UDim2 name="Position">
+									<XS>0.5</XS>
+									<XO>0</XO>
+									<YS>0.5</YS>
+									<YO>0</YO>
+								</UDim2>
+								<bool name="RichText">false</bool>
+								<Ref name="RootLocalizationTable">null</Ref>
+								<float name="Rotation">0</float>
+								<bool name="Selectable">true</bool>
+								<token name="SelectionBehaviorDown">0</token>
+								<token name="SelectionBehaviorLeft">0</token>
+								<token name="SelectionBehaviorRight">0</token>
+								<token name="SelectionBehaviorUp">0</token>
+								<bool name="SelectionGroup">false</bool>
+								<Ref name="SelectionImageObject">null</Ref>
+								<int name="SelectionOrder">0</int>
+								<bool name="ShowNativeInput">true</bool>
+								<UDim2 name="Size">
+									<XS>0.5</XS>
+									<XO>0</XO>
+									<YS>0.100000001</YS>
+									<YO>0</YO>
+								</UDim2>
+								<token name="SizeConstraint">0</token>
+								<int64 name="SourceAssetId">-1</int64>
+								<BinaryString name="Tags"></BinaryString>
+								<string name="Text"></string>
+								<Color3 name="TextColor3">
+									<R>0</R>
+									<G>0</G>
+									<B>0</B>
+								</Color3>
+								<bool name="TextEditable">true</bool>
+								<bool name="TextScaled">false</bool>
+								<float name="TextSize">14</float>
+								<Color3 name="TextStrokeColor3">
+									<R>0</R>
+									<G>0</G>
+									<B>0</B>
+								</Color3>
+								<float name="TextStrokeTransparency">1</float>
+								<float name="TextTransparency">0</float>
+								<token name="TextTruncate">0</token>
+								<bool name="TextWrapped">false</bool>
+								<token name="TextXAlignment">2</token>
+								<token name="TextYAlignment">1</token>
+								<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb00797433</UniqueId>
+								<bool name="Visible">true</bool>
+								<int name="ZIndex">1</int>
+							</Properties>
+						</Item>
+						<Item class="TextLabel" referent="RBX83636F57CEF64F70BDC71FC8BB214083">
+							<Properties>
+								<bool name="Active">false</bool>
+								<Vector2 name="AnchorPoint">
+									<X>0.5</X>
+									<Y>0.5</Y>
+								</Vector2>
+								<BinaryString name="AttributesSerialize"></BinaryString>
+								<bool name="AutoLocalize">true</bool>
+								<token name="AutomaticSize">0</token>
+								<Color3 name="BackgroundColor3">
+									<R>1</R>
+									<G>1</G>
+									<B>1</B>
+								</Color3>
+								<float name="BackgroundTransparency">0</float>
+								<Color3 name="BorderColor3">
+									<R>0.105882362</R>
+									<G>0.164705887</G>
+									<B>0.207843155</B>
+								</Color3>
+								<token name="BorderMode">0</token>
+								<int name="BorderSizePixel">0</int>
+								<bool name="ClipsDescendants">false</bool>
+								<bool name="Draggable">false</bool>
+								<token name="Font">3</token>
+								<Font name="FontFace"></Font>
+								<int name="LayoutOrder">0</int>
+								<float name="LineHeight">1</float>
+								<int name="MaxVisibleGraphemes">-1</int>
+								<string name="Name">Label</string>
+								<Ref name="NextSelectionDown">null</Ref>
+								<Ref name="NextSelectionLeft">null</Ref>
+								<Ref name="NextSelectionRight">null</Ref>
+								<Ref name="NextSelectionUp">null</Ref>
+								<UDim2 name="Position">
+									<XS>0.5</XS>
+									<XO>0</XO>
+									<YS>0.200000003</YS>
+									<YO>0</YO>
+								</UDim2>
+								<bool name="RichText">false</bool>
+								<Ref name="RootLocalizationTable">null</Ref>
+								<float name="Rotation">0</float>
+								<bool name="Selectable">false</bool>
+								<token name="SelectionBehaviorDown">0</token>
+								<token name="SelectionBehaviorLeft">0</token>
+								<token name="SelectionBehaviorRight">0</token>
+								<token name="SelectionBehaviorUp">0</token>
+								<bool name="SelectionGroup">false</bool>
+								<Ref name="SelectionImageObject">null</Ref>
+								<int name="SelectionOrder">0</int>
+								<UDim2 name="Size">
+									<XS>0.5</XS>
+									<XO>0</XO>
+									<YS>0.100000001</YS>
+									<YO>0</YO>
+								</UDim2>
+								<token name="SizeConstraint">0</token>
+								<int64 name="SourceAssetId">-1</int64>
+								<BinaryString name="Tags"></BinaryString>
+								<string name="Text">are the windows cool?</string>
+								<Color3 name="TextColor3">
+									<R>0</R>
+									<G>0</G>
+									<B>0</B>
+								</Color3>
+								<bool name="TextScaled">false</bool>
+								<float name="TextSize">14</float>
+								<Color3 name="TextStrokeColor3">
+									<R>0</R>
+									<G>0</G>
+									<B>0</B>
+								</Color3>
+								<float name="TextStrokeTransparency">1</float>
+								<float name="TextTransparency">0</float>
+								<token name="TextTruncate">0</token>
+								<bool name="TextWrapped">false</bool>
+								<token name="TextXAlignment">2</token>
+								<token name="TextYAlignment">1</token>
+								<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007975c2</UniqueId>
+								<bool name="Visible">true</bool>
+								<int name="ZIndex">1</int>
+							</Properties>
+						</Item>
+					</Item>
+					<Item class="Folder" referent="RBXA05C35BF82F5425F9519DEAA47A780E9">
+						<Properties>
+							<BinaryString name="AttributesSerialize"></BinaryString>
+							<string name="Name">page</string>
+							<int64 name="SourceAssetId">-1</int64>
+							<BinaryString name="Tags"></BinaryString>
+							<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007b88c6</UniqueId>
+						</Properties>
+						<Item class="TextLabel" referent="RBX1E3EA31A990141258C648D08DB495D4A">
+							<Properties>
+								<bool name="Active">false</bool>
+								<Vector2 name="AnchorPoint">
+									<X>0</X>
+									<Y>0</Y>
+								</Vector2>
+								<BinaryString name="AttributesSerialize"></BinaryString>
+								<bool name="AutoLocalize">true</bool>
+								<token name="AutomaticSize">0</token>
+								<Color3 name="BackgroundColor3">
+									<R>1</R>
+									<G>1</G>
+									<B>1</B>
+								</Color3>
+								<float name="BackgroundTransparency">0</float>
+								<Color3 name="BorderColor3">
+									<R>0.105882362</R>
+									<G>0.164705887</G>
+									<B>0.207843155</B>
+								</Color3>
+								<token name="BorderMode">0</token>
+								<int name="BorderSizePixel">0</int>
+								<bool name="ClipsDescendants">false</bool>
+								<bool name="Draggable">false</bool>
+								<token name="Font">3</token>
+								<Font name="FontFace"></Font>
+								<int name="LayoutOrder">0</int>
+								<float name="LineHeight">1</float>
+								<int name="MaxVisibleGraphemes">-1</int>
+								<string name="Name">TextLabel</string>
+								<Ref name="NextSelectionDown">null</Ref>
+								<Ref name="NextSelectionLeft">null</Ref>
+								<Ref name="NextSelectionRight">null</Ref>
+								<Ref name="NextSelectionUp">null</Ref>
+								<UDim2 name="Position">
+									<XS>0</XS>
+									<XO>0</XO>
+									<YS>0</YS>
+									<YO>0</YO>
+								</UDim2>
+								<bool name="RichText">true</bool>
+								<Ref name="RootLocalizationTable">null</Ref>
+								<float name="Rotation">0</float>
+								<bool name="Selectable">false</bool>
+								<token name="SelectionBehaviorDown">0</token>
+								<token name="SelectionBehaviorLeft">0</token>
+								<token name="SelectionBehaviorRight">0</token>
+								<token name="SelectionBehaviorUp">0</token>
+								<bool name="SelectionGroup">false</bool>
+								<Ref name="SelectionImageObject">null</Ref>
+								<int name="SelectionOrder">0</int>
+								<UDim2 name="Size">
+									<XS>1</XS>
+									<XO>0</XO>
+									<YS>1</YS>
+									<YO>0</YO>
+								</UDim2>
+								<token name="SizeConstraint">0</token>
+								<int64 name="SourceAssetId">-1</int64>
+								<BinaryString name="Tags"></BinaryString>
+								<string name="Text"> this paragraph is&lt;br/&gt;not so big&lt;br/&gt;i wish i could write something longer</string>
+								<Color3 name="TextColor3">
+									<R>0</R>
+									<G>0</G>
+									<B>0</B>
+								</Color3>
+								<bool name="TextScaled">false</bool>
+								<float name="TextSize">14</float>
+								<Color3 name="TextStrokeColor3">
+									<R>0</R>
+									<G>0</G>
+									<B>0</B>
+								</Color3>
+								<float name="TextStrokeTransparency">1</float>
+								<float name="TextTransparency">0</float>
+								<token name="TextTruncate">0</token>
+								<bool name="TextWrapped">false</bool>
+								<token name="TextXAlignment">0</token>
+								<token name="TextYAlignment">0</token>
+								<UniqueId name="UniqueId">079fd07efd1f4a0a028fc3eb007b8309</UniqueId>
+								<bool name="Visible">true</bool>
+								<int name="ZIndex">1</int>
+							</Properties>
+						</Item>
+					</Item>
+				</Item>
+			</Item>
+			<Item class="Folder" referent="RBX0E2B4F7237BE43029DC560A5C08FBB10">
+				<Properties>
+					<BinaryString name="AttributesSerialize"></BinaryString>
+					<string name="Name">OtherModules</string>
+					<int64 name="SourceAssetId">-1</int64>
+					<BinaryString name="Tags"></BinaryString>
+					<UniqueId name="UniqueId">683ee95d122d1fcb0287f927002ad7b7</UniqueId>
+				</Properties>
+			</Item>
+			<Item class="Folder" referent="RBX9A89F1A64DA24595943DAC6A7BE01E4D">
 				<Properties>
 					<BinaryString name="AttributesSerialize"></BinaryString>
 					<string name="Name">Remotes</string>
@@ -3372,15 +3413,6 @@ end]]></ProtectedString>
 					<BinaryString name="Tags"></BinaryString>
 					<UniqueId name="UniqueId">683ee95d122d1fcb0287f927003ae213</UniqueId>
 				</Properties>
-				<Item class="BindableEvent" referent="RBX05D8D651EAB64F17BB153B8C3DC027DE">
-					<Properties>
-						<BinaryString name="AttributesSerialize"></BinaryString>
-						<string name="Name">ChangeCursor</string>
-						<int64 name="SourceAssetId">-1</int64>
-						<BinaryString name="Tags"></BinaryString>
-						<UniqueId name="UniqueId">683ee95d122d1fcb0287f927003ae255</UniqueId>
-					</Properties>
-				</Item>
 			</Item>
 		</Item>
 	</Item>

From 279157662eb9df033dbca08b7621349a6c33944c Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Sat, 21 May 2022 19:53:27 +0100
Subject: [PATCH 02/24] updated normal progress bar & added undefined progress
 bar

---
 Mt.rbxlx | 452 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 438 insertions(+), 14 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 618fa4b..8d3ab5b 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -81,9 +81,9 @@
 			<Properties>
 				<BinaryString name="AttributesSerialize"></BinaryString>
 				<CoordinateFrame name="CFrame">
-					<X>-175.490524</X>
-					<Y>51.1783447</Y>
-					<Z>78.4593201</Z>
+					<X>-185.252747</X>
+					<Y>70.1458206</Y>
+					<Z>-8.0369606</Z>
 					<R00>-0.851734102</R00>
 					<R01>-0.0765281171</R01>
 					<R02>0.518355668</R02>
@@ -99,9 +99,9 @@
 				<float name="FieldOfView">70</float>
 				<token name="FieldOfViewMode">0</token>
 				<CoordinateFrame name="Focus">
-					<X>-176.527237</X>
-					<Y>50.8862381</Y>
-					<Z>80.1445236</Z>
+					<X>-186.289459</X>
+					<Y>69.853714</Y>
+					<Z>-6.35175705</Z>
 					<R00>1</R00>
 					<R01>0</R01>
 					<R02>0</R02>
@@ -599,15 +599,15 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 					<bool name="ClipsDescendants">false</bool>
 					<bool name="Draggable">false</bool>
 					<int name="LayoutOrder">0</int>
-					<string name="Name">Frame</string>
+					<string name="Name">progressbar</string>
 					<Ref name="NextSelectionDown">null</Ref>
 					<Ref name="NextSelectionLeft">null</Ref>
 					<Ref name="NextSelectionRight">null</Ref>
 					<Ref name="NextSelectionUp">null</Ref>
 					<UDim2 name="Position">
-						<XS>0.381909549</XS>
+						<XS>0.777970791</XS>
 						<XO>0</XO>
-						<YS>0.42562592</YS>
+						<YS>0.0573394895</YS>
 						<YO>0</YO>
 					</UDim2>
 					<Ref name="RootLocalizationTable">null</Ref>
@@ -677,9 +677,9 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 						<bool name="AutoLocalize">true</bool>
 						<token name="AutomaticSize">0</token>
 						<Color3 name="BackgroundColor3">
-							<R>0.392156899</R>
+							<R>1</R>
 							<G>1</G>
-							<B>0.298039228</B>
+							<B>1</B>
 						</Color3>
 						<float name="BackgroundTransparency">0</float>
 						<Color3 name="BorderColor3">
@@ -688,11 +688,11 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 							<B>0.207843155</B>
 						</Color3>
 						<token name="BorderMode">0</token>
-						<int name="BorderSizePixel">1</int>
+						<int name="BorderSizePixel">0</int>
 						<bool name="ClipsDescendants">false</bool>
 						<bool name="Draggable">false</bool>
 						<int name="LayoutOrder">0</int>
-						<string name="Name">Frame</string>
+						<string name="Name">filling</string>
 						<Ref name="NextSelectionDown">null</Ref>
 						<Ref name="NextSelectionLeft">null</Ref>
 						<Ref name="NextSelectionRight">null</Ref>
@@ -740,6 +740,121 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b027</UniqueId>
 						</Properties>
 					</Item>
+					<Item class="UIStroke" referent="RBX751E8B3DF4FB438293C9091A8135EC87">
+						<Properties>
+							<token name="ApplyStrokeMode">0</token>
+							<BinaryString name="AttributesSerialize"></BinaryString>
+							<Color3 name="Color">
+								<R>0</R>
+								<G>0.333333343</G>
+								<B>0</B>
+							</Color3>
+							<bool name="Enabled">false</bool>
+							<token name="LineJoinMode">0</token>
+							<string name="Name">UIStroke</string>
+							<int64 name="SourceAssetId">-1</int64>
+							<BinaryString name="Tags"></BinaryString>
+							<float name="Thickness">5</float>
+							<float name="Transparency">0</float>
+							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002bacd</UniqueId>
+						</Properties>
+					</Item>
+					<Item class="UIGradient" referent="RBX05E2E80D63FD46DFA534C7459FD8F16E">
+						<Properties>
+							<BinaryString name="AttributesSerialize"></BinaryString>
+							<ColorSequence name="Color">0 0.333333 1 0 0 1 0.607843 1 0.411765 0 </ColorSequence>
+							<bool name="Enabled">true</bool>
+							<string name="Name">UIGradient</string>
+							<Vector2 name="Offset">
+								<X>0</X>
+								<Y>0</Y>
+							</Vector2>
+							<float name="Rotation">-90</float>
+							<int64 name="SourceAssetId">-1</int64>
+							<BinaryString name="Tags"></BinaryString>
+							<NumberSequence name="Transparency">0 0 0 1 0 0 </NumberSequence>
+							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b4e6</UniqueId>
+						</Properties>
+					</Item>
+					<Item class="Frame" referent="RBXAEEDC0E267164439ADDB0EADD593E80A">
+						<Properties>
+							<bool name="Active">false</bool>
+							<Vector2 name="AnchorPoint">
+								<X>0</X>
+								<Y>0</Y>
+							</Vector2>
+							<BinaryString name="AttributesSerialize"></BinaryString>
+							<bool name="AutoLocalize">true</bool>
+							<token name="AutomaticSize">0</token>
+							<Color3 name="BackgroundColor3">
+								<R>1</R>
+								<G>1</G>
+								<B>1</B>
+							</Color3>
+							<float name="BackgroundTransparency">0</float>
+							<Color3 name="BorderColor3">
+								<R>0.105882362</R>
+								<G>0.164705887</G>
+								<B>0.207843155</B>
+							</Color3>
+							<token name="BorderMode">0</token>
+							<int name="BorderSizePixel">0</int>
+							<bool name="ClipsDescendants">false</bool>
+							<bool name="Draggable">false</bool>
+							<int name="LayoutOrder">0</int>
+							<string name="Name">sharpener</string>
+							<Ref name="NextSelectionDown">null</Ref>
+							<Ref name="NextSelectionLeft">null</Ref>
+							<Ref name="NextSelectionRight">null</Ref>
+							<Ref name="NextSelectionUp">null</Ref>
+							<UDim2 name="Position">
+								<XS>0.875</XS>
+								<XO>0</XO>
+								<YS>0</YS>
+								<YO>0</YO>
+							</UDim2>
+							<Ref name="RootLocalizationTable">null</Ref>
+							<float name="Rotation">0</float>
+							<bool name="Selectable">false</bool>
+							<token name="SelectionBehaviorDown">0</token>
+							<token name="SelectionBehaviorLeft">0</token>
+							<token name="SelectionBehaviorRight">0</token>
+							<token name="SelectionBehaviorUp">0</token>
+							<bool name="SelectionGroup">false</bool>
+							<Ref name="SelectionImageObject">null</Ref>
+							<int name="SelectionOrder">0</int>
+							<UDim2 name="Size">
+								<XS>0</XS>
+								<XO>8</XO>
+								<YS>1</YS>
+								<YO>0</YO>
+							</UDim2>
+							<token name="SizeConstraint">0</token>
+							<int64 name="SourceAssetId">-1</int64>
+							<token name="Style">0</token>
+							<BinaryString name="Tags"></BinaryString>
+							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002d0c6</UniqueId>
+							<bool name="Visible">true</bool>
+							<int name="ZIndex">1</int>
+						</Properties>
+						<Item class="UIGradient" referent="RBX038BD45A77A24E9FBFA44D2D66BA2D19">
+							<Properties>
+								<BinaryString name="AttributesSerialize"></BinaryString>
+								<ColorSequence name="Color">0 0.333333 1 0 0 1 0.607843 1 0.411765 0 </ColorSequence>
+								<bool name="Enabled">true</bool>
+								<string name="Name">UIGradient</string>
+								<Vector2 name="Offset">
+									<X>0</X>
+									<Y>0</Y>
+								</Vector2>
+								<float name="Rotation">-90</float>
+								<int64 name="SourceAssetId">-1</int64>
+								<BinaryString name="Tags"></BinaryString>
+								<NumberSequence name="Transparency">0 0 0 1 0 0 </NumberSequence>
+								<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002d820</UniqueId>
+							</Properties>
+						</Item>
+					</Item>
 				</Item>
 				<Item class="TextLabel" referent="RBXB3BB16BEBDD540B082794DEE6F36E7EA">
 					<Properties>
@@ -771,7 +886,7 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 						<int name="LayoutOrder">0</int>
 						<float name="LineHeight">1</float>
 						<int name="MaxVisibleGraphemes">-1</int>
-						<string name="Name">TextLabel</string>
+						<string name="Name">label</string>
 						<Ref name="NextSelectionDown">null</Ref>
 						<Ref name="NextSelectionLeft">null</Ref>
 						<Ref name="NextSelectionRight">null</Ref>
@@ -846,6 +961,315 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 					</Item>
 				</Item>
 			</Item>
+			<Item class="Frame" referent="RBXFA25B236697445FDA6CBB58F46EC5668">
+				<Properties>
+					<bool name="Active">false</bool>
+					<Vector2 name="AnchorPoint">
+						<X>0</X>
+						<Y>0</Y>
+					</Vector2>
+					<BinaryString name="AttributesSerialize"></BinaryString>
+					<bool name="AutoLocalize">true</bool>
+					<token name="AutomaticSize">0</token>
+					<Color3 name="BackgroundColor3">
+						<R>0.313725501</R>
+						<G>0.313725501</G>
+						<B>0.313725501</B>
+					</Color3>
+					<float name="BackgroundTransparency">0</float>
+					<Color3 name="BorderColor3">
+						<R>0.105882362</R>
+						<G>0.164705887</G>
+						<B>0.207843155</B>
+					</Color3>
+					<token name="BorderMode">0</token>
+					<int name="BorderSizePixel">1</int>
+					<bool name="ClipsDescendants">false</bool>
+					<bool name="Draggable">false</bool>
+					<int name="LayoutOrder">0</int>
+					<string name="Name">undefinedprogressbar</string>
+					<Ref name="NextSelectionDown">null</Ref>
+					<Ref name="NextSelectionLeft">null</Ref>
+					<Ref name="NextSelectionRight">null</Ref>
+					<Ref name="NextSelectionUp">null</Ref>
+					<UDim2 name="Position">
+						<XS>0.777970791</XS>
+						<XO>0</XO>
+						<YS>0.196725681</YS>
+						<YO>0</YO>
+					</UDim2>
+					<Ref name="RootLocalizationTable">null</Ref>
+					<float name="Rotation">0</float>
+					<bool name="Selectable">false</bool>
+					<token name="SelectionBehaviorDown">0</token>
+					<token name="SelectionBehaviorLeft">0</token>
+					<token name="SelectionBehaviorRight">0</token>
+					<token name="SelectionBehaviorUp">0</token>
+					<bool name="SelectionGroup">false</bool>
+					<Ref name="SelectionImageObject">null</Ref>
+					<int name="SelectionOrder">0</int>
+					<UDim2 name="Size">
+						<XS>0</XS>
+						<XO>276</XO>
+						<YS>0</YS>
+						<YO>81</YO>
+					</UDim2>
+					<token name="SizeConstraint">0</token>
+					<int64 name="SourceAssetId">-1</int64>
+					<token name="Style">0</token>
+					<BinaryString name="Tags"></BinaryString>
+					<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de09</UniqueId>
+					<bool name="Visible">true</bool>
+					<int name="ZIndex">1</int>
+				</Properties>
+				<Item class="UIStroke" referent="RBXFEA068178E584204B301345130568A6A">
+					<Properties>
+						<token name="ApplyStrokeMode">0</token>
+						<BinaryString name="AttributesSerialize"></BinaryString>
+						<Color3 name="Color">
+							<R>0</R>
+							<G>0</G>
+							<B>0</B>
+						</Color3>
+						<bool name="Enabled">true</bool>
+						<token name="LineJoinMode">0</token>
+						<string name="Name">UIStroke</string>
+						<int64 name="SourceAssetId">-1</int64>
+						<BinaryString name="Tags"></BinaryString>
+						<float name="Thickness">5</float>
+						<float name="Transparency">0</float>
+						<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0a</UniqueId>
+					</Properties>
+				</Item>
+				<Item class="UICorner" referent="RBX2E308CF198DF498BAF5CBD80BF85E8EA">
+					<Properties>
+						<BinaryString name="AttributesSerialize"></BinaryString>
+						<UDim name="CornerRadius">
+							<S>0</S>
+							<O>8</O>
+						</UDim>
+						<string name="Name">UICorner</string>
+						<int64 name="SourceAssetId">-1</int64>
+						<BinaryString name="Tags"></BinaryString>
+						<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0b</UniqueId>
+					</Properties>
+				</Item>
+				<Item class="Frame" referent="RBX46EB82677342427E9E9D2ED6600F39B4">
+					<Properties>
+						<bool name="Active">false</bool>
+						<Vector2 name="AnchorPoint">
+							<X>0</X>
+							<Y>0</Y>
+						</Vector2>
+						<BinaryString name="AttributesSerialize"></BinaryString>
+						<bool name="AutoLocalize">true</bool>
+						<token name="AutomaticSize">0</token>
+						<Color3 name="BackgroundColor3">
+							<R>1</R>
+							<G>1</G>
+							<B>1</B>
+						</Color3>
+						<float name="BackgroundTransparency">0</float>
+						<Color3 name="BorderColor3">
+							<R>0.105882354</R>
+							<G>0.164705887</G>
+							<B>0.20784314</B>
+						</Color3>
+						<token name="BorderMode">0</token>
+						<int name="BorderSizePixel">0</int>
+						<bool name="ClipsDescendants">false</bool>
+						<bool name="Draggable">false</bool>
+						<int name="LayoutOrder">0</int>
+						<string name="Name">filling</string>
+						<Ref name="NextSelectionDown">null</Ref>
+						<Ref name="NextSelectionLeft">null</Ref>
+						<Ref name="NextSelectionRight">null</Ref>
+						<Ref name="NextSelectionUp">null</Ref>
+						<UDim2 name="Position">
+							<XS>0.125</XS>
+							<XO>0</XO>
+							<YS>0</YS>
+							<YO>0</YO>
+						</UDim2>
+						<Ref name="RootLocalizationTable">null</Ref>
+						<float name="Rotation">0</float>
+						<bool name="Selectable">false</bool>
+						<token name="SelectionBehaviorDown">0</token>
+						<token name="SelectionBehaviorLeft">0</token>
+						<token name="SelectionBehaviorRight">0</token>
+						<token name="SelectionBehaviorUp">0</token>
+						<bool name="SelectionGroup">false</bool>
+						<Ref name="SelectionImageObject">null</Ref>
+						<int name="SelectionOrder">0</int>
+						<UDim2 name="Size">
+							<XS>0.75</XS>
+							<XO>0</XO>
+							<YS>1</YS>
+							<YO>0</YO>
+						</UDim2>
+						<token name="SizeConstraint">0</token>
+						<int64 name="SourceAssetId">-1</int64>
+						<token name="Style">0</token>
+						<BinaryString name="Tags"></BinaryString>
+						<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0c</UniqueId>
+						<bool name="Visible">true</bool>
+						<int name="ZIndex">1</int>
+					</Properties>
+					<Item class="UICorner" referent="RBX3480BE27A91F4B0E9D69110CAD26248C">
+						<Properties>
+							<BinaryString name="AttributesSerialize"></BinaryString>
+							<UDim name="CornerRadius">
+								<S>0</S>
+								<O>8</O>
+							</UDim>
+							<string name="Name">UICorner</string>
+							<int64 name="SourceAssetId">-1</int64>
+							<BinaryString name="Tags"></BinaryString>
+							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0d</UniqueId>
+						</Properties>
+					</Item>
+					<Item class="UIStroke" referent="RBXFCE0134E42154C51B31B8E7509407233">
+						<Properties>
+							<token name="ApplyStrokeMode">0</token>
+							<BinaryString name="AttributesSerialize"></BinaryString>
+							<Color3 name="Color">
+								<R>0</R>
+								<G>0.333333343</G>
+								<B>0</B>
+							</Color3>
+							<bool name="Enabled">false</bool>
+							<token name="LineJoinMode">0</token>
+							<string name="Name">UIStroke</string>
+							<int64 name="SourceAssetId">-1</int64>
+							<BinaryString name="Tags"></BinaryString>
+							<float name="Thickness">5</float>
+							<float name="Transparency">0</float>
+							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0e</UniqueId>
+						</Properties>
+					</Item>
+					<Item class="UIGradient" referent="RBX0131847DAD164D61B02DC3790CF60F7F">
+						<Properties>
+							<BinaryString name="AttributesSerialize"></BinaryString>
+							<ColorSequence name="Color">0 0.313726 0.313726 0.313726 0 0.499168 0.333333 1 0 0 1 0.313726 0.313726 0.313726 0 </ColorSequence>
+							<bool name="Enabled">true</bool>
+							<string name="Name">UIGradient</string>
+							<Vector2 name="Offset">
+								<X>0</X>
+								<Y>0</Y>
+							</Vector2>
+							<float name="Rotation">0</float>
+							<int64 name="SourceAssetId">-1</int64>
+							<BinaryString name="Tags"></BinaryString>
+							<NumberSequence name="Transparency">0 0 0 1 0 0 </NumberSequence>
+							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0f</UniqueId>
+						</Properties>
+					</Item>
+				</Item>
+				<Item class="TextLabel" referent="RBXEB61BCD3FADB44C08050A54118C272E4">
+					<Properties>
+						<bool name="Active">false</bool>
+						<Vector2 name="AnchorPoint">
+							<X>0</X>
+							<Y>0</Y>
+						</Vector2>
+						<BinaryString name="AttributesSerialize"></BinaryString>
+						<bool name="AutoLocalize">true</bool>
+						<token name="AutomaticSize">0</token>
+						<Color3 name="BackgroundColor3">
+							<R>1</R>
+							<G>1</G>
+							<B>1</B>
+						</Color3>
+						<float name="BackgroundTransparency">1</float>
+						<Color3 name="BorderColor3">
+							<R>0.105882362</R>
+							<G>0.164705887</G>
+							<B>0.207843155</B>
+						</Color3>
+						<token name="BorderMode">0</token>
+						<int name="BorderSizePixel">1</int>
+						<bool name="ClipsDescendants">false</bool>
+						<bool name="Draggable">false</bool>
+						<token name="Font">3</token>
+						<Font name="FontFace"></Font>
+						<int name="LayoutOrder">0</int>
+						<float name="LineHeight">1</float>
+						<int name="MaxVisibleGraphemes">-1</int>
+						<string name="Name">label</string>
+						<Ref name="NextSelectionDown">null</Ref>
+						<Ref name="NextSelectionLeft">null</Ref>
+						<Ref name="NextSelectionRight">null</Ref>
+						<Ref name="NextSelectionUp">null</Ref>
+						<UDim2 name="Position">
+							<XS>0</XS>
+							<XO>0</XO>
+							<YS>0</YS>
+							<YO>0</YO>
+						</UDim2>
+						<bool name="RichText">false</bool>
+						<Ref name="RootLocalizationTable">null</Ref>
+						<float name="Rotation">0</float>
+						<bool name="Selectable">false</bool>
+						<token name="SelectionBehaviorDown">0</token>
+						<token name="SelectionBehaviorLeft">0</token>
+						<token name="SelectionBehaviorRight">0</token>
+						<token name="SelectionBehaviorUp">0</token>
+						<bool name="SelectionGroup">false</bool>
+						<Ref name="SelectionImageObject">null</Ref>
+						<int name="SelectionOrder">0</int>
+						<UDim2 name="Size">
+							<XS>1</XS>
+							<XO>0</XO>
+							<YS>1</YS>
+							<YO>0</YO>
+						</UDim2>
+						<token name="SizeConstraint">0</token>
+						<int64 name="SourceAssetId">-1</int64>
+						<BinaryString name="Tags"></BinaryString>
+						<string name="Text">24%</string>
+						<Color3 name="TextColor3">
+							<R>1</R>
+							<G>1</G>
+							<B>1</B>
+						</Color3>
+						<bool name="TextScaled">true</bool>
+						<float name="TextSize">14</float>
+						<Color3 name="TextStrokeColor3">
+							<R>0</R>
+							<G>0</G>
+							<B>0</B>
+						</Color3>
+						<float name="TextStrokeTransparency">0</float>
+						<float name="TextTransparency">0</float>
+						<token name="TextTruncate">0</token>
+						<bool name="TextWrapped">true</bool>
+						<token name="TextXAlignment">2</token>
+						<token name="TextYAlignment">1</token>
+						<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de12</UniqueId>
+						<bool name="Visible">false</bool>
+						<int name="ZIndex">1</int>
+					</Properties>
+					<Item class="UIStroke" referent="RBX0237B1DC4A7443318C877A3889A3F6D2">
+						<Properties>
+							<token name="ApplyStrokeMode">0</token>
+							<BinaryString name="AttributesSerialize"></BinaryString>
+							<Color3 name="Color">
+								<R>0</R>
+								<G>0</G>
+								<B>0</B>
+							</Color3>
+							<bool name="Enabled">true</bool>
+							<token name="LineJoinMode">0</token>
+							<string name="Name">UIStroke</string>
+							<int64 name="SourceAssetId">-1</int64>
+							<BinaryString name="Tags"></BinaryString>
+							<float name="Thickness">2</float>
+							<float name="Transparency">0</float>
+							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de13</UniqueId>
+						</Properties>
+					</Item>
+				</Item>
+			</Item>
 		</Item>
 	</Item>
 	<Item class="LocalizationService" referent="RBXD5AAAA567BD34DD5AE63DACE90D5C95F">

From c75096ca4686b70a80495c52e8967041e0396b02 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Sat, 21 May 2022 22:57:44 +0100
Subject: [PATCH 03/24] progressbar size improvements

---
 Mt.rbxlx | 60 ++++++++++++++++++++++++++++----------------------------
 1 file changed, 30 insertions(+), 30 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 8d3ab5b..535c516 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -81,27 +81,27 @@
 			<Properties>
 				<BinaryString name="AttributesSerialize"></BinaryString>
 				<CoordinateFrame name="CFrame">
-					<X>-185.252747</X>
-					<Y>70.1458206</Y>
-					<Z>-8.0369606</Z>
-					<R00>-0.851734102</R00>
-					<R01>-0.0765281171</R01>
-					<R02>0.518355668</R02>
-					<R10>-7.45058149e-09</R10>
-					<R11>0.989276826</R11>
-					<R12>0.14605312</R12>
-					<R20>-0.523974478</R20>
-					<R21>0.124398418</R21>
-					<R22>-0.842600644</R22>
+					<X>-180.896698</X>
+					<Y>65.0919647</Y>
+					<Z>5.39744949</Z>
+					<R00>-0.851734042</R00>
+					<R01>-0.0765261278</R01>
+					<R02>0.518355966</R02>
+					<R10>7.4505806e-09</R10>
+					<R11>0.989277363</R11>
+					<R12>0.146049395</R12>
+					<R20>-0.523974359</R20>
+					<R21>0.124395251</R21>
+					<R22>-0.84260118</R22>
 				</CoordinateFrame>
 				<Ref name="CameraSubject">null</Ref>
 				<token name="CameraType">0</token>
 				<float name="FieldOfView">70</float>
 				<token name="FieldOfViewMode">0</token>
 				<CoordinateFrame name="Focus">
-					<X>-186.289459</X>
-					<Y>69.853714</Y>
-					<Z>-6.35175705</Z>
+					<X>-181.933411</X>
+					<Y>64.7998657</Y>
+					<Z>7.08265305</Z>
 					<R00>1</R00>
 					<R01>0</R01>
 					<R02>0</R02>
@@ -605,7 +605,7 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 					<Ref name="NextSelectionRight">null</Ref>
 					<Ref name="NextSelectionUp">null</Ref>
 					<UDim2 name="Position">
-						<XS>0.777970791</XS>
+						<XS>0.0500000007</XS>
 						<XO>0</XO>
 						<YS>0.0573394895</YS>
 						<YO>0</YO>
@@ -624,7 +624,7 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 						<XS>0</XS>
 						<XO>276</XO>
 						<YS>0</YS>
-						<YO>81</YO>
+						<YO>40</YO>
 					</UDim2>
 					<token name="SizeConstraint">0</token>
 					<int64 name="SourceAssetId">-1</int64>
@@ -658,7 +658,7 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 						<BinaryString name="AttributesSerialize"></BinaryString>
 						<UDim name="CornerRadius">
 							<S>0</S>
-							<O>8</O>
+							<O>2</O>
 						</UDim>
 						<string name="Name">UICorner</string>
 						<int64 name="SourceAssetId">-1</int64>
@@ -732,7 +732,7 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 							<BinaryString name="AttributesSerialize"></BinaryString>
 							<UDim name="CornerRadius">
 								<S>0</S>
-								<O>8</O>
+								<O>2</O>
 							</UDim>
 							<string name="Name">UICorner</string>
 							<int64 name="SourceAssetId">-1</int64>
@@ -808,8 +808,8 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 							<Ref name="NextSelectionRight">null</Ref>
 							<Ref name="NextSelectionUp">null</Ref>
 							<UDim2 name="Position">
-								<XS>0.875</XS>
-								<XO>0</XO>
+								<XS>0</XS>
+								<XO>60</XO>
 								<YS>0</YS>
 								<YO>0</YO>
 							</UDim2>
@@ -984,7 +984,7 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 					</Color3>
 					<token name="BorderMode">0</token>
 					<int name="BorderSizePixel">1</int>
-					<bool name="ClipsDescendants">false</bool>
+					<bool name="ClipsDescendants">true</bool>
 					<bool name="Draggable">false</bool>
 					<int name="LayoutOrder">0</int>
 					<string name="Name">undefinedprogressbar</string>
@@ -993,9 +993,9 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 					<Ref name="NextSelectionRight">null</Ref>
 					<Ref name="NextSelectionUp">null</Ref>
 					<UDim2 name="Position">
-						<XS>0.777970791</XS>
+						<XS>0.0500000007</XS>
 						<XO>0</XO>
-						<YS>0.196725681</YS>
+						<YS>0.150000006</YS>
 						<YO>0</YO>
 					</UDim2>
 					<Ref name="RootLocalizationTable">null</Ref>
@@ -1012,7 +1012,7 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 						<XS>0</XS>
 						<XO>276</XO>
 						<YS>0</YS>
-						<YO>81</YO>
+						<YO>40</YO>
 					</UDim2>
 					<token name="SizeConstraint">0</token>
 					<int64 name="SourceAssetId">-1</int64>
@@ -1046,7 +1046,7 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 						<BinaryString name="AttributesSerialize"></BinaryString>
 						<UDim name="CornerRadius">
 							<S>0</S>
-							<O>8</O>
+							<O>2</O>
 						</UDim>
 						<string name="Name">UICorner</string>
 						<int64 name="SourceAssetId">-1</int64>
@@ -1086,7 +1086,7 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 						<Ref name="NextSelectionRight">null</Ref>
 						<Ref name="NextSelectionUp">null</Ref>
 						<UDim2 name="Position">
-							<XS>0.125</XS>
+							<XS>-0.5</XS>
 							<XO>0</XO>
 							<YS>0</YS>
 							<YO>0</YO>
@@ -1102,8 +1102,8 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 						<Ref name="SelectionImageObject">null</Ref>
 						<int name="SelectionOrder">0</int>
 						<UDim2 name="Size">
-							<XS>0.75</XS>
-							<XO>0</XO>
+							<XS>0</XS>
+							<XO>225</XO>
 							<YS>1</YS>
 							<YO>0</YO>
 						</UDim2>
@@ -1120,7 +1120,7 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 							<BinaryString name="AttributesSerialize"></BinaryString>
 							<UDim name="CornerRadius">
 								<S>0</S>
-								<O>8</O>
+								<O>2</O>
 							</UDim>
 							<string name="Name">UICorner</string>
 							<int64 name="SourceAssetId">-1</int64>

From aefee59eb211f4c11e4e09e172eda2d49033403b Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Sat, 21 May 2022 23:36:28 +0100
Subject: [PATCH 04/24] wip changing progress bar demo

---
 Mt.rbxlx | 1792 ++++++++++++++++++++++++++++++------------------------
 1 file changed, 981 insertions(+), 811 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 535c516..942368f 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -521,6 +521,35 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 				<BinaryString name="Tags"></BinaryString>
 				<UniqueId name="UniqueId">0b401e85ede42a620247f9fa0001b445</UniqueId>
 			</Properties>
+			<Item class="LocalScript" referent="RBX37809618D8AF459591D396FE21A188C2">
+				<Properties>
+					<BinaryString name="AttributesSerialize"></BinaryString>
+					<bool name="Disabled">false</bool>
+					<Content name="LinkedSource"><null></null></Content>
+					<string name="Name">MtProgressBarTest</string>
+					<string name="ScriptGuid">{5F3728E5-2388-4161-9565-DB53D4DDC893}</string>
+					<ProtectedString name="Source"><![CDATA[local MScreen = require(game.ReplicatedStorage.Mt.MtCore.MScreen)
+local MProgressBar = require(game.ReplicatedStorage.Mt.MtWidgets.MProgressBar)
+
+local screen = MScreen:Init()
+
+local bar = MProgressBar:Init(screen)
+screen:AddWidget(bar)
+bar:SetPosition(Vector2.new(100,100))
+bar:SetProgress(0)
+
+if not game:IsLoaded() then game.Loaded:Wait() end
+local input = game.Players.LocalPlayer.PlayerGui:WaitForChild("extra").input
+input.FocusLost:Connect(function(enter)
+	if enter then
+		bar:SetProgress(tonumber(input.Text) or 0)
+	end
+end)]]></ProtectedString>
+					<int64 name="SourceAssetId">-1</int64>
+					<BinaryString name="Tags"></BinaryString>
+					<UniqueId name="UniqueId">76f3dc643540221e029af31b0002aea6</UniqueId>
+				</Properties>
+			</Item>
 		</Item>
 		<Item class="StarterCharacterScripts" referent="RBX3A07D90B2FAD4148B7E14B1228EF9AB4">
 			<Properties>
@@ -573,9 +602,9 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 				<UniqueId name="UniqueId">5b19d14ef55ae6bc0249fc2c00162b57</UniqueId>
 				<token name="ZIndexBehavior">1</token>
 			</Properties>
-			<Item class="Frame" referent="RBX28CE5127845048B2B1CBD7D3A55011BE">
+			<Item class="TextBox" referent="RBXACEDC9A7A2504983853BB83805598F7F">
 				<Properties>
-					<bool name="Active">false</bool>
+					<bool name="Active">true</bool>
 					<Vector2 name="AnchorPoint">
 						<X>0</X>
 						<Y>0</Y>
@@ -584,9 +613,9 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 					<bool name="AutoLocalize">true</bool>
 					<token name="AutomaticSize">0</token>
 					<Color3 name="BackgroundColor3">
-						<R>0.313725501</R>
-						<G>0.313725501</G>
-						<B>0.313725501</B>
+						<R>1</R>
+						<G>1</G>
+						<B>1</B>
 					</Color3>
 					<float name="BackgroundTransparency">0</float>
 					<Color3 name="BorderColor3">
@@ -596,23 +625,36 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 					</Color3>
 					<token name="BorderMode">0</token>
 					<int name="BorderSizePixel">1</int>
+					<bool name="ClearTextOnFocus">true</bool>
 					<bool name="ClipsDescendants">false</bool>
 					<bool name="Draggable">false</bool>
+					<token name="Font">3</token>
+					<Font name="FontFace"></Font>
 					<int name="LayoutOrder">0</int>
-					<string name="Name">progressbar</string>
+					<float name="LineHeight">1</float>
+					<int name="MaxVisibleGraphemes">-1</int>
+					<bool name="MultiLine">false</bool>
+					<string name="Name">input</string>
 					<Ref name="NextSelectionDown">null</Ref>
 					<Ref name="NextSelectionLeft">null</Ref>
 					<Ref name="NextSelectionRight">null</Ref>
 					<Ref name="NextSelectionUp">null</Ref>
+					<Color3 name="PlaceholderColor3">
+						<R>0.699999988</R>
+						<G>0.699999988</G>
+						<B>0.699999988</B>
+					</Color3>
+					<string name="PlaceholderText"></string>
 					<UDim2 name="Position">
-						<XS>0.0500000007</XS>
+						<XS>0.220435202</XS>
 						<XO>0</XO>
-						<YS>0.0573394895</YS>
+						<YS>0.53961134</YS>
 						<YO>0</YO>
 					</UDim2>
+					<bool name="RichText">false</bool>
 					<Ref name="RootLocalizationTable">null</Ref>
 					<float name="Rotation">0</float>
-					<bool name="Selectable">false</bool>
+					<bool name="Selectable">true</bool>
 					<token name="SelectionBehaviorDown">0</token>
 					<token name="SelectionBehaviorLeft">0</token>
 					<token name="SelectionBehaviorRight">0</token>
@@ -620,655 +662,40 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 					<bool name="SelectionGroup">false</bool>
 					<Ref name="SelectionImageObject">null</Ref>
 					<int name="SelectionOrder">0</int>
+					<bool name="ShowNativeInput">true</bool>
 					<UDim2 name="Size">
 						<XS>0</XS>
-						<XO>276</XO>
+						<XO>200</XO>
 						<YS>0</YS>
-						<YO>40</YO>
+						<YO>50</YO>
 					</UDim2>
 					<token name="SizeConstraint">0</token>
 					<int64 name="SourceAssetId">-1</int64>
-					<token name="Style">0</token>
 					<BinaryString name="Tags"></BinaryString>
-					<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002a4e0</UniqueId>
-					<bool name="Visible">true</bool>
-					<int name="ZIndex">1</int>
-				</Properties>
-				<Item class="UIStroke" referent="RBX31931C2BC0774120ABE52BFB969BB24D">
-					<Properties>
-						<token name="ApplyStrokeMode">0</token>
-						<BinaryString name="AttributesSerialize"></BinaryString>
-						<Color3 name="Color">
-							<R>0</R>
-							<G>0</G>
-							<B>0</B>
-						</Color3>
-						<bool name="Enabled">true</bool>
-						<token name="LineJoinMode">0</token>
-						<string name="Name">UIStroke</string>
-						<int64 name="SourceAssetId">-1</int64>
-						<BinaryString name="Tags"></BinaryString>
-						<float name="Thickness">5</float>
-						<float name="Transparency">0</float>
-						<UniqueId name="UniqueId">72e3064f72345eb8029aa08200029dce</UniqueId>
-					</Properties>
-				</Item>
-				<Item class="UICorner" referent="RBXA2B6BF43994141C3A263B152DB702199">
-					<Properties>
-						<BinaryString name="AttributesSerialize"></BinaryString>
-						<UDim name="CornerRadius">
-							<S>0</S>
-							<O>2</O>
-						</UDim>
-						<string name="Name">UICorner</string>
-						<int64 name="SourceAssetId">-1</int64>
-						<BinaryString name="Tags"></BinaryString>
-						<UniqueId name="UniqueId">72e3064f72345eb8029aa08200029e7d</UniqueId>
-					</Properties>
-				</Item>
-				<Item class="Frame" referent="RBX59A0F4DF13CA463E8DD0EF9A4E88FFC3">
-					<Properties>
-						<bool name="Active">false</bool>
-						<Vector2 name="AnchorPoint">
-							<X>0</X>
-							<Y>0</Y>
-						</Vector2>
-						<BinaryString name="AttributesSerialize"></BinaryString>
-						<bool name="AutoLocalize">true</bool>
-						<token name="AutomaticSize">0</token>
-						<Color3 name="BackgroundColor3">
-							<R>1</R>
-							<G>1</G>
-							<B>1</B>
-						</Color3>
-						<float name="BackgroundTransparency">0</float>
-						<Color3 name="BorderColor3">
-							<R>0.105882362</R>
-							<G>0.164705887</G>
-							<B>0.207843155</B>
-						</Color3>
-						<token name="BorderMode">0</token>
-						<int name="BorderSizePixel">0</int>
-						<bool name="ClipsDescendants">false</bool>
-						<bool name="Draggable">false</bool>
-						<int name="LayoutOrder">0</int>
-						<string name="Name">filling</string>
-						<Ref name="NextSelectionDown">null</Ref>
-						<Ref name="NextSelectionLeft">null</Ref>
-						<Ref name="NextSelectionRight">null</Ref>
-						<Ref name="NextSelectionUp">null</Ref>
-						<UDim2 name="Position">
-							<XS>0</XS>
-							<XO>0</XO>
-							<YS>0</YS>
-							<YO>0</YO>
-						</UDim2>
-						<Ref name="RootLocalizationTable">null</Ref>
-						<float name="Rotation">0</float>
-						<bool name="Selectable">false</bool>
-						<token name="SelectionBehaviorDown">0</token>
-						<token name="SelectionBehaviorLeft">0</token>
-						<token name="SelectionBehaviorRight">0</token>
-						<token name="SelectionBehaviorUp">0</token>
-						<bool name="SelectionGroup">false</bool>
-						<Ref name="SelectionImageObject">null</Ref>
-						<int name="SelectionOrder">0</int>
-						<UDim2 name="Size">
-							<XS>0.239999995</XS>
-							<XO>0</XO>
-							<YS>1</YS>
-							<YO>0</YO>
-						</UDim2>
-						<token name="SizeConstraint">0</token>
-						<int64 name="SourceAssetId">-1</int64>
-						<token name="Style">0</token>
-						<BinaryString name="Tags"></BinaryString>
-						<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002aa60</UniqueId>
-						<bool name="Visible">true</bool>
-						<int name="ZIndex">1</int>
-					</Properties>
-					<Item class="UICorner" referent="RBX3418558337014D058F51984D48654A8D">
-						<Properties>
-							<BinaryString name="AttributesSerialize"></BinaryString>
-							<UDim name="CornerRadius">
-								<S>0</S>
-								<O>2</O>
-							</UDim>
-							<string name="Name">UICorner</string>
-							<int64 name="SourceAssetId">-1</int64>
-							<BinaryString name="Tags"></BinaryString>
-							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b027</UniqueId>
-						</Properties>
-					</Item>
-					<Item class="UIStroke" referent="RBX751E8B3DF4FB438293C9091A8135EC87">
-						<Properties>
-							<token name="ApplyStrokeMode">0</token>
-							<BinaryString name="AttributesSerialize"></BinaryString>
-							<Color3 name="Color">
-								<R>0</R>
-								<G>0.333333343</G>
-								<B>0</B>
-							</Color3>
-							<bool name="Enabled">false</bool>
-							<token name="LineJoinMode">0</token>
-							<string name="Name">UIStroke</string>
-							<int64 name="SourceAssetId">-1</int64>
-							<BinaryString name="Tags"></BinaryString>
-							<float name="Thickness">5</float>
-							<float name="Transparency">0</float>
-							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002bacd</UniqueId>
-						</Properties>
-					</Item>
-					<Item class="UIGradient" referent="RBX05E2E80D63FD46DFA534C7459FD8F16E">
-						<Properties>
-							<BinaryString name="AttributesSerialize"></BinaryString>
-							<ColorSequence name="Color">0 0.333333 1 0 0 1 0.607843 1 0.411765 0 </ColorSequence>
-							<bool name="Enabled">true</bool>
-							<string name="Name">UIGradient</string>
-							<Vector2 name="Offset">
-								<X>0</X>
-								<Y>0</Y>
-							</Vector2>
-							<float name="Rotation">-90</float>
-							<int64 name="SourceAssetId">-1</int64>
-							<BinaryString name="Tags"></BinaryString>
-							<NumberSequence name="Transparency">0 0 0 1 0 0 </NumberSequence>
-							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b4e6</UniqueId>
-						</Properties>
-					</Item>
-					<Item class="Frame" referent="RBXAEEDC0E267164439ADDB0EADD593E80A">
-						<Properties>
-							<bool name="Active">false</bool>
-							<Vector2 name="AnchorPoint">
-								<X>0</X>
-								<Y>0</Y>
-							</Vector2>
-							<BinaryString name="AttributesSerialize"></BinaryString>
-							<bool name="AutoLocalize">true</bool>
-							<token name="AutomaticSize">0</token>
-							<Color3 name="BackgroundColor3">
-								<R>1</R>
-								<G>1</G>
-								<B>1</B>
-							</Color3>
-							<float name="BackgroundTransparency">0</float>
-							<Color3 name="BorderColor3">
-								<R>0.105882362</R>
-								<G>0.164705887</G>
-								<B>0.207843155</B>
-							</Color3>
-							<token name="BorderMode">0</token>
-							<int name="BorderSizePixel">0</int>
-							<bool name="ClipsDescendants">false</bool>
-							<bool name="Draggable">false</bool>
-							<int name="LayoutOrder">0</int>
-							<string name="Name">sharpener</string>
-							<Ref name="NextSelectionDown">null</Ref>
-							<Ref name="NextSelectionLeft">null</Ref>
-							<Ref name="NextSelectionRight">null</Ref>
-							<Ref name="NextSelectionUp">null</Ref>
-							<UDim2 name="Position">
-								<XS>0</XS>
-								<XO>60</XO>
-								<YS>0</YS>
-								<YO>0</YO>
-							</UDim2>
-							<Ref name="RootLocalizationTable">null</Ref>
-							<float name="Rotation">0</float>
-							<bool name="Selectable">false</bool>
-							<token name="SelectionBehaviorDown">0</token>
-							<token name="SelectionBehaviorLeft">0</token>
-							<token name="SelectionBehaviorRight">0</token>
-							<token name="SelectionBehaviorUp">0</token>
-							<bool name="SelectionGroup">false</bool>
-							<Ref name="SelectionImageObject">null</Ref>
-							<int name="SelectionOrder">0</int>
-							<UDim2 name="Size">
-								<XS>0</XS>
-								<XO>8</XO>
-								<YS>1</YS>
-								<YO>0</YO>
-							</UDim2>
-							<token name="SizeConstraint">0</token>
-							<int64 name="SourceAssetId">-1</int64>
-							<token name="Style">0</token>
-							<BinaryString name="Tags"></BinaryString>
-							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002d0c6</UniqueId>
-							<bool name="Visible">true</bool>
-							<int name="ZIndex">1</int>
-						</Properties>
-						<Item class="UIGradient" referent="RBX038BD45A77A24E9FBFA44D2D66BA2D19">
-							<Properties>
-								<BinaryString name="AttributesSerialize"></BinaryString>
-								<ColorSequence name="Color">0 0.333333 1 0 0 1 0.607843 1 0.411765 0 </ColorSequence>
-								<bool name="Enabled">true</bool>
-								<string name="Name">UIGradient</string>
-								<Vector2 name="Offset">
-									<X>0</X>
-									<Y>0</Y>
-								</Vector2>
-								<float name="Rotation">-90</float>
-								<int64 name="SourceAssetId">-1</int64>
-								<BinaryString name="Tags"></BinaryString>
-								<NumberSequence name="Transparency">0 0 0 1 0 0 </NumberSequence>
-								<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002d820</UniqueId>
-							</Properties>
-						</Item>
-					</Item>
-				</Item>
-				<Item class="TextLabel" referent="RBXB3BB16BEBDD540B082794DEE6F36E7EA">
-					<Properties>
-						<bool name="Active">false</bool>
-						<Vector2 name="AnchorPoint">
-							<X>0</X>
-							<Y>0</Y>
-						</Vector2>
-						<BinaryString name="AttributesSerialize"></BinaryString>
-						<bool name="AutoLocalize">true</bool>
-						<token name="AutomaticSize">0</token>
-						<Color3 name="BackgroundColor3">
-							<R>1</R>
-							<G>1</G>
-							<B>1</B>
-						</Color3>
-						<float name="BackgroundTransparency">1</float>
-						<Color3 name="BorderColor3">
-							<R>0.105882362</R>
-							<G>0.164705887</G>
-							<B>0.207843155</B>
-						</Color3>
-						<token name="BorderMode">0</token>
-						<int name="BorderSizePixel">1</int>
-						<bool name="ClipsDescendants">false</bool>
-						<bool name="Draggable">false</bool>
-						<token name="Font">3</token>
-						<Font name="FontFace"></Font>
-						<int name="LayoutOrder">0</int>
-						<float name="LineHeight">1</float>
-						<int name="MaxVisibleGraphemes">-1</int>
-						<string name="Name">label</string>
-						<Ref name="NextSelectionDown">null</Ref>
-						<Ref name="NextSelectionLeft">null</Ref>
-						<Ref name="NextSelectionRight">null</Ref>
-						<Ref name="NextSelectionUp">null</Ref>
-						<UDim2 name="Position">
-							<XS>0</XS>
-							<XO>0</XO>
-							<YS>0</YS>
-							<YO>0</YO>
-						</UDim2>
-						<bool name="RichText">false</bool>
-						<Ref name="RootLocalizationTable">null</Ref>
-						<float name="Rotation">0</float>
-						<bool name="Selectable">false</bool>
-						<token name="SelectionBehaviorDown">0</token>
-						<token name="SelectionBehaviorLeft">0</token>
-						<token name="SelectionBehaviorRight">0</token>
-						<token name="SelectionBehaviorUp">0</token>
-						<bool name="SelectionGroup">false</bool>
-						<Ref name="SelectionImageObject">null</Ref>
-						<int name="SelectionOrder">0</int>
-						<UDim2 name="Size">
-							<XS>1</XS>
-							<XO>0</XO>
-							<YS>1</YS>
-							<YO>0</YO>
-						</UDim2>
-						<token name="SizeConstraint">0</token>
-						<int64 name="SourceAssetId">-1</int64>
-						<BinaryString name="Tags"></BinaryString>
-						<string name="Text">24%</string>
-						<Color3 name="TextColor3">
-							<R>1</R>
-							<G>1</G>
-							<B>1</B>
-						</Color3>
-						<bool name="TextScaled">true</bool>
-						<float name="TextSize">14</float>
-						<Color3 name="TextStrokeColor3">
-							<R>0</R>
-							<G>0</G>
-							<B>0</B>
-						</Color3>
-						<float name="TextStrokeTransparency">0</float>
-						<float name="TextTransparency">0</float>
-						<token name="TextTruncate">0</token>
-						<bool name="TextWrapped">true</bool>
-						<token name="TextXAlignment">2</token>
-						<token name="TextYAlignment">1</token>
-						<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b09c</UniqueId>
-						<bool name="Visible">true</bool>
-						<int name="ZIndex">1</int>
-					</Properties>
-					<Item class="UIStroke" referent="RBXBE037E4AC92945989B878A8291569BA2">
-						<Properties>
-							<token name="ApplyStrokeMode">0</token>
-							<BinaryString name="AttributesSerialize"></BinaryString>
-							<Color3 name="Color">
-								<R>0</R>
-								<G>0</G>
-								<B>0</B>
-							</Color3>
-							<bool name="Enabled">true</bool>
-							<token name="LineJoinMode">0</token>
-							<string name="Name">UIStroke</string>
-							<int64 name="SourceAssetId">-1</int64>
-							<BinaryString name="Tags"></BinaryString>
-							<float name="Thickness">2</float>
-							<float name="Transparency">0</float>
-							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b16f</UniqueId>
-						</Properties>
-					</Item>
-				</Item>
-			</Item>
-			<Item class="Frame" referent="RBXFA25B236697445FDA6CBB58F46EC5668">
-				<Properties>
-					<bool name="Active">false</bool>
-					<Vector2 name="AnchorPoint">
-						<X>0</X>
-						<Y>0</Y>
-					</Vector2>
-					<BinaryString name="AttributesSerialize"></BinaryString>
-					<bool name="AutoLocalize">true</bool>
-					<token name="AutomaticSize">0</token>
-					<Color3 name="BackgroundColor3">
-						<R>0.313725501</R>
-						<G>0.313725501</G>
-						<B>0.313725501</B>
+					<string name="Text"></string>
+					<Color3 name="TextColor3">
+						<R>0</R>
+						<G>0</G>
+						<B>0</B>
 					</Color3>
-					<float name="BackgroundTransparency">0</float>
-					<Color3 name="BorderColor3">
-						<R>0.105882362</R>
-						<G>0.164705887</G>
-						<B>0.207843155</B>
+					<bool name="TextEditable">true</bool>
+					<bool name="TextScaled">false</bool>
+					<float name="TextSize">14</float>
+					<Color3 name="TextStrokeColor3">
+						<R>0</R>
+						<G>0</G>
+						<B>0</B>
 					</Color3>
-					<token name="BorderMode">0</token>
-					<int name="BorderSizePixel">1</int>
-					<bool name="ClipsDescendants">true</bool>
-					<bool name="Draggable">false</bool>
-					<int name="LayoutOrder">0</int>
-					<string name="Name">undefinedprogressbar</string>
-					<Ref name="NextSelectionDown">null</Ref>
-					<Ref name="NextSelectionLeft">null</Ref>
-					<Ref name="NextSelectionRight">null</Ref>
-					<Ref name="NextSelectionUp">null</Ref>
-					<UDim2 name="Position">
-						<XS>0.0500000007</XS>
-						<XO>0</XO>
-						<YS>0.150000006</YS>
-						<YO>0</YO>
-					</UDim2>
-					<Ref name="RootLocalizationTable">null</Ref>
-					<float name="Rotation">0</float>
-					<bool name="Selectable">false</bool>
-					<token name="SelectionBehaviorDown">0</token>
-					<token name="SelectionBehaviorLeft">0</token>
-					<token name="SelectionBehaviorRight">0</token>
-					<token name="SelectionBehaviorUp">0</token>
-					<bool name="SelectionGroup">false</bool>
-					<Ref name="SelectionImageObject">null</Ref>
-					<int name="SelectionOrder">0</int>
-					<UDim2 name="Size">
-						<XS>0</XS>
-						<XO>276</XO>
-						<YS>0</YS>
-						<YO>40</YO>
-					</UDim2>
-					<token name="SizeConstraint">0</token>
-					<int64 name="SourceAssetId">-1</int64>
-					<token name="Style">0</token>
-					<BinaryString name="Tags"></BinaryString>
-					<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de09</UniqueId>
+					<float name="TextStrokeTransparency">1</float>
+					<float name="TextTransparency">0</float>
+					<token name="TextTruncate">0</token>
+					<bool name="TextWrapped">false</bool>
+					<token name="TextXAlignment">2</token>
+					<token name="TextYAlignment">1</token>
+					<UniqueId name="UniqueId">76f3dc643540221e029af31b0008bf9e</UniqueId>
 					<bool name="Visible">true</bool>
 					<int name="ZIndex">1</int>
 				</Properties>
-				<Item class="UIStroke" referent="RBXFEA068178E584204B301345130568A6A">
-					<Properties>
-						<token name="ApplyStrokeMode">0</token>
-						<BinaryString name="AttributesSerialize"></BinaryString>
-						<Color3 name="Color">
-							<R>0</R>
-							<G>0</G>
-							<B>0</B>
-						</Color3>
-						<bool name="Enabled">true</bool>
-						<token name="LineJoinMode">0</token>
-						<string name="Name">UIStroke</string>
-						<int64 name="SourceAssetId">-1</int64>
-						<BinaryString name="Tags"></BinaryString>
-						<float name="Thickness">5</float>
-						<float name="Transparency">0</float>
-						<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0a</UniqueId>
-					</Properties>
-				</Item>
-				<Item class="UICorner" referent="RBX2E308CF198DF498BAF5CBD80BF85E8EA">
-					<Properties>
-						<BinaryString name="AttributesSerialize"></BinaryString>
-						<UDim name="CornerRadius">
-							<S>0</S>
-							<O>2</O>
-						</UDim>
-						<string name="Name">UICorner</string>
-						<int64 name="SourceAssetId">-1</int64>
-						<BinaryString name="Tags"></BinaryString>
-						<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0b</UniqueId>
-					</Properties>
-				</Item>
-				<Item class="Frame" referent="RBX46EB82677342427E9E9D2ED6600F39B4">
-					<Properties>
-						<bool name="Active">false</bool>
-						<Vector2 name="AnchorPoint">
-							<X>0</X>
-							<Y>0</Y>
-						</Vector2>
-						<BinaryString name="AttributesSerialize"></BinaryString>
-						<bool name="AutoLocalize">true</bool>
-						<token name="AutomaticSize">0</token>
-						<Color3 name="BackgroundColor3">
-							<R>1</R>
-							<G>1</G>
-							<B>1</B>
-						</Color3>
-						<float name="BackgroundTransparency">0</float>
-						<Color3 name="BorderColor3">
-							<R>0.105882354</R>
-							<G>0.164705887</G>
-							<B>0.20784314</B>
-						</Color3>
-						<token name="BorderMode">0</token>
-						<int name="BorderSizePixel">0</int>
-						<bool name="ClipsDescendants">false</bool>
-						<bool name="Draggable">false</bool>
-						<int name="LayoutOrder">0</int>
-						<string name="Name">filling</string>
-						<Ref name="NextSelectionDown">null</Ref>
-						<Ref name="NextSelectionLeft">null</Ref>
-						<Ref name="NextSelectionRight">null</Ref>
-						<Ref name="NextSelectionUp">null</Ref>
-						<UDim2 name="Position">
-							<XS>-0.5</XS>
-							<XO>0</XO>
-							<YS>0</YS>
-							<YO>0</YO>
-						</UDim2>
-						<Ref name="RootLocalizationTable">null</Ref>
-						<float name="Rotation">0</float>
-						<bool name="Selectable">false</bool>
-						<token name="SelectionBehaviorDown">0</token>
-						<token name="SelectionBehaviorLeft">0</token>
-						<token name="SelectionBehaviorRight">0</token>
-						<token name="SelectionBehaviorUp">0</token>
-						<bool name="SelectionGroup">false</bool>
-						<Ref name="SelectionImageObject">null</Ref>
-						<int name="SelectionOrder">0</int>
-						<UDim2 name="Size">
-							<XS>0</XS>
-							<XO>225</XO>
-							<YS>1</YS>
-							<YO>0</YO>
-						</UDim2>
-						<token name="SizeConstraint">0</token>
-						<int64 name="SourceAssetId">-1</int64>
-						<token name="Style">0</token>
-						<BinaryString name="Tags"></BinaryString>
-						<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0c</UniqueId>
-						<bool name="Visible">true</bool>
-						<int name="ZIndex">1</int>
-					</Properties>
-					<Item class="UICorner" referent="RBX3480BE27A91F4B0E9D69110CAD26248C">
-						<Properties>
-							<BinaryString name="AttributesSerialize"></BinaryString>
-							<UDim name="CornerRadius">
-								<S>0</S>
-								<O>2</O>
-							</UDim>
-							<string name="Name">UICorner</string>
-							<int64 name="SourceAssetId">-1</int64>
-							<BinaryString name="Tags"></BinaryString>
-							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0d</UniqueId>
-						</Properties>
-					</Item>
-					<Item class="UIStroke" referent="RBXFCE0134E42154C51B31B8E7509407233">
-						<Properties>
-							<token name="ApplyStrokeMode">0</token>
-							<BinaryString name="AttributesSerialize"></BinaryString>
-							<Color3 name="Color">
-								<R>0</R>
-								<G>0.333333343</G>
-								<B>0</B>
-							</Color3>
-							<bool name="Enabled">false</bool>
-							<token name="LineJoinMode">0</token>
-							<string name="Name">UIStroke</string>
-							<int64 name="SourceAssetId">-1</int64>
-							<BinaryString name="Tags"></BinaryString>
-							<float name="Thickness">5</float>
-							<float name="Transparency">0</float>
-							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0e</UniqueId>
-						</Properties>
-					</Item>
-					<Item class="UIGradient" referent="RBX0131847DAD164D61B02DC3790CF60F7F">
-						<Properties>
-							<BinaryString name="AttributesSerialize"></BinaryString>
-							<ColorSequence name="Color">0 0.313726 0.313726 0.313726 0 0.499168 0.333333 1 0 0 1 0.313726 0.313726 0.313726 0 </ColorSequence>
-							<bool name="Enabled">true</bool>
-							<string name="Name">UIGradient</string>
-							<Vector2 name="Offset">
-								<X>0</X>
-								<Y>0</Y>
-							</Vector2>
-							<float name="Rotation">0</float>
-							<int64 name="SourceAssetId">-1</int64>
-							<BinaryString name="Tags"></BinaryString>
-							<NumberSequence name="Transparency">0 0 0 1 0 0 </NumberSequence>
-							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0f</UniqueId>
-						</Properties>
-					</Item>
-				</Item>
-				<Item class="TextLabel" referent="RBXEB61BCD3FADB44C08050A54118C272E4">
-					<Properties>
-						<bool name="Active">false</bool>
-						<Vector2 name="AnchorPoint">
-							<X>0</X>
-							<Y>0</Y>
-						</Vector2>
-						<BinaryString name="AttributesSerialize"></BinaryString>
-						<bool name="AutoLocalize">true</bool>
-						<token name="AutomaticSize">0</token>
-						<Color3 name="BackgroundColor3">
-							<R>1</R>
-							<G>1</G>
-							<B>1</B>
-						</Color3>
-						<float name="BackgroundTransparency">1</float>
-						<Color3 name="BorderColor3">
-							<R>0.105882362</R>
-							<G>0.164705887</G>
-							<B>0.207843155</B>
-						</Color3>
-						<token name="BorderMode">0</token>
-						<int name="BorderSizePixel">1</int>
-						<bool name="ClipsDescendants">false</bool>
-						<bool name="Draggable">false</bool>
-						<token name="Font">3</token>
-						<Font name="FontFace"></Font>
-						<int name="LayoutOrder">0</int>
-						<float name="LineHeight">1</float>
-						<int name="MaxVisibleGraphemes">-1</int>
-						<string name="Name">label</string>
-						<Ref name="NextSelectionDown">null</Ref>
-						<Ref name="NextSelectionLeft">null</Ref>
-						<Ref name="NextSelectionRight">null</Ref>
-						<Ref name="NextSelectionUp">null</Ref>
-						<UDim2 name="Position">
-							<XS>0</XS>
-							<XO>0</XO>
-							<YS>0</YS>
-							<YO>0</YO>
-						</UDim2>
-						<bool name="RichText">false</bool>
-						<Ref name="RootLocalizationTable">null</Ref>
-						<float name="Rotation">0</float>
-						<bool name="Selectable">false</bool>
-						<token name="SelectionBehaviorDown">0</token>
-						<token name="SelectionBehaviorLeft">0</token>
-						<token name="SelectionBehaviorRight">0</token>
-						<token name="SelectionBehaviorUp">0</token>
-						<bool name="SelectionGroup">false</bool>
-						<Ref name="SelectionImageObject">null</Ref>
-						<int name="SelectionOrder">0</int>
-						<UDim2 name="Size">
-							<XS>1</XS>
-							<XO>0</XO>
-							<YS>1</YS>
-							<YO>0</YO>
-						</UDim2>
-						<token name="SizeConstraint">0</token>
-						<int64 name="SourceAssetId">-1</int64>
-						<BinaryString name="Tags"></BinaryString>
-						<string name="Text">24%</string>
-						<Color3 name="TextColor3">
-							<R>1</R>
-							<G>1</G>
-							<B>1</B>
-						</Color3>
-						<bool name="TextScaled">true</bool>
-						<float name="TextSize">14</float>
-						<Color3 name="TextStrokeColor3">
-							<R>0</R>
-							<G>0</G>
-							<B>0</B>
-						</Color3>
-						<float name="TextStrokeTransparency">0</float>
-						<float name="TextTransparency">0</float>
-						<token name="TextTruncate">0</token>
-						<bool name="TextWrapped">true</bool>
-						<token name="TextXAlignment">2</token>
-						<token name="TextYAlignment">1</token>
-						<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de12</UniqueId>
-						<bool name="Visible">false</bool>
-						<int name="ZIndex">1</int>
-					</Properties>
-					<Item class="UIStroke" referent="RBX0237B1DC4A7443318C877A3889A3F6D2">
-						<Properties>
-							<token name="ApplyStrokeMode">0</token>
-							<BinaryString name="AttributesSerialize"></BinaryString>
-							<Color3 name="Color">
-								<R>0</R>
-								<G>0</G>
-								<B>0</B>
-							</Color3>
-							<bool name="Enabled">true</bool>
-							<token name="LineJoinMode">0</token>
-							<string name="Name">UIStroke</string>
-							<int64 name="SourceAssetId">-1</int64>
-							<BinaryString name="Tags"></BinaryString>
-							<float name="Thickness">2</float>
-							<float name="Transparency">0</float>
-							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de13</UniqueId>
-						</Properties>
-					</Item>
-				</Item>
 			</Item>
 		</Item>
 	</Item>
@@ -1510,189 +937,744 @@ return mtwidgets]]></ProtectedString>
 					<Properties>
 						<BinaryString name="AttributesSerialize"></BinaryString>
 						<Content name="LinkedSource"><null></null></Content>
-						<string name="Name">MWidget</string>
+						<string name="Name">MProgressBar</string>
 						<string name="ScriptGuid">{6C7FCB0E-3E63-4CEB-A66E-534210256E09}</string>
 						<ProtectedString name="Source"><![CDATA[local repstrg = game:GetService("ReplicatedStorage")
-local MObject = require(repstrg.Mt.MtCore.MObject)
+local MWidget = require(repstrg.Mt.MtWidgets.MWidget)
 local uis = game:GetService("UserInputService")
 
-local MWidget = {
-	ClassName = "MWidget", -- See Mt.MtCore.MObject
-	Name = "widget",       -- ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
+local MProgressBar = {
+	ClassName = "MProgressBar", -- See Mt.MtCore.MObject
+	Name = "progressbar",       -- ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
+	
+	Progress = 0,
 }
 
-MWidget.Init = function(self,parent,_obj)
-	local _obj = MObject.Init(self,parent,_obj)
-
-	_obj.Frame = Instance.new("Frame")
-	_obj.Frame.Name = _obj.Name
-	_obj.Frame.BorderSizePixel = 0
-	_obj.Frame.BackgroundColor3 = Color3.new(1,1,1)
-
-	MWidget.SetSizeLimit(_obj,
-		Vector2.new(10,10),
-		Vector2.new(3000,3000)
-	)
-	MWidget.SetSize(_obj,Vector2.new(325,325))
-
-	return _obj
-end
-
-MWidget.LimitCoordinate = function(self,coor:Vector2,min:Vector2,max:Vector2): Vector2
-	min=min or self:GetMinimumSize()
-	max=max or self:GetMaximumSize()
-	
-	if coor.X > max.X then coor = Vector2.new(max.X,coor.Y) end
-	if coor.Y > max.Y then coor = Vector2.new(coor.X,max.Y) end
+MProgressBar.Init = function(self,parent,_obj)
+	local _obj = MWidget.Init(self,parent,_obj)
+	_obj.Frame:Destroy()
 	
-	if coor.X < min.X then coor = Vector2.new(min.X,coor.Y) end
-	if coor.Y < min.Y then coor = Vector2.new(coor.X,min.Y) end
-	
-	return coor
-end
-
-MWidget.SetSize = function(self,newsize:Vector2)
-	local limitedsize = self:LimitCoordinate(newsize)
-	local currentScale: Vector2 = self:GetSizeScale()
-	self.Frame.Size = UDim2.new(
-		currentScale.X,
-		limitedsize.X,
-		currentScale.Y,
-		limitedsize.Y
-	)
-end
-
-MWidget.Resize = MWidget.SetSize
-
-MWidget.SetSizeFromScale = function(self,newscale:Vector2)
-	local screenSize = self.Screen:GetScreenSize()
-	self:SetSize(Vector2.new(newscale.X*screenSize.X,newscale.Y*screenSize.Y))
-end
-
-MWidget.Rescale = MWidget.SetSizeFromScale
-
-MWidget.SetPosition = function(self,newpos:Vector2)
-	self.Frame.Position = UDim2.fromOffset(newpos.X,newpos.Y)
-end
-
-MWidget.GoTo = MWidget.SetPosition
-MWidget.Move = MWidget.SetPosition
-
-MWidget.SetPositionFromScale = function(self,newscale:Vector2)
-	local screenSize = self.Screen:GetScreenSize()
-	self:SetPosition(Vector2.new(newscale.X*screenSize.X,newscale.Y*screenSize.Y))
-end
-
-MWidget.GetSizeScale = function(self): Vector2
-	return Vector2.new(self.Frame.Size.X.Scale,self.Frame.Size.Y.Scale)
-end
-
-MWidget.SetSizeLimit = function(self,min:Vector2,max:Vector2)
-	self.MinSize = min
-	self.MaxSize = max
-end
-
-MWidget.SetMinimumSize = function(self,size:Vector2)
-	self:SetSizeLimit(size,self.MaxSize)
-end
-
-MWidget.SetMinimumWidth= function(self,width:number)
-	self:SetMinimumSize(Vector2.new(
-		width,
-		self.MinSize.Y
-	))
-end
-
-MWidget.SetMinimumHeight=function(self,height:number)
-	self:SetMinimumSize(Vector2.new(
-		self.MinSize.X,
-		height
-	))
-end
-
-MWidget.SetMaximumSize = function(self,size:Vector2)
-	self:SetSizeLimit(self.MinSize,size)
-end
-
-MWidget.SetMaximumWidth= function(self,width:number)
-	self:SetMaximumSize(Vector2.new(
-		width,
-		self.MinSize.Y
-	))
-end
-
-MWidget.SetMaxmimumHeight=function(self,height:number)
-	self:SetMaximumSize(Vector2.new(
-		self.MaxSize.X,
-		height
-	))
-end
-
-MWidget.GetMaximumWidth=function(self): number
-	return self.MaxSize.X
-end
-
-MWidget.GetMinimumWidth=function(self): number
-	return self.MinSize.X
-end
-
-MWidget.GetMaximumHeight=function(self): number
-	return self.MaxSize.Y
-end
-
-MWidget.GetMinimumHeight=function(self): number
-	return self.MinSize.Y
-end
-
-MWidget.GetMinimumSize=function(self): Vector2
-	return self.MinSize
-end
-
-MWidget.GetMaximumSize=function(self): Vector2
-	return self.MaxSize
-end
-
-MWidget.GetSizeLimit=function(self): Rect
-	return Rect.new(self:GetMinimumSize(),self:GetMaximumSize())
-end
-
-MWidget.SetName = function(self,name)
-	self.Frame.Name = name
-	MObject.SetName(self,name)
-end
-
-MWidget.SetHidden = function(self,hidden)
-	self.Frame.Visible = not hidden
-end
-
-MWidget.IsPointTouchingArea = function(self,point: Vector2,areaPos: UDim2,areaSize: UDim2): boolean
-	local px = point.X
-	local py = point.Y
-	local apx = areaPos.X.Offset
-	local apy = areaPos.Y.Offset
-	local asx = areaSize.X.Offset
-	local asy = areaSize.X.Offset
+	local clone = script.progressbar:Clone()
+	_obj.Filling = clone.filling
+	_obj.Label = clone.label
+	_obj.Sharpener = clone.filling.sharpener
+	_obj.Frame = clone
 	
-	return 
-		(px >= apx-asx and px <= (apx + asx)) and
-		(py >= apy-asy and py <= (apy + asy))
-end
+	MProgressBar.SetProgress(_obj,24)
 
-MWidget.IsPointInsideWidget = function(self,point:Vector2): boolean
-	self:PointTouchingArea(point,self.Frame.AbsolutePosition,self.Frame.AbsoluteSize)
+	return _obj
 end
 
-MWidget.IsBeingHovered = function(self):boolean
-	self:IsPointInsideWidget(uis:GetMouseLocation())
+function MProgressBar.SetProgress(self,progress:number)
+	self.Filling.Size = UDim2.fromScale(progress/100,1)
+	self.Label.Text = tostring(progress).."%"
+	self.Sharpener.Position = UDim2.fromOffset(self.Filling.Size.X.Offset-self.Filling.UICorner.CornerRadius.Offset,0)
 end
 
-MWidget = MObject:Init({},MWidget,-1)
+MProgressBar = MWidget:Init({},MProgressBar,-1)
 
-return MWidget]]></ProtectedString>
+return MProgressBar]]></ProtectedString>
 						<int64 name="SourceAssetId">-1</int64>
 						<BinaryString name="Tags"></BinaryString>
 						<UniqueId name="UniqueId">05c44930bd9fb73402486df700201f98</UniqueId>
 					</Properties>
+					<Item class="Frame" referent="RBX28CE5127845048B2B1CBD7D3A55011BE">
+						<Properties>
+							<bool name="Active">false</bool>
+							<Vector2 name="AnchorPoint">
+								<X>0</X>
+								<Y>0</Y>
+							</Vector2>
+							<BinaryString name="AttributesSerialize"></BinaryString>
+							<bool name="AutoLocalize">true</bool>
+							<token name="AutomaticSize">0</token>
+							<Color3 name="BackgroundColor3">
+								<R>0.313725501</R>
+								<G>0.313725501</G>
+								<B>0.313725501</B>
+							</Color3>
+							<float name="BackgroundTransparency">0</float>
+							<Color3 name="BorderColor3">
+								<R>0.105882362</R>
+								<G>0.164705887</G>
+								<B>0.207843155</B>
+							</Color3>
+							<token name="BorderMode">0</token>
+							<int name="BorderSizePixel">1</int>
+							<bool name="ClipsDescendants">true</bool>
+							<bool name="Draggable">false</bool>
+							<int name="LayoutOrder">0</int>
+							<string name="Name">progressbar</string>
+							<Ref name="NextSelectionDown">null</Ref>
+							<Ref name="NextSelectionLeft">null</Ref>
+							<Ref name="NextSelectionRight">null</Ref>
+							<Ref name="NextSelectionUp">null</Ref>
+							<UDim2 name="Position">
+								<XS>0</XS>
+								<XO>0</XO>
+								<YS>0</YS>
+								<YO>0</YO>
+							</UDim2>
+							<Ref name="RootLocalizationTable">null</Ref>
+							<float name="Rotation">0</float>
+							<bool name="Selectable">false</bool>
+							<token name="SelectionBehaviorDown">0</token>
+							<token name="SelectionBehaviorLeft">0</token>
+							<token name="SelectionBehaviorRight">0</token>
+							<token name="SelectionBehaviorUp">0</token>
+							<bool name="SelectionGroup">false</bool>
+							<Ref name="SelectionImageObject">null</Ref>
+							<int name="SelectionOrder">0</int>
+							<UDim2 name="Size">
+								<XS>0</XS>
+								<XO>276</XO>
+								<YS>0</YS>
+								<YO>40</YO>
+							</UDim2>
+							<token name="SizeConstraint">0</token>
+							<int64 name="SourceAssetId">-1</int64>
+							<token name="Style">0</token>
+							<BinaryString name="Tags"></BinaryString>
+							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002a4e0</UniqueId>
+							<bool name="Visible">true</bool>
+							<int name="ZIndex">1</int>
+						</Properties>
+						<Item class="UIStroke" referent="RBX31931C2BC0774120ABE52BFB969BB24D">
+							<Properties>
+								<token name="ApplyStrokeMode">0</token>
+								<BinaryString name="AttributesSerialize"></BinaryString>
+								<Color3 name="Color">
+									<R>0</R>
+									<G>0</G>
+									<B>0</B>
+								</Color3>
+								<bool name="Enabled">true</bool>
+								<token name="LineJoinMode">0</token>
+								<string name="Name">UIStroke</string>
+								<int64 name="SourceAssetId">-1</int64>
+								<BinaryString name="Tags"></BinaryString>
+								<float name="Thickness">5</float>
+								<float name="Transparency">0</float>
+								<UniqueId name="UniqueId">72e3064f72345eb8029aa08200029dce</UniqueId>
+							</Properties>
+						</Item>
+						<Item class="UICorner" referent="RBXA2B6BF43994141C3A263B152DB702199">
+							<Properties>
+								<BinaryString name="AttributesSerialize"></BinaryString>
+								<UDim name="CornerRadius">
+									<S>0</S>
+									<O>2</O>
+								</UDim>
+								<string name="Name">UICorner</string>
+								<int64 name="SourceAssetId">-1</int64>
+								<BinaryString name="Tags"></BinaryString>
+								<UniqueId name="UniqueId">72e3064f72345eb8029aa08200029e7d</UniqueId>
+							</Properties>
+						</Item>
+						<Item class="Frame" referent="RBX59A0F4DF13CA463E8DD0EF9A4E88FFC3">
+							<Properties>
+								<bool name="Active">false</bool>
+								<Vector2 name="AnchorPoint">
+									<X>0</X>
+									<Y>0</Y>
+								</Vector2>
+								<BinaryString name="AttributesSerialize"></BinaryString>
+								<bool name="AutoLocalize">true</bool>
+								<token name="AutomaticSize">0</token>
+								<Color3 name="BackgroundColor3">
+									<R>1</R>
+									<G>1</G>
+									<B>1</B>
+								</Color3>
+								<float name="BackgroundTransparency">0</float>
+								<Color3 name="BorderColor3">
+									<R>0.105882362</R>
+									<G>0.164705887</G>
+									<B>0.207843155</B>
+								</Color3>
+								<token name="BorderMode">0</token>
+								<int name="BorderSizePixel">0</int>
+								<bool name="ClipsDescendants">false</bool>
+								<bool name="Draggable">false</bool>
+								<int name="LayoutOrder">0</int>
+								<string name="Name">filling</string>
+								<Ref name="NextSelectionDown">null</Ref>
+								<Ref name="NextSelectionLeft">null</Ref>
+								<Ref name="NextSelectionRight">null</Ref>
+								<Ref name="NextSelectionUp">null</Ref>
+								<UDim2 name="Position">
+									<XS>0</XS>
+									<XO>0</XO>
+									<YS>0</YS>
+									<YO>0</YO>
+								</UDim2>
+								<Ref name="RootLocalizationTable">null</Ref>
+								<float name="Rotation">0</float>
+								<bool name="Selectable">false</bool>
+								<token name="SelectionBehaviorDown">0</token>
+								<token name="SelectionBehaviorLeft">0</token>
+								<token name="SelectionBehaviorRight">0</token>
+								<token name="SelectionBehaviorUp">0</token>
+								<bool name="SelectionGroup">false</bool>
+								<Ref name="SelectionImageObject">null</Ref>
+								<int name="SelectionOrder">0</int>
+								<UDim2 name="Size">
+									<XS>0</XS>
+									<XO>2</XO>
+									<YS>1</YS>
+									<YO>0</YO>
+								</UDim2>
+								<token name="SizeConstraint">0</token>
+								<int64 name="SourceAssetId">-1</int64>
+								<token name="Style">0</token>
+								<BinaryString name="Tags"></BinaryString>
+								<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002aa60</UniqueId>
+								<bool name="Visible">true</bool>
+								<int name="ZIndex">1</int>
+							</Properties>
+							<Item class="UICorner" referent="RBX3418558337014D058F51984D48654A8D">
+								<Properties>
+									<BinaryString name="AttributesSerialize"></BinaryString>
+									<UDim name="CornerRadius">
+										<S>0</S>
+										<O>2</O>
+									</UDim>
+									<string name="Name">UICorner</string>
+									<int64 name="SourceAssetId">-1</int64>
+									<BinaryString name="Tags"></BinaryString>
+									<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b027</UniqueId>
+								</Properties>
+							</Item>
+							<Item class="UIStroke" referent="RBX751E8B3DF4FB438293C9091A8135EC87">
+								<Properties>
+									<token name="ApplyStrokeMode">0</token>
+									<BinaryString name="AttributesSerialize"></BinaryString>
+									<Color3 name="Color">
+										<R>0</R>
+										<G>0.333333343</G>
+										<B>0</B>
+									</Color3>
+									<bool name="Enabled">false</bool>
+									<token name="LineJoinMode">0</token>
+									<string name="Name">UIStroke</string>
+									<int64 name="SourceAssetId">-1</int64>
+									<BinaryString name="Tags"></BinaryString>
+									<float name="Thickness">5</float>
+									<float name="Transparency">0</float>
+									<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002bacd</UniqueId>
+								</Properties>
+							</Item>
+							<Item class="UIGradient" referent="RBX05E2E80D63FD46DFA534C7459FD8F16E">
+								<Properties>
+									<BinaryString name="AttributesSerialize"></BinaryString>
+									<ColorSequence name="Color">0 0.333333 1 0 0 1 0.607843 1 0.411765 0 </ColorSequence>
+									<bool name="Enabled">true</bool>
+									<string name="Name">UIGradient</string>
+									<Vector2 name="Offset">
+										<X>0</X>
+										<Y>0</Y>
+									</Vector2>
+									<float name="Rotation">-90</float>
+									<int64 name="SourceAssetId">-1</int64>
+									<BinaryString name="Tags"></BinaryString>
+									<NumberSequence name="Transparency">0 0 0 1 0 0 </NumberSequence>
+									<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b4e6</UniqueId>
+								</Properties>
+							</Item>
+							<Item class="Frame" referent="RBXAEEDC0E267164439ADDB0EADD593E80A">
+								<Properties>
+									<bool name="Active">false</bool>
+									<Vector2 name="AnchorPoint">
+										<X>0</X>
+										<Y>0</Y>
+									</Vector2>
+									<BinaryString name="AttributesSerialize"></BinaryString>
+									<bool name="AutoLocalize">true</bool>
+									<token name="AutomaticSize">0</token>
+									<Color3 name="BackgroundColor3">
+										<R>1</R>
+										<G>1</G>
+										<B>1</B>
+									</Color3>
+									<float name="BackgroundTransparency">0</float>
+									<Color3 name="BorderColor3">
+										<R>0.105882362</R>
+										<G>0.164705887</G>
+										<B>0.207843155</B>
+									</Color3>
+									<token name="BorderMode">0</token>
+									<int name="BorderSizePixel">0</int>
+									<bool name="ClipsDescendants">false</bool>
+									<bool name="Draggable">false</bool>
+									<int name="LayoutOrder">0</int>
+									<string name="Name">sharpener</string>
+									<Ref name="NextSelectionDown">null</Ref>
+									<Ref name="NextSelectionLeft">null</Ref>
+									<Ref name="NextSelectionRight">null</Ref>
+									<Ref name="NextSelectionUp">null</Ref>
+									<UDim2 name="Position">
+										<XS>0</XS>
+										<XO>60</XO>
+										<YS>0</YS>
+										<YO>0</YO>
+									</UDim2>
+									<Ref name="RootLocalizationTable">null</Ref>
+									<float name="Rotation">0</float>
+									<bool name="Selectable">false</bool>
+									<token name="SelectionBehaviorDown">0</token>
+									<token name="SelectionBehaviorLeft">0</token>
+									<token name="SelectionBehaviorRight">0</token>
+									<token name="SelectionBehaviorUp">0</token>
+									<bool name="SelectionGroup">false</bool>
+									<Ref name="SelectionImageObject">null</Ref>
+									<int name="SelectionOrder">0</int>
+									<UDim2 name="Size">
+										<XS>0</XS>
+										<XO>8</XO>
+										<YS>1</YS>
+										<YO>0</YO>
+									</UDim2>
+									<token name="SizeConstraint">0</token>
+									<int64 name="SourceAssetId">-1</int64>
+									<token name="Style">0</token>
+									<BinaryString name="Tags"></BinaryString>
+									<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002d0c6</UniqueId>
+									<bool name="Visible">true</bool>
+									<int name="ZIndex">1</int>
+								</Properties>
+								<Item class="UIGradient" referent="RBX038BD45A77A24E9FBFA44D2D66BA2D19">
+									<Properties>
+										<BinaryString name="AttributesSerialize"></BinaryString>
+										<ColorSequence name="Color">0 0.333333 1 0 0 1 0.607843 1 0.411765 0 </ColorSequence>
+										<bool name="Enabled">true</bool>
+										<string name="Name">UIGradient</string>
+										<Vector2 name="Offset">
+											<X>0</X>
+											<Y>0</Y>
+										</Vector2>
+										<float name="Rotation">-90</float>
+										<int64 name="SourceAssetId">-1</int64>
+										<BinaryString name="Tags"></BinaryString>
+										<NumberSequence name="Transparency">0 0 0 1 0 0 </NumberSequence>
+										<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002d820</UniqueId>
+									</Properties>
+								</Item>
+							</Item>
+						</Item>
+						<Item class="TextLabel" referent="RBXB3BB16BEBDD540B082794DEE6F36E7EA">
+							<Properties>
+								<bool name="Active">false</bool>
+								<Vector2 name="AnchorPoint">
+									<X>0</X>
+									<Y>0</Y>
+								</Vector2>
+								<BinaryString name="AttributesSerialize"></BinaryString>
+								<bool name="AutoLocalize">true</bool>
+								<token name="AutomaticSize">0</token>
+								<Color3 name="BackgroundColor3">
+									<R>1</R>
+									<G>1</G>
+									<B>1</B>
+								</Color3>
+								<float name="BackgroundTransparency">1</float>
+								<Color3 name="BorderColor3">
+									<R>0.105882362</R>
+									<G>0.164705887</G>
+									<B>0.207843155</B>
+								</Color3>
+								<token name="BorderMode">0</token>
+								<int name="BorderSizePixel">1</int>
+								<bool name="ClipsDescendants">false</bool>
+								<bool name="Draggable">false</bool>
+								<token name="Font">3</token>
+								<Font name="FontFace"></Font>
+								<int name="LayoutOrder">0</int>
+								<float name="LineHeight">1</float>
+								<int name="MaxVisibleGraphemes">-1</int>
+								<string name="Name">label</string>
+								<Ref name="NextSelectionDown">null</Ref>
+								<Ref name="NextSelectionLeft">null</Ref>
+								<Ref name="NextSelectionRight">null</Ref>
+								<Ref name="NextSelectionUp">null</Ref>
+								<UDim2 name="Position">
+									<XS>0</XS>
+									<XO>0</XO>
+									<YS>0</YS>
+									<YO>0</YO>
+								</UDim2>
+								<bool name="RichText">false</bool>
+								<Ref name="RootLocalizationTable">null</Ref>
+								<float name="Rotation">0</float>
+								<bool name="Selectable">false</bool>
+								<token name="SelectionBehaviorDown">0</token>
+								<token name="SelectionBehaviorLeft">0</token>
+								<token name="SelectionBehaviorRight">0</token>
+								<token name="SelectionBehaviorUp">0</token>
+								<bool name="SelectionGroup">false</bool>
+								<Ref name="SelectionImageObject">null</Ref>
+								<int name="SelectionOrder">0</int>
+								<UDim2 name="Size">
+									<XS>1</XS>
+									<XO>0</XO>
+									<YS>1</YS>
+									<YO>0</YO>
+								</UDim2>
+								<token name="SizeConstraint">0</token>
+								<int64 name="SourceAssetId">-1</int64>
+								<BinaryString name="Tags"></BinaryString>
+								<string name="Text">24%</string>
+								<Color3 name="TextColor3">
+									<R>1</R>
+									<G>1</G>
+									<B>1</B>
+								</Color3>
+								<bool name="TextScaled">true</bool>
+								<float name="TextSize">14</float>
+								<Color3 name="TextStrokeColor3">
+									<R>0</R>
+									<G>0</G>
+									<B>0</B>
+								</Color3>
+								<float name="TextStrokeTransparency">0</float>
+								<float name="TextTransparency">0</float>
+								<token name="TextTruncate">0</token>
+								<bool name="TextWrapped">true</bool>
+								<token name="TextXAlignment">2</token>
+								<token name="TextYAlignment">1</token>
+								<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b09c</UniqueId>
+								<bool name="Visible">true</bool>
+								<int name="ZIndex">1</int>
+							</Properties>
+							<Item class="UIStroke" referent="RBXBE037E4AC92945989B878A8291569BA2">
+								<Properties>
+									<token name="ApplyStrokeMode">0</token>
+									<BinaryString name="AttributesSerialize"></BinaryString>
+									<Color3 name="Color">
+										<R>0</R>
+										<G>0</G>
+										<B>0</B>
+									</Color3>
+									<bool name="Enabled">true</bool>
+									<token name="LineJoinMode">0</token>
+									<string name="Name">UIStroke</string>
+									<int64 name="SourceAssetId">-1</int64>
+									<BinaryString name="Tags"></BinaryString>
+									<float name="Thickness">2</float>
+									<float name="Transparency">0</float>
+									<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b16f</UniqueId>
+								</Properties>
+							</Item>
+						</Item>
+					</Item>
+					<Item class="Frame" referent="RBXFA25B236697445FDA6CBB58F46EC5668">
+						<Properties>
+							<bool name="Active">false</bool>
+							<Vector2 name="AnchorPoint">
+								<X>0</X>
+								<Y>0</Y>
+							</Vector2>
+							<BinaryString name="AttributesSerialize"></BinaryString>
+							<bool name="AutoLocalize">true</bool>
+							<token name="AutomaticSize">0</token>
+							<Color3 name="BackgroundColor3">
+								<R>0.313725501</R>
+								<G>0.313725501</G>
+								<B>0.313725501</B>
+							</Color3>
+							<float name="BackgroundTransparency">0</float>
+							<Color3 name="BorderColor3">
+								<R>0.105882362</R>
+								<G>0.164705887</G>
+								<B>0.207843155</B>
+							</Color3>
+							<token name="BorderMode">0</token>
+							<int name="BorderSizePixel">1</int>
+							<bool name="ClipsDescendants">true</bool>
+							<bool name="Draggable">false</bool>
+							<int name="LayoutOrder">0</int>
+							<string name="Name">undefinedprogressbar</string>
+							<Ref name="NextSelectionDown">null</Ref>
+							<Ref name="NextSelectionLeft">null</Ref>
+							<Ref name="NextSelectionRight">null</Ref>
+							<Ref name="NextSelectionUp">null</Ref>
+							<UDim2 name="Position">
+								<XS>0.0500000007</XS>
+								<XO>0</XO>
+								<YS>0.150000006</YS>
+								<YO>0</YO>
+							</UDim2>
+							<Ref name="RootLocalizationTable">null</Ref>
+							<float name="Rotation">0</float>
+							<bool name="Selectable">false</bool>
+							<token name="SelectionBehaviorDown">0</token>
+							<token name="SelectionBehaviorLeft">0</token>
+							<token name="SelectionBehaviorRight">0</token>
+							<token name="SelectionBehaviorUp">0</token>
+							<bool name="SelectionGroup">false</bool>
+							<Ref name="SelectionImageObject">null</Ref>
+							<int name="SelectionOrder">0</int>
+							<UDim2 name="Size">
+								<XS>0</XS>
+								<XO>276</XO>
+								<YS>0</YS>
+								<YO>40</YO>
+							</UDim2>
+							<token name="SizeConstraint">0</token>
+							<int64 name="SourceAssetId">-1</int64>
+							<token name="Style">0</token>
+							<BinaryString name="Tags"></BinaryString>
+							<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de09</UniqueId>
+							<bool name="Visible">true</bool>
+							<int name="ZIndex">1</int>
+						</Properties>
+						<Item class="UIStroke" referent="RBXFEA068178E584204B301345130568A6A">
+							<Properties>
+								<token name="ApplyStrokeMode">0</token>
+								<BinaryString name="AttributesSerialize"></BinaryString>
+								<Color3 name="Color">
+									<R>0</R>
+									<G>0</G>
+									<B>0</B>
+								</Color3>
+								<bool name="Enabled">true</bool>
+								<token name="LineJoinMode">0</token>
+								<string name="Name">UIStroke</string>
+								<int64 name="SourceAssetId">-1</int64>
+								<BinaryString name="Tags"></BinaryString>
+								<float name="Thickness">5</float>
+								<float name="Transparency">0</float>
+								<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0a</UniqueId>
+							</Properties>
+						</Item>
+						<Item class="UICorner" referent="RBX2E308CF198DF498BAF5CBD80BF85E8EA">
+							<Properties>
+								<BinaryString name="AttributesSerialize"></BinaryString>
+								<UDim name="CornerRadius">
+									<S>0</S>
+									<O>2</O>
+								</UDim>
+								<string name="Name">UICorner</string>
+								<int64 name="SourceAssetId">-1</int64>
+								<BinaryString name="Tags"></BinaryString>
+								<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0b</UniqueId>
+							</Properties>
+						</Item>
+						<Item class="Frame" referent="RBX46EB82677342427E9E9D2ED6600F39B4">
+							<Properties>
+								<bool name="Active">false</bool>
+								<Vector2 name="AnchorPoint">
+									<X>0</X>
+									<Y>0</Y>
+								</Vector2>
+								<BinaryString name="AttributesSerialize"></BinaryString>
+								<bool name="AutoLocalize">true</bool>
+								<token name="AutomaticSize">0</token>
+								<Color3 name="BackgroundColor3">
+									<R>1</R>
+									<G>1</G>
+									<B>1</B>
+								</Color3>
+								<float name="BackgroundTransparency">0</float>
+								<Color3 name="BorderColor3">
+									<R>0.105882354</R>
+									<G>0.164705887</G>
+									<B>0.20784314</B>
+								</Color3>
+								<token name="BorderMode">0</token>
+								<int name="BorderSizePixel">0</int>
+								<bool name="ClipsDescendants">false</bool>
+								<bool name="Draggable">false</bool>
+								<int name="LayoutOrder">0</int>
+								<string name="Name">filling</string>
+								<Ref name="NextSelectionDown">null</Ref>
+								<Ref name="NextSelectionLeft">null</Ref>
+								<Ref name="NextSelectionRight">null</Ref>
+								<Ref name="NextSelectionUp">null</Ref>
+								<UDim2 name="Position">
+									<XS>-0.5</XS>
+									<XO>0</XO>
+									<YS>0</YS>
+									<YO>0</YO>
+								</UDim2>
+								<Ref name="RootLocalizationTable">null</Ref>
+								<float name="Rotation">0</float>
+								<bool name="Selectable">false</bool>
+								<token name="SelectionBehaviorDown">0</token>
+								<token name="SelectionBehaviorLeft">0</token>
+								<token name="SelectionBehaviorRight">0</token>
+								<token name="SelectionBehaviorUp">0</token>
+								<bool name="SelectionGroup">false</bool>
+								<Ref name="SelectionImageObject">null</Ref>
+								<int name="SelectionOrder">0</int>
+								<UDim2 name="Size">
+									<XS>0</XS>
+									<XO>225</XO>
+									<YS>1</YS>
+									<YO>0</YO>
+								</UDim2>
+								<token name="SizeConstraint">0</token>
+								<int64 name="SourceAssetId">-1</int64>
+								<token name="Style">0</token>
+								<BinaryString name="Tags"></BinaryString>
+								<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0c</UniqueId>
+								<bool name="Visible">true</bool>
+								<int name="ZIndex">1</int>
+							</Properties>
+							<Item class="UICorner" referent="RBX3480BE27A91F4B0E9D69110CAD26248C">
+								<Properties>
+									<BinaryString name="AttributesSerialize"></BinaryString>
+									<UDim name="CornerRadius">
+										<S>0</S>
+										<O>2</O>
+									</UDim>
+									<string name="Name">UICorner</string>
+									<int64 name="SourceAssetId">-1</int64>
+									<BinaryString name="Tags"></BinaryString>
+									<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0d</UniqueId>
+								</Properties>
+							</Item>
+							<Item class="UIStroke" referent="RBXFCE0134E42154C51B31B8E7509407233">
+								<Properties>
+									<token name="ApplyStrokeMode">0</token>
+									<BinaryString name="AttributesSerialize"></BinaryString>
+									<Color3 name="Color">
+										<R>0</R>
+										<G>0.333333343</G>
+										<B>0</B>
+									</Color3>
+									<bool name="Enabled">false</bool>
+									<token name="LineJoinMode">0</token>
+									<string name="Name">UIStroke</string>
+									<int64 name="SourceAssetId">-1</int64>
+									<BinaryString name="Tags"></BinaryString>
+									<float name="Thickness">5</float>
+									<float name="Transparency">0</float>
+									<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0e</UniqueId>
+								</Properties>
+							</Item>
+							<Item class="UIGradient" referent="RBX0131847DAD164D61B02DC3790CF60F7F">
+								<Properties>
+									<BinaryString name="AttributesSerialize"></BinaryString>
+									<ColorSequence name="Color">0 0.313726 0.313726 0.313726 0 0.499168 0.333333 1 0 0 1 0.313726 0.313726 0.313726 0 </ColorSequence>
+									<bool name="Enabled">true</bool>
+									<string name="Name">UIGradient</string>
+									<Vector2 name="Offset">
+										<X>0</X>
+										<Y>0</Y>
+									</Vector2>
+									<float name="Rotation">0</float>
+									<int64 name="SourceAssetId">-1</int64>
+									<BinaryString name="Tags"></BinaryString>
+									<NumberSequence name="Transparency">0 0 0 1 0 0 </NumberSequence>
+									<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de0f</UniqueId>
+								</Properties>
+							</Item>
+						</Item>
+						<Item class="TextLabel" referent="RBXEB61BCD3FADB44C08050A54118C272E4">
+							<Properties>
+								<bool name="Active">false</bool>
+								<Vector2 name="AnchorPoint">
+									<X>0</X>
+									<Y>0</Y>
+								</Vector2>
+								<BinaryString name="AttributesSerialize"></BinaryString>
+								<bool name="AutoLocalize">true</bool>
+								<token name="AutomaticSize">0</token>
+								<Color3 name="BackgroundColor3">
+									<R>1</R>
+									<G>1</G>
+									<B>1</B>
+								</Color3>
+								<float name="BackgroundTransparency">1</float>
+								<Color3 name="BorderColor3">
+									<R>0.105882362</R>
+									<G>0.164705887</G>
+									<B>0.207843155</B>
+								</Color3>
+								<token name="BorderMode">0</token>
+								<int name="BorderSizePixel">1</int>
+								<bool name="ClipsDescendants">false</bool>
+								<bool name="Draggable">false</bool>
+								<token name="Font">3</token>
+								<Font name="FontFace"></Font>
+								<int name="LayoutOrder">0</int>
+								<float name="LineHeight">1</float>
+								<int name="MaxVisibleGraphemes">-1</int>
+								<string name="Name">label</string>
+								<Ref name="NextSelectionDown">null</Ref>
+								<Ref name="NextSelectionLeft">null</Ref>
+								<Ref name="NextSelectionRight">null</Ref>
+								<Ref name="NextSelectionUp">null</Ref>
+								<UDim2 name="Position">
+									<XS>0</XS>
+									<XO>0</XO>
+									<YS>0</YS>
+									<YO>0</YO>
+								</UDim2>
+								<bool name="RichText">false</bool>
+								<Ref name="RootLocalizationTable">null</Ref>
+								<float name="Rotation">0</float>
+								<bool name="Selectable">false</bool>
+								<token name="SelectionBehaviorDown">0</token>
+								<token name="SelectionBehaviorLeft">0</token>
+								<token name="SelectionBehaviorRight">0</token>
+								<token name="SelectionBehaviorUp">0</token>
+								<bool name="SelectionGroup">false</bool>
+								<Ref name="SelectionImageObject">null</Ref>
+								<int name="SelectionOrder">0</int>
+								<UDim2 name="Size">
+									<XS>1</XS>
+									<XO>0</XO>
+									<YS>1</YS>
+									<YO>0</YO>
+								</UDim2>
+								<token name="SizeConstraint">0</token>
+								<int64 name="SourceAssetId">-1</int64>
+								<BinaryString name="Tags"></BinaryString>
+								<string name="Text">24%</string>
+								<Color3 name="TextColor3">
+									<R>1</R>
+									<G>1</G>
+									<B>1</B>
+								</Color3>
+								<bool name="TextScaled">true</bool>
+								<float name="TextSize">14</float>
+								<Color3 name="TextStrokeColor3">
+									<R>0</R>
+									<G>0</G>
+									<B>0</B>
+								</Color3>
+								<float name="TextStrokeTransparency">0</float>
+								<float name="TextTransparency">0</float>
+								<token name="TextTruncate">0</token>
+								<bool name="TextWrapped">true</bool>
+								<token name="TextXAlignment">2</token>
+								<token name="TextYAlignment">1</token>
+								<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de12</UniqueId>
+								<bool name="Visible">false</bool>
+								<int name="ZIndex">1</int>
+							</Properties>
+							<Item class="UIStroke" referent="RBX0237B1DC4A7443318C877A3889A3F6D2">
+								<Properties>
+									<token name="ApplyStrokeMode">0</token>
+									<BinaryString name="AttributesSerialize"></BinaryString>
+									<Color3 name="Color">
+										<R>0</R>
+										<G>0</G>
+										<B>0</B>
+									</Color3>
+									<bool name="Enabled">true</bool>
+									<token name="LineJoinMode">0</token>
+									<string name="Name">UIStroke</string>
+									<int64 name="SourceAssetId">-1</int64>
+									<BinaryString name="Tags"></BinaryString>
+									<float name="Thickness">2</float>
+									<float name="Transparency">0</float>
+									<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002de13</UniqueId>
+								</Properties>
+							</Item>
+						</Item>
+					</Item>
 				</Item>
 				<Item class="ModuleScript" referent="RBXB48A27957CA544C7A4E050E6BB3E3915">
 					<Properties>
@@ -2658,6 +2640,194 @@ return MWindowResizeRegion]]></ProtectedString>
 						</Properties>
 					</Item>
 				</Item>
+				<Item class="ModuleScript" referent="RBXA1990F81B74E44929F00310D21A73075">
+					<Properties>
+						<BinaryString name="AttributesSerialize"></BinaryString>
+						<Content name="LinkedSource"><null></null></Content>
+						<string name="Name">MWidget</string>
+						<string name="ScriptGuid">{8606D535-8CE9-4A6A-8EF8-C22998EAFE9C}</string>
+						<ProtectedString name="Source"><![CDATA[local repstrg = game:GetService("ReplicatedStorage")
+local MObject = require(repstrg.Mt.MtCore.MObject)
+local uis = game:GetService("UserInputService")
+
+local MWidget = {
+	ClassName = "MWidget", -- See Mt.MtCore.MObject
+	Name = "widget",       -- ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
+}
+
+MWidget.Init = function(self,parent,_obj)
+	local _obj = MObject.Init(self,parent,_obj)
+
+	_obj.Frame = Instance.new("Frame")
+	_obj.Frame.Name = _obj.Name
+	_obj.Frame.BorderSizePixel = 0
+	_obj.Frame.BackgroundColor3 = Color3.new(1,1,1)
+
+	MWidget.SetSizeLimit(_obj,
+		Vector2.new(10,10),
+		Vector2.new(3000,3000)
+	)
+	MWidget.SetSize(_obj,Vector2.new(325,325))
+
+	return _obj
+end
+
+MWidget.LimitCoordinate = function(self,coor:Vector2,min:Vector2,max:Vector2): Vector2
+	min=min or self:GetMinimumSize()
+	max=max or self:GetMaximumSize()
+	
+	if coor.X > max.X then coor = Vector2.new(max.X,coor.Y) end
+	if coor.Y > max.Y then coor = Vector2.new(coor.X,max.Y) end
+	
+	if coor.X < min.X then coor = Vector2.new(min.X,coor.Y) end
+	if coor.Y < min.Y then coor = Vector2.new(coor.X,min.Y) end
+	
+	return coor
+end
+
+MWidget.SetSize = function(self,newsize:Vector2)
+	local limitedsize = self:LimitCoordinate(newsize)
+	local currentScale: Vector2 = self:GetSizeScale()
+	self.Frame.Size = UDim2.new(
+		currentScale.X,
+		limitedsize.X,
+		currentScale.Y,
+		limitedsize.Y
+	)
+end
+
+MWidget.Resize = MWidget.SetSize
+
+MWidget.SetSizeFromScale = function(self,newscale:Vector2)
+	local screenSize = self.Screen:GetScreenSize()
+	self:SetSize(Vector2.new(newscale.X*screenSize.X,newscale.Y*screenSize.Y))
+end
+
+MWidget.Rescale = MWidget.SetSizeFromScale
+
+MWidget.SetPosition = function(self,newpos:Vector2)
+	self.Frame.Position = UDim2.fromOffset(newpos.X,newpos.Y)
+end
+
+MWidget.GoTo = MWidget.SetPosition
+MWidget.Move = MWidget.SetPosition
+
+MWidget.SetPositionFromScale = function(self,newscale:Vector2)
+	local screenSize = self.Screen:GetScreenSize()
+	self:SetPosition(Vector2.new(newscale.X*screenSize.X,newscale.Y*screenSize.Y))
+end
+
+MWidget.GetSizeScale = function(self): Vector2
+	return Vector2.new(self.Frame.Size.X.Scale,self.Frame.Size.Y.Scale)
+end
+
+MWidget.SetSizeLimit = function(self,min:Vector2,max:Vector2)
+	self.MinSize = min
+	self.MaxSize = max
+end
+
+MWidget.SetMinimumSize = function(self,size:Vector2)
+	self:SetSizeLimit(size,self.MaxSize)
+end
+
+MWidget.SetMinimumWidth= function(self,width:number)
+	self:SetMinimumSize(Vector2.new(
+		width,
+		self.MinSize.Y
+	))
+end
+
+MWidget.SetMinimumHeight=function(self,height:number)
+	self:SetMinimumSize(Vector2.new(
+		self.MinSize.X,
+		height
+	))
+end
+
+MWidget.SetMaximumSize = function(self,size:Vector2)
+	self:SetSizeLimit(self.MinSize,size)
+end
+
+MWidget.SetMaximumWidth= function(self,width:number)
+	self:SetMaximumSize(Vector2.new(
+		width,
+		self.MinSize.Y
+	))
+end
+
+MWidget.SetMaxmimumHeight=function(self,height:number)
+	self:SetMaximumSize(Vector2.new(
+		self.MaxSize.X,
+		height
+	))
+end
+
+MWidget.GetMaximumWidth=function(self): number
+	return self.MaxSize.X
+end
+
+MWidget.GetMinimumWidth=function(self): number
+	return self.MinSize.X
+end
+
+MWidget.GetMaximumHeight=function(self): number
+	return self.MaxSize.Y
+end
+
+MWidget.GetMinimumHeight=function(self): number
+	return self.MinSize.Y
+end
+
+MWidget.GetMinimumSize=function(self): Vector2
+	return self.MinSize
+end
+
+MWidget.GetMaximumSize=function(self): Vector2
+	return self.MaxSize
+end
+
+MWidget.GetSizeLimit=function(self): Rect
+	return Rect.new(self:GetMinimumSize(),self:GetMaximumSize())
+end
+
+MWidget.SetName = function(self,name)
+	self.Frame.Name = name
+	MObject.SetName(self,name)
+end
+
+MWidget.SetHidden = function(self,hidden)
+	self.Frame.Visible = not hidden
+end
+
+MWidget.IsPointTouchingArea = function(self,point: Vector2,areaPos: UDim2,areaSize: UDim2): boolean
+	local px = point.X
+	local py = point.Y
+	local apx = areaPos.X.Offset
+	local apy = areaPos.Y.Offset
+	local asx = areaSize.X.Offset
+	local asy = areaSize.X.Offset
+	
+	return 
+		(px >= apx-asx and px <= (apx + asx)) and
+		(py >= apy-asy and py <= (apy + asy))
+end
+
+MWidget.IsPointInsideWidget = function(self,point:Vector2): boolean
+	self:PointTouchingArea(point,self.Frame.AbsolutePosition,self.Frame.AbsoluteSize)
+end
+
+MWidget.IsBeingHovered = function(self):boolean
+	self:IsPointInsideWidget(uis:GetMouseLocation())
+end
+
+MWidget = MObject:Init({},MWidget,-1)
+
+return MWidget]]></ProtectedString>
+						<int64 name="SourceAssetId">-1</int64>
+						<BinaryString name="Tags"></BinaryString>
+						<UniqueId name="UniqueId">76f3dc643540221e029af31b0002adb6</UniqueId>
+					</Properties>
+				</Item>
 			</Item>
 			<Item class="ModuleScript" referent="RBXF2A4ECEF2BD7426C8EB12741360379F8">
 				<Properties>

From 920482123cea55471196632a20e4d2cabd57a683 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Sun, 22 May 2022 09:12:58 +0100
Subject: [PATCH 05/24] Made more functions, min, max and format

---
 Mt.rbxlx | 126 +++++++++++++++++++------------------------------------
 1 file changed, 43 insertions(+), 83 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 942368f..ee70aed 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -537,6 +537,7 @@ local bar = MProgressBar:Init(screen)
 screen:AddWidget(bar)
 bar:SetPosition(Vector2.new(100,100))
 bar:SetProgress(0)
+bar:SetFormat("progress: {p}")
 
 if not game:IsLoaded() then game.Loaded:Wait() end
 local input = game.Players.LocalPlayer.PlayerGui:WaitForChild("extra").input
@@ -948,6 +949,10 @@ local MProgressBar = {
 	Name = "progressbar",       -- ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
 	
 	Progress = 0,
+	Format = "{p}%",
+	
+	Min = 0,
+	Max = 100,
 }
 
 MProgressBar.Init = function(self,parent,_obj)
@@ -957,7 +962,6 @@ MProgressBar.Init = function(self,parent,_obj)
 	local clone = script.progressbar:Clone()
 	_obj.Filling = clone.filling
 	_obj.Label = clone.label
-	_obj.Sharpener = clone.filling.sharpener
 	_obj.Frame = clone
 	
 	MProgressBar.SetProgress(_obj,24)
@@ -965,10 +969,45 @@ MProgressBar.Init = function(self,parent,_obj)
 	return _obj
 end
 
+function MProgressBar.GetFormattedText(self,progress:number,format:string): string
+	progress = progress or self:GetProgress()
+	format = format or self:GetFormat()
+	
+	return string.gsub(format,"{p}",tostring(progress))
+end
+
+function MProgressBar.GetLimitedProgress(self,progress:number,min:number,max:number): number
+	progress = progress or self:GetProgress()
+	min = min or self.Min
+	max = max or self.Max
+	
+	if progress < min then
+		return min
+	elseif progress > max then
+		return max
+	else
+		return progress
+	end
+end
+
 function MProgressBar.SetProgress(self,progress:number)
-	self.Filling.Size = UDim2.fromScale(progress/100,1)
-	self.Label.Text = tostring(progress).."%"
-	self.Sharpener.Position = UDim2.fromOffset(self.Filling.Size.X.Offset-self.Filling.UICorner.CornerRadius.Offset,0)
+	local limitedProgress = self:GetLimitedProgress(progress)
+	self.Filling.Size = UDim2.fromScale(limitedProgress/self.Max,1)
+	self.Label.Text = self:GetFormattedText(limitedProgress)
+	self.Progress = limitedProgress
+end
+
+function MProgressBar.GetProgress(self): number
+	return self.Progress
+end
+
+function MProgressBar.SetFormat(self,format:string)
+	self.Label.Text = self:GetFormattedText(self:GetProgress(),format)
+	self.Format = format
+end
+
+function MProgressBar.GetFormat(self): string
+	return self.Format
 end
 
 MProgressBar = MWidget:Init({},MProgressBar,-1)
@@ -1181,85 +1220,6 @@ return MProgressBar]]></ProtectedString>
 									<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b4e6</UniqueId>
 								</Properties>
 							</Item>
-							<Item class="Frame" referent="RBXAEEDC0E267164439ADDB0EADD593E80A">
-								<Properties>
-									<bool name="Active">false</bool>
-									<Vector2 name="AnchorPoint">
-										<X>0</X>
-										<Y>0</Y>
-									</Vector2>
-									<BinaryString name="AttributesSerialize"></BinaryString>
-									<bool name="AutoLocalize">true</bool>
-									<token name="AutomaticSize">0</token>
-									<Color3 name="BackgroundColor3">
-										<R>1</R>
-										<G>1</G>
-										<B>1</B>
-									</Color3>
-									<float name="BackgroundTransparency">0</float>
-									<Color3 name="BorderColor3">
-										<R>0.105882362</R>
-										<G>0.164705887</G>
-										<B>0.207843155</B>
-									</Color3>
-									<token name="BorderMode">0</token>
-									<int name="BorderSizePixel">0</int>
-									<bool name="ClipsDescendants">false</bool>
-									<bool name="Draggable">false</bool>
-									<int name="LayoutOrder">0</int>
-									<string name="Name">sharpener</string>
-									<Ref name="NextSelectionDown">null</Ref>
-									<Ref name="NextSelectionLeft">null</Ref>
-									<Ref name="NextSelectionRight">null</Ref>
-									<Ref name="NextSelectionUp">null</Ref>
-									<UDim2 name="Position">
-										<XS>0</XS>
-										<XO>60</XO>
-										<YS>0</YS>
-										<YO>0</YO>
-									</UDim2>
-									<Ref name="RootLocalizationTable">null</Ref>
-									<float name="Rotation">0</float>
-									<bool name="Selectable">false</bool>
-									<token name="SelectionBehaviorDown">0</token>
-									<token name="SelectionBehaviorLeft">0</token>
-									<token name="SelectionBehaviorRight">0</token>
-									<token name="SelectionBehaviorUp">0</token>
-									<bool name="SelectionGroup">false</bool>
-									<Ref name="SelectionImageObject">null</Ref>
-									<int name="SelectionOrder">0</int>
-									<UDim2 name="Size">
-										<XS>0</XS>
-										<XO>8</XO>
-										<YS>1</YS>
-										<YO>0</YO>
-									</UDim2>
-									<token name="SizeConstraint">0</token>
-									<int64 name="SourceAssetId">-1</int64>
-									<token name="Style">0</token>
-									<BinaryString name="Tags"></BinaryString>
-									<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002d0c6</UniqueId>
-									<bool name="Visible">true</bool>
-									<int name="ZIndex">1</int>
-								</Properties>
-								<Item class="UIGradient" referent="RBX038BD45A77A24E9FBFA44D2D66BA2D19">
-									<Properties>
-										<BinaryString name="AttributesSerialize"></BinaryString>
-										<ColorSequence name="Color">0 0.333333 1 0 0 1 0.607843 1 0.411765 0 </ColorSequence>
-										<bool name="Enabled">true</bool>
-										<string name="Name">UIGradient</string>
-										<Vector2 name="Offset">
-											<X>0</X>
-											<Y>0</Y>
-										</Vector2>
-										<float name="Rotation">-90</float>
-										<int64 name="SourceAssetId">-1</int64>
-										<BinaryString name="Tags"></BinaryString>
-										<NumberSequence name="Transparency">0 0 0 1 0 0 </NumberSequence>
-										<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002d820</UniqueId>
-									</Properties>
-								</Item>
-							</Item>
 						</Item>
 						<Item class="TextLabel" referent="RBXB3BB16BEBDD540B082794DEE6F36E7EA">
 							<Properties>

From 538a270a239c1faa22ca611966c6587a2fd7a4ce Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Sun, 22 May 2022 10:06:05 +0100
Subject: [PATCH 06/24] more methods/features

---
 Mt.rbxlx | 34 +++++++++++++++++++---------------
 1 file changed, 19 insertions(+), 15 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index ee70aed..09096ae 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -537,7 +537,8 @@ local bar = MProgressBar:Init(screen)
 screen:AddWidget(bar)
 bar:SetPosition(Vector2.new(100,100))
 bar:SetProgress(0)
-bar:SetFormat("progress: {p}")
+bar:SetLabelAlignment(Enum.TextXAlignment.Center)
+--bar:SetLabelVisibility(false)
 
 if not game:IsLoaded() then game.Loaded:Wait() end
 local input = game.Players.LocalPlayer.PlayerGui:WaitForChild("extra").input
@@ -1010,6 +1011,22 @@ function MProgressBar.GetFormat(self): string
 	return self.Format
 end
 
+function MProgressBar.SetLabelVisibility(self,visible:boolean)
+	self.Label.Visible = visible
+end
+
+function MProgressBar.GetLabelVisibility(self): boolean
+	return self.Label.Visible
+end
+
+function MProgressBar.SetLabelAlignment(self,alignment:Enum.TextXAlignment)
+	self.Label.TextXAlignment = alignment
+end
+
+function MProgressBar.GetLabelAlignment(self): Enum.TextXAlignment
+	return self.Label.TextXAlignment
+end
+
 MProgressBar = MWidget:Init({},MProgressBar,-1)
 
 return MProgressBar]]></ProtectedString>
@@ -1171,19 +1188,6 @@ return MProgressBar]]></ProtectedString>
 								<bool name="Visible">true</bool>
 								<int name="ZIndex">1</int>
 							</Properties>
-							<Item class="UICorner" referent="RBX3418558337014D058F51984D48654A8D">
-								<Properties>
-									<BinaryString name="AttributesSerialize"></BinaryString>
-									<UDim name="CornerRadius">
-										<S>0</S>
-										<O>2</O>
-									</UDim>
-									<string name="Name">UICorner</string>
-									<int64 name="SourceAssetId">-1</int64>
-									<BinaryString name="Tags"></BinaryString>
-									<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b027</UniqueId>
-								</Properties>
-							</Item>
 							<Item class="UIStroke" referent="RBX751E8B3DF4FB438293C9091A8135EC87">
 								<Properties>
 									<token name="ApplyStrokeMode">0</token>
@@ -1246,7 +1250,7 @@ return MProgressBar]]></ProtectedString>
 								<int name="BorderSizePixel">1</int>
 								<bool name="ClipsDescendants">false</bool>
 								<bool name="Draggable">false</bool>
-								<token name="Font">3</token>
+								<token name="Font">4</token>
 								<Font name="FontFace"></Font>
 								<int name="LayoutOrder">0</int>
 								<float name="LineHeight">1</float>

From b8c4589472b4bbc541d36a4ceee21ffa8b16bb86 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Sun, 22 May 2022 13:05:03 +0100
Subject: [PATCH 07/24] wip filling direction

---
 Mt.rbxlx | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 09096ae..0e14cb2 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -943,6 +943,7 @@ return mtwidgets]]></ProtectedString>
 						<string name="ScriptGuid">{6C7FCB0E-3E63-4CEB-A66E-534210256E09}</string>
 						<ProtectedString name="Source"><![CDATA[local repstrg = game:GetService("ReplicatedStorage")
 local MWidget = require(repstrg.Mt.MtWidgets.MWidget)
+local MtEnum = require(repstrg.Mt.MtCore.MtEnum)
 local uis = game:GetService("UserInputService")
 
 local MProgressBar = {
@@ -954,6 +955,8 @@ local MProgressBar = {
 	
 	Min = 0,
 	Max = 100,
+	
+	FillingDirection = MtEnum.Direction.Right
 }
 
 MProgressBar.Init = function(self,parent,_obj)
@@ -993,6 +996,7 @@ end
 
 function MProgressBar.SetProgress(self,progress:number)
 	local limitedProgress = self:GetLimitedProgress(progress)
+	
 	self.Filling.Size = UDim2.fromScale(limitedProgress/self.Max,1)
 	self.Label.Text = self:GetFormattedText(limitedProgress)
 	self.Progress = limitedProgress
@@ -1027,6 +1031,12 @@ function MProgressBar.GetLabelAlignment(self): Enum.TextXAlignment
 	return self.Label.TextXAlignment
 end
 
+function MProgressBar.SetFillingDirection(self,direction:string)
+	if direction == MtEnum.Direction.Right then
+		
+	end
+end
+
 MProgressBar = MWidget:Init({},MProgressBar,-1)
 
 return MProgressBar]]></ProtectedString>

From 1e03faf034d8b8c9554e995aa3a5f1e84e4c8ed9 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Sun, 22 May 2022 15:15:01 +0100
Subject: [PATCH 08/24] Ability to change filling orientation

---
 Mt.rbxlx | 32 +++++++++++++++++++++++++-------
 1 file changed, 25 insertions(+), 7 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 0e14cb2..625bf95 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -530,6 +530,7 @@ gcLgc4RKxr21zq2UlJSM]]></BinaryString>
 					<string name="ScriptGuid">{5F3728E5-2388-4161-9565-DB53D4DDC893}</string>
 					<ProtectedString name="Source"><![CDATA[local MScreen = require(game.ReplicatedStorage.Mt.MtCore.MScreen)
 local MProgressBar = require(game.ReplicatedStorage.Mt.MtWidgets.MProgressBar)
+local MtEnum = require(game.ReplicatedStorage.Mt.MtCore.MtEnum)
 
 local screen = MScreen:Init()
 
@@ -538,7 +539,8 @@ screen:AddWidget(bar)
 bar:SetPosition(Vector2.new(100,100))
 bar:SetProgress(0)
 bar:SetLabelAlignment(Enum.TextXAlignment.Center)
---bar:SetLabelVisibility(false)
+bar:SetLabelVisibility(true)
+bar:SetFillingOrientation(MtEnum.Orientation.Vertical)
 
 if not game:IsLoaded() then game.Loaded:Wait() end
 local input = game.Players.LocalPlayer.PlayerGui:WaitForChild("extra").input
@@ -956,7 +958,8 @@ local MProgressBar = {
 	Min = 0,
 	Max = 100,
 	
-	FillingDirection = MtEnum.Direction.Right
+	FillingOrientation = MtEnum.Orientation.Horizontal,
+	FillingInverted = false
 }
 
 MProgressBar.Init = function(self,parent,_obj)
@@ -994,10 +997,22 @@ function MProgressBar.GetLimitedProgress(self,progress:number,min:number,max:num
 	end
 end
 
+function MProgressBar.GetFillingSize(self,orientation:string,progress:number,max:number): UDim2
+	orientation = orientation or self:GetFillingOrientation()
+	progress = progress or self:GetLimitedProgress()
+	max = max or self.Max
+	
+	if orientation == MtEnum.Orientation.Vertical then
+		return UDim2.fromScale(1,progress/max)
+	else
+		return UDim2.fromScale(progress/max,1)
+	end
+end
+
 function MProgressBar.SetProgress(self,progress:number)
 	local limitedProgress = self:GetLimitedProgress(progress)
 	
-	self.Filling.Size = UDim2.fromScale(limitedProgress/self.Max,1)
+	self.Filling.Size = self:GetFillingSize(self.FillingOrientation,limitedProgress)
 	self.Label.Text = self:GetFormattedText(limitedProgress)
 	self.Progress = limitedProgress
 end
@@ -1031,10 +1046,13 @@ function MProgressBar.GetLabelAlignment(self): Enum.TextXAlignment
 	return self.Label.TextXAlignment
 end
 
-function MProgressBar.SetFillingDirection(self,direction:string)
-	if direction == MtEnum.Direction.Right then
-		
-	end
+function MProgressBar.SetFillingOrientation(self,orientation:string)
+	self.Filling.Size = self:GetFillingSize(orientation)
+	self.FillingOrientation = orientation
+end
+
+function MProgressBar.GetFillingOrientation(self): string
+	return self.FillingOrientation
 end
 
 MProgressBar = MWidget:Init({},MProgressBar,-1)

From 30f4ffd700f3a348118d43bbc0ee65740533aeb2 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Sun, 22 May 2022 16:00:03 +0100
Subject: [PATCH 09/24] wip filling from all directions

---
 Mt.rbxlx | 33 +++++++++++++++++++++++++++------
 1 file changed, 27 insertions(+), 6 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 625bf95..138671f 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -537,7 +537,7 @@ local screen = MScreen:Init()
 local bar = MProgressBar:Init(screen)
 screen:AddWidget(bar)
 bar:SetPosition(Vector2.new(100,100))
-bar:SetProgress(0)
+--bar:SetProgress(0)
 bar:SetLabelAlignment(Enum.TextXAlignment.Center)
 bar:SetLabelVisibility(true)
 bar:SetFillingOrientation(MtEnum.Orientation.Vertical)
@@ -997,22 +997,26 @@ function MProgressBar.GetLimitedProgress(self,progress:number,min:number,max:num
 	end
 end
 
-function MProgressBar.GetFillingSize(self,orientation:string,progress:number,max:number): UDim2
+function MProgressBar.GetFillingSize(self,orientation:string,inverted:boolean,progress:number,max:number): UDim2
 	orientation = orientation or self:GetFillingOrientation()
-	progress = progress or self:GetLimitedProgress()
+	inverted = inverted or self:GetFillingInverted()
+	progress = progress or self:GetProgress()
 	max = max or self.Max
 	
+	local newsize = progress/max
+	if inverted then newsize = -newsize end
+	
 	if orientation == MtEnum.Orientation.Vertical then
-		return UDim2.fromScale(1,progress/max)
+		return UDim2.fromScale(1,newsize)
 	else
-		return UDim2.fromScale(progress/max,1)
+		return UDim2.fromScale(newsize,1)
 	end
 end
 
 function MProgressBar.SetProgress(self,progress:number)
 	local limitedProgress = self:GetLimitedProgress(progress)
 	
-	self.Filling.Size = self:GetFillingSize(self.FillingOrientation,limitedProgress)
+	self.Filling.Size = self:GetFillingSize()
 	self.Label.Text = self:GetFormattedText(limitedProgress)
 	self.Progress = limitedProgress
 end
@@ -1055,6 +1059,23 @@ function MProgressBar.GetFillingOrientation(self): string
 	return self.FillingOrientation
 end
 
+local bool2fillingPos = {
+	[false] = 0,
+	[true] = 1
+}
+
+function MProgressBar.SetFillingInverted(self,inverted:boolean)
+	local newpos = bool2fillingPos[inverted]
+	self.Filling.Position = UDim2.fromScale(newpos,newpos)
+	
+	self.Filling.Size = self:GetFillingSize(self.FillingOrientation, inverted)
+	self.FillingInverted = inverted
+end
+
+function MProgressBar.GetFillingInverted(self): boolean
+	return self.FillingInverted
+end
+
 MProgressBar = MWidget:Init({},MProgressBar,-1)
 
 return MProgressBar]]></ProtectedString>

From 32c73829202404f6f552639752327391f8b005fc Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Thu, 26 May 2022 20:50:45 +0100
Subject: [PATCH 10/24] Fix rotated progress bar not changing progress

---
 Mt.rbxlx | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 138671f..6683fa7 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -1016,9 +1016,9 @@ end
 function MProgressBar.SetProgress(self,progress:number)
 	local limitedProgress = self:GetLimitedProgress(progress)
 	
+	self.Progress = limitedProgress
 	self.Filling.Size = self:GetFillingSize()
 	self.Label.Text = self:GetFormattedText(limitedProgress)
-	self.Progress = limitedProgress
 end
 
 function MProgressBar.GetProgress(self): number
@@ -1064,6 +1064,11 @@ local bool2fillingPos = {
 	[true] = 1
 }
 
+local bool2fillingGradRotation = {
+	[false] = -90, -- horizontal
+	[true] = 0, -- vertical
+}
+
 function MProgressBar.SetFillingInverted(self,inverted:boolean)
 	local newpos = bool2fillingPos[inverted]
 	self.Filling.Position = UDim2.fromScale(newpos,newpos)

From aeaa158ba85e9138b60b07f53c3209e4c3906b88 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Thu, 26 May 2022 21:02:38 +0100
Subject: [PATCH 11/24] filling gradient changes on changing filling
 orientation

---
 Mt.rbxlx | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 6683fa7..bdd9329 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -969,6 +969,7 @@ MProgressBar.Init = function(self,parent,_obj)
 	local clone = script.progressbar:Clone()
 	_obj.Filling = clone.filling
 	_obj.Label = clone.label
+	_obj.Gradient = clone.filling.UIGradient
 	_obj.Frame = clone
 	
 	MProgressBar.SetProgress(_obj,24)
@@ -1050,8 +1051,14 @@ function MProgressBar.GetLabelAlignment(self): Enum.TextXAlignment
 	return self.Label.TextXAlignment
 end
 
+local enum2fillingGradRotation = {
+	[MtEnum.Orientation.Horizontal] = -90,
+	[MtEnum.Orientation.Vertical]   =  0 ,
+}
+
 function MProgressBar.SetFillingOrientation(self,orientation:string)
 	self.Filling.Size = self:GetFillingSize(orientation)
+	self.Gradient.Rotation = enum2fillingGradRotation[orientation]
 	self.FillingOrientation = orientation
 end
 
@@ -1064,11 +1071,6 @@ local bool2fillingPos = {
 	[true] = 1
 }
 
-local bool2fillingGradRotation = {
-	[false] = -90, -- horizontal
-	[true] = 0, -- vertical
-}
-
 function MProgressBar.SetFillingInverted(self,inverted:boolean)
 	local newpos = bool2fillingPos[inverted]
 	self.Filling.Position = UDim2.fromScale(newpos,newpos)

From c17203fc9b6e14ac58190ccb9abac41cf23f305c Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Thu, 26 May 2022 21:31:44 +0100
Subject: [PATCH 12/24] Filling inverted works

---
 Mt.rbxlx | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index bdd9329..c9add43 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -541,6 +541,7 @@ bar:SetPosition(Vector2.new(100,100))
 bar:SetLabelAlignment(Enum.TextXAlignment.Center)
 bar:SetLabelVisibility(true)
 bar:SetFillingOrientation(MtEnum.Orientation.Vertical)
+bar:SetFillingInverted(true)
 
 if not game:IsLoaded() then game.Loaded:Wait() end
 local input = game.Players.LocalPlayer.PlayerGui:WaitForChild("extra").input
@@ -998,19 +999,24 @@ function MProgressBar.GetLimitedProgress(self,progress:number,min:number,max:num
 	end
 end
 
+local function _returnNeg(n:number,yes:boolean): number
+	if yes then return -n end
+	return n
+end
+
 function MProgressBar.GetFillingSize(self,orientation:string,inverted:boolean,progress:number,max:number): UDim2
 	orientation = orientation or self:GetFillingOrientation()
 	inverted = inverted or self:GetFillingInverted()
 	progress = progress or self:GetProgress()
 	max = max or self.Max
 	
-	local newsize = progress/max
-	if inverted then newsize = -newsize end
+	local ns1 = _returnNeg(progress/max,inverted)
+	local ns2 = _returnNeg(1,inverted)
 	
 	if orientation == MtEnum.Orientation.Vertical then
-		return UDim2.fromScale(1,newsize)
+		return UDim2.fromScale(ns2,ns1)
 	else
-		return UDim2.fromScale(newsize,1)
+		return UDim2.fromScale(ns1,ns2)
 	end
 end
 
@@ -1072,11 +1078,10 @@ local bool2fillingPos = {
 }
 
 function MProgressBar.SetFillingInverted(self,inverted:boolean)
+	self.FillingInverted = inverted
 	local newpos = bool2fillingPos[inverted]
 	self.Filling.Position = UDim2.fromScale(newpos,newpos)
-	
-	self.Filling.Size = self:GetFillingSize(self.FillingOrientation, inverted)
-	self.FillingInverted = inverted
+	self.Filling.Size = self:GetFillingSize()
 end
 
 function MProgressBar.GetFillingInverted(self): boolean

From b8d564664ffdd5e7ef371a041edd0ec68b55bf19 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Thu, 26 May 2022 22:43:14 +0100
Subject: [PATCH 13/24] wip adding more stuff to the tests

---
 Mt.rbxlx | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 107 insertions(+), 8 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index c9add43..477d34d 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -540,14 +540,15 @@ bar:SetPosition(Vector2.new(100,100))
 --bar:SetProgress(0)
 bar:SetLabelAlignment(Enum.TextXAlignment.Center)
 bar:SetLabelVisibility(true)
-bar:SetFillingOrientation(MtEnum.Orientation.Vertical)
-bar:SetFillingInverted(true)
+bar:SetFormat("Progress: {p}%")
+--bar:SetFillingOrientation(MtEnum.Orientation.Vertical)
+--bar:SetFillingInverted(true)
 
 if not game:IsLoaded() then game.Loaded:Wait() end
-local input = game.Players.LocalPlayer.PlayerGui:WaitForChild("extra").input
-input.FocusLost:Connect(function(enter)
+local value = game.Players.LocalPlayer.PlayerGui:WaitForChild("extra").value
+value.FocusLost:Connect(function(enter)
 	if enter then
-		bar:SetProgress(tonumber(input.Text) or 0)
+		bar:SetProgress(tonumber(value.Text) or 0)
 	end
 end)]]></ProtectedString>
 					<int64 name="SourceAssetId">-1</int64>
@@ -639,7 +640,7 @@ end)]]></ProtectedString>
 					<float name="LineHeight">1</float>
 					<int name="MaxVisibleGraphemes">-1</int>
 					<bool name="MultiLine">false</bool>
-					<string name="Name">input</string>
+					<string name="Name">value</string>
 					<Ref name="NextSelectionDown">null</Ref>
 					<Ref name="NextSelectionLeft">null</Ref>
 					<Ref name="NextSelectionRight">null</Ref>
@@ -702,6 +703,101 @@ end)]]></ProtectedString>
 					<int name="ZIndex">1</int>
 				</Properties>
 			</Item>
+			<Item class="TextBox" referent="RBX8A47FB84AFBC4CA4B269505FA3CB3B81">
+				<Properties>
+					<bool name="Active">true</bool>
+					<Vector2 name="AnchorPoint">
+						<X>0</X>
+						<Y>0</Y>
+					</Vector2>
+					<BinaryString name="AttributesSerialize"></BinaryString>
+					<bool name="AutoLocalize">true</bool>
+					<token name="AutomaticSize">0</token>
+					<Color3 name="BackgroundColor3">
+						<R>1</R>
+						<G>1</G>
+						<B>1</B>
+					</Color3>
+					<float name="BackgroundTransparency">0</float>
+					<Color3 name="BorderColor3">
+						<R>0.105882362</R>
+						<G>0.164705887</G>
+						<B>0.207843155</B>
+					</Color3>
+					<token name="BorderMode">0</token>
+					<int name="BorderSizePixel">1</int>
+					<bool name="ClearTextOnFocus">true</bool>
+					<bool name="ClipsDescendants">false</bool>
+					<bool name="Draggable">false</bool>
+					<token name="Font">3</token>
+					<Font name="FontFace"></Font>
+					<int name="LayoutOrder">0</int>
+					<float name="LineHeight">1</float>
+					<int name="MaxVisibleGraphemes">-1</int>
+					<bool name="MultiLine">false</bool>
+					<string name="Name">format</string>
+					<Ref name="NextSelectionDown">null</Ref>
+					<Ref name="NextSelectionLeft">null</Ref>
+					<Ref name="NextSelectionRight">null</Ref>
+					<Ref name="NextSelectionUp">null</Ref>
+					<Color3 name="PlaceholderColor3">
+						<R>0.699999988</R>
+						<G>0.699999988</G>
+						<B>0.699999988</B>
+					</Color3>
+					<string name="PlaceholderText"></string>
+					<UDim2 name="Position">
+						<XS>0.220435202</XS>
+						<XO>0</XO>
+						<YS>0.629297435</YS>
+						<YO>0</YO>
+					</UDim2>
+					<bool name="RichText">false</bool>
+					<Ref name="RootLocalizationTable">null</Ref>
+					<float name="Rotation">0</float>
+					<bool name="Selectable">true</bool>
+					<token name="SelectionBehaviorDown">0</token>
+					<token name="SelectionBehaviorLeft">0</token>
+					<token name="SelectionBehaviorRight">0</token>
+					<token name="SelectionBehaviorUp">0</token>
+					<bool name="SelectionGroup">false</bool>
+					<Ref name="SelectionImageObject">null</Ref>
+					<int name="SelectionOrder">0</int>
+					<bool name="ShowNativeInput">true</bool>
+					<UDim2 name="Size">
+						<XS>0</XS>
+						<XO>200</XO>
+						<YS>0</YS>
+						<YO>50</YO>
+					</UDim2>
+					<token name="SizeConstraint">0</token>
+					<int64 name="SourceAssetId">-1</int64>
+					<BinaryString name="Tags"></BinaryString>
+					<string name="Text"></string>
+					<Color3 name="TextColor3">
+						<R>0</R>
+						<G>0</G>
+						<B>0</B>
+					</Color3>
+					<bool name="TextEditable">true</bool>
+					<bool name="TextScaled">false</bool>
+					<float name="TextSize">14</float>
+					<Color3 name="TextStrokeColor3">
+						<R>0</R>
+						<G>0</G>
+						<B>0</B>
+					</Color3>
+					<float name="TextStrokeTransparency">1</float>
+					<float name="TextTransparency">0</float>
+					<token name="TextTruncate">0</token>
+					<bool name="TextWrapped">false</bool>
+					<token name="TextXAlignment">2</token>
+					<token name="TextYAlignment">1</token>
+					<UniqueId name="UniqueId">6cc5de791d219f0102a16d970026927a</UniqueId>
+					<bool name="Visible">true</bool>
+					<int name="ZIndex">1</int>
+				</Properties>
+			</Item>
 		</Item>
 	</Item>
 	<Item class="LocalizationService" referent="RBXD5AAAA567BD34DD5AE63DACE90D5C95F">
@@ -960,10 +1056,13 @@ local MProgressBar = {
 	Max = 100,
 	
 	FillingOrientation = MtEnum.Orientation.Horizontal,
-	FillingInverted = false
+	FillingInverted = false,
+	
+	Bool2Bin={[false]=0, [true]=1}
+	
 }
 
-MProgressBar.Init = function(self,parent,_obj)
+function MProgressBar.Init(self,parent,_obj)
 	local _obj = MWidget.Init(self,parent,_obj)
 	_obj.Frame:Destroy()
 	

From f6218175f93ffa15b2613f51529aea7c91e81e62 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Fri, 27 May 2022 14:48:49 +0100
Subject: [PATCH 14/24] better test

---
 Mt.rbxlx | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 213 insertions(+), 4 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 477d34d..4d92a08 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -537,7 +537,8 @@ local screen = MScreen:Init()
 local bar = MProgressBar:Init(screen)
 screen:AddWidget(bar)
 bar:SetPosition(Vector2.new(100,100))
---bar:SetProgress(0)
+bar:Resize(Vector2.new(200,200))
+bar:SetProgress(0)
 bar:SetLabelAlignment(Enum.TextXAlignment.Center)
 bar:SetLabelVisibility(true)
 bar:SetFormat("Progress: {p}%")
@@ -545,11 +546,41 @@ bar:SetFormat("Progress: {p}%")
 --bar:SetFillingInverted(true)
 
 if not game:IsLoaded() then game.Loaded:Wait() end
-local value = game.Players.LocalPlayer.PlayerGui:WaitForChild("extra").value
-value.FocusLost:Connect(function(enter)
+
+local gui = game.Players.LocalPlayer.PlayerGui:WaitForChild("extra")
+
+local vi = gui.value
+vi.FocusLost:Connect(function(enter)
+	if enter then
+		bar:SetProgress(tonumber(vi.Text) or 0)
+	end
+end)
+
+local fi = gui.format
+fi.FocusLost:Connect(function(enter)
 	if enter then
-		bar:SetProgress(tonumber(value.Text) or 0)
+		bar:SetFormat(fi.Text)
+	end
+end)
+
+local i = false
+local ii = gui.inverted
+
+ii.MouseButton1Down:Connect(function(enter)
+	bar:SetFillingInverted(not i)
+	i = bar:GetFillingInverted()
+end)
+
+local o = MtEnum.Orientation.Horizontal
+local oi = gui.orientation
+
+oi.MouseButton1Down:Connect(function(enter)
+	if o == MtEnum.Orientation.Vertical then
+		o = MtEnum.Orientation.Horizontal
+	else
+		o = MtEnum.Orientation.Vertical
 	end
+	bar:SetFillingOrientation(o)
 end)]]></ProtectedString>
 					<int64 name="SourceAssetId">-1</int64>
 					<BinaryString name="Tags"></BinaryString>
@@ -798,6 +829,184 @@ end)]]></ProtectedString>
 					<int name="ZIndex">1</int>
 				</Properties>
 			</Item>
+			<Item class="TextButton" referent="RBX270C032CCC1A47129FFD4BC14754ADEF">
+				<Properties>
+					<bool name="Active">true</bool>
+					<Vector2 name="AnchorPoint">
+						<X>0</X>
+						<Y>0</Y>
+					</Vector2>
+					<BinaryString name="AttributesSerialize"></BinaryString>
+					<bool name="AutoButtonColor">true</bool>
+					<bool name="AutoLocalize">true</bool>
+					<token name="AutomaticSize">0</token>
+					<Color3 name="BackgroundColor3">
+						<R>1</R>
+						<G>1</G>
+						<B>1</B>
+					</Color3>
+					<float name="BackgroundTransparency">0</float>
+					<Color3 name="BorderColor3">
+						<R>0.105882362</R>
+						<G>0.164705887</G>
+						<B>0.207843155</B>
+					</Color3>
+					<token name="BorderMode">0</token>
+					<int name="BorderSizePixel">1</int>
+					<bool name="ClipsDescendants">false</bool>
+					<bool name="Draggable">false</bool>
+					<token name="Font">3</token>
+					<Font name="FontFace"></Font>
+					<int name="LayoutOrder">0</int>
+					<float name="LineHeight">1</float>
+					<int name="MaxVisibleGraphemes">-1</int>
+					<bool name="Modal">false</bool>
+					<string name="Name">inverted</string>
+					<Ref name="NextSelectionDown">null</Ref>
+					<Ref name="NextSelectionLeft">null</Ref>
+					<Ref name="NextSelectionRight">null</Ref>
+					<Ref name="NextSelectionUp">null</Ref>
+					<UDim2 name="Position">
+						<XS>0.373634368</XS>
+						<XO>0</XO>
+						<YS>0.53961134</YS>
+						<YO>0</YO>
+					</UDim2>
+					<bool name="RichText">false</bool>
+					<Ref name="RootLocalizationTable">null</Ref>
+					<float name="Rotation">0</float>
+					<bool name="Selectable">true</bool>
+					<bool name="Selected">false</bool>
+					<token name="SelectionBehaviorDown">0</token>
+					<token name="SelectionBehaviorLeft">0</token>
+					<token name="SelectionBehaviorRight">0</token>
+					<token name="SelectionBehaviorUp">0</token>
+					<bool name="SelectionGroup">false</bool>
+					<Ref name="SelectionImageObject">null</Ref>
+					<int name="SelectionOrder">0</int>
+					<UDim2 name="Size">
+						<XS>0</XS>
+						<XO>200</XO>
+						<YS>0</YS>
+						<YO>50</YO>
+					</UDim2>
+					<token name="SizeConstraint">0</token>
+					<int64 name="SourceAssetId">-1</int64>
+					<token name="Style">0</token>
+					<BinaryString name="Tags"></BinaryString>
+					<string name="Text">inverted</string>
+					<Color3 name="TextColor3">
+						<R>0</R>
+						<G>0</G>
+						<B>0</B>
+					</Color3>
+					<bool name="TextScaled">false</bool>
+					<float name="TextSize">14</float>
+					<Color3 name="TextStrokeColor3">
+						<R>0</R>
+						<G>0</G>
+						<B>0</B>
+					</Color3>
+					<float name="TextStrokeTransparency">1</float>
+					<float name="TextTransparency">0</float>
+					<token name="TextTruncate">0</token>
+					<bool name="TextWrapped">false</bool>
+					<token name="TextXAlignment">2</token>
+					<token name="TextYAlignment">1</token>
+					<UniqueId name="UniqueId">46cdfd052a649b6902a263af000d30f5</UniqueId>
+					<bool name="Visible">true</bool>
+					<int name="ZIndex">1</int>
+				</Properties>
+			</Item>
+			<Item class="TextButton" referent="RBX2CEA3EA15C4F42C398C00F7A35446886">
+				<Properties>
+					<bool name="Active">true</bool>
+					<Vector2 name="AnchorPoint">
+						<X>0</X>
+						<Y>0</Y>
+					</Vector2>
+					<BinaryString name="AttributesSerialize"></BinaryString>
+					<bool name="AutoButtonColor">true</bool>
+					<bool name="AutoLocalize">true</bool>
+					<token name="AutomaticSize">0</token>
+					<Color3 name="BackgroundColor3">
+						<R>1</R>
+						<G>1</G>
+						<B>1</B>
+					</Color3>
+					<float name="BackgroundTransparency">0</float>
+					<Color3 name="BorderColor3">
+						<R>0.105882362</R>
+						<G>0.164705887</G>
+						<B>0.207843155</B>
+					</Color3>
+					<token name="BorderMode">0</token>
+					<int name="BorderSizePixel">1</int>
+					<bool name="ClipsDescendants">false</bool>
+					<bool name="Draggable">false</bool>
+					<token name="Font">3</token>
+					<Font name="FontFace"></Font>
+					<int name="LayoutOrder">0</int>
+					<float name="LineHeight">1</float>
+					<int name="MaxVisibleGraphemes">-1</int>
+					<bool name="Modal">false</bool>
+					<string name="Name">orientation</string>
+					<Ref name="NextSelectionDown">null</Ref>
+					<Ref name="NextSelectionLeft">null</Ref>
+					<Ref name="NextSelectionRight">null</Ref>
+					<Ref name="NextSelectionUp">null</Ref>
+					<UDim2 name="Position">
+						<XS>0.373634368</XS>
+						<XO>0</XO>
+						<YS>0.62780267</YS>
+						<YO>0</YO>
+					</UDim2>
+					<bool name="RichText">false</bool>
+					<Ref name="RootLocalizationTable">null</Ref>
+					<float name="Rotation">0</float>
+					<bool name="Selectable">true</bool>
+					<bool name="Selected">false</bool>
+					<token name="SelectionBehaviorDown">0</token>
+					<token name="SelectionBehaviorLeft">0</token>
+					<token name="SelectionBehaviorRight">0</token>
+					<token name="SelectionBehaviorUp">0</token>
+					<bool name="SelectionGroup">false</bool>
+					<Ref name="SelectionImageObject">null</Ref>
+					<int name="SelectionOrder">0</int>
+					<UDim2 name="Size">
+						<XS>0</XS>
+						<XO>200</XO>
+						<YS>0</YS>
+						<YO>50</YO>
+					</UDim2>
+					<token name="SizeConstraint">0</token>
+					<int64 name="SourceAssetId">-1</int64>
+					<token name="Style">0</token>
+					<BinaryString name="Tags"></BinaryString>
+					<string name="Text">orientation</string>
+					<Color3 name="TextColor3">
+						<R>0</R>
+						<G>0</G>
+						<B>0</B>
+					</Color3>
+					<bool name="TextScaled">false</bool>
+					<float name="TextSize">14</float>
+					<Color3 name="TextStrokeColor3">
+						<R>0</R>
+						<G>0</G>
+						<B>0</B>
+					</Color3>
+					<float name="TextStrokeTransparency">1</float>
+					<float name="TextTransparency">0</float>
+					<token name="TextTruncate">0</token>
+					<bool name="TextWrapped">false</bool>
+					<token name="TextXAlignment">2</token>
+					<token name="TextYAlignment">1</token>
+					<UniqueId name="UniqueId">46cdfd052a649b6902a263af000d3322</UniqueId>
+					<bool name="Visible">true</bool>
+					<int name="ZIndex">1</int>
+				</Properties>
+			</Item>
 		</Item>
 	</Item>
 	<Item class="LocalizationService" referent="RBXD5AAAA567BD34DD5AE63DACE90D5C95F">

From 5e12ba5a0a04cfc980c22cfae22c0e3331d7b4ea Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Fri, 27 May 2022 14:54:32 +0100
Subject: [PATCH 15/24] moved those two dictionaries somewhere else

---
 Mt.rbxlx | 21 +++++++--------------
 1 file changed, 7 insertions(+), 14 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 4d92a08..7f25961 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -1267,8 +1267,11 @@ local MProgressBar = {
 	FillingOrientation = MtEnum.Orientation.Horizontal,
 	FillingInverted = false,
 	
-	Bool2Bin={[false]=0, [true]=1}
-	
+	Bool2Bin={[false]=0, [true]=1},
+	Enum2FillingGradRotation = {
+		[MtEnum.Orientation.Horizontal] = -90,
+		[MtEnum.Orientation.Vertical]   =  0 ,
+	},
 }
 
 function MProgressBar.Init(self,parent,_obj)
@@ -1365,14 +1368,9 @@ function MProgressBar.GetLabelAlignment(self): Enum.TextXAlignment
 	return self.Label.TextXAlignment
 end
 
-local enum2fillingGradRotation = {
-	[MtEnum.Orientation.Horizontal] = -90,
-	[MtEnum.Orientation.Vertical]   =  0 ,
-}
-
 function MProgressBar.SetFillingOrientation(self,orientation:string)
 	self.Filling.Size = self:GetFillingSize(orientation)
-	self.Gradient.Rotation = enum2fillingGradRotation[orientation]
+	self.Gradient.Rotation = self.Enum2FillingGradRotation[orientation]
 	self.FillingOrientation = orientation
 end
 
@@ -1380,14 +1378,9 @@ function MProgressBar.GetFillingOrientation(self): string
 	return self.FillingOrientation
 end
 
-local bool2fillingPos = {
-	[false] = 0,
-	[true] = 1
-}
-
 function MProgressBar.SetFillingInverted(self,inverted:boolean)
 	self.FillingInverted = inverted
-	local newpos = bool2fillingPos[inverted]
+	local newpos = self.Bool2Bin[inverted]
 	self.Filling.Position = UDim2.fromScale(newpos,newpos)
 	self.Filling.Size = self:GetFillingSize()
 end

From 7626a6908a5b6ef488898c4e4aa0d40d6b2b1071 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Fri, 27 May 2022 16:12:22 +0100
Subject: [PATCH 16/24] wip making undefined progress

---
 Mt.rbxlx | 41 +++++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 7f25961..7cb0a61 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -81,27 +81,27 @@
 			<Properties>
 				<BinaryString name="AttributesSerialize"></BinaryString>
 				<CoordinateFrame name="CFrame">
-					<X>-180.896698</X>
-					<Y>65.0919647</Y>
-					<Z>5.39744949</Z>
-					<R00>-0.851734042</R00>
-					<R01>-0.0765261278</R01>
-					<R02>0.518355966</R02>
-					<R10>7.4505806e-09</R10>
-					<R11>0.989277363</R11>
-					<R12>0.146049395</R12>
-					<R20>-0.523974359</R20>
-					<R21>0.124395251</R21>
-					<R22>-0.84260118</R22>
+					<X>-207.420135</X>
+					<Y>87.218544</Y>
+					<Z>8.26459503</Z>
+					<R00>-0.309024334</R00>
+					<R01>0.651031017</R01>
+					<R02>-0.693298519</R02>
+					<R10>-0</R10>
+					<R11>0.728979051</R11>
+					<R12>0.684536159</R12>
+					<R20>0.951054215</R20>
+					<R21>0.21153833</R21>
+					<R22>-0.225272238</R22>
 				</CoordinateFrame>
 				<Ref name="CameraSubject">null</Ref>
 				<token name="CameraType">0</token>
 				<float name="FieldOfView">70</float>
 				<token name="FieldOfViewMode">0</token>
 				<CoordinateFrame name="Focus">
-					<X>-181.933411</X>
-					<Y>64.7998657</Y>
-					<Z>7.08265305</Z>
+					<X>-206.033539</X>
+					<Y>85.849472</Y>
+					<Z>8.71513939</Z>
 					<R00>1</R00>
 					<R01>0</R01>
 					<R02>0</R02>
@@ -1332,11 +1332,12 @@ function MProgressBar.GetFillingSize(self,orientation:string,inverted:boolean,pr
 end
 
 function MProgressBar.SetProgress(self,progress:number)
-	local limitedProgress = self:GetLimitedProgress(progress)
-	
-	self.Progress = limitedProgress
-	self.Filling.Size = self:GetFillingSize()
-	self.Label.Text = self:GetFormattedText(limitedProgress)
+	if self.Progress ~= false then
+		local limitedProgress = self:GetLimitedProgress(progress)
+		self.Progress = limitedProgress
+		self.Filling.Size = self:GetFillingSize()
+		self.Label.Text = self:GetFormattedText(limitedProgress)
+	end
 end
 
 function MProgressBar.GetProgress(self): number

From fc261905db67a3b17f0e34e74c24b5af2531cb90 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Thu, 2 Jun 2022 22:41:20 +0100
Subject: [PATCH 17/24] wip undefined progress function

---
 Mt.rbxlx | 34 ++++++++++++++++++++++++++++++++--
 1 file changed, 32 insertions(+), 2 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 7cb0a61..2365001 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -1281,7 +1281,8 @@ function MProgressBar.Init(self,parent,_obj)
 	local clone = script.progressbar:Clone()
 	_obj.Filling = clone.filling
 	_obj.Label = clone.label
-	_obj.Gradient = clone.filling.UIGradient
+	_obj.Gradient = clone.filling.Gradient
+	_obj.UndefGradient = clone.filling.UndefinedGradient
 	_obj.Frame = clone
 	
 	MProgressBar.SetProgress(_obj,24)
@@ -1344,6 +1345,18 @@ function MProgressBar.GetProgress(self): number
 	return self.Progress
 end
 
+function MProgressBar.SetUndefinedProgress(self,undefined:boolean)
+	self.UndefGradient.Enabled = undefined
+	self.Gradient.Enabled = not undefined
+	
+	if undefined then
+		self:SetProgress(0)
+	else
+		self.Progress = false
+		
+	end
+end
+
 function MProgressBar.SetFormat(self,format:string)
 	self.Label.Text = self:GetFormattedText(self:GetProgress(),format)
 	self.Format = format
@@ -1575,7 +1588,7 @@ return MProgressBar]]></ProtectedString>
 									<BinaryString name="AttributesSerialize"></BinaryString>
 									<ColorSequence name="Color">0 0.333333 1 0 0 1 0.607843 1 0.411765 0 </ColorSequence>
 									<bool name="Enabled">true</bool>
-									<string name="Name">UIGradient</string>
+									<string name="Name">Gradient</string>
 									<Vector2 name="Offset">
 										<X>0</X>
 										<Y>0</Y>
@@ -1587,6 +1600,23 @@ return MProgressBar]]></ProtectedString>
 									<UniqueId name="UniqueId">72e3064f72345eb8029aa0820002b4e6</UniqueId>
 								</Properties>
 							</Item>
+							<Item class="UIGradient" referent="RBX4C66B2B9A8AB4676A18C39C07EDD5B13">
+								<Properties>
+									<BinaryString name="AttributesSerialize"></BinaryString>
+									<ColorSequence name="Color">0 0.313726 0.313726 0.313726 0 0.499168 0.333333 1 0 0 1 0.313726 0.313726 0.313726 0 </ColorSequence>
+									<bool name="Enabled">true</bool>
+									<string name="Name">UndefinedGradient</string>
+									<Vector2 name="Offset">
+										<X>0</X>
+										<Y>0</Y>
+									</Vector2>
+									<float name="Rotation">0</float>
+									<int64 name="SourceAssetId">-1</int64>
+									<BinaryString name="Tags"></BinaryString>
+									<NumberSequence name="Transparency">0 0 0 1 0 0 </NumberSequence>
+									<UniqueId name="UniqueId">16861249f3c0b07402aaa8880004cf60</UniqueId>
+								</Properties>
+							</Item>
 						</Item>
 						<Item class="TextLabel" referent="RBXB3BB16BEBDD540B082794DEE6F36E7EA">
 							<Properties>

From 802d348d7ad3b78666e35e090cce686db9bd4325 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Fri, 3 Jun 2022 09:25:04 +0100
Subject: [PATCH 18/24] undef progress bar

---
 Mt.rbxlx | 54 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 49 insertions(+), 5 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 2365001..c282800 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -542,6 +542,7 @@ bar:SetProgress(0)
 bar:SetLabelAlignment(Enum.TextXAlignment.Center)
 bar:SetLabelVisibility(true)
 bar:SetFormat("Progress: {p}%")
+bar:SetUndefinedProgress(true)
 --bar:SetFillingOrientation(MtEnum.Orientation.Vertical)
 --bar:SetFillingInverted(true)
 
@@ -1252,7 +1253,7 @@ return mtwidgets]]></ProtectedString>
 						<ProtectedString name="Source"><![CDATA[local repstrg = game:GetService("ReplicatedStorage")
 local MWidget = require(repstrg.Mt.MtWidgets.MWidget)
 local MtEnum = require(repstrg.Mt.MtCore.MtEnum)
-local uis = game:GetService("UserInputService")
+local ts = game:GetService("TweenService")
 
 local MProgressBar = {
 	ClassName = "MProgressBar", -- See Mt.MtCore.MObject
@@ -1281,10 +1282,27 @@ function MProgressBar.Init(self,parent,_obj)
 	local clone = script.progressbar:Clone()
 	_obj.Filling = clone.filling
 	_obj.Label = clone.label
-	_obj.Gradient = clone.filling.Gradient
+	_obj.Gradient = _obj.Filling.Gradient
 	_obj.UndefGradient = clone.filling.UndefinedGradient
 	_obj.Frame = clone
 	
+	_obj.UndefTweenGoal = {Offset = Vector2.new(1,0)}
+	_obj.UndefTween = ts:Create(
+		_obj.UndefGradient,
+		TweenInfo.new(
+			3,
+			Enum.EasingStyle.Quad,
+			Enum.EasingDirection.InOut,
+			0,
+			true
+		),
+		_obj.UndefTweenGoal
+	)
+	
+	_obj.DragUndefGradCoro = coroutine.create(function()
+		MProgressBar.DragUndefGradient(_obj)
+	end)
+	
 	MProgressBar.SetProgress(_obj,24)
 
 	return _obj
@@ -1345,15 +1363,39 @@ function MProgressBar.GetProgress(self): number
 	return self.Progress
 end
 
+function MProgressBar.SetUndefGradOffset(self,offset:number)
+	if self:GetFillingOrientation() == MtEnum.Orientation.Vertical then
+		self.UndefGradient.Offset = Vector2.new(0,offset)
+	else
+		self.UndefGradient.Offset = Vector2.new(offset,0)
+	end
+end
+
+function MProgressBar.DragUndefGradient(self)
+	while self.Progress == false do
+		for i = -1,1,0.05 do
+			self:SetUndefGradOffset(i)
+			task.wait(0.025)
+		end
+		--[[
+		for i = 1,-1,0.05 do
+			self:SetUndefGradOffset(i)
+			task.wait(0.1)
+		end
+		]]
+	end
+end
+
 function MProgressBar.SetUndefinedProgress(self,undefined:boolean)
 	self.UndefGradient.Enabled = undefined
 	self.Gradient.Enabled = not undefined
 	
-	if undefined then
+	if not undefined then
 		self:SetProgress(0)
 	else
 		self.Progress = false
-		
+		self.Filling.Size = UDim2.fromScale(1,1)
+		coroutine.resume(self.DragUndefGradCoro)
 	end
 end
 
@@ -1384,7 +1426,9 @@ end
 
 function MProgressBar.SetFillingOrientation(self,orientation:string)
 	self.Filling.Size = self:GetFillingSize(orientation)
-	self.Gradient.Rotation = self.Enum2FillingGradRotation[orientation]
+	local newrot = self.Enum2FillingGradRotation[orientation]
+	self.Gradient.Rotation = newrot
+	self.UndefGradient.Rotation = newrot
 	self.FillingOrientation = orientation
 end
 

From ddbbeca8aec25470ce1659095e1e0f723894ed67 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Fri, 3 Jun 2022 10:14:41 +0100
Subject: [PATCH 19/24] can switch through undef and def progress without
 issues

---
 Mt.rbxlx | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index c282800..d4b03fa 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -543,6 +543,8 @@ bar:SetLabelAlignment(Enum.TextXAlignment.Center)
 bar:SetLabelVisibility(true)
 bar:SetFormat("Progress: {p}%")
 bar:SetUndefinedProgress(true)
+bar:SetUndefinedProgress(false)
+bar:SetUndefinedProgress(true)
 --bar:SetFillingOrientation(MtEnum.Orientation.Vertical)
 --bar:SetFillingInverted(true)
 
@@ -1391,6 +1393,7 @@ function MProgressBar.SetUndefinedProgress(self,undefined:boolean)
 	self.Gradient.Enabled = not undefined
 	
 	if not undefined then
+		self.Progress = 0 -- this will stop the drag undef grad coroutine
 		self:SetProgress(0)
 	else
 		self.Progress = false

From 0a570d38ff81aaff97efb9fbce73a3753c890a71 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Fri, 3 Jun 2022 11:23:31 +0100
Subject: [PATCH 20/24] progress bar can cope with inverted filling when
 undefined

---
 Mt.rbxlx | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index d4b03fa..bff026b 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -1362,7 +1362,7 @@ function MProgressBar.SetProgress(self,progress:number)
 end
 
 function MProgressBar.GetProgress(self): number
-	return self.Progress
+	return self.Progress~=false and self.Progress or 0 -- progress if progress~=false else 0
 end
 
 function MProgressBar.SetUndefGradOffset(self,offset:number)
@@ -1402,6 +1402,11 @@ function MProgressBar.SetUndefinedProgress(self,undefined:boolean)
 	end
 end
 
+function MProgressBar.GetUndefinedProgress(self): boolean
+	-- returns if progress is undefined
+	return self.Progress == false
+end
+
 function MProgressBar.SetFormat(self,format:string)
 	self.Label.Text = self:GetFormattedText(self:GetProgress(),format)
 	self.Format = format
@@ -1428,7 +1433,10 @@ function MProgressBar.GetLabelAlignment(self): Enum.TextXAlignment
 end
 
 function MProgressBar.SetFillingOrientation(self,orientation:string)
-	self.Filling.Size = self:GetFillingSize(orientation)
+	if not self:GetUndefinedProgress() then
+		self.Filling.Size = self:GetFillingSize(orientation)
+	end
+	
 	local newrot = self.Enum2FillingGradRotation[orientation]
 	self.Gradient.Rotation = newrot
 	self.UndefGradient.Rotation = newrot
@@ -1441,9 +1449,11 @@ end
 
 function MProgressBar.SetFillingInverted(self,inverted:boolean)
 	self.FillingInverted = inverted
-	local newpos = self.Bool2Bin[inverted]
-	self.Filling.Position = UDim2.fromScale(newpos,newpos)
-	self.Filling.Size = self:GetFillingSize()
+	if not self:GetUndefinedProgress() then
+		local newpos = self.Bool2Bin[inverted]
+		self.Filling.Position = UDim2.fromScale(newpos,newpos)
+		self.Filling.Size = self:GetFillingSize()
+	end
 end
 
 function MProgressBar.GetFillingInverted(self): boolean

From 0760d36b7affe348ccf1964308c7ed4214b1a14b Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Fri, 3 Jun 2022 11:27:52 +0100
Subject: [PATCH 21/24] undef progress changes orientation

---
 Mt.rbxlx | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index bff026b..69c682c 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -1275,6 +1275,10 @@ local MProgressBar = {
 		[MtEnum.Orientation.Horizontal] = -90,
 		[MtEnum.Orientation.Vertical]   =  0 ,
 	},
+	Enum2FillingUndefGradRotation = {
+		[MtEnum.Orientation.Horizontal] = 0  ,
+		[MtEnum.Orientation.Vertical]   = -90,
+	},
 }
 
 function MProgressBar.Init(self,parent,_obj)
@@ -1437,9 +1441,8 @@ function MProgressBar.SetFillingOrientation(self,orientation:string)
 		self.Filling.Size = self:GetFillingSize(orientation)
 	end
 	
-	local newrot = self.Enum2FillingGradRotation[orientation]
-	self.Gradient.Rotation = newrot
-	self.UndefGradient.Rotation = newrot
+	self.Gradient.Rotation = self.Enum2FillingGradRotation[orientation]
+	self.UndefGradient.Rotation = self.Enum2FillingUndefGradRotation[orientation]
 	self.FillingOrientation = orientation
 end
 

From 9d062c077c0d3b79206537d5d32d62d835047de4 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Fri, 3 Jun 2022 11:29:28 +0100
Subject: [PATCH 22/24] unnecessary lines

---
 Mt.rbxlx | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index 69c682c..a5c2946 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -543,10 +543,6 @@ bar:SetLabelAlignment(Enum.TextXAlignment.Center)
 bar:SetLabelVisibility(true)
 bar:SetFormat("Progress: {p}%")
 bar:SetUndefinedProgress(true)
-bar:SetUndefinedProgress(false)
-bar:SetUndefinedProgress(true)
---bar:SetFillingOrientation(MtEnum.Orientation.Vertical)
---bar:SetFillingInverted(true)
 
 if not game:IsLoaded() then game.Loaded:Wait() end
 

From bf04cba646f4db781571f204ee535fd73d23e97a Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Fri, 3 Jun 2022 11:40:03 +0100
Subject: [PATCH 23/24] two changes:

- format changes when progress undefined
- progress undefined slider changes direction when inverted
---
 Mt.rbxlx | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index a5c2946..e03dc2f 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -1311,10 +1311,15 @@ function MProgressBar.Init(self,parent,_obj)
 end
 
 function MProgressBar.GetFormattedText(self,progress:number,format:string): string
-	progress = progress or self:GetProgress()
+	if self:GetUndefinedProgress() then
+		progress = "?"
+	else
+		progress = tostring(progress) or tostring(self:GetProgress())
+	end
+	
 	format = format or self:GetFormat()
 	
-	return string.gsub(format,"{p}",tostring(progress))
+	return string.gsub(format,"{p}",progress)
 end
 
 function MProgressBar.GetLimitedProgress(self,progress:number,min:number,max:number): number
@@ -1366,6 +1371,7 @@ function MProgressBar.GetProgress(self): number
 end
 
 function MProgressBar.SetUndefGradOffset(self,offset:number)
+	offset = _returnNeg(offset,self:GetFillingInverted())
 	if self:GetFillingOrientation() == MtEnum.Orientation.Vertical then
 		self.UndefGradient.Offset = Vector2.new(0,offset)
 	else
@@ -1398,6 +1404,7 @@ function MProgressBar.SetUndefinedProgress(self,undefined:boolean)
 	else
 		self.Progress = false
 		self.Filling.Size = UDim2.fromScale(1,1)
+		self.Label.Text = self:GetFormattedText()
 		coroutine.resume(self.DragUndefGradCoro)
 	end
 end

From 1fa7d4c0f69fe53649a7af4d2fd06833104af137 Mon Sep 17 00:00:00 2001
From: MatusGuy <mateu.axe@gmail.com>
Date: Fri, 3 Jun 2022 14:01:38 +0100
Subject: [PATCH 24/24] set min/max methods (untested)

---
 Mt.rbxlx | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/Mt.rbxlx b/Mt.rbxlx
index e03dc2f..74781eb 100644
--- a/Mt.rbxlx
+++ b/Mt.rbxlx
@@ -541,7 +541,7 @@ bar:Resize(Vector2.new(200,200))
 bar:SetProgress(0)
 bar:SetLabelAlignment(Enum.TextXAlignment.Center)
 bar:SetLabelVisibility(true)
-bar:SetFormat("Progress: {p}%")
+bar:SetFormat("{p}%")
 bar:SetUndefinedProgress(true)
 
 if not game:IsLoaded() then game.Loaded:Wait() end
@@ -1358,6 +1358,8 @@ function MProgressBar.GetFillingSize(self,orientation:string,inverted:boolean,pr
 end
 
 function MProgressBar.SetProgress(self,progress:number)
+	progress = progress or self:GetProgress()
+	
 	if self.Progress ~= false then
 		local limitedProgress = self:GetLimitedProgress(progress)
 		self.Progress = limitedProgress
@@ -1466,6 +1468,33 @@ function MProgressBar.GetFillingInverted(self): boolean
 	return self.FillingInverted
 end
 
+function MProgressBar.SetMaximum(self,max:number)
+	self.Max = max
+	self:SetProgress()
+end
+
+function MProgressBar.SetMinimum(self,min:number)
+	self.Min = min
+	self:SetProgress()
+end
+
+function MProgressBar.GetMaximum(self): number
+	return self.Max
+end
+
+function MProgressBar.GetMinimum(self): number
+	return self.Min
+end
+
+function MProgressBar.SetProgressLimit(self,min:number,max:number)
+	self:SetMinimum(min)
+	self:SetMaximum(max)
+end
+
+function MProgressBar.GetProgressLimit(self): (number,number)
+	return self:GetMinimum(), self:GetMaximum()
+end
+
 MProgressBar = MWidget:Init({},MProgressBar,-1)
 
 return MProgressBar]]></ProtectedString>