diff --git a/autobuild.xml b/autobuild.xml
index fd86b6abc4e7cbb8fcf5e97e6f4c3d8980dc440b..383abfe5a50c7dfcf07ae99be2e4273963896f17 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -975,68 +975,6 @@
         <key>version</key>
         <string>8.0.6</string>
       </map>
-      <key>libepoxy</key>
-      <map>
-        <key>canonical_repo</key>
-        <string>https://git.alchemyviewer.org/alchemy/thirdparty/3p-libepoxy</string>
-        <key>copyright</key>
-        <string>Copyright © 2013-2014 Intel Corporation</string>
-        <key>description</key>
-        <string>Epoxy is a library for handling OpenGL function pointer management for you.</string>
-        <key>license</key>
-        <string>MIT</string>
-        <key>license_file</key>
-        <string>LICENSES/libepoxy.txt</string>
-        <key>name</key>
-        <string>libepoxy</string>
-        <key>platforms</key>
-        <map>
-          <key>darwin64</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>33d3e32095370c8613d7188b33b181c7cfb7b9090fab51fdbf10d27587ee47441a1abe90b23a61f944d843e611880af26b25279e95ebbdbbf0fb396c27de000d</string>
-              <key>hash_algorithm</key>
-              <string>blake2b</string>
-              <key>url</key>
-              <string>https://git.alchemyviewer.org/api/v4/projects/101/packages/generic/libepoxy/1.5.9.1311/libepoxy-1.5.9-darwin64-1311.tar.zst</string>
-            </map>
-            <key>name</key>
-            <string>darwin64</string>
-          </map>
-          <key>linux64</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>58383c84fb5ebe8e86ced17fa2da3d9825072e025cd6aa922c96bf9d3a4b49b30c196b4c8d6f373f68b474c03c10cd73c24da71a71fe4933ee4daa829554fdba</string>
-              <key>hash_algorithm</key>
-              <string>blake2b</string>
-              <key>url</key>
-              <string>https://git.alchemyviewer.org/api/v4/projects/101/packages/generic/libepoxy/1.5.9.1311/libepoxy-1.5.9-linux64-1311.tar.zst</string>
-            </map>
-            <key>name</key>
-            <string>linux64</string>
-          </map>
-          <key>windows64</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>8ca7b60108758a29d63e3c794c38adccf3a464cfcac6465e581bb8f9374b05cc541e18915d731e30e3dca3ed2f41092a6e5b111eae3ac7056a1c3a4f89bb9402</string>
-              <key>hash_algorithm</key>
-              <string>blake2b</string>
-              <key>url</key>
-              <string>https://git.alchemyviewer.org/api/v4/projects/101/packages/generic/libepoxy/1.5.9.1311/libepoxy-1.5.9-windows64-1311.tar.zst</string>
-            </map>
-            <key>name</key>
-            <string>windows64</string>
-          </map>
-        </map>
-        <key>version</key>
-        <string>1.5.9</string>
-      </map>
       <key>libhunspell</key>
       <map>
         <key>copyright</key>
@@ -1509,8 +1447,6 @@
             <string>windows64</string>
           </map>
         </map>
-        <key>source_type</key>
-        <string>hg</string>
         <key>version</key>
         <string>1.0.577418</string>
       </map>
diff --git a/indra/llcommon/llpointer.h b/indra/llcommon/llpointer.h
index b00bb2777fe0890da0fdf231265eb27e9fdcd539..b0ce8f67dbf46c76f215fe123774409ab01f6dae 100644
--- a/indra/llcommon/llpointer.h
+++ b/indra/llcommon/llpointer.h
@@ -140,7 +140,6 @@ template <class Type> class LLPointer
 		return *this; 
 	}
 
-	// support assignment up the type hierarchy. See Item 45 in Effective C++, 3rd Ed.
 	template<typename Subclass>
 	LLPointer<Type>& operator =(LLPointer<Subclass>&& ptr) noexcept
 	{
@@ -151,7 +150,6 @@ template <class Type> class LLPointer
 		return *this;
 	}
 	
-	// support assignment up the type hierarchy. See Item 45 in Effective C++, 3rd Ed.
 	inline void swap(LLPointer<Type>& ptr) noexcept
     {
 		Type* temp = mPointer;
@@ -159,7 +157,6 @@ template <class Type> class LLPointer
 		ptr.mPointer = temp;
 	}
 
