local L={Name="\077\111\118\101 \084\111\111\108";Color=BrickColor.new("\068\101\101\112 \111\114\097\110\103\101"),Increment=1,Axes="\071\108\111\098\097\108";InitialState=nil,InitialFocusCFrame=nil;InitialExtentsSize=nil;InitialExtentsCFrame=nil,SnappedPoint=nil;PointSnapped=Signal.new();Maid=Maid.new(),DragChanged=Signal.new(),AxesChanged=Signal.new()}L.ManualText="\060\102\111\110\116 \102\097\099\101\061\"\071\111\116\104\097\109\066\108\097\099\107\" \115\105\122\101\061\"\049\054\"\062\077\111\118\101 \084\111\111\108  \240\159\155\160\060\047\102\111\110\116\062\n\065\108\108\111\119\115 \121\111\117 \116\111 \109\111\118\101 \112\097\114\116\115\046\060\102\111\110\116 \115\105\122\101\061\"\049\050\"\062\060\098\114 \047\062\060\047\102\111\110\116\062\n\060\102\111\110\116 \115\105\122\101\061\"\049\050\" \099\111\108\111\114\061\"\114\103\098\040\049\053\048\044 \049\053\048\044 \049\053\048\041\"\062\060\098\062\065\120\101\115\060\047\098\062\060\047\102\111\110\116\062\n\084\104\105\115 \111\112\116\105\111\110 \108\101\116\115 \121\111\117 \099\104\111\111\115\101 \105\110 \119\104\105\099\104 \100\105\114\101\099\116\105\111\110 \116\111 \109\111\118\101 \101\097\099\104 \112\097\114\116\046\060\102\111\110\116 \115\105\122\101\061\"\054\"\062\060\098\114 \047\062\060\047\102\111\110\116\062\n \060\102\111\110\116 \099\111\108\111\114\061\"\114\103\098\040\049\053\048\044 \049\053\048\044 \049\053\048\041\"\062\226\128\162\060\047\102\111\110\116\062  \060\098\062\071\076\079\066\065\076\060\047\098\062 \060\102\111\110\116 \099\111\108\111\114\061\"\114\103\098\040\049\053\048\044 \049\053\048\044 \049\053\048\041\"\062\226\128\148\060\047\102\111\110\116\062 \082\101\108\097\116\105\118\101 \116\111 \116\104\101 \060\098\062\119\111\114\108\100\060\047\098\062\n \060\102\111\110\116 \099\111\108\111\114\061\"\114\103\098\040\049\053\048\044 \049\053\048\044 \049\053\048\041\"\062\226\128\162\060\047\102\111\110\116\062  \060\098\062\076\079\067\065\076\060\047\098\062 \060\102\111\110\116 \099\111\108\111\114\061\"\114\103\098\040\049\053\048\044 \049\053\048\044 \049\053\048\041\"\062\226\128\148\060\047\102\111\110\116\062 \082\101\108\097\116\105\118\101 \116\111 \101\097\099\104 \060\098\062\105\110\100\105\118\105\100\117\097\108 \112\097\114\116\060\047\098\062\n \060\102\111\110\116 \099\111\108\111\114\061\"\114\103\098\040\049\053\048\044 \049\053\048\044 \049\053\048\041\"\062\226\128\162\060\047\102\111\110\116\062  \060\098\062\076\065\083\084\060\047\098\062 \060\102\111\110\116 \099\111\108\111\114\061\"\114\103\098\040\049\053\048\044 \049\053\048\044 \049\053\048\041\"\062\226\128\148\060\047\102\111\110\116\062 \082\101\108\097\116\105\118\101 \116\111 \116\104\101 \060\098\062\108\097\115\116 \112\097\114\116 \099\108\105\099\107\101\100\060\047\098\062\060\102\111\110\116 \115\105\122\101\061\"\054\"\062\060\098\114 \047\062\060\047\102\111\110\116\062\n\n\060\098\062\084\073\080\058\060\047\098\062 \067\108\105\099\107 \111\110 \097\110\121 \112\097\114\116 \116\111 \102\111\099\117\115 \116\104\101 \104\097\110\100\108\101\115 \111\110 \105\116\046\060\102\111\110\116 \115\105\122\101\061\"\054\"\062\060\098\114 \047\062\060\047\102\111\110\116\062\n\060\098\062\084\073\080\058 \060\047\098\062\072\105\116 \116\104\101 \060\098\062\069\110\116\101\114\060\047\098\062 \107\101\121 \116\111 \115\119\105\116\099\104 \098\101\116\119\101\101\110 \065\120\101\115 \109\111\100\101\115 \113\117\105\099\107\108\121\046\060\102\111\110\116 \115\105\122\101\061\"\049\050\"\062\060\098\114 \047\062\060\047\102\111\110\116\062\n\n\060\102\111\110\116 \115\105\122\101\061\"\049\050\" \099\111\108\111\114\061\"\114\103\098\040\049\053\048\044 \049\053\048\044 \049\053\048\041\"\062\060\098\062\073\110\099\114\101\109\101\110\116\060\047\098\062\060\047\102\111\110\116\062\n\076\101\116\115 \121\111\117 \099\104\111\111\115\101 \104\111\119 \109\097\110\121 \115\116\117\100\115 \116\111 \109\111\118\101 \112\097\114\116\115 \098\121\046\060\102\111\110\116 \115\105\122\101\061\"\054\"\062\060\098\114 \047\062\060\047\102\111\110\116\062\n\n\060\098\062\084\073\080\058 \060\047\098\062\072\105\116 \116\104\101 \226\128\147 \107\101\121 \116\111 \113\117\105\099\107\108\121 \116\121\112\101 \105\110\099\114\101\109\101\110\116\115\046\060\102\111\110\116 \115\105\122\101\061\"\054\"\062\060\098\114 \047\062\060\047\102\111\110\116\062\n\n\060\098\062\084\073\080\058 \060\047\098\062\085\115\101 \121\111\117\114 \110\117\109\098\101\114 \112\097\100 \116\111 \109\111\118\101 \101\120\097\099\116\108\121 \098\121 \116\104\101 \099\117\114\114\101\110\116 \105\110\099\114\101\109\101\110\116\046 \072\111\108\100\105\110\103 \060\098\062\083\104\105\102\116\060\047\098\062 \114\101\118\101\114\115\101\115 \116\104\101 \105\110\099\114\101\109\101\110\116\046\060\102\111\110\116 \115\105\122\101\061\"\052\"\062\060\098\114 \047\062\060\047\102\111\110\116\062\n   \060\102\111\110\116 \099\111\108\111\114\061\"\114\103\098\040\049\053\048\044 \049\053\048\044 \049\053\048\041\"\062\226\128\162\060\047\102\111\110\116\062  \056 \038 \050 \226\128\148 \117\112 \038 \100\111\119\110\n   \060\102\111\110\116 \099\111\108\111\114\061\"\114\103\098\040\049\053\048\044 \049\053\048\044 \049\053\048\041\"\062\226\128\162\060\047\102\111\110\116\062  \049 \038 \057 \226\128\148 \098\097\099\107 \038 \102\111\114\116\104\n   \060\102\111\110\116 \099\111\108\111\114\061\"\114\103\098\040\049\053\048\044 \049\053\048\044 \049\053\048\041\"\062\226\128\162\060\047\102\111\110\116\062  \052 \038 \054 \226\128\148 \108\101\102\116 \038 \114\105\103\104\116\060\102\111\110\116 \115\105\122\101\061\"\049\050\"\062\060\098\114 \047\062\060\047\102\111\110\116\062\n\n\060\102\111\110\116 \115\105\122\101\061\"\049\050\" \099\111\108\111\114\061\"\114\103\098\040\049\053\048\044 \049\053\048\044 \049\053\048\041\"\062\060\098\062\083\110\097\112\112\105\110\103\060\047\098\062\060\047\102\111\110\116\062\n\089\111\117 \099\097\110 \112\108\097\099\101 \112\097\114\116\115 \112\101\114\102\101\099\116\108\121 \116\111\103\101\116\104\101\114 \098\121 \104\111\108\100\105\110\103 \116\104\101 \060\098\062\060\105\062\082\060\047\105\062\060\047\098\062 \107\101\121\044 \097\110\100 \100\114\097\103\103\105\110\103 \112\097\114\116\115 \098\121 \116\104\101\105\114 \060\098\062\115\110\097\112 \112\111\105\110\116\115\060\047\098\062\046\060\102\111\110\116 \115\105\122\101\061\"\049\050\"\062\060\098\114 \047\062\060\047\102\111\110\116\062\n\n\060\102\111\110\116 \115\105\122\101\061\"\049\050\" \099\111\108\111\114\061\"\114\103\098\040\049\053\048\044 \049\053\048\044 \049\053\048\041\"\062\060\098\062\065\108\105\103\110\109\101\110\116\060\047\098\062\060\047\102\111\110\116\062\n\080\114\101\115\115 \060\098\062\060\105\062\084\060\047\105\062\060\047\098\062 \119\104\105\108\101 \100\114\097\103\103\105\110\103 \116\111 \060\098\062\097\108\105\103\110\060\047\098\062 \116\104\101 \098\111\116\116\111\109 \115\117\114\102\097\099\101 \111\102 \121\111\117\114 \098\097\115\101 \112\097\114\116 \116\111 \116\104\101 \099\117\114\114\101\110\116 \116\097\114\103\101\116 \115\117\114\102\097\099\101\046\n"