-	// support assignment up the type hierarchy. See Item 45 in Effective C++, 3rd Ed.
 	template<typename Subclass>
 	inline void swap(LLPointer<Subclass>& ptr) noexcept
 	{
@@ -330,7 +327,6 @@ template <class Type> class LLConstPointer
 		return *this; 
 	}
 	
-	// support assignment up the type hierarchy. See Item 45 in Effective C++, 3rd Ed.
 	template<typename Subclass>
 	LLConstPointer<Type>& operator =(LLConstPointer<Subclass>&& ptr) noexcept
 	{
@@ -348,7 +344,6 @@ template <class Type> class LLConstPointer
 		ptr.mPointer = temp;
 	}
 
-	// support assignment up the type hierarchy. See Item 45 in Effective C++, 3rd Ed.
 	template<typename Subclass>
 	inline void swap(LLConstPointer<Subclass>& ptr) noexcept
 	{
diff --git a/indra/llcommon/lluuid.h b/indra/llcommon/lluuid.h
index 18b944a85a077c757191eee5c27278cf5c81d5f2..4eceb82ea79f999108bbae3e9b1705ed76aa0bac 100644
--- a/indra/llcommon/lluuid.h
+++ b/indra/llcommon/lluuid.h
@@ -67,7 +67,7 @@ class LL_COMMON_API LLUUID
 
 	//static versions of above for use in initializer expressions such as constructor params, etc. 
 	static LLUUID generateNewID();	
-	static LLUUID generateNewID(const std::string& stream);	//static version of above for use in initializer expressions such as constructor params, etc. 
+	static LLUUID generateNewID(const std::string& stream);
 
 private:
     BOOL    parseInternalScalar(const char* in_string, bool broken_format, bool emit);
@@ -171,12 +171,6 @@ class LL_COMMON_API LLUUID
 	}
 	// END BOOST
 
-
-	friend std::size_t hash_value(LLUUID const& id)
-	{
-		return boost::hash_value(id.mData);
-	}
-
 	// xor functions. Useful since any two random uuids xored together
 	// will yield a determinate third random unique id that can be
 	// used as a key in a single uuid that represents 2.
@@ -221,6 +215,11 @@ class LL_COMMON_API LLUUID
 	U16 getCRC16() const;
 	U32 getCRC32() const;
 
+	friend std::size_t hash_value(LLUUID const& id)
+	{
+		return boost::hash_value(id.mData);
+	}
+
 	static BOOL validate(const std::string_view in_string); // Validate that the UUID string is legal.
 
 	static const LLUUID null;
diff --git a/indra/llmath/llmatrix3a.h b/indra/llmath/llmatrix3a.h
index 29df2381c6fef4f741548e018dcc11102e326ea8..4d19c29472cbedcdc0cf250f57b4380dc06c42e4 100644
--- a/indra/llmath/llmatrix3a.h
+++ b/indra/llmath/llmatrix3a.h
@@ -54,7 +54,7 @@ class LLMatrix3a
 	//////////////////////////
 	// Ctors
 	//////////////////////////
-
+	
 	// Ctor
 	LLMatrix3a() = default;
 
diff --git a/indra/llmath/llmatrix4a.h b/indra/llmath/llmatrix4a.h
index 2e07a31ee701963f8d09b3f981119b720e1f1652..b226c936d4f56d72b5f2b3b0cf04050a4998cf65 100644
--- a/indra/llmath/llmatrix4a.h
+++ b/indra/llmath/llmatrix4a.h
@@ -126,14 +126,6 @@ class alignas(16) LLMatrix4a
 		mMatrix[3].loadua(src.mMatrix[3]);
 	}
 
-	inline void loadu(const LLMatrix3& src)
-	{
-		mMatrix[0].load3(src.mMatrix[0]);
-		mMatrix[1].load3(src.mMatrix[1]);
-		mMatrix[2].load3(src.mMatrix[2]);
-		mMatrix[3].set(0,0,0,1.f);
-	}
-
 	inline void loadu(const F32* src)
 	{
 		mMatrix[0].loadua(src+0);
@@ -142,6 +134,14 @@ class alignas(16) LLMatrix4a
 		mMatrix[3].loadua(src+12);
 	}
 