local MoveTool = {
	Name = 'Move Tool';
	Color = BrickColor.new 'Deep orange';

	-- Default options
	Increment = 1;
	Axes = 'Global';

	-- Selection state
	InitialState = nil;
	InitialFocusCFrame = nil;
	InitialExtentsSize = nil;
	InitialExtentsCFrame = nil;

	-- Snapping state
	SnappedPoint = nil;
	PointSnapped = Signal.new();

	-- Resource maid
	Maid = Maid.new();

	-- Signals
	DragChanged = Signal.new();
	AxesChanged = Signal.new();
}

MoveTool.ManualText = [[<font face="GothamBlack" size="16">Move Tool  🛠</font>
Allows you to move parts.<font size="12"><br /></font>
<font size="12" color="rgb(150, 150, 150)"><b>Axes</b></font>
This option lets you choose in which direction to move each part.<font size="6"><br /></font>
 <font color="rgb(150, 150, 150)">•</font>  <b>GLOBAL</b> <font color="rgb(150, 150, 150)">—</font> Relative to the <b>world</b>
 <font color="rgb(150, 150, 150)">•</font>  <b>LOCAL</b> <font color="rgb(150, 150, 150)">—</font> Relative to each <b>individual part</b>
 <font color="rgb(150, 150, 150)">•</font>  <b>LAST</b> <font color="rgb(150, 150, 150)">—</font> Relative to the <b>last part clicked</b><font size="6"><br /></font>

<b>TIP:</b> Click on any part to focus the handles on it.<font size="6"><br /></font>
<b>TIP: </b>Hit the <b>Enter</b> key to switch between Axes modes quickly.<font size="12"><br /></font>

<font size="12" color="rgb(150, 150, 150)"><b>Increment</b></font>
Lets you choose how many studs to move parts by.<font size="6"><br /></font>

<b>TIP: </b>Hit the – key to quickly type increments.<font size="6"><br /></font>

<b>TIP: </b>Use your number pad to move exactly by the current increment. Holding <b>Shift</b> reverses the increment.<font size="4"><br /></font>
   <font color="rgb(150, 150, 150)">•</font>  8 & 2 — up & down
   <font color="rgb(150, 150, 150)">•</font>  1 & 9 — back & forth
   <font color="rgb(150, 150, 150)">•</font>  4 & 6 — left & right<font size="12"><br /></font>

<font size="12" color="rgb(150, 150, 150)"><b>Snapping</b></font>
You can place parts perfectly together by holding the <b><i>R</i></b> key, and dragging parts by their <b>snap points</b>.<font size="12"><br /></font>

<font size="12" color="rgb(150, 150, 150)"><b>Alignment</b></font>
Press <b><i>T</i></b> while dragging to <b>align</b> the bottom surface of your base part to the current target surface.
]]