+	inline void loadu(const LLMatrix3& src)
+	{
+		mMatrix[0].load3(src.mMatrix[0]);
+		mMatrix[1].load3(src.mMatrix[1]);
+		mMatrix[2].load3(src.mMatrix[2]);
+		mMatrix[3].set(0,0,0,1.f);
+	}
+
 	inline void store4a(F32* dst) const
 	{
 		mMatrix[0].store4a(dst+0);
diff --git a/indra/llmath/llvector4a.h b/indra/llmath/llvector4a.h
index 162a5372da604827fc43f7bad0a13949d3d74bab..624988d91bc0ead6e9e95aff15c36802e7d2c075 100644
--- a/indra/llmath/llvector4a.h
+++ b/indra/llmath/llvector4a.h
@@ -357,7 +357,7 @@ class alignas(16) LLVector4a
 	inline const LLVector4a& operator= ( const LLQuad& rhs );
 
 	inline operator LLQuad() const;	
-
+    
 private:
 	LLQuad mQ;
 };
diff --git a/indra/llmath/llvector4a.inl b/indra/llmath/llvector4a.inl
index 6afb23d1357b8384deef1799fe5765df8699bf89..808cdb73b675d2cae9fe8b22460ba5026c56a847 100644
--- a/indra/llmath/llvector4a.inl
+++ b/indra/llmath/llvector4a.inl
@@ -351,7 +351,7 @@ inline LLSimdScalar LLVector4a::dot3(const LLVector4a& b) const
 	const LLQuad splatY = _mm_castsi128_ps( _mm_shuffle_epi32( _mm_castps_si128(ab), _MM_SHUFFLE(1, 1, 1, 1) ) );
 	const LLQuad splatZ = _mm_castsi128_ps( _mm_shuffle_epi32( _mm_castps_si128(ab), _MM_SHUFFLE(2, 2, 2, 2) ) );
 	const LLQuad xPlusY = _mm_add_ps( ab, splatY );
-	return _mm_add_ps( xPlusY, splatZ );
+	return _mm_add_ps( xPlusY, splatZ );	
 #endif
 }
 
diff --git a/indra/llrender/llfontfreetype.cpp b/indra/llrender/llfontfreetype.cpp
index ddf6214be7ffa5d7f9c9b87af53ead2fe28f1f8b..2284eab4e9010a07141f43ab09d0d81edaa63c81 100644
--- a/indra/llrender/llfontfreetype.cpp
+++ b/indra/llrender/llfontfreetype.cpp
@@ -359,6 +359,9 @@ F32 LLFontFreetype::getXAdvance(const LLFontGlyphInfo* glyph) const
 
 F32 LLFontFreetype::getXKerning(llwchar char_left, llwchar char_right) const
 {
+	if (mFTFace == NULL)
+		return 0.f;
+
 	LLFontGlyphInfo* left_glyph_info = getGlyphInfo(char_left);;
 	LLFontGlyphInfo* right_glyph_info = getGlyphInfo(char_right);
 	return getXKerning(left_glyph_info, right_glyph_info);
diff --git a/indra/llui/llview.h b/indra/llui/llview.h
index a41fd371c253ebc4d25270a393306a40197cbbb6..3a05d262fe14e419dfab8757521ad1c93b7dc824 100644
--- a/indra/llui/llview.h
+++ b/indra/llui/llview.h
@@ -292,7 +292,7 @@ class LLView
 	void 	setAllChildrenEnabled(BOOL b);
 
 	virtual void	setVisible(BOOL visible);
-	void			setVisibleDirect(BOOL visible) {mVisible = visible;}
+	void			setVisibleDirect(BOOL visible) { mVisible = visible; }
 	const BOOL&		getVisible() const			{ return mVisible; }
 	virtual void	setEnabled(BOOL enabled);
 	BOOL			getEnabled() const			{ return mEnabled; }
diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp
index 9e92e5b82be7acce7703d22190fe1ec0b0e9d0d4..d7c8a7359d8e62605475d876152dc69c5345c6d0 100644
--- a/indra/newview/llfloatersidepanelcontainer.cpp
+++ b/indra/newview/llfloatersidepanelcontainer.cpp
@@ -165,6 +165,7 @@ void LLFloaterSidePanelContainer::showPanel(std::string_view floater_name, std::
 LLPanel* LLFloaterSidePanelContainer::getPanel(std::string_view floater_name, std::string_view panel_name)
 {
 	LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name);
+
 	if (floaterp)
 	{
 		if (panel_name == sMainPanelName)
@@ -183,6 +184,7 @@ LLPanel* LLFloaterSidePanelContainer::getPanel(std::string_view floater_name, st
 LLPanel* LLFloaterSidePanelContainer::findPanel(std::string_view floater_name, std::string_view panel_name)
 {
 	LLFloaterSidePanelContainer* floaterp = LLFloaterReg::findTypedInstance<LLFloaterSidePanelContainer>(floater_name);
+
 	if (floaterp)
 	{
 		if (panel_name == sMainPanelName)